频谱不能对准50Hz

[复制链接]
3376|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点?
ddb_21ic 发表于 2011-9-5 10:25 | 显示全部楼层
重新软件抽样,就可以了吧
ccmc 发表于 2011-9-5 10:48 | 显示全部楼层
要想精度再高,采样就必须高..。

可以多次不同点FFT,求均值
mybao 发表于 2011-9-5 17:49 | 显示全部楼层
你要分析的最低频率是多少呢,想在频谱体现出来,FFT的点数至少得包含几个周期的最低频率分量才行
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附近可能出现两个尖峰,不一定能很方便提取信息!
optical85 发表于 2011-12-21 17:50 | 显示全部楼层
如果只想看50Hz附近的比如45Hz到55Hz的频谱,没有必要把其他频率能量值计算出来。
这样牺牲频域宽度来获取频域精度,应该是可行的吧。就是要自己写FFT程序了。
dld2 发表于 2012-1-16 10:11 | 显示全部楼层
貌似同行
jack_shine 发表于 2012-2-7 13:31 | 显示全部楼层
都是高手呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

140

主题

633

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部