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

合集下载
  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)的部分分式展开式,其调用格式为
其中,num,den分别为F(s)的分子和分母多项式的系数向量,r为部分分式的系数,p为极点,k为F(s)中整式部分的系数,若F(s)为有理真分式,则k为零。

例6-1 用部分分式展开法求F(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)的反变换为
3211()()326t 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 已知系统函数为 321
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 和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
)
(
)
(
Z变换后可得系统函数:
N
N
M
M
z
a
z
a
a
z
b
z
b
b
z
F
z
Y
z
H
-
-
-
-
+
+
+
+
+
+
=
=
...
...
)
(
)
(
)
(
1
1
1
1
用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
hold on
axis([-x x -y y]) %确定坐标轴显示范围
w=0:pi/300:2*pi;
t=exp(i*w);
plot(t) %画单位园
axis('square')
plot([-x x],[0 0]) %画横坐标轴
plot([0 0],[-y y]) %画纵坐标轴
text(0.1,x,'jIm[z]')
text(y,1/10,'Re[z]') plot(real(p),imag(p),'x') %画极点 plot(real(q),imag(q),'o')
%画零点 title('pole-zero diagram for discrete system') %标注标题
hold off
例6-4 求系统函数零极点图1
31)(4
5+-+=z z z z H a=[3 -1 0 0 0 1]; b=[1 1]; ljdt(a,b) p=roots(a) q=roots(b) pa=abs(p)
5.离散系统的频率特性
离散系统的频率特性可由系统函数求出,既令
ωj e z =,MATLAB
函数freqz 可计算频率特性,调用格式是:
[H ,W]=freqz(b,a,n),b 和a 是系统函数分子分母系数,n 是π
-0范围 n 个等份点,默认值512,H 是频率响应函数值,W 是相应频率点;
[H ,W]=freqz(b,a,n,’whole’), n 是π2-0范围 n 个等份点; freqz(b,a,n),直接画频率响应幅频和相频曲线; 例6-5 系统函数z
z z H 5
.0)(-=
运行如下语句,可得10个频率点的计算结果
A=[1 0];
B=[1 -0.5];
[H,W]=freqz(B,A,10)
继续运行如下语句,可将400个频率点的计算结果用plot语句画幅频和相频曲线
B=[1 -0.5];
A =[1 0];
[H,w]=freqz(B,A,400,'whole');
Hf=abs(H);
Hx=angle(H);
clf
figure(1)
plot(w,Hf)
title('离散系统幅频特性曲线')
figure(2)
plot(w,Hx)
title('离散系统相频特性曲线')
还可用freqz语句直接画图,注意区别
A=[1 0];
B=[1 -0.5];
freqz(B,A,400)
例6-6 用几何矢量法,自编程序画频率响应
原理:频率响应∏∏==--=
N
i i
j
M
j j
j
j p e q
e e H 1
1)
()
()(ωωω
编程流程:定义Z 平面单位圆上k 个频率等分点;求出系统函数所有零点和极点到这些等分点的距离;求出系统函数所有零点和极点到这些等分点的矢量的相角;求出单位圆上各 频率等分点的
)
()(ωϕω和j e H
画指定范围内的幅频与相频。

若要画零极点图,可调用ljdt.m 函数。

function dplxy(k,r,A,B)
%The function to draw the frequency response of discrete system p=roots(A); %求极点 q=roots(B);
%求零点
figure(1) ljdt(A,B)
%画零极点图 w=0:l*pi/k:r*pi;
y=exp(i*w);
%定义单位圆上的k 个频率等分点 N=length(p); %求极点个数 M=length(q);
%求零点个数 yp=ones(N,1)*y;
%定义行数为极点个数的单位
圆向量
yq=ones(M,1)*y;
%定义行数为零点个数的单位
圆向量
vp=yp-p*ones(1,r*k+1); %定义极点到单位圆上各点的向量
vq=yq-q*ones(1,r*k+1); %定义零点到单位圆上各点的向量
Ai=abs(vp); %求出极点到单位圆上各点的向量的模
Bj=abs(vq); %求出零点到单位圆上各点的向量的模
Ci=angle(vp); %求出极点到单位圆上各点的向量的相角
Dj=angle(vq); %求出零点到单位圆上各点的向量的相角
fai=sum(Dj,1)-sum(Ci,1); %求系统相频响应
H=prod(Bj,1)./prod(Ai,1); %求系统幅频响应
figure(2)
plot(w,H); %绘制幅频特性曲线
title('离散系统幅频特性曲线')
xlabel('角频率')
ylabel('幅度')
figure(3)
plot(w,fai)
title('离散系统的相频特性曲线') xlabel('角频率') ylabel('相位')
已知系统函数1
14/11)
1(4/5)(----=z
z z H ,画频率响应和零极点图。

A=[1 -1/4]; B=[5/4 -5/4];
dplxy(500,2,A,B) %绘制系统2π频率范围内500个频
率点的幅频和相频特性曲线及零极点图
三、上机实验内容
1.验证实验原理中所述的相关程序; 2.求信号)()(3t u te t f t -=的拉普拉斯变换
3.求函数2
37
95)(2
23+++++=s s s s s s F 的反变换 4.已知连续系统的系统函数如下,试用MATLAB 绘制系统的
零极点图,并根据零极点图判断系统的稳定性 5.系统函数是
3
2
1
551---+++z
z
z
求频率响应。

相关文档
最新文档