您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 哈工大数字信号处理上机实验
HHaarrbbiinnIInnssttiittuutteeooffTTeecchhnnoollooggyy实实验验报报告告课程名称:数字信号处理I实验题目:一:利用FFT对信号进行频谱分析二:窗函数法设计FIR数字滤波器院系:班级:姓名:学号:指导教师:实验时间:2015年6月哈尔滨工业大学实验一:利用FFT对信号进行频谱分析1.实验目的(1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。(2)熟悉FFT算法原理和FFT子程序的应用。(3)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。2.实验步骤(1)复习DFT的定义、性质和用DFT作谱分析的有关内容。(2)复习FFT算法原理与编程思想,并对照DIT-FFT运算流图和程序框图。(3)编制信号产生子程序,产生以下典型信号供谱分析用:(4)编写主程序。(5)按实验内容要求,上机实验,并写出实验报告。456()cos4()sin8()cos8cos16cos20xnnxnnxtttt,0n19,0n193.实验程序与结果(1))(41nRx程序:n=0:7;x=(n0).*0+(n3).*0+((n=0)&(n=3)).*1;N1=8;n1=0:N1-1;y1=fft(x,N1);subplot(2,2,1);stem(n,x);title('x_1');subplot(2,2,2);stem(n1,abs(y1));xlabel('k');ylabel('|X_1(k)|');title('x_1的8点FFT');N2=16;n2=0:N2-1;y2=fft(x,N2);subplot(2,2,3);stem(n2,abs(y2));title('x_1的16点FFT');xlabel('k');ylabel('|X_1(k)|');结果如图:0246800.51x10246801234k|X1(k)|x1的8点FFT05101501234x1的16点FFTk|X1(k)|实验误差分析:FFT频谱为一个抽样信号,由图形看出,随着采样率的提高,得到的FFT频谱分辨率就越高,当N趋于无限时频谱包络接近理论的抽样函数。程序:clearallN=8;n=0:N-1;x=(n0)*0+(n7)*0+((n=0)&(n=3)).*(n+1)+((n=4)&(n=7)).*(8-n);subplot(2,2,1);stem(n,x);title('x_2');xlabel('n');ylabel('x_2');y=fft(x,N);subplot(2,2,2);stem(n,abs(y))xlabel('k');ylabel('|X_2(k)|');title('x_2(n)的8点FFT');N2=16;n2=0:15;y2=fft(x,N2);subplot(2,2,3);stem(n2,abs(y2));xlabel('k');ylabel('|X_2(k)|');title('x_2(n)的8点FFT');结果:0246801234x2nx20246805101520k|X2(k)|x2(n)的8点FFT05101505101520k|X2(k)|x2(n)的8点FFT实验误差分析:理论FFT频谱为一个抽样函数平方的信号,由图形看出,随着采样率的提高,得到的FFT频谱分辨率就越高,当N趋于无限时频谱包络接近理论的抽样函数。程序:clearallN=8;n=0:N-1;x=(n0)*0+(n7)*0+((n=0)&(n=3)).*(4-n)+((n=4)&(n=7)).*(n-3);subplot(2,2,1);stem(n,x);title('x_3');xlabel('n');ylabel('x_3');y=fft(x,N);subplot(2,2,2);stem(n,abs(y))xlabel('k');ylabel('|X_3(k)|');title('x_3(n)的8点FFT');N2=16;n2=0:15;y2=fft(x,N2);subplot(2,2,3);stem(n2,abs(y2));xlabel('k');ylabel('|X_3(k)|');title('x_3(n)的16点FFT');结果:0246801234x3nx30246805101520k|X3(k)|x3(n)的8点FFT05101505101520k|X3(k)|x3(n)的8点FFT实验误差分析:3()xn与2()xn的8点DFT的模相等,因为3288()((3))()xnxnRn。但是,当N=16时,3()xn与2()xn不满足循环移位关系,此时3()xn与2()xn的16点DFT的模不相等。程序:clearallN=8;n=0:19;x=(n0)*0+(n19)*0+((n=0)&(n=19)).*cos(pi/4*n);subplot(2,2,1);stem(n,x);title('x_4');xlabel('n');ylabel('x_4');n=0:N-1;y=fft(x,N);subplot(2,2,2);stem(n,abs(y));xlabel('k');ylabel('|X_4(k)|');title('x_4(n)的8点FFT');N2=16;n2=0:N2-1;x2=(n20)*0+(n219)*0+((n2=0)&(n2=19)).*cos(n2*pi/4);y2=fft(x2,N2);subplot(2,2,3);stem(n2,abs(y2));xlabel('k');ylabel('|X_4(k)|');title('x_4(n)的16点FFT');N3=32;n3=0:N3-1;x3=(n30)*0+(n319)*0+((n3=0)&(n3=19)).*cos(n3*pi/4);y3=fft(x3,N3);subplot(2,2,4);stem(n3,abs(y3));xlabel('k');ylabel('|X_4(k)|');title('x_4(n)的32点FFT');axis([131011]);结果:05101520-1-0.500.51x4nx40246801234k|X4(k)|x4(n)的8点FFT05101502468k|X4(k)|x4(n)的16点FFT1020300510k|X4(k)|x4(n)的32点FFT实验误差分析:4()cos4xnn的周期为8,N=8和N=16均是其周期的整数倍,得到正确的单一频率正弦波的频谱,仅在0.25π和1.75π处有2根单一谱线。程序:clearallN=8;n=0:19;x=(n0)*0+(n19)*0+((n=0)&(n=19)).*sin(pi/8*n);subplot(2,2,1);stem(n,x);title('x_5');xlabel('n');ylabel('x_5');n=0:N-1;y=fft(x,N);subplot(2,2,2);stem(n,abs(y));xlabel('k');ylabel('|X_5(k)|');title('x_5(n)的8点FFT');N2=16;n2=0:N2-1;x2=(n20)*0+(n219)*0+((n2=0)&(n2=19)).*sin(n2*pi/8);y2=fft(x2,N2);subplot(2,2,3);stem(n2,abs(y2));xlabel('k');ylabel('|X_5(k)|');title('x_5(n)的16点FFT');N3=32;n3=0:N3-1;x3=(n30)*0+(n319)*0+((n3=0)&(n3=19)).*sin(n3*pi/8);y3=fft(x3,N3);subplot(2,2,4);stem(n3,abs(y3));xlabel('k');ylabel('|X_5(k)|');title('x_5(n)的32点FFT');axis([131011]);结果:05101520-1-0.500.51x5nx5024680246k|X5(k)|x5(n)的8点FFT05101502468k|X5(k)|x5(n)的16点FFT1020300510k|X5(k)|x5(n)的32点FFT实验误差分析:这个函数的理论FFT抽样频谱为单位冲激函数,因此只要满足抽样定理,FFT都可以与理论图形一样的曲线。当N=8时,不满足抽样定理,因此产生了混叠失真,当N=8时,满足抽样定理,因此可得到与理论曲线一致的图形。程序:clear;n=0:63;fs=64;x=cos(8*pi*n/fs)+cos(16*pi*n/fs)+cos(20*pi*n/fs);subplot(2,2,1);stem(n,x);title('x_6');xlabel('n');ylabel('x_6');N1=16;y1=fft(x,N1);n1=0:N1-1;subplot(2,2,2);stem(n1,abs(y1));xlabel('k');ylabel('|X_6(k)|');title('x_6(n)的16点FFT');N2=32;y2=fft(x,N2);n2=0:N2-1;subplot(2,2,3);stem(n2,abs(y2));xlabel('k');ylabel('|X_6(k)|');title('x_6(n)的32点FFT');N3=64;y3=fft(x,N3);n3=0:N3-1;subplot(2,2,4);stem(n3,abs(y3));xlabel('k');ylabel('|X_6(k)|');title('x_6(n)的64点FFT');结果:020406080-2024x6nx6051015051015k|X6(k)|x6(n)的16点FFT01020304005101520k|X6(k)|x6(n)的32点FFT020406080010203040k|X6(k)|x6(n)的64点FFT实验误差分析:6()cos8cos16cos20xtttt,其中6()xt有3个频率成分,1234,8,10fHzfHzfHz。则6()xt的周期为0.5s且采样频率123641686.4sFHzfff。变换区间N=16时,观察时间Tp=16T=0.25s,不是6()xt的整数倍周期,所以所得频谱不正确。变换区间N=32,64时,观察时间Tp=0.5s,1s,是6()xt的整数周期,所以所得频谱正确,图中3根谱线正好位于4,8,10HzHzHz处。变换区间N=64时频谱幅度是变换区间N=32时2倍,这种结果正好验证了用DFT对中期序列谱分析的理论x(n)=x4(n)+x5(n)程序:clearallN=8;n=0:19;x=(n0)*0+(n19)*0+((n=0)&(n=19)).*(cos(pi/4*n)+sin(pi/8*n));subplot(2,2,1);stem(n,x);title('x_4(n)+x_5(n)');xlabel('n');ylabel('x(n)');n=0:N-1;y=fft(x,N);subplot(2,2,2);stem(n,abs(y));xlabel('k');ylabel('|X(k)|');title('x_4(n)+x_5(n)的8点DFT');N2=16;n2=0:N2-1;x2=(n20)*0+(n219)*0+((n2=0)&(n2=19)).*cos(n2*pi/4);y2=fft(x2,N2);subplot(2,2,3);stem(n2,abs(y2));xlabel('k');ylabel('|X(k)|');title
本文标题:哈工大数字信号处理上机实验
链接地址:https://www.777doc.com/doc-2581831 .html