资源描述:
《实验二快速傅里叶变换(FFT)及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二快速傅里叶变换(FFT)及其应用闫春遐00824049《数字信号处理》课程(2010-2011学年第1学期)成绩:实验二快速傅里叶变换(FFT)及其应用学生姓名:闫春遐所在院系:电子信息工程学院自动化系年级专业:2008级自动化系学号:00824049指导教师:王亮完成日期:2010年9月27日第18页共19页实验二快速傅里叶变换(FFT)及其应用闫春遐00824049实验二快速傅里叶变换(FFT)及其应用一、实验目的(1)在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉MATLAB
2、中的有关函数。(2)应用FFT对典型信号进行频谱分析。(3)了解应用FFT进行信号频谱分析过程可能出现的问题,以便在实际中正确应用FFT。(4)应用FFT实现序列的线性卷积和相关。二、实验内容实验中用到的信号序列:a)高斯序列b)衰减正弦序列c)三角波序列d)反三角波序列上机实验内容:(1)观察高斯序列的时域和幅频特性,固定信号中参数,改变的值,使分别等于2、4、8,观察他们的时域和幅频特性,了解当取不同值时,对信号的时域和幅频特性的影响;固定,改变,使第18页共19页实验二快速傅里叶变换(FFT
3、)及其应用闫春遐00824049分别等于8、13、14,观察参数变化对信号序列的时域及幅频特性的影响,注意等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。解答:>>n=0:1:15;>>xn=exp(-(n-8).^2/2);>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');>>xk1=fft(xn);xk1=abs(xk1);>>subplot(1,2,2);stem(
4、n,xk1);xlabel('k');ylabel('X(k)');>>xn=exp(-(n-8).^2/4);>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');>>xk1=fft(xn);xk1=abs(xk1);>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');第18页共19页实验二快速傅里叶变换(FFT)及其应用闫春遐00824049>>xn=exp(-(n-8).^
5、2/8);>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');>>xk1=fft(xn);xk1=abs(xk1);>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');>>xn=exp(-(n-13).^2/8);>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');>>xk1=fft(xn);xk1=abs(xk1)
6、;>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');>>xn=exp(-(n-14).^2/8);>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabel('x(n)');>>xk1=fft(xn);xk1=abs(xk1);>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');第18页共19页实验二快速傅里叶变换(FFT)及其应用闫春遐0
7、0824049随着q值的增大,时域信号幅值变化缓慢,频域信号频谱泄露程度减小。随着p的增大,时域信号幅值不变,会在时间轴移位。(2)观察衰减正弦序列的时域和幅频特性,,,检查普峰出现的位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变,使分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和普峰出现的位置,有无混叠和泄漏现象?说明产生现象的原因。解答:>>n=0:1:15;>>xn=exp(-0.1*n).*sin(2*pi*0.0625*n);>>subplot(1,2,1);st
8、em(n,xn);xlabel('t/T');ylabel('x(n)');>>xk1=fft(xn);xk1=abs(xk1);>>subplot(1,2,2);stem(n,xk1);xlabel('k');ylabel('X(k)');第18页共19页实验二快速傅里叶变换(FFT)及其应用闫春遐00824049>>xn=exp(-0.1*n).*sin(2*pi*0.4375*n);>>subplot(1,2,1);stem(n,xn);xlabel('t/T');ylabe