信号与系统实验报告DOC

更新时间:2024-05-07 00:51:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信号与线性系统

实验报告

班 级: 电科122 学 号: 124633224 姓 名: 纳扎尔·库尔曼别克

2015年10月 计算机与信息工程学院

班级 : 电科122班 实验名称:实验一 常见信号的MATLAB表示及运算 指导教师: 张婧婧 姓名 : 纳扎尔·库尔曼别克 学号 : 124633224

一、实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB表示信号的方法并绘制信号波形 3. 掌握使用MATLAB进行信号基本运算的指令 4. 熟悉用MATLAB实现卷积积分的方法 二、实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用f(t)和f(k)来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB表示及其波形绘制方法。 作业题自编程序: 1、已知两信号f1(t)??(t?1)??(t),f2(t)??(t)??(t?1),求卷积积分g(t)?f1(t)?f2(t),并与例题比较。 t1=-1:0.01:0;t2=0:0.01:1; >> t3=-1:0.01:1; >> f1=ones(size(t1)); >> f2=ones(size(t2)); >> g=conv(f1,f2); >> subplot(3,1,1),plot(t1,f1); >> subplot(3,1,2),plot(t2,f2); >> subplot(3,1,3),plot(t3,g); 2. 已知f1(k)??1,1,1,2?,f2(k)??1,2,3,4,5?,求两序列的卷积和 >> a=[1,1,1,2]; >> b=[1,2,3,4,5]; >> g=conv(a,b); >> h=0:1:7; >> stem(g,h,'filled') >> stem(h,g,'filled')

班级 : 电科122班 实验名称:实验二 LTI系统的响应 指导教师: 张婧婧 姓名 : 纳扎尔·库尔曼别克 学号 : 124633224

一、 实验目的 1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法 2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法 3. 熟悉应用MATLAB实现求解系统响应的方法 二、 实验原理 1.连续时间系统 对于连续的LTI系统,当系统输入为f(t),输出为y(t),则输入与输出之间满足如下的线性常系数微分方程:?ayii?0n(i)当系统输入为单位冲激信号δ(t)时产生的零状态响应称(t)??bjf(j)(t),j?0m为系统的单位冲激响应,用h(t)表示。若输入为单位阶跃信号ε(t)时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。 系统的单位冲激响应h(t)包含了系统的固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应。因此,求解系统的冲激响应h(t)对我们进行连续系统的分析具有非常重要的意义。 在MATLAB中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。如果系统输入为f(t),冲激响应为h(t),系统的零状态响应为y(t),则有:y(t)?h(t)?f(t)。 若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。 在MATLAB中,应用lsim( )函数很容易就能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。 作业题自编程序: 1. 已知描述系统的微分方程和激励信号e(t) 分别如下,试用解析方法求系统的单位冲激响应h(t)和零状态响应r(t),并用MATLAB绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同。 y''(t)?4y'(t)?4y(t)?f'(t)?3f(t);f(t)?e?t?(t) >> a=[1 4 4];b=[1 3]; >> subplot(2,1,1), impulse(b,a,4) %冲激响应 >> subplot(2,1,2), step(b,a,4) %阶跃响应 >> a=[1 4 4];b=[1 3]; >> p1=0.01; >> t1=0:p1:5; >> x1=exp(-t1); >> lsim(b,a,x1,t1), >> hold on; >> p2=0.5; >> t2=0:p2:5; >> x2=exp(-t2); >> lsim(b,a,x2,t2), hold off 2. 请用MATLAB分别求出下列差分方程所描述的离散系统,在0~20时间范围内的单位函数响应、阶跃响应和系统零状态响应的数值解,并绘出其波形。另外,请将理论值与MATLAB仿真结果在对应点上的值作比较。 y(k)?2y(k?1)?y(k?2)?f(k);f(k)?14?(k) a=[1,2,1]; b=[1]; impz(b,a,-3:10), title('单位响应') a=[1 2 1];b=[1]; subplot(2,1,1), dstep(b,a,20) %阶跃响应 a=[1,2,1]; b=[1,0,0]; N=20; n=0:N-1; hn=impz(b,a,n); gn=dstep(b,a,n); subplot(2,1,1),stem(n,hn); title('单位冲击响应'); xlabel('n');ylabel('h(n)'); subplot(2,1,2),stem(n,gn); title('单位阶跃响应'); xlabel('n');ylabel('g(n)'); a=[1,2,1];b=[1] k=0:20; %定义输入序列取值范围 x=(1/4).^k; %定义输入序列表达式 y=filter(b,a,x) %求解零状态响应样值 subplot(2,1,1),stem(k,x) %绘制输入序列的波形 title('输入序列') subplot(2,1,2),stem(k,y) %绘制零状态响应的波形 title('输出序列') a=[1 2 1];b=[1]; p1=0.01; %定义取样时间间隔为0.01 t1=0:p1:5; %定义时间范围 x1=exp(-2*t1); %定义输入信号 lsim(b,a,x1,t1), %对取样间隔为0.01时系统响应进行仿真 hold on; %保持图形窗口以便能在同一窗口中绘制多条曲线 p2=0.5; %定义取样间隔为0.5 t2=0:p2:5; %定义时间范围 x2=exp(-2*t2); %定义输入信号 lsim(b,a,x2,t2), hold off %对取样间隔为0.5时系统响应进行仿真并解除保持

