资源描述:
《哈工大数字信号的处理实验报告材料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案HarbinInstituteofTechnology实验报告课程名称:数字信号处理院系:电子与信息工程学院班级:姓名:学号:指导教师:冀振元实验时间:2014年11月哈尔滨工业大学精彩文档实用标准文案实验一:用FFT作谱分析实验目的:1.进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。2.熟悉FFT算法原理和FFT子程序的应用。3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因
2、,以便在实际中正确应用FFT。实验步骤(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。(2)复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图,读懂本实验提供的FFT子程序。(3)编制信号产生子程序,产生以下典型信号供谱分析用:精彩文档实用标准文案(4)编写主程序。(5)按实验内容要求,上机实验,并写出实验报告。实验程序与结果:实验程序:%%整个程序通过switch语句切换得到x1~x6的波形产生和FFT变换,波形。clc;clear;n0=-10:0.1:20;n1=1:4;
3、x1=[1111];n2=0:7;x2=(n2>=0&n2<=3).*(n2+1)+(n2>=4&n2<=7).*(8-n2);n3=0:7;x3=(n3>=0&n3<=3).*(4-n3)+(n3>=4&n3<=7).*(n3-3);n4=0:19;x4=cos(pi/4*n4);n5=0:19;x5=sin(pi/8*n5);switchv精彩文档实用标准文案case1subplot(311);stem(n1,x1);xlabel('n');ylabel('x1(n)');title('原时间序列')
4、;N=8;n1=0:N-1;X=fft(x1,N);X=abs(X);subplot(312);stem(n1,fftshift(X));title('N=8');N=16;n1=0:N-1;X=fft(x1,N);X=abs(X);subplot(313);stem(n1,fftshift(X));title('N=16');case2subplot(311);stem(n2,x2);xlabel('n');ylabel('x2(n)');title('原时间序列');N=8;n2=0:N-1;X=ff
5、t(x2,N);X=abs(X);subplot(312);stem(n2,fftshift(X));title('N=8');N=16;n2=0:N-1;X=fft(x2,N);X=abs(X);subplot(313);精彩文档实用标准文案stem(n2,fftshift(X));title('N=16');case3subplot(311);stem(n3,x3);xlabel('n');ylabel('x3(n)');title('原时间序列');N=8;n3=0:N-1;X=fft(x3,N);
6、X=abs(X);subplot(312);stem(n3,fftshift(X));title('N=8');N=16;n3=0:N-1;X=fft(x3,N);X=abs(X);subplot(313);stem(n3,fftshift(X));title('N=16');case4subplot(311);stem(n4,x4);xlabel('n');ylabel('x4(n)');title('原时间序列');subplot(312);N=8;n4=0:N-1;X=fft(x4,N);X=abs
7、(X);stem(n4,fftshift(X));title('N=8');精彩文档实用标准文案N=16;n4=0:N-1;X=fft(x4,N);X=abs(X);subplot(313);stem(n4,fftshift(X));title('N=16');case5subplot(311);stem(n5,x5);xlabel('n');ylabel('x5(n)');title('原时间序列');subplot(312);N=8;n5=0:N-1;X=fft(x5,N);X=abs(X);stem
8、(n5,fftshift(X));title('N=8');N=16;n5=0:N-1;X=fft(x5,N);X=abs(X);subplot(313);stem(n5,fftshift(X));title('N=16');case6t=0:0.1:69;x6=cos(8*pi*t)+cos(16*pi*t)+cos(20*pi*t);subplot(411);plot(t,x6);xlabel('n');ylabel('x