资源描述:
《数字信号处理实验(吴镇扬)答案-2.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、(1)观察高斯序列的时域和幅频特性,固定信号中参数p=8,改变q的值,使q分别等于2、4、8,观察他们的时域和幅频特性,了解当q取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p分别等于8、13、14,观察参数p变化对信号序列的时域和幅频特性的影响,注意p等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。解:程序见附录程序一:P=8,q变化时:12/12分析:由高斯序列表达式知n=p为期对称轴;当p取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q由2增
2、加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱;当q值固定不变,p变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值,p=14时的泄漏现象最为明显,混叠可能也随之出现;12/12(1)观察衰减正弦序列的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现的位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混叠和泄漏现象?说明产生现象
3、的原因。解:程序见附录程序二:分析:当f=f1=0.0625时,谱峰位置出现正确,存在在混叠现象,时域采样为一周期,不满足采样定理。当f=0.4375和0.5625时,时域图像关于Y轴对称,频域完全相同。这是因为频域图是取绝对值的结果,所以完全相同。另外由于时域采样为6个半周期,满足采样定理,无混叠;但由于截取长度不是周期整数倍,出现泄漏。12/12(3)观察三角波和反三角波序列的时域和幅频特性,用N=8点的FFT分析信号序列和的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。在和末尾补零,用N=32点的FFT分析这两个信号的幅频特性,观察幅频特性发
4、生了什么变化?两种情况下的FFT频谱还有相同之处吗?这些变化说明了什么?12/1212/12三角波序列:反三角波序列:12/12解:程序见附录程序三:12/12N=8时域和幅度频谱图:12/12分析:由图知,三角波序列和反三角波序列的时域图像成镜像关系,但频域图像完全一样,只是因为幅频图是对x(k)的值取绝对值。12/12N=32时域和幅度频谱图:分析:由实验所得的图形知,N=32点时和的幅频特性都更加密集,更多离散点的幅值显示,“栅栏效应”减小,分辨率提高,而对于来说变化更加明显。在原序列的末端填补零值,变动了DFT的点数,人为的改变了对真实频谱采样的点数和位置,相当于搬动了“
5、尖桩栅栏”的位置,从而使得频谱的峰点和谷点暴露出来。N=32时,和的频谱差别较大,但总体趋势仍然都是中间最小,两侧呈对称。12/12(4)一个连续信号含两个频率分量,经采样得已知N=16,分别为1/16和1/64,观察其频谱;当N=128时,不变,其结果有何不同,为什么?解:程序见附录程序四:分析:由图可以看出N=16时,当由1/16减小为1/64时,频谱图出现失真,可能是的改变引起周期变化导致混叠。当N增加至128时,频谱更加密集,分辨率明显提高,混叠现象消失。(5)用FFT卷积分别计算(p=8,q=2)和(a=0.1,f=0.0625)的16点循环卷积和线性卷积。12/121
6、2/1212/12解:程序如下:n1=0:1:15;x=exp(-(n1-8).^2./2);y=exp(-0.1*n1).*sin(2*pi*0.0625*n1);N=length(x);n=0:N-1;n2=0:1:30;X=fft(x);Y=fft(y);x32=[xzeros(1,16)];y32=[yzeros(1,16)];X32=fft(x32);Y32=fft(y32);z16=ifft(X.*Y);z32=ifft(X32.*Y32);subplot(2,2,1);plot(n,z16,'-o');xlabel('n');ylabel('z(n)');title
7、('循环卷积的结果');subplot(2,2,2);plot(n2,z32(1:2*N-1),'-o');xlabel('n');ylabel('z(n)');title('线性卷积的结果');rm16=real(ifft(conj(X).*Y));rm32_0=real(ifft(conj(X32).*Y32));rm32=[rm32_0(N+2:2*N)rm32_0(1:N)];m=n;subplot(2,2,3);plot(m,rm16,'-o');xlabel('m')