数字信号处理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=[1 2 3 3 2 1];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=[1 2 3 3 2 1];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) 8 x(n);2)计算yc(n)=h(n) 16 x(n)和y(n)=h(n)*x(n);3)画出h(n)、 x(n)、 yc(n)和y(n)的波形图,观察总结循环卷积与线性卷积的关系。
实验分析循环卷积为线性卷积的周期延拓序列的主值序列;当循环卷积区间长度大于等于线性卷积序列长度时,二者相等。
实验代码及截图hn=[1 1 1 1 1 1];xn=[0 1 2 3 4 5 6 7];%用DFT计算8点循环卷积yc8n:H8k=fft(hn,8); %计算h(n)的8点DFTX8k=fft(xn,8); %计算x(n)的8点DFTYc8k=H8k.*X8k;yc8n=ifft(Yc8k,8);%用DFT计算16点循环卷积yc16n:H16k=fft(hn,16); %计算h(n)的16点DFTX16k=fft(xn,16); %计算x(n)的16点DFTYc16k=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)=2 cos(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('幅度');grid on;box onsubplot(2,1,2);stem(wk,angle(X1k),'.');grid on;box online([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),'.');grid on;box ontitle('(a) x2(n)的幅频特性图');xlabel('ω/π');ylabel('幅度')subplot(2,1,2);stem(wk,angle(X2k),'.');grid on;box online([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)的周期延拓序列,周期为N3afor m=1:10,x3anp(m)=x3n(m+10);x3anp(N3a+1-m)=x3n(11-m);endx3bnp=zeros(1,N3b); %构造x3(n)的周期延拓序列,周期为N3bfor m=1:10,x3bnp(m)=x3n(m+10);x3bnp(N3b+1-m)=x3n(11-m);endX3ak=fft(x3anp,N3a);X3bk=fft(x3bnp,N3b);%-----------绘制32点周期延拓序列和32点DFT[x3(n)]的频谱特性图----------------- n=0:N3a-1;subplot(3,2,1);stem(n,x3anp,'.');box ontitle('(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,'.');box ontitle('(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函数。