您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > DSP实验报告B13011025
南京邮电大学实验报告实验名称:离散时间信号与系统的时、频域表示离散傅立叶变换和z变换数字滤波器的频域分析和实现数字滤波器的设计课程名称数字信号处理A(双语)班级学号B13011025姓名陈志豪开课时间2015/2016学年,第1学期实验名称:离散时间信号与系统的时、频域表示实验目的和任务:熟悉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('Timeindexn');ylabel('Amplitude');title('UnitSampleSequence');axis([-102001.2]);Q1.2命令clf,axis,title,xlabel和ylabel命令的作用是什么?答:clf命令的作用:清除图形窗口上的图形;axis命令的作用:设置坐标轴的范围和显示方式;title命令的作用:给当前图片命名;xlabel命令的作用:添加x坐标标注;ylabelc命令的作用:添加y坐标标注;Q1.3修改程序P1.1,以产生带有延时11个样本的延迟单位样本序列ud[n]。运行修改的程序并显示产生的序列。clf;n=-10:20;u=[zeros(1,21)1zeros(1,9)];stem(n,u);xlabel('Timeindexn');ylabel('Amplitude');title('UnitSampleSequence');axis([-102001.2]);Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示它。该序列的周期是多少?n=0:50;f=0.08;phase=90;A=2.5;arg=2*pi*f*n-phase;x=A*cos(arg);clf;stem(n,x);axis([050-33]);grid;title('SinusoidalSequence');xlabel('Timeindexn');ylabel('Amplitude');axis;答:周期为:T=2=f1=0.081=22.5。Q1.30未污染的信号s[n]是什么样的形式?加性噪声d[n]是什么样的形式?答:未污染的信号:s[n]=n2×n0.9。加性噪声d[n]是均匀分布在-04到+0.4之间的随机序列。Q1.31使用语句x=s+d能产生被噪声污染的信号吗?若不能,为什么?答:不能,因为d是列向量,s是行向量。Q1.32信号x1,x2和x3与信号x之间的关系是什么?答:X1是x的延时一个单位,x2和x相等,x3超前于x一个单位。Q1.33legend命令的作用是什么?答:产生图例说明。Q2.1对M=2,运行上述程序,生成输入x[n]=s1[n]+s2[n]的输出信号。输出x[n]的哪个分量被该离散时间系统抑制?答:输入x[n]被该离散时间系统抑制的分量为Signal2的高频分量。Q2.2若线性时不变系统由y[n]=0.5(x[n]+x[n–1])变成y[n]=0.5(x[n]–x[n–1]),对输入x[n]=s1[n]+s2[n]的影响是什么?n=0:100;s1=cos(2*pi*0.05*n);s2=cos(2*pi*0.47*n);x=s1+s2;M=input('Desiredlengthofthefilter=');num=(-1).^[0:M-1];y=filter(num,1,x)/M;clf;subplot(2,2,1);plot(n,s1);axis([0,100,-2,2]);xlabel('Timeindexn');ylabel('Amplitude');title('Signal#1');subplot(2,2,2);plot(n,s2);axis([0,100,-2,2]);xlabel('Timeindexn');ylabel('Amplitude');title('Signal#2');subplot(2,2,3);plot(n,x);axis([0,100,-2,2]);xlabel('Timeindexn');ylabel('Amplitude');title('InputSignal');subplot(2,2,4);plot(n,y);axis([0,100,-2,2]);xlabel('Timeindexn');ylabel('Amplitude');title('OutputSignal');axis;答:对于输入的影响是-该系统是一个高通滤波器,它通过高频率的输入分量S2,而不是低频的输入分量S1。Q2.3对滤波器长度M和正弦信号s1[n]和s2[n]的频率取其他值,运行程序P2.1,算出结果。M=3,f1=0.1,f2=0.2M=8,f1=0.25,f2=0.5Q2.19运行P2_5,生成式(2.15)所给离散时间系统的冲激响应。Q2.21利用filter命令编写一个MATLAB程序,生成式(2.17)给出的因果线性时不变系统的冲激响应,计算并画出前40个样本。把你的结果和习题Q2.20中得到的结果相比较。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个样本如下所示:Q2.28运行程序P2.7,对序列h[n]和x[n]求卷积,生成y[n],并用FIR滤波器h[n]对输入x[n]滤波,求得y1[n]。y[n]和y1[n]有差别吗?为什么要使用对x[n]补零后得到的x1[n]作为输入来产生y1[n]?答:y[n]和y1[n]的差别为-没有差别将x[n]补零后得到x1[n]作为输入,产生y1[n]的原因是–对于长度N1和N2的两个序列,转化率返回得到的序列长度N1+N2-1。与此相反,滤波器接收一个输入信号和系统规范,返回的结果是相同的长度作为输入信号。因此,为了从转化率和滤波器得到直接比较的结果,有必要供应滤波器的输入已经填充为长度L(x)+L(h)-1。Q3.1在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?MATLAB命令pause的作用是什么?答:离散时间傅里叶变换的原始序列:116.012zz;pause命令的作用:暂停程序,直至用户按任意键,程序才可以开始。Q3.2运行程序P3.1,求离散时间傅里叶变换的实部、虚部以及幅度和相位谱。离散时间傅里叶变换是的周期函数吗?若是,周期是多少?描述这四个图表示的对称性。答:DTFT是关于的周期函数么?是周期函数周期是-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');修改程序后的运行结果为:答:DTFT是关于的周期函数么?是周期函数周期是-2π相位谱中跳变的原因是-对相位进行归一化。实验名称:离散傅立叶变换和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)];xI=[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');subplot(3,2,2);plot(nn,xI);grid;title('Im\{x[n]\}');xlabel('Timeindexn');ylabel('Amplitude');subplot(3,2,3);plot(kk,real(XF));grid;title('Re\{x[n]\}');xlabel('Frequencyindexk');ylabel('Amplitude');subplot(3,2,4);plot(kk,imag(XF));grid;title('Im\{x[n]\}');xlabel('Frequencyindexk');ylabel('Amplitude');xx=ifft(XF,L);subplot(3,2,5);plot(kk,real(xx));grid;title('RealpartofIDFT\{x[n]\}');xlabel('Timeindexn');ylabel('Amplitude');subplot(3,2,6);plot(kk,imag(xx));grid;title('ImagpartofIDFT\{x[n]\}');xlabel('Timeindexn');ylabel('Amplitude');Q3.26在函数circshift中,命令rem的作用是什么?答:Rem(x,y)是用y对x求余数函数。Q3.27解释函数circshift怎样实现圆周移位运算。答:在输入序列x由M的位置开始被循环移位,如果M0,则circlshift删除从矢量x最左边开始的M个元素和它
本文标题:DSP实验报告B13011025
链接地址:https://www.777doc.com/doc-2910509 .html