快速傅立葉計算(FFT)輸出虛部資料

請問我要怎麼獲得FFT計算後,經過RMS平均後的虛數部?
我目前用DAQ擷取數據後進行FFT計算,平均模式選RMS,但這個設定會導致我的虛數部(i)遺失,虛部數據全部都是0,只能輸出實數部數據。(重新上傳,vi版本為2019)
FFT計算 無DAQ.vi (46.7 KB) FFT計算.vi (79.3 KB)

可以使用LabVIEW原生的FFT,預設輸出是複數,這樣就可以分出實部與虛部:
image

也可以使用FFT Spectrum,同樣也可以分出實部與虛部,但是他有加上平均:
image
image

歡迎參考一下修改後的檔案:
FFT計算 無DAQ.vi (75.8 KB)

如果是我,會比較偏好原生的FFT,算完之後再根據自己的需求處理數據。

使用FFT Spectrum都只能在平均模式為No averaging 或Vector averaging 時,才會有虛數部資料,其他都只會有實數部資料(Peak Hold 或 RMS),打開函數庫看好像是因為有計算Power Spectrum導致虛數部已經被消除,但不知道這有沒有辦法改。

原生FFT還沒試過,不過有辦法跟得上量測儀器的數據擷取嗎?

虛數部資料是要得到原始的量測數據,我要用來計算FRF用(已經有用FRF.vi計算),可以看不同的參考輸出訊號,會對我的實驗數據產生多少影響。
我的輸出訊號是在我的量測數據中,取其一做為參考輸入,其他為輸出訊號。

目前嘗試用FFT Spectrum 和原生FFT 進行計算,再另外計算RMS平均(平均平方根),但計算出來的FRF卻與FRF.vi的數據不同(FRF.vi已經設平均模式為RMS)。不確定問題是發生在哪?
只能猜可能是RMS計算問題,再麻煩各位解惑了!

FFT計算 DAQ.vi (74.9 KB)

以下為個人拙見,如有錯誤,麻煩各位糾正。
目前確認當FRF需要計算RMS平均時,無法藉由FFT功能,計算出用於FRF.vi的FFT數據,原因在於FRF.vi計算RMS平均過程,已經將FFT數據計算成互相關函數。換句話說,FRF.vi的平均過程並非是計算FFT的RMS,而是計算互相關函數的RMS。因為計算過程的順序不同,所以無法藉由FFT功能,計算出與FRF.vi相同的FRF數據。