您的当前位置:首页DFT变换的性质及应用实验报告

DFT变换的性质及应用实验报告

2021-12-18 来源:六九路网


实验报告

姓名: 学号: 实验日期:

实验题目:DFT变换的性质及应用

实验目的:

1.实现信号的DFT变换 2. 了解DFT 应用:

(1)用DFT计算卷积

(2)用DFT 对序列进行谱分析

实验内容:

1.用三种不同的DFT程序计算x(n)R8(n)的傅立叶变换X(k),并比较三种程序的计算机运行时间 步骤:

a.用for循环语句编制函数文件dft1.m,实现循环计算X(k); b.编写矩阵运算的函数文件dft2.m,实现矩阵计算X(k); 根据定义: 则

0WNX(0)X(1)W0N0X(2)WN0X(N1)WN00WNWNXkxnen0N1j2nkN,k1~N 为序列x(n)的DFT

x(0)1WNWNN1x(1)x(2)22(N1)WNWN(N1)(N1)x(N-1)WNN1WN

c.调用FFT函数直接计算X(K),如程序函数dft3.m

d.分别利用上述三种不同的方式编写的DFT程序计算序列x(n)的DFT变换X(k),并画出幅频和相频特性,并比较3个程序的运行时间。

2.给定x(n)nR16(n),h(n)R8(n)利用DFT实现两序列的线性卷积运算,并研究DFT的点数与混叠的关系,并用stem(n,y)画出相应的图形。参考程序dft4.m

3. 讨论序列补零及增加数据长度对信号频谱的影响

(1)求出序列x(n)=cos(0.48 n)+cos(0.52 n)基于有限个样点n=10的频谱 (2) 求n=100时,取x(n)的前10个,后90个设为零,得到x(n)的频谱 (3) 增加x(n)有效的样点数,取100个样点得到x(n)的频谱

实验地点:4305机房

实验结果:

function [am,pha]=dft1(x) N=length(x);

w=exp(-j*2*pi/N); for k=1:N sum=0; for n=1:N

sum=sum+x(n)*w^((k-1)*(n-1)); end

am(k)=abs(sum); pha(k)=angle(sum); end

function [am,pha]=dft2(x) N=length(x); n=[0:N-1]; k=[0:N-1];

w=exp(-j*2*pi/N); nk=n’*k; wnk=w.^(nk); Xk=x*wnk; am= abs(Xk); pha=angle(Xk);

function [amfft,phafft]=dft3(x) N=length(x); Xk=fft(x);

amfft= abs(Xk); phafft=angle(Xk); %N1+N2-1=23<32 N=32; x=[0:15];

xx=[x,zeros(1,16) ];

h=[ones(1,8),zeros(1,24)]; Xk=fft(xx,N); Hk=fft(h,N); Yk=Xk.* Hk; y=ifft(Yk,N); n=0:N-1; stem(n,y); hold on %N=N1=16 N1=16; x1=[0:15];

h1=[ones(1,8),zeros(1,8)]; Xk1=fft(x1,N1); Hk1=fft(h1,N1); Yk1=Xk1.* Hk1; y1=ifft(Yk1,N1); n1=0:N1-1;

stem(n1,y1,’.’,’m’);

%x(n)基于10个样点的频谱 figure(1) n=[0:1:99];

x=cos(0.48*pi*n)+cos(0.52*pi*n); n1=[0:1:9];y1=x(1:1:10);

subplot(2,1,1);stem(n1,y1);title('signal x(n), 0 <= n <= 9');xlabel('n') axis([0,10,-2.5,2.5])

Y1=fft(y1);magY1=abs(Y1(1:1:6)); k1=0:1:5;w1=2*pi/10*k1;

subplot(2,1,2);stem(w1/pi,magY1);title(‘10点DFT'); xlabel('w/pi'),axis([0,1,0,10])

%在10个样点的基础上添90个零,得到密度高的频谱 figure(2)

n3=[0:1:99];y3=[x(1:1:10) zeros(1,90)]; %添90个零。得到100个数据 subplot(2,1,1);stem(n3,y3);title('signal x(n), 0 <= n <= 9 + 90 zeros');xlabel('n') axis([0,100,-2.5,2.5])

Y3=fft(y3);magY3=abs(Y3(1:1:51)); k3=0:1:50;w3=2*pi/100*k3;

subplot(2,1,2);stem(w3/pi,magY3);title('100点DFT');xlabel('w/pi') axis([0,1,0,10])

%增加x(n)有效的样点数,取100个样点 figure(3) n=[0:1:99];

x=cos(0.48*pi*n)+cos(0.52*pi*n);

subplot(2,1,1);stem(n,x);title('signal x(n), 0 <= n <= 99');xlabel('n') axis([0,100,-2.5,2.5])

X=fft(x);magX=abs(X(1:1:51)); k=0:1:50;w=2*pi/100*k;

subplot(2,1,2);stem(w/pi,magX);title('100点DFT);xlabel('w/pi') axis([0,1,0,60])

结果分析:

总结:

因篇幅问题不能全部显示,请点此查看更多更全内容