1、武汉大学电气工程学院 信号与系统上机实验报告 08级五班 信号与系统 上机实验报告 学院:武汉大学电气工程学院 姓名: 学号: 班级: 目录 实验一 信号的产生和运算 3 一、实验目的 3 二、实验原理 3 三、实验内容 3 实验二 连续时间系统的时域分析 7 一、实验目的 7 二、实验原理 7 1、LTI系统的单位冲激响应和卷积模型 7 2、用线性常系数微分方程描述LTI系统 8 3、卷积的计算 8 三、实验内容 9 实验三 连续时间系统的频谱-傅里叶变换 1
2、3 一、实验目的 13 二、实验原理及方法 13 1、连续时间周期信号的傅里叶级数CTFS分析 13 2、连续时间信号傅里叶变换----CTFT 14 3、傅里叶级数的MATLAB计算 14 4、用MATLAB实现CTFT的计算 15 三、实验内容 15 实验四 连续时间系统的频域分析 18 一、实验目的 18 二、实验原理及方法 18 1. 用MATLAB计算系统频率响应 18 2、信号的抽样及抽样定理 19 三、实验内容 19 实验五 连续时间系统的复频域分析 26 二、实验原理及方法 26 1、连续时间LTI系统的复频域描述 26 2、系统函数的零极
3、点分布图 27 3、拉普拉斯变换与傅里叶变换之间的关系 27 4、系统函数的极点分布与系统的稳定性和因果性之间的关系 27 三、实验内容 27 实验六 离散时间信号与系统 30 一、实验目的 30 二、实验原理 30 1、离散时间信号的产生 30 2、离散时间系统的冲激响应 31 三、实验内容 31 实验七 离散时间系统的时域、Z域分析 34 一、实验目的 34 二、实验原理 34 三、实验内容 36 示例一: 36 示例二: 36 示例三: 38 示例四: 39 示例五: 39 示例六: 41 实验一 信号的产生和运算 一、实验目的 1
4、熟悉和掌握常用的用于信号和系统时域仿真分析的MATLAB函数; 2、掌握连续时间和离散时间信号的MATLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MATLAB编程; 基本要求:掌握用MATLAB描述连续时间信号和离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换和运算,并且以图形的方法再现各种信号的波形。 二、实验原理 MATLAB提供许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期矩形波信号等。这些基本信号时信号处理的基础。 在MATLAB中,无论是连续时间信号还是离散时间信号,MATLAB都是
5、用一个数字数字序列来表示信号,这个数字序列在MATLAB中叫向量(vector)。通常的情况下,需要与时间变量相对应。 如前所述,MATLAB有很多内部数学函数可以用来产生这样的数字序列,例如:sin()、cos()、exp()等函数可以直接产生一个按照正弦、余弦或指数规律变化的数字序列。 三、实验内容 Q1-1:修改程序Program1_1,并以Q1_2为文件名存盘,产生实指数信号x(t)=e-2t。要求在图形中加上网格线,并使用函数axis()控制图形的时间范围在0~2秒之间。然后执行该程序,保存所得程序。 %Program1_1 clear, close all,
6、dt=0.01; t=-2:dt:2; x=exp(-2*t); plot(t,x) title('Sinusoidal signal x(t)') xlabel('Time t(sec)') axis([0,2,0,1]) Q1_2:修改程序program1_1,并以Q1_3为文件名存盘,使之能够仿真从键盘上任意输入的一个连续时间信号,并利用该程序仿真信号x(t)=e-2t。 %Program1_1 clear, close all, dt=0.01; t=-2:dt:2; x=input('Type in signal x(t) in clo
7、sed form:') plot(t,x) title('Sinusoidal signal x(t)') xlabel('Time t(sec)') axis([0,2,0,1]) 当输入exp(-2*t)时,仿真图像如下: Q1_3:将实验原理中所给的单位冲激信号和单位阶跃信号的函数文件在MATLAB文件编辑器中编好,并分别以文件名为delta和u保存在工作文件夹中以便使用。 Delta:function y=delta(t) dt=0.01; y=(u(t)-u(t-dt))/dt; U: %Unit step function function y
8、u(t) y=(t>=0); % y=1 for t>0, else y=0 Q1-4:根据示例程序的编程方法,编写一个MATLAB程序,由给定信号x(t)=e-2tu(t),求信号y(t)=x(1.5t+3),并绘制x(t)和y(t)的图形。 clear, close all, t=0:0.01:10; x=exp(-0.5*t).*u(t); y=exp(-0.5*(1.5*t+3)).*u(1.5*t+3); subplot(211) plot(t,x) grid on, title('Original signal x(t)') subplot(21
9、2) plot(t,y) grid on, title('y(t)') xlabel('Time t(sec)') Q1-5:给定一个离散时间信号x[n]=u[n]-u[n-8],仿照示例程序Program1_5,编写程序Q1_8,产生x[n]的左移序列x1[n]=x[n+6]和右移序列x2[n]=x[n-6],并在同一个图形窗口的三个子图中分别绘制这三个序列的图形。 clear, close all, n=-10:20; x=u(n)-u(n-8); x1=u(n+6)-u((n+6)-8); x2=u(n-6)-u((n-6)-8); subplot(311
10、) stem(n,x) grid on, title('Original signal x(n)') subplot(312) stem(n,x1) grid on, title('Left shifted version of x(n)') subplot(313) stem(n,x2) grid on, title('Right shifted version of x(n)') xlabel('Time index n') Q1_6:做如下总结: 1、信号与系统分析,就是基于信号的分解,在时域中,信号主要分解成: 根据冲激信号的定义,为了方便信号与系统的
11、时域分析,一般常采用将任意连续信号分解为无穷多连续冲激信号之和。 2、比较plot,stem,stairs,ezplot命令的区别。 plot 是以折线方式绘制二维图形的命令; stem 是绘制离散序列图的命令; stairs 是绘制阶梯形曲线图(以折线方式绘图)的命令; ezplot 是绘制符号表达式的二维图形的命令。 实验二 连续时间系统的时域分析 一、实验目的 1、加深对线性时不变系统中零状态响应概念的理解,掌握其求解方法; 2、掌握给定连续系统的冲激响应和阶跃响应; 3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方
12、法、卷积的基本性质; 4、掌握利用MATLAB计算卷积的编程方法,并利用所编写的MATLAB程序验证卷积的常用基本性质; 5、掌握MATLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线; 6、掌握线性时不变连续系统的时域数学模型用MATLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。 二、实验原理 1、LTI系统的单位冲激响应和卷积模型 给定一个连续时间LTI系统,在系统的初始条件为零时,用单位冲激信号作用系统,此时系统的响应信号称为系统的单位冲激响应,一般用h(t)来表示。需要强调的是,系统的单位冲激响应是在激励信号为
13、时的零状态响应。 离散时间LTI系统的单位冲激响应的定义与连续时间LTI系统的单位冲激响应相同,只是离散时间单位冲激函数的定义有所不同。 系统输入信号x(t)、x[n]和输出信号y(t)、y[n]之间的关系可以用一个数学表达式来描述,这个数学表达式为 这个表达式就是LTI系统的卷积模型,它是根据系统的线性和时不变性以及信号可以分解成单位冲激函数经过推理得到的。这个表达式告诉我们一个很重要的结论,那就是:任意LTI系统可以完全由它的单位冲激响应h(t)/h[n]来确定。 2、用线性常系数微分方程描述LTI系统 线性常系数微分方程或差分方程是描述LTI系统的另一个时域模型。一个连
14、续时间LTI系统,它的输入信号x(t)输出信号y(t)关系可以用下面的微分方程来表达 在MATLAB中,一个LTI系统也可以用系统微分方程的系数来描述。例如一个LTI连续时间系统的微分方程为 MATLAB则用两个系统向量num=[1]和den=[1 3 2]来描述该系统,其中num和den分别表示系统微分方程右边和左边的系数,按照微分方程运算的降阶排列。 MATLAB的内部函数impulse(),step(),initial(),lsim()可以用来计算并绘制连续时间LTI系统的单位冲激响应,单位阶跃响应,零输入响应和任意信号作用于系统的零状态响应。这些函数的用法描述如下:
15、 h=impulse(num,den,T ) 和 impulse(num,den,T ) s=step(num,den,T ) 和 step(num,den,T ) y=lsim(num,den,x,t ) 和 lsim(num,den,x,t ) 函数impulse()和step()用来计算由num和den表示的LTI系统的单位冲激响应和单位阶跃响应,响应的时间范围为0~T,其中den和num分别为系统微分方程左右两边的系数向量,T为指定的响应的终点时间。h和s的点数默认值为101点,由此可以计算步长为dt=T/(101-1)。不带返回值的函数
16、如impulse(num,den,T )和step(num,den,T )将直接在屏幕上绘制系统的单位冲激响应和单位阶跃响应曲线。带返回值的函数如lsim(num,den,x,t)和y=lsim(num,den,x,t),用来计算由num和den表示的LTI系统在输入信号x的作用下的零状态响应。其中t为指定的时间变化范围,x为输入信号,他们的长度应该是相同的。 3、卷积的计算 卷积的计算通常可按下面五个步骤进行 1. 该换两个信号波形图中的横坐标,由t改为T,T变成函数的自变量; 2. 把其中一个信号反摺,如把h(t)变成h(-T); 3. 把反摺的信号做移位,移变量是t,这样t是一
17、个参变量。在T坐标系中,t>0时图形右移,t<0时图形左移; 4. 计算两个信号重叠部分的乘积x(T)h(t-T); 5. 完成相乘后图形的积分。 三、实验内容 Q2-1:仿照范例程序Program2_1,编写程序2_1,计算并绘制由如下微分方程表示的系统在输入信号为时的零状态响应曲线。 程序如下: num=[8,0]; den=[1,3,2,0]; t=0:0.1:3; y1=impulse(num,den,t); y2=step(num,den,t); x=(exp(-2*t)-exp(-3*t)).*u(t); y3=lsim(num,den,x,t);
18、 subplot(2,2,1);plot(t,y1);title('脉冲响应:') subplot(2,2,2);plot(t,y2);title('阶跃响应:') subplot(2,2,3);plot(t,y3);title('输入响应为x=(exp(-2*t)-exp(-3*t)).*u(t)的响应:') 响应曲线如下: Q2-2:仿照program2_2,给定下面两个连续信号,求两连续信号的卷积。 程序代码如下: clear;close all; t0=-2; t1=8; dt=0.01; t=t0:dt:t1; f1=2.*[u(t)-u(t-
19、4)]; f2=u(t)-u(t-2); y=dt*conv(f1,f2); subplot(221) plot(t,f1),grid on,title('Signal f1(t)'),axis([t0,t1,-0.2,2.2]) subplot(222) plot(t,f2),grid on,title('Signal f2(t)'),axis([t0,t1,-0.2,1.2]) subplot(212) t=2*t0:dt:2*t1; plot(t,y),grid on,title('The convolution of f1(t) and f2(t)'), axis(
20、[t0,t1,-0.2,5]), xlabel('Time t(sce)') 卷积计算结果如下: Q2-3:编写程序Q2_4,使之能够接受以键盘方式输入的 定义在不同时间段的两个不同连续时间信号并完成卷积运算,分别绘制两个信号及其卷积的结果的图形,图形按照2×2分割成四个子图。 程序代码如下: clear;close all; a=-2; b=8; c=-3; d=5; dt=0.01; t1=a:dt:b; t2=c:dt:d; f1=input('Type in signal f1(t) in closed form:') f2=input('Type in
21、 signal f2(t) in closed form:') y=dt*conv(f1,f2); subplot(221) plot(t1,f1),grid on,title('Signal f1(t)'),axis([a,b,-0.2,1.2]) subplot(222) plot(t2,f2),grid on,title('Signal f2(t)'),axis([c,d,-0.2,1.2]) subplot(212) t=(a+c):dt:(b+d); plot(t,y),grid on,title('The convolution of f1(t) and f2(t
22、)'), axis([a+c,b+d,-0.2,9]), xlabel('Time t(sce)') 其中 卷积计算结果图形如下: Q2-4: 做如下总结: 1、写出卷积的运算步骤,并谈谈你对卷积的一些基本性质的理解。利用MATLAB计算卷积的函数是什么?如何使用? 卷积的计算通常可按下面五个步骤进行 (1) 该换两个信号波形图中的横坐标,由t改为T,T变成函数的自变量; (2)把其中一个信号反摺,如把h(t)变成h(-T); (3) 把反摺的信号做移位,移变量是t,这样t是一个参变量。在T坐标系中,t>0时图形右移,t<0时图形左移; (4) 计算两个信号重
23、叠部分的乘积x(T)h(t-T); (5) 完成相乘后图形的积分。 利用MATLAB计算卷积的函数是conv(),其语法为:y=conv(x,h)。其中x和h分别是两个作卷积运算的信号,y为卷积结果。conv(x,h)函数实际上是完成两个多项式的乘法运算。这两个多项式在MATLAB中是用它们的系数构成行向量来表示的。 2、在时域中,描述一个连续时间LTI系统的数学模型有: 3、MATLAB是如何表示一个由微分方程描述连续时间LTI系统的?求解连续时间LTI系统的单位冲激响应、单位阶跃响应以及在某一个输入信号作用下的零状态响应的MATLAB函数有哪些? 在MATL
24、AB中表示一个由微分方程描述连续时间LTI系统的是: (其中a、b、c、d是微分方程的系数) 单位冲激响应函数:impulse(num,den,T ) 单位阶跃响应函数:step(num,den,T ) 在某一个输入信号作用下的零状态响应函数:lsim(num,den,x,t ) 其中den和num分别为系统微分方程左右两边的系数向量,T为指定的响应的终点时间,t为指定的时间变化范围,x为输入信号。 实验三 连续时间系统的频谱-傅里叶变换 一、实验目的 1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法; 2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特
25、点以及产生的原因; 3、掌握连续时间傅里叶变换的分析方法及其物理意义; 4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质; 5、学习掌握利用MATLAB语言编写计算CTFS、CTFT和DTFT仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT、DTFT的若干重要性质。 基本要求:掌握并深刻理解傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB编程完成相关的傅里叶变换的计算。 二、实验原理及方法 1、连续时间周期信号的傅里叶级数CTFS分析 任何一个周期为T1的正弦周期信号,只要满足狄利克利条件,就可以展开傅里叶级数。其
26、中三角傅里叶级数为: 或: 其中,称为信号的基本频率,,和分别是信号的直流分量、余弦分量幅度和正弦分量幅度,、为合并同频率项之后各正弦谐波分量的幅度和初相位,它们都是频率的函数,绘制出它们与之间的图像,称为信号的频谱图。 指数形式的傅里叶级数为: 其中,为指数形式的傅里叶级数的系数,按如下公式计算: 指数形式的傅里叶级数告诉我们,如果一个周期信号,满足狄里克利条件,那么它就可以被看做是由很多不同频率的互为谐波关系的周期复指数信号所组成,其中每一个不同频率的周期复指数信号称为基本频率分量,其复幅度为。这里“复幅度”指的是通常是复数。 2、连续时间信号
27、傅里叶变换----CTFT 傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。傅里叶变换和其逆变换定义如下: 连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。任意非周期信号,如果满足狄里克利条件,那么,它可以被看做是由无穷多个不同频率的周期复指数信号的线性组合构成的,每个频率所对应的周期复指数信号称为频率分量,其相对幅度对应频率的之值,其相位为对应频率的的相位。 3、傅里叶级数的MATLAB计算 设周期信号的基本周期为,且满足狄里克利条件,则其傅里叶级数的系数可由下式得到: 基本频率为: 对周期信号进行分析时,我们往往只需要对其在一个周
28、期内进行分析即可,通常选择主周期。 4、用MATLAB实现CTFT的计算 MATLAB进行傅里叶变换有两种方法,一种利用符号运算的方法计算,另一种是数值就按,本实验要求采用数值计算的方法来进行傅里叶变换的计算。严格说用数值计算的方法计算连续时间信号的傅里叶变换需要有个限定条件,即信号是时限信号,也就是当时间| t |大于某个给定时间时其值衰减为零或接近为零,这个条件与前面提到的为什么不能用无限多个谐波分量来合成周期信号的道理是一样的,计算机只能处理有限大小和有限数量的数。 采用数值计算算法的理论依据是: 若信号为时限信号,当时间间隔T取得足够小时,上式可以演变为: 上式用M
29、ATLAB表示为: X=x*exp(j*t’*w)*T 其中X为信号的傅里叶变换,W为频率,T为时间步长。 三、实验内容 Q3-1 给程序Program3_1增加适当的语句,并以Q2_2存盘,使之能够计算例题3-1中的周期方波信号的傅里叶级数的系数,并绘制信号的幅度谱和相位谱线图。 clear,close all; T=2; dt=0.00001; t=-2:dt:2; x1=u(t)-u(t-1-dt); x=0; for m=-1:1; % Periodically extend x1(t)to form a periodic signal
30、 x=x+u(t-m*T)-u(t-1-m*T-dt); end w0=2*pi/T; N=10; L=2*N+1; for k=-N:N; % Evaluate the Fourier series coefficients ak ak(N+1+k)=(1/T)*x1*exp(-j*k*w0*t')*dt; end phi=angle(ak); % Evaluate the phase of ak k=-N:N; subplot(221) stem(k,abs(ak),'k.') grid on, axis([-N,N,-0.1,0.8])
31、 title('傅里叶级数幅度谱') xlabel('频率指数k') subplot(222) stem(k,phi) grid on, title('傅里叶级数相位谱') xlabel('频率指数k') Q3-2 分别手工计算的傅里叶级数的系数。 t 1 2 1 -2 -1 1. 写出信号在其主周期内的数学表达式;用MATLAB手工计算的傅里叶级数的系数(系数ak从-10到10共21个系数),写出过程并保存结果。 2. 仿照program3_1,编写程序,以计算的傅里叶级数的
32、系数。 手工计算: >> k=-10:10; >> ak=0.5.*((sin((k+eps)*pi/2)./((k+eps)*pi/2)).^2) ak = Columns 1 through 10 0.0000 0.0025 0.0000 0.0041 0.0000 0.0081 0.0000 0.0225 0.0000 0.2026 Columns 11 through 20 0.5000 0.2026 0.0000 0.0225 0.0000
33、 0.0081 0.0000 0.0041 0.0000 0.0025 Column 21 0.0000 程序计算: clear, close all, T=2; dt=0.00001; t=-1:dt:1; x1=-abs(t)+1; x=0; for m=-1:1 x=x+(-abs(t-m*T)); end w0=2*pi/T; N=10; L=2*N+1; for k=-N:N ak(N+1+k)=(1/T)*x1*exp(-j*k*w0*t')*dt; end phi=angle(ak)
34、 结果: ak = Columns 1 through 6 -0.0000 + 0.0000i 0.0025 + 0.0000i 0.0000 + 0.0000i 0.0041 - 0.0000i -0.0000 - 0.0000i 0.0081 + 0.0000i Columns 7 through 12 -0.0000 - 0.0000i 0.0225 - 0.0000i -0.0000 + 0.0000i 0.2026 + 0.0000i 0.5000 0.2026 - 0.00
35、00i Columns 13 through 18 -0.0000 - 0.0000i 0.0225 + 0.0000i -0.0000 + 0.0000i 0.0081 - 0.0000i -0.0000 + 0.0000i 0.0041 + 0.0000i Columns 19 through 21 0.0000 - 0.0000i 0.0025 - 0.0000i -0.0000 - 0.0000i 手工计算和程序计算结果相同。 实验四 连续时间系统的频域分析 一、实验目的 1、掌握系统频率响应特性
36、的概念及其物理意义; 2、掌握系统频率响应特性的计算方法和特性曲线的绘制方法; 3、学习和掌握幅度特性、相位特性的物理意义; 4、掌握用MATLAB语言进行系统频率响应特性分析的方法; 5、进一步理解信号的抽样及抽样定理; 基本要求:掌握LTI连续和离散时间系统的频域数学模型和频域数学模型的MATLAB描述方法,深刻理解LTI系统的频率响应特性的物理意义,理解滤波和滤波器的概念,掌握利用MATLAB计算和绘制LTI系统频率响应特性曲线中的编程。 二、实验原理及方法 1. 用MATLAB计算系统频率响应 在本实验中,表示系统的方法仍然是用系统函数分子和分母多项式系数行向量来表示。
37、试验中用到的MATLAB函数如下: [H,w]=freqs(b,a):b,a分别为连续时间LTI系统的微分方程右边和左边的系数向量,返回的频率响应在各频率点的样点值(复数)存放在H中,系统默认的样点数目为200点; Hm=abs(H):求模数,即进行运算,求得系统的幅度频率响应,返回值存于Hm之中。 real(H):求H的实部;imag(H):求H的虚部; phi=atan(-imag(H)./(real(H)+eps)):求相位频率响应特性,atan()用来计算反正切值;或者 phi=angle(H):求相位频率响应特性; tao=grpdlay(num,den,w):计算系统的
38、相位频率响应所对应的群延时; 计算频率响应的函数fregs()的另一种形式是: H=freg(b,a,w):在指定的频率范围内计算系统的频率响应特性。在使用这种形式的fregs/freqz函数时,要在前面先指定频率变量w的范围。 2、信号的抽样及抽样定理 根据傅里叶变换的频率卷积定理,时域两个信号相乘,对应的积的傅里叶变换等于这两个信号的傅里叶变换之间的卷积。所以,已知抽样信号的傅里叶变换为: 实际抽样过程,很容易用简单的数学公式来描述。设连续时间信号用表示,抽样周期为,抽样频率为,则已抽样信号的数学表达式为: 三、实验内容 Q4-1:给范例程序关键语句加注释(中文)
39、略) Q4-2:运行示例程序并保存结果。 % Program 4-2 clear, close all, t=0:0.01:10; Ts=1/4; n=0:Ts:10; x=cos(0.5*pi*t); xn=cos(0.5*pi*n); subplot(221) plot(t,x), title('A continuous-time signal x(t)'), xlabel('Time t') subplot(222) stem(n,xn,'.'),title('The sampled version x[n] of x(t)'), xlabel('
40、Time index n') 执行程序后,波形图如下: 0 5 10 -1 -0.5 0 0.5 1 A continuous-time signal x(t) Time t 0 5 10 -1 -0.5 0 0.5 1 The sampled version x[n] of x(t) Time index n % Program 4-1 b=[1]; a=[1 3 2]; [H,w]=freqs(b,a); Hm=abs(H); phai=angle(H); Hr=real(H); Hi=imag(H); subplot
41、221) plot(w,Hm), grid on, title('Magnitude response'), xlabel('Frequency in rad/sec') subplot(223) plot(w,phai), grid on, title('Phase response'), xlabel('Frequency in rad/sec') subplot(222) plot(w,Hr), grid on, title('Real part of frequency response'), xlabel('Frequency in rad/sec') su
42、bplot(224) plot(w,Hi), grid on, title('Imaginary part of frequency response'), xlabel('Frequency in rad/sec') 执行程序后,波形图如下: % Program4-3 clear, close all, tmax=4; dt=0.01; t=0:dt:tmax; Ts=1/10; ws=2*pi/Ts; w0=20*pi; dw=0.1; w=-w0:dw:w0; n=0:1:tmax/Ts; x=exp(-4*t).*u(t); xn=exp(-4
43、n*Ts); subplot(221) plot(t,x), title('A continuous-time signal x(t)'), xlabel('Time t'), axis([0,tmax,0,1]), grid on subplot(223) stem(n,xn,'.'),title('The sampled version x[n] of x(t)'), xlabel('Time index n'), axis([0,tmax/Ts,0,1]), grid on Xa=x*exp(-j*t'*w)*dt; X=0; for k=-8:8; X=X
44、x*exp(-j*t'*(w-k*ws))*dt; end subplot(222) plot(w,abs(Xa)) title('Magnitude spectrum of x(t)'), grid on, xlabel('Time t'), axis([-60,60,0,1.8*max(abs(Xa))]) subplot(224) plot(w,abs(X)) title('Magnitude spectrum of x[n]'),grid on, xlabel('Frequency in radians/s'), axis([-60,60,0,1.8*max(
45、abs(Xa))]) 执行程序后,波形图如下: L1 R1 2 C1 100mF 800mH Q4-3:已知RLC二阶低通滤波器如图所示,其中L=0.8H,C=0.1F,R=2。试用MATLAB绘制出该频率响应。 程序如下: b=[1]; a=[0.08 0.4 1]; [H,w]=freqs(b,a); Hm=abs(H); phai=angle(H); Hr=real(H); Hi=imag(H); subplot(221) plot(w,Hm), grid on, title('Magnitude response'), x
46、label('Frequency in rad/sec') subplot(223) plot(w,phai), grid on, title('Phase response'), xlabel('Frequency in rad/sec') subplot(222) plot(w,Hr), grid on, title('Real part of frequency response'), xlabel('Frequency in rad/sec') subplot(224) plot(w,Hi), grid on, title('Imaginary part of fr
47、equency response'), xlabel('Frequency in rad/sec') 执行程序后,波形图如下: Q4-4:在1/2—1/10之间选择若干个不同Ts值,反复执行范例程序Program4_3,保存执行程序所得到的图形。 TS=1/2: TS=1/4: Ts=1/6: TS=1/8: 实验五 连续时间系统的复频域分析 一、实验目的 1、掌握拉普拉斯变换的物理意义、基本性质及应用; 2、掌握用拉普拉斯变换求解连续时间LTI系统的时域响应; 3、掌握系统函数的概念,掌握系统函数的零、极点分布与系统的稳定
48、性、时域特性等之间的互相关系; 4、掌握用MATLAB对系统进行变换域分析的常用函数及编程方法; 基本要求:掌握拉普拉斯变换及其基本性质,掌握应用拉普拉斯变换求解系统的微分方程,能够自己编写程序完成对系统时域响应的求解。掌握并理解系统函数的概念,掌握系统函数零极点与系统时域和频域特性之间的关系,能够编写程序完成对系统的一些主要特性如稳定性、因果性等的分析。 二、实验原理及方法 1、连续时间LTI系统的复频域描述 拉普拉斯变换主要用于系统分析。描述系统分析。描述系统的另一种数学模型就是建立在拉普拉斯变换基础上的“系统函数”——H(s): 系统函数H(s)的实质就是单位冲激响应h(
49、t)的拉普拉斯变换。因此,系统函数也可以定义为: 所以,系统函数的一些特点是和系统的时域响应的特点对应的。在教材中,我们求解系统函数的方法,常用的是根据描述系统的线性系数微分方程,经过拉氏变换之后得到系统函数。 假设描述一个连续时间LTI系统的线性常系数微分方程为: 对上式两边做拉普拉斯变换,则有: 2、系统函数的零极点分布图 系统函数的零极点分布图能够直观地表示零点和极点在s平面上的位置,从而比较容易分析系统函数的收敛域和稳定性。 对于一个连续时间LTI系统,它的全部特性包括稳定性、因果性和它具有何种滤波特性等完全由它的零极点在s平面上的位置所决定。 3、拉普拉斯变
50、换与傅里叶变换之间的关系 根据课本知识可知,拉普拉斯变换与傅里叶变换之间的关系可表述为:傅里叶变换是信号在虚轴上的拉普拉斯变换,也可以用下面的数学表达式表示: 上式表明,给定一个信号,如果它的拉普拉斯变换存在的话,它的傅里叶变换不一定存在,只有当它的拉普拉斯变换的收敛域包括了整个虚轴,则表明傅里叶变换时存在的。 4、系统函数的极点分布与系统的稳定性和因果性之间的关系 一个稳定的LTI系统,它的单位冲激响应满足绝对可积条件,即 同时,我们还应该记得一个信号的傅里叶变换的存在条件就是这个信号满足绝对可积条件,所以,如果系统是稳定的话,那么,该系统的频率响应也必然是存在的。又根据傅