班级 : 电科122班 实验名称:实验三 连续时间信号的频域分析 指导教师: 张婧婧 姓名 : 纳扎尔·库尔曼别克 学号 : 124633224

一、 实验目的 1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换 3.了解傅里叶变换的MATLAB实现方法 二、 实验原理 傅里叶变换是信号分析 的最重要的内容之一。从已知信号f(t)求出相应的频谱函数F(j?)的数学表示为: F(j?)?????f(t)e?j?tdt f(t)的傅里叶变换存在的充分条件是f(t)在无限区间内绝对可积,即f(t)满足下式: ????f(t)dt?? 但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。 傅里叶反变换的定义为:f(t)?12?????F(j?)ej?td?。 在这一部分的学习中,大家都体会到了这种数学运算的麻烦。在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。在MATLAB中实现傅里叶变换的方法有两种,一种是利用MATLAB中的Symbolic Math Toolbox提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法。 作业题自编程序: 1.编程实现求下列信号的幅度频谱 求出f1(t)??(2t?1)??(2t?1)的频谱函数F1(jω),请将它与上面门宽为2的门函数f(t)??(t?1)??(t?1)的频谱进行比较,观察两者的特点,说明两者的关系。 syms t w %定义两个符号变量t,w Gt=sym('Heaviside(2*t+1)-Heaviside(2*t-1)'); %产生门宽为2的门函数 Fw=fourier(Gt,t,w); %对门函数作傅氏变换求F(jw) FFw=maple('convert',Fw,'piecewise'); %数据类型转换,转为分段函数,此处可以去掉 FFP=abs(FFw); %求振幅频谱| F(jw)| ezplot(FFP,[-10*pi 10*pi]);grid; %绘制函数图形,并加网格 axis([-10*pi 10*pi 0 2.2]) FFw= -i*exp(i*w)/w+i*exp(-i*w)/w % FFw为复数 FFP= abs(-i*exp(i*w)/w+i*exp(-i*w)/w) 2.利用ifourier( ) 函数求下列频谱函数的傅氏反变换 F(j?)??j2?16??2 syms t w %定义两个符号变量t,w Fw=sym('-j*2*w/(16+w^2)'); %定义频谱函数F(jw) ft=ifourier(Fw,w,t); %对频谱函数F(jw)进行傅氏反变换

班级 : 电科122班 实验名称:实验四 系统的零极点及频率响应特性 指导教师: 张婧婧 姓名 : 纳扎尔·库尔曼别克 学号 : 124633224

一、 实验目的 1.掌握系统函数零极点的定义 2.熟悉零极点与频率响应的关系 3.掌握极点与系统稳定性的关系 4. 状态方程与系统函数的关系 5. 在MATLAB中实现系统函数与状态方程间的转换 二、 实验原理 描述连续系统的系统函数H(s)的一般表示形式为: bmsm?bm?1sm?1??b1s?b0 H(s)?nn?1s?an?1s??a1s?a0其对应的零极点形式的系统函数为: H(s)?bm(s?z1)(s?z2)(s?zm) (s?p1)(s?p2)(s?pn)共有n个极点:p1,p2,…pn和m个零点:z1,z2,…zm。 把零极点画在S平面中得到的图称为零极点图,人们可以通过零极点分布判断系统的特性。当系统的极点处在S的左半平面时系统稳定;处在虚轴上的单阶极点系统稳定;处在S的右半平面的极点及处在虚轴上的高阶极点,系统是不稳定的。 描述系统除了可以用系统函数和零极图以外,还可以用状态方程。对应上述用系统函数H (s) 描述的系统,其状态方程可用相变量状态方程和对角线变量状态方程描述, 作业题自编程序: 1.已知下列系统函数H (s)或状态方程,求其零极点,并画出零极点图。 s2?1H(s)?2 s?2s?5num = [1 0 1]; %分子系数,按降幂顺序排列。 den = [1 2 5]; %分母系数,按降幂顺序排列。 [z,p] = tf2zp(num,den); %求零点z和极点p zplane (z,p) %作出零极点图 2.已知下列系统函数H (s),求其频率特性。 2sH(s)?2 s?2s?1num = [0 2 0]; %分子系数,按降幂顺序排列。 den = [1 sqrt(2) 1]; %分母系数,按降幂顺序排列。 w =logspace (-1,1); %频率范围 freqs(num,den,w) %画出频率响应曲线 3. 已知系统函数H (s),求其频率特性和零极点图。 s4?35s3?291s2?1093s?1700H(s)?9 s?9s8?66s7?294s6?1029s5?2541s4?4684s3?5856s2?4629s?1700num = [1 35 291 1093 1700]; %分子系数,按降幂顺序排列。 den = [1 9 66 294 1029 2541 4684 5856 4629 1700]; %分母系数,按降幂顺序排列。 [z,p] = tf2zp(num,den); %求零点z和极点p zplane (z,p) %作出零极点图 w =logspace (-1,1); %频率范围 freqs(num,den,w) %画出频率响应曲线

