实验六 信号与系统复频域分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六 信号与系统复频域分析

一、实验目的

1.学会用MATLAB 进行部分分式展开;

2.学会用MATLAB 分析LTI 系统的特性;

3.学会用MATLAB 进行Laplace 正、反变换。

4.学会用MATLAB 画离散系统零极点图;

5.学会用MATLAB 分析离散系统的频率特性;

二、实验原理及内容

1.用MATLAB 进行部分分式展开

用MATLAB 函数residue 可以得到复杂有理分式F(s)的部分分式展开式,其调用格式为

[],,(,)r p k residue num den =

其中,num,den 分别为F(s)的分子和分母多项式的系数向量,r 为部分分式的系数,p 为极点,k 为F(s)中整式部分的系数,若F(s)为有理真分式,则k 为零。

例6-1 用部分分式展开法求F(s)的反变换 322

()43s F s s s s

+=

++

解:其MATLAB 程序为

format rat; num=[1,2]; den=[1,4,3,0]; [r,p]=residue(num,den)

程序中format rat 是将结果数据以分数形式显示 F(s)可展开为

2

1

0.536()13

F s s s s --=++++

所以,F(s)的反变换为

321

1()()

32

6t t f t e e u t --⎡⎤=--⎢⎥⎣⎦ 2.用MATLAB 分析LTI 系统的特性

系统函数H (s )通常是一个有理分式,其分子和分母均为多项式。计算H (s )的零极点可以应用MATLAB 中的roots 函数,求出分子和分母多项式的根,然后用plot 命令画图。

在MATLAB 中还有一种更简便的方法画系统函数H (s )的零极点分布图,即用pzmap 函数画图。其调用格式为

pzmap(sys)

sys 表示LTI 系统的模型,要借助tf 函数获得,其调用格式为

sys=tf(b,a)

式中,b 和a 分别为系统函数H (s )的分子和分母多项式的系数向量。

如果已知系统函数H (s ),求系统的单位冲激响应h(t)和频

率响应H ω(j )可以用以前介绍过的impulse 和freqs 函数。

例6-2 已知系统函数为

32

1

221

s s s +++H(s)=

试画出其零极点分布图,求系统的单位冲激响应h(t)和频率

响应H ω(j ),并判断系统是否稳定。

解:其MATLAB 程序如下: num=[1]; den=[1,2,2,1]; sys=tf(num,den); figure(1);pzmap(sys); t=0:0.02:10;

h=impulse(num,den,t); figure(2);plot(t,h) title('Impulse Response') [H,w]=freqs(num,den); figure(3);plot(w,abs(H)) xlabel('\omega')

title('Magnitude Response')

3.用MATLAB 进行Laplace 正、反变换

MATLAB 的符号数学工具箱提供了计算Laplace 正、反变换的函数Laplace 和ilaplace,其调用格式为

()

()

F laplace f f ilaplace F ==

上述两式右端的f 和F 分别为时域表示式和s 域表示式的符号表示,可以应用函数sym 实现,其调用格式为

S=sym(A)

式中,A 为待分析表示式的字符串,S 为符号数字或变量。 例6-3 试分别用Laplace 和ilaplace 函数求 (1)()sin()()t f t e at u t -=的Laplace 变换;

(2)2

2()1

s F s s =+的

Laplace 反变换。

解:(1)其程序为 f=sym('exp(-t)*sin(a*t)'); F=laplace(f) 或 syms a t

F=laplace(exp(-t)*sin(a*t)) (2)其程序为 F=sym('s^2/(s^2+1)'); ft=ilaplace(F) 或 syms s

ft= ilaplace(s^2/(s^2+1)) 4.离散系统零极点图

离散系统可以用下述差分方程描述:

∑∑==-=-M

m m

N

i i m k f b

i k y a 0

)()(

Z

变换后可得系统函数:N

N M

M z a z a a z b z b b z F z Y z H ----++++++=

=......)()()(110110

用MATLAB 提供的root 函数可分别求零点和极点,调用格式是

p=[a0,a1…an],q=[b0,b1…bm,0,0…0], 补0使二者维数一样。画零极点图的方法有多种,可以用MATLAB 函数[z,p,k]=tf2zp(b,a)和zplane(q,p),也可用plot 命令自编一函数ljdt.m,画图时调用。 function ljdt(A,B)

% The function to draw the pole-zero diagram for discrete system p=roots(A); %求系统极点

q=roots(B); %求系统零点 p=p';

%将极点列向量转

置为行向量 q=q'; %将零点列向量转置

为行向量

x=max(abs([p q 1])); %确定纵坐标范围

x=x+0.1; y=x ; %确定横坐标范围

clf

相关文档
最新文档