资源描述
实验二 应用FFT对信号进行频谱分析
一、 实验目的
1、 加深对离散信号的DTFT和DFT的及其相互关系的理解。
2、 在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。
3、 熟悉应用FFT对典型信号进行频谱分析的方法。
4、 了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。
二、 实验原理与方法
一个连续信号xa(t)的频谱可以用它的傅里叶变换表示为
Xa^(jΩ)=∫ xa(t)e-jΩtdt
如果对该信号进行理想采样,可以得到采样序列:
x(n)=Xa(nT)
同样可以对该序列进行Z变换,其中T为采样周期
X(z)= x(n)z-n
当Z=ejw的时候,我们就得到了序列的傅里叶变换
X(ejw)=x(n)e-jwn
其中称为数字频率,它和模拟域频率的关系为
=T=/fs
式中的是采样频率,上式说明数字频率是模拟频率对采样频率的归一化。同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅里叶变换称为序列的频谱。
离散傅里叶变化为:
X(k)=DFT[x(n)]=WNkn
其中WNkn=e-j2π/N它的反变换定义为:
x(n)=IDFT[X(k)]=1/NWN-kn
可以得到X(z) │z=e-i2/N k=DFT[x(n)]
DFT 是对傅里叶变换的等距采样,因此可以用于序列的频谱分析。在运用DFT进行频谱分析的时候可能有三种误差,混淆现象,泄露现象,栅栏效应。
三、 实验内容及步骤
1、观察高斯序列的时域和频域特性
>> n=0:15;
>> p=8;q=2;x=exp(-1*(n-p).^2/q);
>> close all
>> subplot(3,1,1);stem(abs(fft(x)))
p=8;q=4;x=exp(-1*(n-p).^2/q);
>> subplot(3,1,2);stem(abs(fft(x)))
>> n=0:15;
p=8;q=8;x=exp(-1*(n-p).^2/p);
close all
subplot(3,1,1);stem(abs(fft(x)));
p=13;q=8;x=exp(-1*(n-p).^2/q);
subplot(3,1,2);stem(abs(fft(x)));
p=14;q=8;x=exp(-1*(n-p).^2/q);
>> subplot(3,1,3);stem(abs(fft(x)));
2、观察衰减正弦序列的时域和幅频特性
产生衰减正弦序列及其幅度谱和相位谱(f=0.0625)
>> n=0:15;
>> a=0.1;f=0.0625;x=exp(-a*n).*sin(2*pi*f*n);
>> subplot(3,1,1);stem(n,x);title('衰减正弦序列');
>> X=fft(x);
>> magX=abs(X);
>> subplot(3,1,2);stem(magX);title('衰减正弦序列的幅度谱');
>> angX=angle(X);
>> subplot(3,1,3);stem(angX);title('衰减正弦序列的相位谱');
产生衰减正弦序列及其幅度谱和相位谱(f=0.4375)
>> a=0.1;f=0.4375;x=exp(-a*n).*sin(2*pi*f*n);
>> subplot(3,1,1);stem(n,x);title('衰减正弦序列');
>> X=fft(x);
>> magX=abs(X);
>> subplot(3,1,2);stem(magX);title('衰减正弦序列的幅度谱');
>> angX=angle(X);
>> subplot(3,1,3);stem(angX);title('衰减正弦序列的相位谱');
产生衰减正弦序列及其幅度谱和相位谱(f=0.5625)
>> a=0.1;f=0.5625;x=exp(-a*n).*sin(2*pi*f*n);
>> subplot(3,1,1);stem(n,x);title('衰减正弦序列');
>> X=fft(x);
>> magX=abs(X);
>> subplot(3,1,2);stem(magX);title('衰减正弦序列的幅度谱');
>> angX=angle(X);
>> subplot(3,1,3);stem(angX);title('衰减正弦序列的相位谱');
3、观察三角波序列和反三角波序列的时域和幅频特性
>> for i=1:4
x(i)=i;
end
>> for i=5:8
x(i)=9-i;
end
>> close all;subplot(2,1,1);stem(x);
>> subplot(2,1,2);stem(abs(fft(x,16)));
>> for i=1:4
x(i)=5-i;
end
>> for i=5:8
x(i)=i-4;
end
>> close all;subplot(2,1,1);stem(x);
>> subplot(2,1,2);stem(abs(fft(x,16)))
>> for i=1:8
x(i)=i;
end
>> for i=9:16;
x(i)=17-i;
end
>> for i=17:22;
end
>> close all;subplot(2,1,1);stem(x);
>> subplot(2,1,2);stem(abs(fft(x,22)))
四、 思考题
1、 实验中的信号序列xc(n)和xd(n),在单位圆上的Z变换频谱c(ejw)和d(ejw)会相同吗?如果不同,你能说出哪一个低频分量更多一些吗?为什么?
答:不相同。因为当n=0,1,2时,xd(n)比xc(n)的值大,对其做傅里叶变换得到的低频分量也就多一些。
2、 对一个有限长序列进行离散傅里叶变换,等价于将该序列周期延拓后进行傅里叶级数展开。因为DFS也只是取其中一个周期来运算,所以FFT在一定条件下可以用以分析周期信号序列。如果正弦信号sin(2πfn),f=0.1,用16点的FFT来做DFS运算,得到的频谱是信号本身的真实谱吗?
答:得到的频谱是信号本身的真实谱,因为该正弦信号sin(2πfn)的周期为N=10,16>10,所以用16点DFT来做DFS运算得到的频谱是信号本身的真实谱。
数字信号处理
实验报告
学 院: 信息工程学院
班 级: 电信0803
姓 名: 韩淑娟
学 号: 2008001247
展开阅读全文