西南交通大学数字信号处理实验2.docx
《西南交通大学数字信号处理实验2.docx》由会员分享,可在线阅读,更多相关《西南交通大学数字信号处理实验2.docx(11页珍藏版)》请在冰豆网上搜索。
西南交通大学数字信号处理实验2
数字信号处理MATLAB上机实验
第三章
3-23已知序列x(n)={1,2,3,3,2,1}
1)求出x(n)的傅里叶变换X(ejω),画出幅频特性和相频特性曲线(提示:
用1024点FFT近似X(ejω));
2)计算x(n)的N(N≥6)点离散傅里叶变换X(k),画出幅频特性和相频特性曲线;
3)将X(ejω)和X(k)的幅频特性和相频特性曲线分别画在同一幅图中,验证X(k)是X(ejω)的等间隔采样,采样间隔为2π/N;
4)计算X(k)的N点IDFT,验证DFT和IDFT的惟一性。
实验分析
(1)题用1024点DFT近似x(n)的傅里叶变换。
(2)题用36点DFT。
(4)题求傅里叶反变换验证IDFT的惟一性。
实验代码及截图
1到3问
xn=[123321];
Xen=fft(xn,1024);
n1=0:
length(Xen)-1;
amp=abs(Xen);
phi=angle(Xen);
Xkn=fft(xn,36);
n2=0:
length(Xkn)-1;
amp2=abs(Xkn);
phi2=angle(Xkn);
subplot(221);plot(n1,amp)
title('Xejw幅频特性');xlabel('n');ylabel('Amp')
subplot(222);plot(n1,phi)
title('Xejw相频特性');xlabel('n');ylabel('Phi')
subplot(223);stem(n2,amp2,'.')
title('Xk幅频特性');xlabel('n');ylabel('Amp')
subplot(224);stem(n2,phi2,'.')
title('Xk相频特性');xlabel('n');ylabel('Phi')
截图如下
第4问
xn=[123321];
Xkn2=fft(xn,6);
x6n=ifft(Xkn2);
n2=0:
length(x6n)-1;
subplot(2,1,2);stem(n2,x6n,'.');
title('X6k傅里叶逆变换');xlabel('n');ylabel('x6n');
Xkn1=fft(xn,16);
x16n=ifft(Xkn1);
n1=0:
length(x16n)-1;
subplot(2,1,1);stem(n1,x16n,'.');
title('X16k傅里叶逆变换');xlabel('n');ylabel('x16n')
截图为
3-25已知序列h(n)=R6(n),x(n)=nR8(n)。
1)计算yc(n)=h(n)8x(n);
2)计算yc(n)=h(n)16x(n)和y(n)=h(n)*x(n);
3)画出h(n)、x(n)、yc(n)和y(n)的波形图,观察总结循环卷积与线性卷积的关系。
实验分析
循环卷积为线性卷积的周期延拓序列的主值序列;当循环卷积区间长度大于等于线性卷积序列长度时,二者相等。
实验代码及截图
hn=[111111];xn=[01234567];
%用DFT计算8点循环卷积yc8n:
H8k=fft(hn,8);%计算h(n)的8点DFT
X8k=fft(xn,8);%计算x(n)的8点DFT
Yc8k=H8k.*X8k;
yc8n=ifft(Yc8k,8);
%用DFT计算16点循环卷积yc16n:
H16k=fft(hn,16);%计算h(n)的16点DFT
X16k=fft(xn,16);%计算x(n)的16点DFT
Yc16k=H16k.*X16k;
yc16n=ifft(Yc16k,16);
%时域计算线性卷积yn:
yn=conv(hn,xn);
%以下为绘图部分
n=0:
7;
subplot(3,1,1);stem(n,yc8n,'.');axis([0,17,0,30])
title('(a)8点循环卷积');xlabel('n');ylabel('yc(n)')
n=0:
15;
subplot(3,1,2);stem(n,yc16n,'.');axis([0,17,0,30])
title('(b)16点循环卷积');xlabel('n');ylabel('yc(n)')
n=0:
length(yn)-1;
subplot(3,1,3);stem(n,yn,'.');axis([0,17,0,30])
title('(c)线性卷积');xlabel('n');ylabel('y(n)')
实验结论:
当N的值选取得当时,循环卷积的结果和线性卷积的结果相同。
3-27选择合适的变换区间长度N,用DFT对下列信号进行谱分析,画出幅频特性和相频特性曲线。
1)x1(n)=2cos(0.2πn)
2)x2(n)=sin(0.45πn)sin(0.55πn)
3)x3(n)=2-|n|R21(n+10)
实验分析
对x1(n),其周期为10,所以取N1=10;因为
x2(n)=sin(0.45πn)sin(0.55πn)=0.5[cos(0.1πn)-cos(πn)],其周期为20,所以取N2=20;x3(n)不是因果序列,所以先构造其周期延拓序列(延拓周期为N3),再对其主值序列进行N3点DFT。
x1(n)和x2(n)是周期序列,所以截取1个周期,用DFT进行谱分析,得出精确的离散谱。
x3(n)是非因果、非周期序列,通过试验选取合适的DFT变换区间长度N3进行谱分析。
实验源程序及结果
第
(1)问
n1=0:
9;
N1=10;
x1n=2*cos(0.2*pi*n1);
X1k=fft(x1n,N1);
%以下为绘图部分
%-------------------绘制x1(n)的频谱特性图--------------------------------
k=0:
N1-1;wk=2*k/N1;
subplot(2,1,1);stem(wk,abs(X1k),'.');
title('(a)x1(n)的幅频特性图');xlabel('ω/π');ylabel('幅度');gridon;boxon
subplot(2,1,2);stem(wk,angle(X1k),'.');gridon;boxon
line([0,2],[0,0])
title('(b)x1(n)的相频特性图');
xlabel('ω/π');ylabel('相位');
结果截图
第2问
n2=0:
50;
N2=20;
x2n=2*sin(0.45*pi*n2).*sin(0.55*pi*n2);
X2k=fft(x2n,N2);%计算序列x2(n)的N2点DFT
%-------------------绘制x2(n)的频谱特性图---------------------------------
k=0:
N2-1;wk=2*k/N2;
subplot(2,1,1);stem(wk,abs(X2k),'.');gridon;boxon
title('(a)x2(n)的幅频特性图');xlabel('ω/π');ylabel('幅度')
subplot(2,1,2);stem(wk,angle(X2k),'.');gridon;boxon
line([0,2],[0,0])
title('(b)x2(n)的相频特性图');
xlabel('ω/π');ylabel('相位');
截图为
第3问
n3=-10:
10;
N3a=32;N3b=64;
x3n=0.5.^abs(n3);
x3anp=zeros(1,N3a);%构造x3(n)的周期延拓序列,周期为N3a
form=1:
10,
x3anp(m)=x3n(m+10);x3anp(N3a+1-m)=x3n(11-m);
end
x3bnp=zeros(1,N3b);%构造x3(n)的周期延拓序列,周期为N3b
form=1:
10,
x3bnp(m)=x3n(m+10);x3bnp(N3b+1-m)=x3n(11-m);
end
X3ak=fft(x3anp,N3a);
X3bk=fft(x3bnp,N3b);
%-----------绘制32点周期延拓序列和32点DFT[x3(n)]的频谱特性图-----------------
n=0:
N3a-1;subplot(3,2,1);stem(n,x3anp,'.');boxon
title('(a)x3(n)的32点周期延拓序列');
k=0:
N3a-1;wk=2*k/N3a;
subplot(3,2,3);plot(wk,abs(X3ak));
title('(b)DFT[x3(n)]_3_2的幅频特性图');xlabel('ω/π');ylabel('幅度')
subplot(3,2,5);plot(wk,angle(X3ak));
line([0,2],[0,0])
title('(c)DFT[x3(n)]_3_2的相位');
xlabel('ω/π');ylabel('相位');
%-------------绘制64点周期延拓序列和64点DFT[x3(n)]的频谱特性图---------------
n=0:
N3b-1;subplot(3,2,2);stem(n,x3bnp,'.');boxon
title('(d)x3(n)的64点周期延拓序列');
k=0:
N3b-1;wk=2*k/N3b;
subplot(3,2,4);plot(wk,abs(X3bk));
title('(e)DFT[x3(n)]_6_4的幅频特性图');xlabel('ω/π');ylabel('幅度')
subplot(3,2,6);plot(wk,angle(X3bk));
line([0,2],[0,0])
title('(f)DFT[x3(n)]_3_2的相位');
xlabel('ω/π');ylabel('相位');
第四章
4.6按照下面的IDFT算法编写MATLAB语言IFFT程序,其中FFT部分不用写出清单,可电泳fft函数。
并对单位脉冲序列、矩形序列、三角序列和正弦序列进行FFT和IFFT,验证缩编程序。
=IDFT[
]=
实验分析
根据算法,调用fft函数即可。
实验源代码及结果
编程为
functionsn=IFFT_DIY(ak)
N=length(ak);
sn=1/N*conj(fft(conj(ak),N));
end
验证:
单位脉冲:
an=1;
ak=fft(an);
a1n=IFFT_DIY(ak);
n=0:
length(a1n)-1;
subplot(1,1,1);stem(n,a1n,'.'),axis([-3,3,0,2]);
矩形脉冲:
an=[1111111];
ak=fft(an);
a1n=IFFT_DIY(ak);
n=0:
length(a1n)-1;
subplot(1,1,1);stem(n,a1n,'.'),axis([0,10,0,2]);
三角脉冲:
an=[1234321];
ak=fft(an);
a1n=IFFT_DIY(ak);
n=0:
length(a1n)-1;
subplot(1,1,1);stem(n,a1n,'.'),axis([0,8,0,4]);
正弦脉冲:
an=sin(0.2*pi*n);
ak=fft(an);
a1n=IFFT_DIY(ak);
n=0:
length(a1n)-1;
subplot(1,1,1);stem(n,a1n,'.'),axis([0,10,-2,2]);
由实验结果可以验证算法编程是正确的!
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!