班级 : 电科122班 实验名称:实验五 连续信号与系统的S域分析 指导教师: 张婧婧 姓名 : 纳扎尔·库尔曼别克 学号 : 124633224

一、 实验目的 1. 熟悉拉普拉斯变换的原理及性质 2. 熟悉常见信号的拉氏变换 3. 了解正/反拉氏变换的MATLAB实现方法和利用MATLAB绘制三维曲面图的方法 4. 了解信号的零极点分布对信号拉氏变换曲面图的影响及续信号的拉氏变换与傅氏变换的关系 二、 实验原理 拉普拉斯变换是分析连续时间信号的重要手段。对于当t ∞时信号的幅值不衰减的时间信号,即在f(t)不满足绝对可积的条件时,其傅里叶变换可能不存在,但此时可以用拉氏变换法来分析它们。连续时间信号f(t)的单边拉普拉斯变换F(s)的定义为: F(s)??f(t)e?stdt 0?拉氏反变换的定义为: f(t)?2?j???j?1??j?F(s)estds 显然,上式中F(s)是复变量s的复变函数,为了便于理解和分析F(s)随s的变化规律,我们将F(s)写成模及相位的形式:F(s)?F(s)ej?(s)。其中,|F(s)|为复信号F(s)的模,而?(s)为F(s)的相位。由于复变量s=σ+jω,如果以σ为横坐标(实轴),jω为纵坐标(虚轴),这样,复变量s就成为一个复平面,我们称之为s平面。从三维几何空间的角度来看,|F(s)|和?(s)分别对应着复平面上的两个曲面,如果绘出它们的三维曲面图,就可以直观地分析连续信号的拉氏变换F(s)随复变量s的变化情况,在MATLAB语言中有专门对信号进行正反拉氏变换的函数,并且利用 MATLAB的

三维绘图功能很容易画出漂亮的三维曲面图。 作业题自编程序: 1. 求出下列函数的拉氏变换式,并用MATLAB绘制拉氏变换在s平面的三维曲面图 f(t)?2e?t?(t)?5e?3t?(t) Syms t s %定义符号变量 ft=sym('2*(e^(-t))*Heaviside(t)+5*(e^(-3*t))*Heaviside(t)'); %定义时间函数f(t)的表达式 Fs=laplace(ft) %求f(t)的拉氏变换式F(s) syms x y s e=2.718281829 s=x+i*y; %产生复变量s FFs=2/(s+log(e))+5/(s+3*log(e)); %将F(s)表示成复变函数形式 FFss=abs(FFs); %求出F(s)的模 ezmesh(FFss); %画出拉氏变换的网格曲面图 ezsurf(FFss); %画出带阴影效果的三维曲面图 colormap(hsv); 2. 已知信号的拉氏变换如下,请用MATLAB画出其三维曲面图,观察其图形特点,说出函数零极点位置与其对应曲面图的关系,并且求出它们所对应的原时间函数f (t) 2(s?3)(s?3)F(s)?(s?5)(s2?16) syms t s %定义符号变量 Fs =sym('(2*(s-3)*(s+3))/((s-5)*(s^2+16))'); %定义F(s)的表达式 ft=ilaplace(Fs) %求F(s)的拉氏反变换式f(t) ft=400/41*cos(t)^4-400/41*cos(t)^2+500/41*sin(t)*cos(t)^3-250/41*sin(t)*cos(t)+2*exp(5/2*t)*(cosh(5/2*t)-9/41*sinh(5/2*t)) syms t s %定义符号变量 ft=sym('400/41*cos(t)^4-400/41*cos(t)^2+500/41*sin(t)*cos(t)^3-250/41*sin(t)*cos(t)+2*exp(5/2*t)*(cosh(5/2*t)-9/41*sinh(5/2*t))*Heaviside(t)'); %定义时间函数f(t)的表达式 Fs=laplace(ft) Fs=9600/41/s/(s^2+4)/(s^2+16)*(1+1/2*s^2+1/24*s^2*(s^2+4))-800/41/s/(s^2+4)*(1+1/2*s^2)+125/328/(1/16*s^2+1)+125/82/(1/4*s^2+1)-250/41/(s^2+4)+8/25*(s-5/2)/(4/25*(s-5/2)^2-1)-36/205/(4/25*(s-5/2)^2-1) syms x y s s=x+i*y; %产生复变量s FFs=9600/41/s/(s^2+4)/(s^2+16)*(1+1/2*s^2+1/24*s^2*(s^2+4))-800/41/s/(s^2+4)*(1+1/2*s^2)+125/328/(1/16*s^2+1)+125/82/(1/4*s^2+1)-250/41/(s^2+4)+8/25*(s-5/2)/(4/25*(s-5/2)^2-1)-36/205/(4/25*(s-5/2)^2-1); %将F(s)表示成复变函数形式 FFss=abs(FFs); %求出F(s)的模 ezmesh(FFss); %画出拉氏变换的网格曲面图 ezsurf(FFss); %画出带阴影效果的三维曲面图 colormap(hsv); %设置图形中多条曲线的颜色顺序

