[問題]處理FFT陣列

看板C_Sharp作者 (帶棒的阿惜)時間11年前 (2013/03/28 15:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
大家好,我目前正在使用C# 處理FFT 我使用的工具 Visual C# 2012 ExocortexDSP 我有一個256Hz 的連續信號(藉由Bluetooth)進來,如果我想做FFT的話 我是不是要取 大於取樣頻率兩倍的資料 我這邊是直接讀取512筆資料 (256Hz -> 1秒256次震盪) 所以我就將程式寫成每512比資料做一次FFT 1. 我不知道我這樣取述職的方式是否正確? 256Hz=> 就讓程式存512筆資料後再做處理 2. 我使用ExocortexDSP > 當陣列取得512筆後進行FFT 其 Exocortex.DSP.Fourier.FFT(ch1, ch1.Length,Exocortex.DSP. FourierDirection.Backward); 不知道有沒有人使用過這個,我用matlab 做FFT 與C# 答案卻不同,發現問題出在 (FourierDirection.Forward) 要改成 .Backward 才會與Matlab答案相同。 但是應該是Forward 會是正確的,不知道有沒有人也遇到這樣的問題? 3. 當我512筆資料已經FFT完後,我要怎麼在C#中呈現圖形出來呢? 下面是我用Matlab 跑一個測試的圖形,先產生Sin波形 然後轉換FFT 最後呈現頻率圖,圖中右上那樣,如何在C#中呈現那種頻率圖呢? http://ppt.cc/GYiw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.145.155
文章代碼(AID): #1HK--Wak (C_Sharp)