当前位置:范文大全 > 调查报告 > 抽样定理实验报告 序列傅里叶变换实验报告

抽样定理实验报告 序列傅里叶变换实验报告

时间:2021-10-15 13:32:34 浏览次数:

实验一序列的傅立叶变换

 一、 实验目的1■进一步加深理解DFS,DFT算法的原理;2.研究补零问题;3■快速傅立叶变换

 (FFT )的应用。

 二、 实验步骤

 复习DFS和DFT的定义,性质和应用;

 熟悉MATLAB语言的命令窗口、编程窗口和图形窗口的使用;利用提供的 程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写 出完整的实验报告,并将程序附在后面。三、 实验内容

 周期方波序列的频谱试画出下面四种情况下的的幅度频谱 ,并分析补零

 ? ‘1,mN 兰 n 兰 mN+L—1

 x(n)=丿

 、0, m N + L 兰 n 兰(m +1)N —1

 m = 0,_1,_2,

 X (k)二 DFS [?(n)]

 (1)L = 5, N = 20; (2)L = 5, N 二 40;

 (3)L = 5, N = 60; (4)L = 7, N = 60

 后,对信号频谱的影响。

 有限长序列x(n)的DFT取x(n)(n=0:10)时,画出x(n)的频谱X(k)的幅度;将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出

 x(n) =cos(0.48「n) cos(0.52「n)

 x(n)的频谱X(k)的幅度;

 取x(n)(n:0~100)时,画出x(n)的频谱X(k)的幅度。利用FFT进 行谱分析3■已知:模拟信号

 x(t) =2si n(4 二 t) 5cos(81)

 以t=0.01n(n=0:N-1)进行采样,求N点DFT的幅值谱。

 请分别画出 N=45; N=50;N=55;N=60时的幅值曲线。

 4.自己编写基2 DIT-FFT的FFT函数,并用编写 MATLAB程序,利用

 DFT计算所给序列的线性卷积;在程序中利用自己编写的 FFT函数。

 已知 x(n)二 cos(0.48 n) cos(0.52 n), 0 乞 n 乞 10,h[n ]讥[门]={0 0勿

 i0 elsewhere

 求 y[n] = x[n]* h[n]

 四、图

 1、( 1)

 DFS of SQ.wave:L=16,N=64

 k

 (2)

 DFS of SQ.wave:L=16,N=64

 15

 10

 0 J

 -20

 *

 D :

 -15

 -10

 -5

 5 10

 15

 20

 DFS of SQ.wave:L=16,N=64

 15

 10

 0 -30

 -20 -10

 10 20

 30

 (4)

 DFS of SQ.wave:L=16,N=64

 signal x(n) ,0<=n<=100

 0

 10 20 30 40

 50 60 70

 80 90 100

 n

 freque ncy in pi un its

 FFT N=45

 150

 100

 -^1 1—

 / I

 50

 0

 Rl 1 U±l 11 j-iriii Ia| 1IJ llEl

 0 2 4 6 8

 

 FFT N=50

 150

 I

 100

  TOC \o "1-5" \h \z 50 '

 0 L _ _ ■ ■

 0 2 4 6 8

 150 -

 100

 -

 50

 1

 ,1

 0 L

 0

 2

 4

 6 8

 FFT N=55

 FFT N=16

 附录:程序

 %Example1

 L=5;N=20;

 n=1:N;

 xn=[ones(1,L),zeros(1,N-L)];

 Xk=dfs(xn,N); magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); k=[-N/2:N/2];figure(1) subplot(2,1,1); stem(n,xn);xlabel('n');ylabel('xtide(n)'); title('DFS of SQ.wave:L=16,N=64'); subplot(2,1,2);stem(k,magXk);

 axis([-N/2,N/2,0,16]); xlabel('k');ylabel('Xtide(k)');%Example2

 M=100;

 N=100;

 n=1:M;

 xn=cos(0.48*pi*n)+cos(0.52*pi*n); n1=[0:1:N-1];y1=[xn(1:1:M),zeros(1,N-M)];figure(1) subplot(2,1,1);

 stem(n1,y1);xlabel('n');

 title('signal x(n) ,0<=n<=100');

 axis([0,N,-2.5,2.5]);

 Y1=fft(y1);

 magY1=abs(Y1(1:1:N/2+1));

 k1=0:1:N/2;

 w1=2*pi/N*k1;

 subplot(2,1,2);

 title('Samples of DTFT Magnitude');

 stem(w1/pi,magY1);

 axis([0,1,0,10]);

 xlabel('frequency in pi units');

 %example 3

 figure(1)

 subplot(2,2,1)

 N=45;n=0:N-1;t=0.01*n;

 q=n*2*pi/N; x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);

 plot(q,abs(y)) stem(q,abs(y)) title('FFT N=45')%

 subplot(2,2,2)

 N=50;n=0:N-1;t=0.01*n;

 q=n*2*pi/N; x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);

 plot(q,abs(y))

 title('FFT N=50')

 %

 subplot(2,2,3)

 N=55;n=0:N-1;t=0.01*n;

 q=n*2*pi/N; x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);

 plot(q,abs(y))

 title('FFT N=55')

 %

 subplot(2,2,4)

 N=16;n=0:N-1;t=0.01*n;

 q=n*2*pi/N;

 x=2*sin(4*pi*t)+5*cos(8*pi*t); y=fft(x,N);plot(q,abs(y))

 title('FFT N=16')

 function[Xk]=dfs(xn,N)

 n=[0:1:N-1];

 k=[0:1:N-1];

 WN=exp(-j*2*pi/N);

 nk=n'*k;

 WNnk=WN4nk;

 Xk=xn*WNnk;