微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 如何提高fft的分辨率

如何提高fft的分辨率

时间:12-13 整理:3721RD 点击:
一个周期信号,频率为2KHz左右,每次只能采集一万个点
做fft,求一二三次谐波,但是出来的频率分辨率远远不够
关键这是一个周期信号,采集几个周期应该就能代表了全部信息,
有什么方法能在现有的条件下提高FFT的频率分辨率呢

3次谐波就是6kHz了,如果你用10k采样肯定不够,奈奎斯特采样定律不允许啊

跟采样点数关系不大 跟采样频率关系比较大

你是怎么知道他用10k采样的?

偷懒,假设他说的一次就是1s ^_^

我最多可以用到1G的采样,但是为了采集到完整的波形没法用到太高的采样率,因为只能传一万个数据,这就是问题的所在

现在关键是分辨率不够,比如本来应该在6.3K出现一个峰值,现在峰值出现在6K,没法得到正确的结果

10000*2K=20M
那就用20M的采样率吧 应该够了
btw:你在哪个系?这么好的板卡可以借我用用么 呵呵

这样才刚好一个周期
显然不够啊

但是我并不能保证刚好采到两个整周期啊,如果不是两个整周期的话fft的结果误差会很大,所以我想多采几个周期
还有有个叫Harmonic Distortion Analyzer 的VI分析谐波不知道准确性好不好
但是这个VI有个最大的毛病就是当二次谐波幅值分量超过一次谐波,它就会把二次谐波当成基波,实在是让我佷郁闷

谁能保证调制源的频率不会漂啊

你如果是做谱分析请用比较好的谱分析方法
至少也要加一个非矩形窗,再牛一点做点谱估计
裸fft你能得到多精确的峰值?!

嗯,LV有个express VI是可以 加窗的,但是我分析的是周期信号,也需要加窗吗?
点谱分析方法怎么回事,给我点大概我再去查书
thx

可以这样试一下,分两步做
1. 预测该信号的频率, 采样率200k,500个样本就差不多了,调用LV中的Extract Single Tone Information函数,结果应该不错的.
2. 较确切知道信号频率后开始正式采集, 保证实现一个含5个周期样本的整周期采样,再去做FFT,应该问题不大了.

Look at a bigger picture... 最重要的一个问题是,你最终的目的是什么?明确了目的,再来考虑方法。看了大家的讨论,这是个谱分析的问题,FFT只是谱分析的一种方法。"出来的频率分辨率远远不够",那么你要求的分辨率是多少?明确了这个再来看FFT是不是可以做到,如果做不到,那就换别的方法。
FFT的频率分辨率是带宽除以这个带宽内的采样点数(deltaf = F / N)。如果仅仅是要提高频率分辨率,那么降低采样频率同时延长采样时间就可以。但是降低采样频率显然牺牲了带宽,所以一般来说,提高频率分辨率的最简单的办法就是增加采样点数。有人总结过FFT的四大缺陷,分辨率是一个固有的缺陷。
要检测2 kHz的三次谐波,采样频率至少要在12 kHz,如果用20 kHz则更好。但是既然只能采10 k的数据,如果fs = 20 kHz, FFT的频率分辨率就是 2 Hz。但是既然信号是周期的,你这个问题其实是一个典型的Modal-based spectral analysis应用。只要信号本身符合一定的modal, 采样数少也可以做到高的频率分辨率。
如果你有LV 的Advanced Signal Processing Toolkit, 里面有用ARMA做的谱分析。另外,如果有兴趣,看看下面这篇文章:
Hua, Y., and T. K. Sarkar. 1990. “Matrix Pencil Method for Estimating Parameters of Exponentially Damped/Undamped Sinusoids in Noise.” IEEE Transaction on Acoustic, Speech, and Signal Processing vol. 38.5: 814-824.

这个是正解
他的case用AR模型估计够了,他描述看应该不是时变信号,就算有缓慢频率漂移
问题也不大,可以考虑用Burg's方法降低计算量。
另外,用LV作实际程序之前,一般先用模拟数据进行一些大概的分析验证

对信号处理一窍不通的路过~

thanks,我算是一个LabView的初学者,在信号处理方面的经验也不够
多谢各位的帮助,受益匪浅

想想信号处理就头疼
但是还必须头疼
这就是我头疼的地方
晕了

领悟中。。。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top