作者nike0627 (带棒的阿惜)
站内C_Sharp
标题[问题]处理FFT阵列
时间Thu Mar 28 15:22:05 2013
大家好,我目前正在使用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