matlab中加窗fft转化的问题,请求帮助
已知加速度时域信号(第1列为时间,第2列为加速度),求其加速度的频谱图(详见附件);
加速度频谱图的分析频率范围为5000Hz,横坐标为频率,纵坐标为振幅有效值(RMS),坐标为dB(基准值为1.0);
要求考虑加窗函数,尽可能提供信噪比;提供加速度时域信号原始图形,以及加速度的频谱图。未提供采样频率。
自己写的程序如下,因为是新手,程序一直出现错误,请各位大侠帮忙看一下,错误在哪里?谢谢!
%采样点数
N=4096;
%读入数据
L=load('fft.txt');
a=L(:,1);%时间
b=L(:,2);%加速度值
x=1000.*a;%将秒转化为毫秒
y=b
%画出时域图形
subplot(1,2,1)
plot(x,y)
title('Signal Corrupted With Zero-Mean Random Noise')
xlabel('Time(ms)')
ylabel('Acceleration(m/s^2)')
grid on
%加Hanning窗
w=(hanning(N))';
y1=y.*w;
%进行Fourier变换
Y=fft(y1,N);%傅里叶变换
mag=abs(Y);%求得Fourier变换后的有效振幅
f=n*fs/N;%频率序列
%画出频谱图形
subplot(1,2,2)
plot(f,mag);
title('Frequency content of y')
xlabel('Frequency(Hz)')
ylabel('RMS(dB)')
grid on
mag=abs(Y)*2/N;%求得Fourier变换后的有效振幅
上面这个错误快速FFT的原因,得出的值必须乘以2再除以N;
f=0:fs/N:fs/2;%频率序列;
实际上频率只有一般有效; 紫砂清壶 发表于 2011-6-10 23:01 static/image/common/back.gif
mag=abs(Y)*2/N;%求得Fourier变换后的有效振幅
上面这个错误快速FFT的原因,得出的值必须乘以2再除以N;
...
麻烦请问一下加了hanning窗后 对幅值应该有影响吧这里是不是不能乘2了?
页:
[1]