[问题]如何提高快速傅立叶转换(FFT)的分辨率

楼主: pttercake (产品工程师)   2015-05-14 14:17:43
想请问各位大大
因研究fmcw rader碰到需要将取样讯号利用FFT分析
希望在不增加取样点数下,利用时域内插增加频域分辨率
那我的做法如下:
1.原始讯号(128点)经由一次线性内插到(255点)
2.再将内插后讯号FFT
但结果是有无内插的频率误差都相同(46.875 vs 46.875)(117.1875 vs 117.1875)
是小弟频域轴刻度取错,还是?...
小弟对讯号处理方面实在是外行
提高频域分辨率除了增加取样点数之外,还有什么方式可以增加呢?
希望可以有高手大大可以指点一下
clc;
clear;
Fs = 1000;
T = 1/Fs;
L = 128;
t = (0:L-1)*T;
y = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
t1 = (0:1/2:L-1)*T;
y1 = interp1(t,y,t1,'linear');
Y = fft(y,L);
Y1 = fft(y1,256);
f = linspace(0,Fs,L+1);
f1 = linspace(0,2*Fs,257);
figure(1);
subplot(2,1,1)
stem(f(1:128),abs(Y))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
subplot(2,1,2)
stem(f1(1:256),abs(Y1))
title('Single-Sided Amplitude Spectrum of y(t) with interpolation')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
作者: polymerase (桥南荀令过,十里送衣香)   2015-05-14 19:10:00
在时域捕零

Links booklink

Contact Us: admin [ a t ] ucptt.com