完治 发表于 2008-4-19 21:19

怎样用FFT检测频率啊?先谢谢大家啦!

我看了不少论坛的贴,懂了一些信号检测的知识。看到检测谐波幅值的例子。
可没看到检测相角的,能告诉一下啊。
我想用FFT检测频率,好象需要求出相角,哪位高手能否给我写个matlab的M文件的例子。
谢谢啦!

erdgzw 发表于 2008-4-20 07:59

看看以前的贴子: http://forum.vibunion.com/forum/thread-49413-1-1.html

完治 发表于 2008-4-20 20:55

多谢erdgzw!

我看了一些帖子,
有个说:用横坐标的值乘以频率分辨率结果就是该坐标所代表的以Hz为单位的频率值
频率分辨率=fs/N fs为抽样频率,N为实际变换的点数。
这个是FFT检测的频率???
怎样和真实频率比较?
比如你检测电网谐波,基波50HZ,二次谐波100HZ等,那不就一样了?
请指教!多谢

kevin19821 发表于 2008-4-21 07:24

FT变化之后50HZ所对应的点比如说是第1000个
则用这个点的FT变换之后的虚部比实部的反正切就是相角

erdgzw 发表于 2008-4-21 08:46

举个例子:如果是整周期采样,采样频率fs=800,采样点数N=1024,则频率分辨率df=800/1024 = 0.78125。FFT后横轴的第一个点是0HZ,第513点是400Hz(1024/2*df)。
当检测的频率包含50Hz和100Hz时,50/df=64,也就是说第64点代表的就是50Hz的幅值,100/df =128,同样的第128点代表的就是100Hz的幅值。

完治 发表于 2008-4-21 09:47

kevin19821说的我用加窗FFT用过,可误差很多,我设个相角0.9或0.8,检测出的结果是0.97和0.88误差太多了。相角还有什么修正方法啊?
erdgzw说的频率分辨率这个我知道,也知道怎么求幅值。可我不知道怎样检测频率啊?
假如是45HZ,46HZ,51HZ,呢?

songzy41 发表于 2008-4-21 10:47

应该学习一下离散频谱校正的相关理论,同时也可搜查一下本论坛上有关的帖子。

wjh123 发表于 2008-4-21 12:40

楼主要注意思考,不防设置一个51HZ正玄信号,自己用FFT分析验证一下。
页: [1]
查看完整版本: 怎样用FFT检测频率啊?先谢谢大家啦!