班级 : 电科122班 实验名称:实验六 离散信号与系统的Z变换分析 指导教师: 张婧婧 姓名 : 纳扎尔·库尔曼别克 学号 : 124633224

一、 实验目的 1.熟悉离散信号Z变换的原理及性质 2.熟悉常见信号的Z变换 3.了解正/反Z变换的MATLAB实现方法 4.了解离散信号的Z变换与其对应的理想抽样信号的傅氏变换和拉氏变换之间的关系 5.了解利用MATLAB实现离散系统的频率特性分析的方法 二、 实验原理 正/反Z变换 Z变换分析法是分析离散时间信号与系统的重要手段。如果以时间间隔Ts对连续时间信号f(t)进行理想抽样,那么,所得的理想抽样信号f?(t)为: f?(t)?f(t)*?Ts(t)?f(t)*??(t?kTs) k????理想抽样信号f?(t)的双边拉普拉斯变换F(s)为: ?????stF?(s)???f(t)*??(t?kTs)?edt??f(kTs)e?ksTs ??k???k??????若令f(kTs)?f(k) ,z?esTs,那么f?(t)的双边拉普拉斯变换F (s)为: F?(s)?k?????f(k)z?k?F(z)z?esTs 则离散信号f(k)的Z变换定义为: F(z)?k?????f(k)z?k 从上面关于Z变换的推导过程中可知,离散信号f(k)的Z变换F(z)与其对应的理想抽样信号f?(t)的拉氏变换F(s)之间存在以下关系:

F?(s)?F(z)z?esTs 同理,可以推出离散信号f(k)的Z变换F(z)和它对应的理想抽样信号f?(t)的傅里叶变换之间的关系为 F?(j?)?F(z)z?ej?Ts 如果已知信号的Z变换F(z),要求出所对应的原离散序列f(k),就需要进行反Z变换,反Z变换的定义为: f(k)?12?jk?1k?1F(z)zdz ?其中,C为包围F(z)z的所有极点的闭合积分路线。 在MATLAB语言中有专门对信号进行正反Z变换的函数ztrans( ) 和itrans( )。 作业题自编程序: 1. 求出下列离散序列的Z变换 kf2(k)?k(k?1)(2)3?(k) syms k z f=k*(k-1)*(2/3)^k; %定义离散信号 Fz=ztrans(f) %对离散信号进行Z变换 Fz =24*z/(3*z-2)^3 f3(k)??(k)??(k?5) syms k s %定义符号变量 f=sym('Heaviside(k)-Heaviside(k-5)'); %定义时间函数f(t)的表达式Fz=ztrans(f) %求f(t)的拉氏变换式F(s) Fz =1+1/z+1/z^2+1/z^3+1/z^4 2.已知下列单边离散序列的z变换表达式,求其对应的原离散序列。 z2?z?1F1(z)?2z?z?2 syms k z Fz=(z^2+z+1)/(z^2+z-2); %定义Z变换表达式 fk=iztrans(Fz,k) %求反Z变换 fk =-1/2*charfcn[0](k)+1+1/2*(-2)^k

3. 已知离散系统的系统函数H (z)如下,请绘出系统的幅频和相频特性曲线,并说明系统的作用 A=[1 7/6 1/3]; B=[4 4]; %[H,w]=freqz(B,A,200); w =logspace (1/10,10); %频率范围 4z?4H(z)?2 (z?1)(z?23)[H,w]=freqz(B,A,200,'whole'); %求出对应 范围内200个频率点的频率响%应样值 HF=abs(H); %求出幅频特性值 HX=angle(H); %求出相频特性值 subplot(2,1,1);plot(w,HF) %画出幅频特性曲线 subplot(2,1,2);plot(w,HX) %画出相频特性曲线

本文来源:https://www.bwwdw.com/article/gn5g.html

Top