打印

频谱不能对准50Hz

[复制链接]
2093|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子乌托邦|  楼主 | 2011-9-4 10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好!
我想分析一下电网谐波。
用了一个AD芯片,输出频率固定,即采样频率固定4000Hz,

1.如果我做256点FFT,分辨率做到4000Hz/256=15.625,离50Hz点最近的3*15.625 = 46.875Hz。结论:不能对准50Hz。

2.如果我做1024点FFT,分辨率做到4000Hz/1024=3.90625,离50Hz点最近的13*15.625 = 50.78125Hz。结论:不能对准50Hz。
我很想对准50Hz,这样计算出来的参数才够准确。但是采样频率(硬件ADC芯片)固定,FFT的点都是64,128,256,512,1024这种固定的点。

求问:有没有什么算法,(我只能从软件角度解决了,硬件定死了)能对准50Hz附近,50Hz附近分辨率越小越好?小弟没啥经验,不知道有这样的算法吗?

相关帖子

沙发
mybao| | 2011-9-5 09:30 | 只看该作者
本帖最后由 mybao 于 2011-9-5 09:39 编辑

分辨率是3.90625,能得到50.78125Hz,已经很好了,要想精度再高,就提高FFT的点数就行了。

主要看CPU速度和FFT函数指令的优化效率

使用特权

评论回复
板凳
电子乌托邦|  楼主 | 2011-9-5 09:54 | 只看该作者
谢谢楼上回复

可是如果我想通过频谱分析电网信号的周期,那分辨率才3.90625。是不是太低了点。

有没有什么好办法,能把50Hz附近的频谱更精细的展现出来?

使用特权

评论回复
地板
ddb_21ic| | 2011-9-5 10:23 | 只看该作者
256Hz/256点?

使用特权

评论回复
5
ddb_21ic| | 2011-9-5 10:25 | 只看该作者
重新软件抽样,就可以了吧

使用特权

评论回复
6
ccmc| | 2011-9-5 10:48 | 只看该作者
要想精度再高,采样就必须高..。

可以多次不同点FFT,求均值

使用特权

评论回复
7
mybao| | 2011-9-5 17:49 | 只看该作者
你要分析的最低频率是多少呢,想在频谱体现出来,FFT的点数至少得包含几个周期的最低频率分量才行

使用特权

评论回复
8
beyondlovelife| | 2011-12-15 21:57 | 只看该作者
本帖最后由 beyondlovelife 于 2011-12-16 20:54 编辑

lz可能对FFT的理解有一定的误区。
如果我做1024点FFT,分辨率做到4000Hz/1024=3.90625,离50Hz点最近的13*15.625=50.78125Hz。结论:不能对准50Hz。
FFT对准的也不是50.78125Hz,而是50.78125Hz~54.6875(50.78125Hz+3.90625)这个区间的能量。
同理,256点的FFT,也是46.875~62.5个区间;

50Hz附近分辨率越小越好?不一定。够用就好。如果太高(如1024*8)了在50hz附近出现很多峰值,反而不能有效提取信息。

结论:lz如果要求精度不高,256就行。个人认为512最好(46.875~54.6875)。做1024点的FFT精度相当高啦,在50Hz附近可能出现两个尖峰,不一定能很方便提取信息!

使用特权

评论回复
9
optical85| | 2011-12-21 17:50 | 只看该作者
如果只想看50Hz附近的比如45Hz到55Hz的频谱,没有必要把其他频率能量值计算出来。
这样牺牲频域宽度来获取频域精度,应该是可行的吧。就是要自己写FFT程序了。

使用特权

评论回复
10
dld2| | 2012-1-16 10:11 | 只看该作者
貌似同行

使用特权

评论回复
11
jack_shine| | 2012-2-7 13:31 | 只看该作者
都是高手呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

140

主题

633

帖子

2

粉丝