为什么fft处理后频谱出现偏差非常大
说明一下:1、DATA是一个872行,512列的数据。
2、每列512个数据是在30ns中采集的。
3、数据的主频率是100MHz
m=DATA(1:512,110); %任取一列数据
t=30e-9/512:30e-9/512:30e-9; %横轴为时间
figure(1)
plot(t,m)
grid on
xlabel('时间/s');ylabel('幅度');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%做数据处理
m=m.*hanning(512); %加个窗
nfft=512; %以下做fft
fs=512/30e-9;
n=0:nfft-1;
yy=fft(m,nfft);
f=n*fs/nfft;
mag=abs(yy)*2/nfft;
figure(2)
plot(f(1:128),mag(1:128))
xlabel('频率/Hz');ylabel('幅度');
grid on
程序比较简单,不过我觉得既然信号主频在100MHz,那么频谱应该在100MHz处幅值最大
频谱图却在600MHz处出现了幅值最大点,而100MHz处幅值比较小。
这是什么原因造成的呢?
还有就是幅值校正后也跟真实幅值有比较大的差别,这是为什么?
[ 本帖最后由 rockzone 于 2007-12-21 11:21 编辑 ] DATA信号是否与你描述的相符?需要先确认 本帖最后由 wdhd 于 2016-9-8 14:50 编辑
原帖由 hyl2323 于 2007-12-21 14:08 发表
DATA信号是否与你描述的相符?需要先确认
对,这也是我比较怀疑的地方。因为数据的一些描述是通过一个软件看出来的。这是一个用来查看探地雷达接收信号数据的软件。
具体意思是,发射100MHz信号,再接收,传播信号的介质是大地。
如果这么看来发送信号的主频是100MHz,怎么接受到的信号幅度最大点跑到600MHz去了。
即使大地传输会改变频率,也不能变化这么大吧 太专业了,我不明白。你不知道接收信号应该是什么样子,就不能认为这是fft的错。
加窗就行了?
加个窗就可以了吗?不是吧是不是泄露哦 我认为加窗效果不会很明显。
页:
[1]