我實現在使用加速框架iOS的基於加速度計的FFT真正的載體,但有一點我還是有點困惑的是這個部分:加快框架FFT vDSPztoc分裂真正形成分裂
/* The output signal is now in a split real form. Use the function
* vDSP_ztoc to get a split real vector. */
vDSP_ztoc(&A, 1, (COMPLEX *) obtainedReal, 2, nOver2);
最終陣列的外觀如何? 我對「分裂真實形式」和「分裂真實矢量」之間的區別感到困惑。我可能對它的含義有所瞭解,但我想確保我有正確的想法。
通過vDSP_ctoz將表示輸入數據(如加速度)的起始數據(雙精度數組)放入偶數形式。那麼結果就是以這種形式(從蘋果公司的VDSP指南複製):
{[DC,0],C[1],C[2],...,C[n/2],[NY,0],Cc[n/2],...,Cc[2],Cc[1]}
where
1. DC and NY are the dc and nyquist components (real valued),
2. C is complex in a split representation,
3. Cc is the complex conjugate of C in a split representation.
For an n size real array A, the complex results require 2n
spaces. In order to fit the 2n size result into an n size input and
since the complex conjugates are duplicate information, the real
FFT produces its results as follows:
{[DC,NY],C[1],C[2],...,C[n/2]}
我在執行(工作,我只是困惑的輸出),我也有vDSP_ztoc通話。是否應該有這個調用,還是隻在這個例子中完成,因爲他們想恢復數組以匹配原始數組(因爲他們做了反向變換)?
如果您應該這樣稱呼,vDSP_ztoc後的最終形式是什麼?它是:
{[DC,NY],C[1],C[2],...,C[n/2]}
或者是輸出數組中的第一個元素是DC,第二個是第一倉的實部第三位的是第一格的虛部,等等?或者是奈奎斯特頻率的第二個元素就像在這種設置中一樣,使第三和第四元素成爲第一個元素的實部和虛部?
這有點不清楚,但我想這個問題很簡單,我需要的只是一個快速確認/更正。
謝謝!
我想現在你應該調用解包器,最終的輸出如上所示。 – shim