1、DSP实验报告离散时间信号与系统的时频域表示离散傅立叶变换和z变换数字滤波器的频域分析和实现数字南京邮电大学实 验 报 告实验名称:离散时间信号与系统的时、频域表示离散傅立叶变换和z变换 数字滤波器的频域分析和实现 数字滤波器的设计课程名称 数字信号处理A(双语) 班级学号 B13011025 姓 名 陈志豪 开课时间 2015/2016学年,第1学期实验名称:离散时间信号与系统的时、频域表示实验目的和任务:熟悉Matlab基本命令,理解和掌握离散时间信号与系统的时、频域表示及简单应用。在Matlab环境中,按照要求产生序列,对序列进行基本运算;对简单离散时间系统进行仿真,计算线性时不变(LT
2、I)系统的冲激响应和卷积输出;计算和观察序列的离散时间傅立叶变换(DTFT)幅度谱和相位谱。实验内容:基本序列产生和运算: Q1.11.3,Q1.23,Q1.301.33离散时间系统仿真: Q2.12.3LTI系统:Q2.19,Q2.21,Q2.28DTFT:Q3.1,Q3.2,Q3.4实验过程与结果分析:Q1.1运行程序P1.1,以产生单位样本序列un并显示它。clf;n = -10:20;u = zeros(1,10) 1 zeros(1,20);stem(n,u);xlabel(Time index n);ylabel(Amplitude);title(Unit Sample Seque
3、nce);axis(-10 20 0 1.2);Q1.2 命令clf,axis,title,xlabel和ylabel 命令的作用是什么?答:clf命令的作用:清除图形窗口上的图形;axis命令的作用:设置坐标轴的范围和显示方式;title命令的作用:给当前图片命名;xlabel命令的作用:添加x坐标标注;ylabel c命令的作用:添加y坐标标注;Q1.3修改程序P1.1,以产生带有延时11个样本的延迟单位样本序列udn。运行修改的程序并显示产生的序列。clf;n = -10:20;u = zeros(1,21) 1 zeros(1,9);stem(n,u);xlabel(Time inde
4、x n);ylabel(Amplitude);title(Unit Sample Sequence);axis(-10 20 0 1.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(0 50 -3 3);grid; title(Sinusoidal Sequence);xlabel(Time index n);y
5、label(Amplitude);axis;答:周期为:T=22.5。Q1.30未污染的信号sn是什么样的形式?加性噪声dn是什么样的形式?答:未污染的信号:sn=。 加性噪声dn是均匀分布在-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 ,运行上述程序,生成输入 xn = s1n+s2n的输出信号。输出x
6、n的哪个分量被该离散时间系统抑制?答:输入 xn 被该离散时间系统抑制的分量为Signal2的高频分量。 Q2.2若线性时不变系统由yn = 0.5(xn+xn1)变成yn = 0.5(xnxn1), 对输入 xn = s1n+s2n的影响是什么?n = 0:100;s1 = cos(2*pi*0.05*n); s2 = cos(2*pi*0.47*n); x = s1+s2;M = input(Desired length of the filter = );num = (-1).0:M-1;y = filter(num,1,x)/M;clf;subplot(2,2,1);plot(n, s
7、1);axis(0, 100, -2, 2);xlabel(Time index n);ylabel(Amplitude);title(Signal #1);subplot(2,2,2);plot(n, s2);axis(0, 100, -2, 2);xlabel(Time index n);ylabel(Amplitude);title(Signal #2);subplot(2,2,3);plot(n, x);axis(0, 100, -2, 2);xlabel(Time index n);ylabel(Amplitude);title(Input Signal);subplot(2,2,4
8、);plot(n, y);axis(0, 100, -2, 2);xlabel(Time index n);ylabel(Amplitude);title(Output Signal); axis; 答:对于输入的影响是- 该系统是一个高通滤波器,它通过高频率的输入分量S2,而不是低频的输入分量S1。Q2.3对滤波器长度M和正弦信号s1n和s2n的频率取其他值,运行程序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程序,生成式(
9、2.17)给出的因果线性时不变系统的冲激响应,计算并画出前40个样本。把你的结果和习题Q2.20中得到的结果相比较。clf;N = 40;num = 0.9 -0.45 0.35 0.002;den = 1.0 0.71 -0.46 -0.62;x = 1 zeros(1,N-1);y = filter(num,den,x);stem(y);xlabel(Time index n); ylabel(Amplitude);title(Impulse Response); grid; 程序产生的40个样本如下所示:Q2.28运行程序P2.7,对序列hn和xn求卷积,生成yn,并用FIR滤波器hn对
10、输入xn滤波,求得y1n。yn和y1n有差别吗?为什么要使用对xn补零后得到的x1n作为输入来产生y1n?答:yn 和 y1n 的差别为 - 没有差别 将xn补零后得到 x1n作为输入,产生y1n的原因是 对于长度N1和N2的两个序列,转化率返回得到的序列长度N1+N2-1。与此相反,滤波器接收一个输入信号和系统规范,返回的结果是相同的长度作为输入信号。因此,为了从转化率和滤波器得到直接比较的结果,有必要供应滤波器的输入已经填充为长度L(x)+L(h)-1。Q3.1在程序P3.1中,计算离散时间傅里叶变换的原始序列是什么?MATLAB命令pause的作用是什么?答:离散时间傅里叶变换的原始序列
11、:;pause 命令的作用:暂停程序,直至用户按任意键,程序才可以开始。Q3.2运行程序 P3.1,求离散时间傅里叶变换的实部、虚部以及幅度和相位谱。离散时间傅里叶变换是的周期函数吗?若是,周期是多少?描述这四个图表示的对称性。答:DTFT 是关于 的周期函数么?是周期函数 周期是 - 2 四个图形的对称性为:实部是偶对称,虚部是奇对称,幅度谱是偶对称相位谱是奇对称。Q3.4修改程序 P3_1 重做Q3.2的程序如下:clf;w = -4*pi:8*pi/511:4*pi;num = 1 3 5 7 9 11 13 15 17;den = 1;h = freqz(num, den, w);su
12、bplot(2,1,1)plot(w/pi,real(h);gridtitle(Real part of H(ejomega)xlabel(omega /pi);ylabel(Amplitude);subplot(2,1,2)plot(w/pi,imag(h);gridtitle(Imaginary part of H(ejomega)xlabel(omega /pi);ylabel(Amplitude);pausesubplot(2,1,1)plot(w/pi,abs(h);gridtitle(Magnitude Spectrum |H(ejomega)|)xlabel(omega /pi)
13、;ylabel(Amplitude);subplot(2,1,2)plot(w/pi,angle(h);gridtitle(Phase Spectrum argH(ejomega)xlabel(omega /pi);ylabel(Phase in radians);修改程序后的运行结果为:答:DTFT 是关于 的周期函数么?是周期函数 周期是 - 2 相位谱中跳变的原因是 - 对相位进行归一化。实验名称:离散傅立叶变换和z变换实验目的和任务:掌握离散傅立叶变换(DFT)及逆变换(IDFT)、z变换及逆变换的计算和分析。利用Matlab语言,完成DFT和IDFT的计算及常用性质的验证,用DFT实
14、现线性卷积,实现z变换的零极点分析,求有理逆z变换。实验内容:DFT和IDFT计算: Q3.233.24DFT的性质: Q3.263.29,Q3.36,Q3.38,Q3.40z变换分析:Q3.463.48逆z变换:Q3.50实验过程与结果分析:参见实验一格式Q3.23编写一个MATLAB程序,计算并画出长度为N的L点离散傅里叶变换Xk的值, 其中LN,然后计算并画出L点离散傅里叶逆变换Xk。对不同长度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=zer
15、os(1,N);x=xR+i*xI;XF=fft(x,L);subplot(3,2,1);grid;plot(nn,xR);grid;title(Rexn);xlabel(Time index n);ylabel(Amplitude);subplot(3,2,2);plot(nn,xI);grid;title(Imxn);xlabel(Time index n);ylabel(Amplitude);subplot(3,2,3);plot(kk,real(XF);grid;title(Rexn);xlabel(Frequency index k);ylabel(Amplitude);subplo
16、t(3,2,4);plot(kk,imag(XF);grid;title(Imxn);xlabel(Frequency index k);ylabel(Amplitude);xx=ifft(XF,L);subplot(3,2,5);plot(kk,real(xx);grid;title(Real part of IDFTxn);xlabel(Time index n);ylabel(Amplitude);subplot(3,2,6);plot(kk,imag(xx);grid;title(Imag part of IDFTxn);xlabel(Time index n);ylabel(Ampl
17、itude);Q3.26在函数circshift中,命令rem的作用是什么?答:Rem(x,y)是用y对x求余数函数。Q3.27 解释函数circshift怎样实现圆周移位运算。答:在输入序列x由M的位置开始被循环移位,如果M0,则circlshift删除从矢量x最左边开始的M个元素和它们附加在右侧的剩余元素,以获得循环移位序列。如果M length(x) M = rem(M,length(x);endif M 0 M = M + length(x);endy = x(M+1:length(x) x(1:M);clf;M = 6;a = 0 1 2 3 4 5 6 7 8 9;b = circ
18、shift(a,M);L = length(a)-1;n = 0:L;subplot(2,1,1);stem(n,a);axis(0,L,min(a),max(a);title(Original Sequence);xlabel(time index k);ylabel(an);subplot(2,1,2);stem(n,b);axis(0,L,min(a),max(a);title(Sequence Obtained by Circularly Shifting by,num2str(M),Samples);xlabel(time index n);ylabel(bn);D决定时移量,左移M
19、位。Q3.31运行修改后的程序并验证圆周时移运算。修改后的程序如下:Q3.32通过加入合适的注释语句和程序语句,修改程序P3.8,对程序生成的图形中的两个轴加标记。时移量是多少?clf;x = 0 2 4 6 8 10 12 14 16;N = length(x)-1; n = 0:N;y = circshift(x,5);XF = fft(x);YF = fft(y);subplot(2,2,1)stem(n,abs(XF);gridtitle(Magnitude of DFT of Original Sequence);xlabel(Frequency index k); ylabel(|
20、Xk|); subplot(2,2,2)stem(n,abs(YF);gridtitle(Magnitude of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(|Yk|); subplot(2,2,3)stem(n,angle(XF);gridtitle(Phase of DFT of Original Sequence);xlabel(Frequency index k); ylabel(arg(Xk);subplot(2,2,4)stem(n,angle(YF);gridtitle(Phase
21、of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(arg(Yk);时移量是5。Q3.33运行修改后的程序并验证离散傅里叶变换的圆周时移性质。Q3.34选取两个不同的时移量,重做习题Q3.33。(1)修改后的程序如下:clf;x = 0 2 4 6 8 10 12 14 16;N = length(x)-1; n = 0:N;y = circshift(x,3);XF = fft(x);YF = fft(y);subplot(2,2,1)stem(n,abs(XF);gridtitle(Magnitu
22、de of DFT of Original Sequence);xlabel(Frequency index k); ylabel(|Xk|); subplot(2,2,2)stem(n,abs(YF);gridtitle(Magnitude of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(|Yk|); subplot(2,2,3)stem(n,angle(XF);gridtitle(Phase of DFT of Original Sequence);xlabel(Frequency index
23、 k); ylabel(arg(Xk);subplot(2,2,4)stem(n,angle(YF);gridtitle(Phase of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(arg(Yk);(2)修改后的程序如下:clf;x = 0 2 4 6 8 10 12 14 16;N = length(x)-1; n = 0:N;y = circshift(x,6);XF = fft(x);YF = fft(y);subplot(2,2,1)stem(n,abs(XF);gridtitle(Mag
24、nitude of DFT of Original Sequence);xlabel(Frequency index k); ylabel(|Xk|); subplot(2,2,2)stem(n,abs(YF);gridtitle(Magnitude of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(|Yk|); subplot(2,2,3)stem(n,angle(XF);gridtitle(Phase of DFT of Original Sequence);xlabel(Frequency i
25、ndex k); ylabel(arg(Xk);subplot(2,2,4)stem(n,angle(YF);gridtitle(Phase of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(arg(Yk);Q3.35选取两个不同长度的序列,重做习题Q3.33。修改后的程序如下:clf;x = 2 4 6 8 10 12 14 16;N = length(x)-1; n = 0:N;y = circshift(x,5);XF = fft(x);YF = fft(y);subplot(2,2,1)st
26、em(n,abs(XF);gridtitle(Magnitude of DFT of Original Sequence);xlabel(Frequency index k); ylabel(|Xk|); subplot(2,2,2)stem(n,abs(YF);gridtitle(Magnitude of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(|Yk|); subplot(2,2,3)stem(n,angle(XF);gridtitle(Phase of DFT of Original Se
27、quence);xlabel(Frequency index k); ylabel(arg(Xk);subplot(2,2,4)stem(n,angle(YF);gridtitle(Phase of DFT of Circularly Shifted Sequence);xlabel(Frequency index k); ylabel(arg(Yk);修改后的程序如下:clf;x = 0 2 4 6 8 10 12;N = length(x)-1; n = 0:N;y = circshift(x,5);XF = fft(x);YF = fft(y);subplot(2,2,1)stem(n,abs(XF);gridtitle(Magnitude of DFT of Original Sequence);xlabel(Frequency index k); ylabel(|Xk|); subplot(2,2,2)stem(n,abs(YF);g
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1