南邮dsp实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

南京邮电大学实验报告实验名称:离散时间信号与系统的时、频域表示离散傅立叶变换和z变换数字滤波器的频域分析和实现数字滤波器的设计课程名称数字信号处理A(双语)班级学号________姓名_____________开课时间201/201学年,第学期实验一:离散时间信号与系统的时、频域表示一、实验目的和任务:熟悉Matlab基本命令,理解和掌握离散时间信号与系统的时、频域表示及简单应用。在Matlab环境中,按照要求产生序列,对序列进行基本运算;对简单离散时间系统进行仿真,计算线性时不变(LTI)系统的冲激响应和卷积输出;计算和观察序列的离散时间傅立叶变换(DTFT)幅度谱和相位谱。二、实验内容:基本序列产生和运算:Q1.1~1.3,Q1.23,Q1.30~1.33离散时间系统仿真:Q2.1~2.3LTI系统:Q2.19,Q2.21,Q2.28DTFT:Q3.1,Q3.2,Q3.4三、实验过程与结果分析:Q1.1运行P1_1产生单位样本序列u[n]的程序与显示的波形如下:clf;n=-10:20;u=[zeros(1,10)1zeros(1,20)];stem(n,u);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-102001.2]);Q1.2clf命令的作用是-清除图形窗口上的图形axis命令的作用是-设置坐标轴的范围和显示方式title命令的作用是-给图形加名字xlabel命令的作用是-添加x坐标标注ylabel命令的作用是-添加y坐标标注Q1.3产生有延时11个样本ud[n]的程序及其运行结果如下:clf;n=-10:20;ud=[zeros(1,21)1zeros(1,9)];stem(n,ud);xlabel('时间序号n');ylabel('振幅');title('单位样本序列');axis([-102001.2]);Q1.23n=0:50;f=0.08;phase=pi/2;A=2.5;arg=2*pi*f*n-phase;x=A*cos(arg);clf;stem(n,x);axis([050-33]);grid;title('正弦序列');xlabel('时间序号n');ylabel('振幅');axis;该序列的周期为12.5sQ1.30未污染的信号s[n]是什么样的形式?加信噪声d[n]是什么的形式?Q1.31使用语句X=s+d能产生被噪声污染的信号吗?若不能,为什么?Q1.32信号x1,x2和x3预先好x之间的关系是什么?Q1.33legend命令的作用是什么?Q2.1clf;n=0:100;s1=cos(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=input('滤波器所需的长度=');num=ones(1,M);y=filter(num,1,x)/M;subplot(2,2,1);plot(n,s1);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('信号#1');subplot(2,2,2);plot(n,s2);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('信号#2');subplot(2,2,3);plot(n,x);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输入信号');subplot(2,2,4);plot(n,y);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输出信号');axis;输入X[n]的s[n]分量被该离散时间系统抑制。Q2.2程序P2.1中LTIsystem被修改为y[n]=0.5(x[n]–x[n–1])后,输入x[n]=s1[n]+s2[n]导致的输出为:050100-2-1012TimeindexnAmplitudeSignal#1050100-2-1012TimeindexnAmplitudeSignal#2050100-2-1012TimeindexnAmplitudeInputSignal050100-2-1012TimeindexnAmplitudeOutputSignal对于输入的影响是:该系统现在是一个高通滤波器。它通过高频率的输入分量S2,而不是低频分量输入S1。Q2.3clf;n=0:100;s1=cos(2*pi*0.04*n);s2=cos(2*pi*0.6*n);x=s1+s2;M=input('滤波器所需的长度=');num=ones(1,M);y=filter(num,1,x)/M;subplot(2,2,1);plot(n,s1);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('信号#1');subplot(2,2,2);plot(n,s2);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('信号#2');subplot(2,2,3);plot(n,x);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输入信号');subplot(2,2,4);plot(n,y);axis([0,100,-2,2]);xlabel('时间序号n');ylabel('振幅');title('输出信号');axis;Q2.19运行P2_5生成的结果如下::0510152025303540-3-2-101234TimeindexnAmplitudeImpulseResponseQ2.21生成的MATLAB代码如下:clf;N=40;num=[0.9-0.450.350.002];den=[1.00.71-0.46-0.62];x=[1zeros(1,N-1)];y=filter(num,den,x);stem(y);xlabel('Timeindexn');ylabel('Amplitude');title('ImpulseResponse');grid;程序产生的40个样本如下所示:0510152025303540-1.5-1-0.500.511.52TimeindexnAmplitudeImpulseResponseQ2.28clf;h=[321-210-403];x=[1-23-4321];y=conv(h,x);n=0:14;subplot(2,1,1);stem(n,y);xlabel('时间序号n');ylabel('振幅');title('用卷积得到的输出');grid;x1=[xzeros(1,8)];y1=filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel('时间序号n');ylabel('振幅');title('由滤波生成的输出');grid;①y[n]和y1[n]的差别为:它们无差别。②将x[n]补零后得到x1[n]作为输入,产生y1[n]的原因是--对于长度N1和N2的两个序列,转化率返回得到的序列长度N1+N2-1。与此相反,过滤器接受一个输入信号和一个系统规范。返回的结果是相同的长度作为输入信号。因此,为了从转化率和滤波器得到直接比较的结果,有必要供应滤波器的输入已经零填充为长度L(x)+L(h)-1。Q3.1程序P3_1计算离散时间傅里叶变换的原始序列为:H(ej)=116.012zz;pause命令的作用为:加参数,直接用pause的话,就是程序暂停,直至用户按任意一个按键。如果加参数,比如pause(1.5)就是程序暂停1.5秒。Q3.2程序P3_1运行结果为:-4-3-2-10123402468RealpartofH(ej)/Amplitude-4-3-2-101234-4-2024ImaginarypartofH(ej)/Amplitude-4-3-2-10123402468MagnitudeSpectrum|H(ej)|/Amplitude-4-3-2-101234-2-1012PhaseSpectrumarg[H(ej)]/PhaseinradiansDTFT是关于的周期函数么?答:DTFT是关于的周期函数;期是2.四个图形的对称性为:实部是2周期和偶对称;是2周期和奇对称;幅度是2周期和偶对称;相位是2周期和奇对称性。Q3.4修改程序P3_1重做Q3.2的程序如下:clf;w=-4*pi:8*pi/511:4*pi;num=[1357911131517];den=1;h=freqz(num,den,w);subplot(2,1,1)plot(w/pi,real(h));gridtitle('RealpartofH(e^{j\omega})')xlabel('\omega/\pi');ylabel('Amplitude');subplot(2,1,2)plot(w/pi,imag(h));gridtitle('ImaginarypartofH(e^{j\omega})')xlabel('\omega/\pi');ylabel('Amplitude');pausesubplot(2,1,1)plot(w/pi,abs(h));gridtitle('MagnitudeSpectrum|H(e^{j\omega})|')xlabel('\omega/\pi');ylabel('Amplitude');subplot(2,1,2)plot(w/pi,angle(h));gridtitle('PhaseSpectrumarg[H(e^{j\omega})]')xlabel('\omega/\pi');ylabel('Phaseinradians');修改程序后的运行结果为:-4-3-2-101234-50050100RealpartofH(ej)/Amplitude-4-3-2-101234-100-50050100ImaginarypartofH(ej)/Amplitude-4-3-2-101234050100MagnitudeSpectrum|H(ej)|/Amplitude-4-3-2-101234-4-2024PhaseSpectrumarg[H(ej)]/PhaseinradiansDTFT是关于的周期函数么?答:DTFT是关于的周期函数。周期是-2。相位谱中跳变的原因是:角度返回arctan的本值。实验名称:离散傅立叶变换和z变换实验目的和任务:掌握离散傅立叶变换(DFT)及逆变换(IDFT)、z变换及逆变换的计算和分析。利用Matlab语言,完成DFT和IDFT的计算及常用性质的验证,用DFT实现线性卷积,实现z变换的零极点分析,求有理逆z变换。实验内容:DFT和IDFT计算:Q3.23~3.24DFT的性质:Q3.26~3.29,Q3.36,Q3.38,Q3.40z变换分析:Q3.46~3.48逆z变换:Q3.50实验过程与结果分析:Q3.23编写一个MATLAB程序,计算并画出长度为N的L点离散傅里叶变换X[k]的值,其中L≥N,然后计算并画出L点离散傅里叶变换X[k]。对不同长度N和不同的离散傅里叶变换长度L,运行程序。讨论你的结果。clf;N=200;L=256;nn=[0:N-1];kk=[0:L-1];xR=[0.1*(1:100)zeros(1,N-100)];%realpartxI=[zeros(1,N)];x=xR+i*xI;XF=fft(x,L);subplot(3,2,1);grid;plot(nn,xR);grid;title('Re\{x[n]\}');xlabel('Timeindexn');ylabel('Amplitude'

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功