数字信号处理上机实验(丁玉美,高西泉版)1
- 格式:doc
- 大小:844.50 KB
- 文档页数:35
《数字信号处理》第三版,高西全、丁玉美,实验程序清单:实验0实验内容:1、实验用Matlab工具箱函数简介熟悉以下函数的功能、格式(1)abs (2)angle (3)conv (4)filter(5)freqz (6)impz (7)fft (8)ifft(9)plot (10)stem (11)subplot (12)figure2、常用序列的产生及其频谱分析(1)单位脉冲序列及其频谱n=0:50; %定义序列的长度是50x=[1,zeros(1,50)]; %注意:MATLAB中数组下标从1开始%x(1)=1;close all;subplot(3,1,1);stem(x);title('单位冲击信号序列');k=-25:25;X=x*(exp(-j*pi/25)).^(n'*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title('单位冲击信号的幅度谱'); angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title ('单位冲击信号的相位谱')(2)矩形序列及其频谱n=1:50x=sign(sign(10-n)+1);close all;subplot(3,1,1);stem(x);title(…矩形序列‟);k=-25:25;X=x*(exp(-j*pi/25)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…矩形序列的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱sub plot(3,1,3);stem(angX) ; title (…矩形序列的相位谱‟)(3)特定冲击串及其频谱(n)= δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)%h2n=1:50; %定义序列的长度是50x=zeros(1,50); %注意:MATLAB中数组下标从1开始x(1)=1;x(2)=2.5;x(3)=2.5;x(4)=1;close all;subplot(3,1,1);stem(x);title(…特定冲击串‟);k=-25:25;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…特定冲击串的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…特定冲击串的相位谱‟)(4)采样信号序列及其频谱%x(n)=Ae-anT sin(w0nT)u(nT) (0<=n<=50);%A=444.128;a=50*sqrt(2.0)*pi; fs=1kHz(T=0.001);w0=50*sqrt(2.0)*pi n=0:50; %定义序列的长度是50A=444.128; %设置信号有关的参数a=50*sqrt(2.0)*pi;T=0.001; %采样率,fs=1kHzw0=50*sqrt(2.0)*pi;x=A*exp(-a*n*T).*sin(w0*n*T); %pi是MATLAB定义的π,信号乘可采用“.*”close all %清除已经绘制的x(n)图形subplot(3,1,1);stem(x); %绘制x(n)的图形title(…理想采样信号序列‟);k=-25:25;W=(pi/12.5)*k;X=x*(exp(-j*pi/12.5)).^(n‟*k);magX=abs(X); %绘制x(n)的幅度谱subplot(3,1,2);stem(magX);title(…理想采样信号序列的幅度谱‟);angX=angle(X); %绘制x(n)的相位谱subplot(3,1,3);stem(angX) ; title (…理想采样信号序列的相位谱‟)单位冲击信号的相位谱矩形序列的相位谱特定冲击串特定冲击串的幅度谱特定冲击串的相位谱0102030405060理想采样信号序列理想采样信号序列的相位谱实验一 系统响应及系统稳定性%====内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性==== close all;clear allA=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和Ax1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n)x2n=ones(1,128); %产生信号x2(n)=u(n)hn=impz(B,A,58); %求系统单位脉冲响应h(n)subplot(3,1,1);stem(hn);title('(a) 系统单位脉冲响应h(n)');y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n)subplot(3,1,2);stem(y1n);title('(b) 系统对R8(n)的响应y1(n)');y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n)subplot(3,1,3);%y='y2(n)';stem(y2n);title('(c) 系统对u(n)的响应y2(n)');box on%===内容2:调用conv函数计算卷积=====x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n)h1n=[ones(1,10) zeros(1,10)];h2n=[1 2.5 2.5 1 zeros(1,10)];y21n=conv(h1n,x1n);y22n=conv(h2n,x1n);figure(2)subplot(2,2,1);stem(h1n); %调用函数stem绘图title('(d) 系统单位脉冲响应h1(n)');box onsubplot(2,2,2);stem(y21n);title('(e) h1(n)与R8(n)的卷积y21(n)');box onsubplot(2,2,3);stem(h2n);title('(f) 系统单位脉冲响应h2(n)');subplot(2,2,4);stem(y22n);title('(g) h2(n)与R8(n)的卷积y22(n)');%====内容3:谐振器分析=======un=ones(1,256); %产生信号u(n)n=0:255;xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n)y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n)figure(3)subplot(2,1,1);stem(y31n);title('(h) 谐振器对u(n)的响应y31(n)'); subplot(2,1,2);stem(y32n);title('(i) 谐振器对正弦信号的响应y32(n)');(a) 系统单位脉冲响应h(n)(b) 系统对R8(n)的响应y1(n)(f) 系统单位脉冲响应h2(n)(g) h2(n)与R8(n)的卷积y22(n)(h) 谐振器对u(n)的响应y31(n)(i) 谐振器对正弦信号的响应y32(n)实验二时域采样与频域采样1时域采样理论的验证程序清单% 时域采样理论验证程序exp2a.mTp=64/1000; %观察时间Tp=64微秒%产生M长采样序列x(n)% Fs=1000;T=1/Fs;Fs=1000;T=1/Fs;M=Tp*Fs;n=0:M-1;A=444.128;alph=pi*50*2^0.5;omega=pi*50*2^0.5;xnt=A*exp(-alph*n*T).*sin(omega*n*T);Xk= fft(xnt,M); %M点FFT[xnt)]yn='xa(nT)';subplot(3,2,1);stem(xnt);title('(a) Fs=1000Hz');k=0:M-1;fk=k/Tp;subplot(3,2,2);plot(fk,abs(Xk));title('(b) FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))])%================================% Fs=300Hz和Fs=200Hz的程序与上面Fs=1000Hz完全相同。
第十章上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。
实验一 系统响应及系统稳定性。
实验二 时域采样与频域采样。
实验三 用FFT 对信号作频谱分析。
实验四 IIR 数字滤波器设计及软件实现。
实验五 FIR 数字滤波器设计与软件实现实验六 应用实验——数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。
建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。
学习完第六章进行;实验五在学习完第七章后进行。
实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。
10.1 实验一: 系统响应及系统稳定性1.实验目的(1)掌握 求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。
也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件。
实验一:系统响应及系统稳定性一、实验原理与方法1、在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。
2、检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。
(a)25个点数和程序所写一致。
Filter函数实现线性常系数差分方程的递推求解。
调用格式如下:Y=[filter(B,A,x)] 计算系统对输入信号x的零状态响应输出信号向量Y,B,A是差分方程的系数向量。
即B=[a1,a2……am] A=[b1,b2……bn](d)(f)单位脉冲响应点数与程序要求一致(e)(g)卷积点数满足M+N-1的要求,图形也满足要求。
Conv函数用于计算两个有限长序列的卷积分析:(h)中由:在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的输出显然趋近于零,所以是稳定的(i)中谐振器具有对某个频率进行谐振的性质,本实验中的谐振器的谐振频率是0.4 rad,因此稳定波形为sin(0.4n)。
三、思考题简要分析(1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求?答:如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可用分段线性卷积法求系统的响应(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面第一个实验结果进行分析说明。
答:如果信号经过低通滤波器,则信号的高频分量被滤掉,时域信号的变化减缓,在有阶跃处附近产生过渡带。
因此,当输入矩形序列时,输出序列的开始和终了都产生了明显的过渡带,见第一个实验结果的波形。
四、总结心里总结:起初没有看书,什么都不懂,做实验的时候也是什么都不懂,混时间,非常的痛苦。
说要认真的写实验报告,也是笑话,还要分析,更是痛苦。
西安电子(高西全丁美玉第三版)数字信号处理课后答案1.2 教材第一章习题解答1. 用单位脉冲序列()n δ及其加权和表示题1图所示的序列。
解:()(4)2(2)(1)2()(1)2(2)4(3)0.5(4)2(6)x n n n n n n n n n n δδδδδδδδδ=+++-+++-+-+-+-+-2. 给定信号:25,41()6,040,n n x n n +-≤≤-⎧⎪=≤≤⎨⎪⎩其它(1)画出()x n 序列的波形,标上各序列的值; (2)试用延迟单位脉冲序列及其加权和表示()x n 序列; (3)令1()2(2)x n x n =-,试画出1()x n 波形; (4)令2()2(2)x n x n =+,试画出2()x n 波形; (5)令3()2(2)x n x n =-,试画出3()x n 波形。
解:(1)x(n)的波形如题2解图(一)所示。
(2)()3(4)(3)(2)3(1)6()6(1)6(2)6(3)6(4)x n n n n n n n n n n δδδδδδδδδ=-+-+++++++-+-+-+-(3)1()x n 的波形是x(n)的波形右移2位,在乘以2,画出图形如题2解图(二)所示。
(4)2()x n 的波形是x(n)的波形左移2位,在乘以2,画出图形如题2解图(三)所示。
(5)画3()x n 时,先画x(-n)的波形,然后再右移2位,3()x n 波形如题2解图(四)所示。
3. 判断下面的序列是否是周期的,若是周期的,确定其周期。
(1)3()cos()78x n A n ππ=-,A 是常数; (2)1()8()j n x n eπ-=。
解:(1)3214,73w w ππ==,这是有理数,因此是周期序列,周期是T=14; (2)12,168w wππ==,这是无理数,因此是非周期序列。
5. 设系统分别用下面的差分方程描述,()x n 与()y n 分别表示系统输入和输出,判断系统是否是线性非时变的。
第十章 上机实验数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。
上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。
本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。
实验一 系统响应及系统稳定性。
实验二 时域采样与频域采样。
实验三 用FFT 对信号作频谱分析。
实验四 IIR 数字滤波器设计及软件实现。
实验五 FIR 数字滤波器设计与软件实现实验六 应用实验——数字信号处理在双音多频拨号系统中的应用任课教师根据教学进度,安排学生上机进行实验。
建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。
学习完第六章进行;实验五在学习完第七章后进行。
实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。
10.1 实验一: 系统响应及系统稳定性1.实验目的(1)掌握 求系统响应的方法。
(2)掌握时域离散系统的时域特性。
(3)分析、观察及检验系统的稳定性。
2.实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。
已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。
在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。
也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。
重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。
系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。
或者系统的单位脉冲响应满足绝对可和的条件。
系统的稳定性由其差分方程的系数决定。
实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。
可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。
系统的稳态输出是指当∞→n 时,系统的输出。
如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。
注意在以下实验中均假设系统的初始状态为零。
3.实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。
程序中要有绘制信号波形的功能。
(2)给定一个低通滤波器的差分方程为)1(9.0)1(05.0)(05.0)(-+-+=n y n x n x n y输入信号 )()(81n R n x = )()(2n u n x =a) 分别求出系统对)()(81n R n x =和)()(2n u n x =的响应序列,并画出其波形。
b) 求出系统的单位冲响应,画出其波形。
(3)给定系统的单位脉冲响应为 )()(101n R n h =)3()2(5.2)1(5.2)()(2-+-+-+=n n n n n h δδδδ用线性卷积法分别求系统h 1(n)和h 2(n)对)()(81n R n x =的输出响应,并画出波形。
(4)给定一谐振器的差分方程为)2()()2(9801.0)1(8237.1)(00--+---=n x b n x b n y n y n y 令 49.100/10=b ,谐振器的谐振频率为0.4rad 。
a) 用实验方法检查系统是否稳定。
输入信号为)(n u 时,画出系统输出波形。
b) 给定输入信号为)4.0sin()014.0sin()(n n n x +=求出系统的输出响应,并画出其波形。
4.思考题(1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求?(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面 第一个实验结果进行分析说明。
5.实验报告要求(1)简述在时域求系统响应的方法。
(2)简述通过实验判断系统稳定性的方法。
分析上面第三个实验的稳定输出的波形。
(3)对各实验所得结果进行简单分析和解释。
(4)简要回答思考题。
(5)打印程序清单和要求的各信号波形。
10.1.2 实验程序清单%实验1:系统响应及系统稳定性 close all;clear all%======内容1:调用filter 解差分方程,由系统对u(n)的响应判断稳定性====== A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B 和A x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号x1(n)=R8(n) x2n=ones(1,128); %产生信号x2(n)=u(n)hn=impz(B,A,58); %求系统单位脉冲响应h(n)subplot(2,2,1);y='h(n)';tstem(hn,y); %调用函数tstem 绘图 title('(a) 系统单位脉冲响应h(n)');box ony1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(2,2,2);y='y1(n)';tstem(y1n,y);title('(b) 系统对R8(n)的响应y1(n)');box ony2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(2,2,4);y='y2(n)';tstem(y2n,y);title('(c) 系统对u(n)的响应y2(n)');box on%===内容2:调用conv 函数计算卷积============================ x1n=[1 1 1 1 1 1 1 1 ]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n); y22n=conv(h2n,x1n); figure(2)subplot(2,2,1);y='h1(n)';tstem(h1n,y); %调用函数tstem 绘图 title('(d) 系统单位脉冲响应h1(n)');box on subplot(2,2,2);y='y21(n)';tstem(y21n,y);title('(e) h1(n)与R8(n)的卷积y21(n)');box onsubplot(2,2,3);y='h2(n)';tstem(h2n,y); %调用函数tstem 绘图 title('(f) 系统单位脉冲响应h2(n)');box on subplot(2,2,4);y='y22(n)';tstem(y22n,y);title('(g) h2(n)与R8(n)的卷积y22(n)');box on%=========内容3:谐振器分析======================== un=ones(1,256); %产生信号u(n) n=0:255;xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量B 和A y31n=filter(B,A,un); %谐振器对u(n)的响应y31(n) y32n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n) figure(3)subplot(2,1,1);y='y31(n)';tstem(y31n,y);title('(h) 谐振器对u(n)的响应y31(n)');box on subplot(2,1,2);y='y32(n)';tstem(y32n,y);title('(i) 谐振器对正弦信号的响应y32(n)');box on10.1.3 实验程序运行结果及分析讨论程序运行结果如图10.1.1所示。
实验内容(2)系统的单位冲响应、系统对)()(81n R n x =和)()(2n u n x =的响应序列分别如图(a)、(b)和(c)所示;实验内容(3)系统h 1(n)和h 2(n)对)()(81n R n x =的输出响应分别如图(e)和(g)所示;实验内容(4)系统对)(n u 和)4.0sin()014.0sin()(n n n x +=的响应序列分别如图(h)和(i)所示。
由图(h)可见,系统对)(n u 的响应逐渐衰减到零,所以系统稳定。
由图(i)可见,系统对)4.0sin()014.0sin()(n n n x +=的稳态响应近似为正弦序列sin(0.4)n ,这一结论验证了该系统的谐振频率是0.4 rad 。
2040nh (n )(a) 系统单位脉冲响应h(n)02040ny 1(n )(b) 系统对R8(n)的响应y1(n)ny 2(n )(c) 系统对u(n)的响应y2(n)nh 1(n )(d) 系统单位脉冲响应h1(n)ny 21(n )(e) h1(n)与R8(n)的卷积y21(n)nh 2(n )(f) 系统单位脉冲响应h2(n)ny 22(n )(g) h2(n)与R8(n)的卷积y22(n)ny 31(n )(h) 谐振器对u(n)的响应y31(n)ny 32(n )(i) 谐振器对正弦信号的响应y32(n)图10.1.110.1.4 简答思考题(1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应。
①对输入信号序列分段;②求单位脉冲响应h(n)与各段的卷积;③将各段卷积结果相加。
具体实现方法有第三章介绍的重叠相加法和重叠保留法。
(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号的剧烈变化将被平滑,由实验内容(1)结果图10.1.1(a)、(b)和(c)可见,经过系统低通滤波使输入信号()n δ、)()(81n R n x =和)()(2n u n x =的阶跃变化变得缓慢上升与下降。