用MATLAB实现线性系统的频域分析

一、引言

1.1 任务1

已知线性系统的状态方程和输出方程:

a.画出该系统的零极点图,并根据零极点图判断系统的稳定性;

b.试用MATLAB函数绘制该系统的幅频响应曲线和相频响应曲线,并判断该系统完成什么功能。选择频率范围为:ω=(0.01,100)。

1.2 任务2

已知离散系统的系统函数为:

a.画出该系统的零极点图,并根据零极点图判断系统的稳定性;

b.试用MATLAB函数绘制系统的幅频和相频特性曲线,并分析该系统完成什么功能。

二、基本原理

在线性时不变系统中,系统函数的零极点分布决定了系统的稳定性和频率响应特性。

在连续时间系统中,有了系统函数H(s),其频率响应特性H(jω)可以通过把系统H(s)中的复变量s换成jω得到。H(jω)的模量即为幅频特性,相角即为相频特性,系统的滤波功能仅由系统的幅频特性曲线形状决定。另外,如果H(s)的所有极点都位于s的左平面,则系统是稳定的。

在离散时间系统中,有了系统函数H(z),则其频率响应特性H(e^{jw})就可以通过把系函数H(z)中的复变量z换成e^{jw}得到。同样,H(e^{jw})的模量为幅频特性,相角为相频特性。同样,系统的滤波功能也是仅由系统的幅频特性曲线形状决定。而且,如果H(z)的收敛域内无极点,则系统是稳定的;如果H(z)的所有极点都在z平面的单位圆内,则系统是因果且稳定的。

三、实现方法

3.1 线性系统部分

3.1.1 实现方法及编程思路

(1)根据任务要求定义矩阵A,向量B,向量C,标量D。

(2)使用pzmap函数绘制系统的零极点图。

(3)通过eig(A)计算矩阵A的特征值,目的是想要判断系统的稳定性。通过特征值的实部是否都小于零来判断系统的稳定性。如果特征值的实部都小于零,则系统稳定;否则系统不稳定。

(4)绘制幅频、相频曲线。

        ①利用logspace()函数生成了一个任务要求的0.01到100的频率范围。

        ②将状态空间模型(A,B,C,D)转换为传递函数的分子分母系数。利用这种方法可以进行频率分析,稳定性判断等。

        ③利用bode()函数,使用生成的频率向量ω以及传递函数系数计算出对应的幅度(mag)和相位(phase)。

        ④利用subplot()函数将图形分为二行一列,分别在第一行和第二行进行绘制。

        ⑤利用semilogx()函数将横坐标做特殊处理,目的是为了当横坐标的数据范围跨越多个数量级时,可以更清晰地展示数据的分布和趋势变化,能够更好地呈现出幅频响应和相频响应随频率变化的特性。

3.1.2 具体程序的编制
%根据要求定义矩阵A,向量B,向量C,标量D
A = [-5 2 0 0;0 -4 0 0;-3 2 -4 -1;-3 2 0 -4];
B = [1;2;0;1];
C = [1 2 1 3];
D = 0;

%绘制零极点
pzmap(A,B,C,D);
eig(A);

%绘制幅频和相频特性曲线
w = logspace(-2,2);
[b,a] = ss2tf(A,B,C,D);
[mag,phase] = bode(b,a,w);
subplot(2,1,1);
semilogx(w,20*log10(mag));
title("幅频响应曲线");
ylabel("幅度(dB)");
subplot(2,1,2);
semilogx(w,phase);
title("相频特性曲线");
xlabel("频率(rad/s)");
ylabel("相位(度)");

3.2 离散系统部分

3.2.1 实现方法及编程思路

(1)定义离散系统的分子多项式系数num和分母多项式系数den。

(2)利用zplane()函数绘制系统的零极点图。

(3)利用isstable()函数判断系统是否稳定。

(4)使用freqz(num,den,512,fs)计算在给定频率点上的频率响应,得到幅度H和对应的频率f。

(5)通过两个子图分别绘制幅频特性曲线,和相频特性曲线。

3.2.2 具体程序的编制
num = [1 0 2];
den = [1 2 -4 1];
fs = 1;
zplane(num,den);
isstable(den);
[H,f] = freqz(num,den,512,fs);
subplot(2,1,1);
plot(f/pi,abs(H));
title("幅频特性曲线");
xlabel("频率");
ylabel("幅度");
subplot(2,1,2);
plot(f/pi,angle(H));
title("相频特性曲线");
xlabel("频率");
ylabel("相位");

四、结果验证

4.1 线性系统部分

4.1.1 程序运行结果

图 线性系统零极图

图 线性系统幅频相频特性曲线

4.1.2 结论

通过零极图可以看出,系统存在极点实部不为负的情况,这表明该系统是不稳定的。且极点较为分散,不同极点位置暗示不同衰减或振荡速度,说明该系统在不同时间尺度上有不同的表现。

通过两个频率响应曲线,可以判断出该系统为低通滤波器。低通滤波器在为信号去除高频噪声和波动有着很大的作用,可以使信号变得更加平滑和稳定;低通滤波器还可以提取低频成分,在音频处理的时候去除杂音,使声音听起来更柔和、温暖。

4.2 离散系统部分

4.2.1 程序运行结果

图 离散系统零极图

图 离散系统幅频相频特性曲线

4.2.2 结论

通过零极图可以看出,系统存在极点实部不为负的情况,这表明该系统是不稳定的。同时,在相频曲线上可以看出一个很高的相位点,说明该系统在该频率处存在谐振现象,从而引起相位的突变。

具体来说,当离散系统的极点位于单位圆上时,系统会对某些频率的输入信号产生谐振,导致相频特性曲线在该频率处出现峰值。根据任务给出的离散系统的系统函数H(s),即可看出z为1是系统的极点,在单位圆上,验证了程序的正确性。

从幅频特性曲线上来看,该系统是一个低通的滤波系统,对实现信号的的平滑和稳定有着很重要的作用。

五、总结

掌握系统的因果稳定特性与系统函数零极点的关系,还可以借助MATLAB的帮助功能,学习使用与信号与系统分析相关的其他MATLAB函数。

以上内容仅供参考,如有错误,欢迎指正。欢迎大家与我一起交流~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值