根据系统零极点位置的变化,用 MATLAB 分析系统的幅频响应
时间: 2023-11-18 17:11:47 浏览: 121
在MATLAB中,可以通过使用“zplane”函数来绘制系统的零极点图,使用“freqz”函数来分析系统的幅频响应。具体步骤如下:
1. 设计系统传递函数:根据实际需求,设计系统的传递函数,例如:
```
num = [1, 0.5];
den = [1, 0.1, 0.2];
sys = tf(num, den);
```
2. 绘制系统的零极点图:使用“zplane”函数,绘制系统的零极点图,以观察系统的稳定性和极点位置,例如:
```
zplane(num, den);
```
3. 分析系统的幅频响应:使用“freqz”函数,分析系统的幅频响应,并绘制幅度响应曲线,例如:
```
[h, w] = freqz(num, den);
plot(w/pi, abs(h));
xlabel('Normalized Frequency (\times\pi rad/sample)');
ylabel('Magnitude');
```
其中,第三步中的“freqz”函数返回系统的频率响应和频率向量,可以通过计算得到幅度响应并绘制幅度响应曲线。
通过这些步骤,我们可以分析系统的幅频响应,并观察系统的零极点位置对幅频响应的影响。例如,当系统存在零点时,会出现幅度响应下降的现象,而系统存在极点时,会出现幅度响应增强的现象。
相关问题
实验五 离散时间系统的频域分析 (一)教学要求 了解离散系统的零极点与系统因果性和稳定性的关系;加深对离散系统的频率响应特性基本概念的理解;熟悉MATLAB中进行离散系统零极点分析的常用子函数;掌握离散系统幅频响应和相频响应的求解方法。 (二)知识点提示 本章节的主要知识点是频率响应的概念、系统零极点对系统特性的影响;重点是频率响应的求解方法;难点是MATLAB相关子函数的使用。 (三)教学内容 5.1 已知离散时间系统的系统函数,求该系统的零极点及零极点分布图,并判断系统的因果性、稳定性 5.2 已知离散时间系统的系统函数,求该系统的频率响应 (四)思考题 5.1 因果稳定的离散系统必须满足的充分必要条件是什么?系统函数零极点的位置与系统冲激响应有何关系?对系统的幅度响应有何影响? 5.2 利用MATLAB如何求解离散系统的幅频响应和相频响应?
5.1 因果稳定的离散系统必须满足的充分必要条件是:系统的极点全部位于单位圆内,即系统的极点模长小于1。系统函数的零极点位置与系统的冲激响应有密切的联系。系统的零点决定了系统的传递特性,而系统的极点则决定了系统的稳定性。具体而言,系统的零点是决定系统频率响应的因素,而系统的极点则是决定系统时域响应和稳定性的因素。对于系统的幅度响应,系统的零点会影响系统在不同频率处的增益大小,而系统的极点则会影响系统的衰减速度。
5.2 利用MATLAB,可以使用freqz函数求解离散系统的幅频响应和相频响应。freqz函数的第一个输入参数为系统函数的分子系数,第二个输入参数为系统函数的分母系数,第三个参数可以指定频率响应的采样点数,第四个参数可以指定频率响应的范围。例如,若要求解系统函数为H(z)的离散系统在0~pi范围内的幅频响应和相频响应,可以使用以下命令:
```matlab
[b, a] = tfdata(H, 'v');
[w, h] = freqz(b, a, 1024, 'whole');
mag = abs(h);
phase = unwrap(angle(h));
```
其中,H为系统函数,'v'表示将分子分母系数以行向量的形式输出,1024表示采样点数,'whole'表示在0~pi范围内进行采样。幅频响应存储在mag中,相频响应存储在phase中。
1)分析典型二阶系统K/s(s+2ξωn)的闭环控制系统,建立整个系统的系统函数 2)利用Matlab分析不同系统参数的系统函数的频率特性(幅频、相频)、零极点分布、稳定性; 3)利用Matlab分析不同系统参数的系统函数的频率特性(幅频、相频)、零极点分布、稳定性; 4)分析不同系统参数对整个控制系统的单位冲击响应和阶跃响应曲线,分析其时域特性指标(上升时间、超调量、调节时间)
1)系统函数为 G(s) = K/s(s+2ξωn)
2)利用Matlab进行分析:
a) 幅频特性
```matlab
% 系统参数设置
K = 1;
xi = 0.5;
wn = 5;
% 系统函数
s = tf('s');
G = K/(s*(s+2*xi*wn));
% 绘制幅频特性曲线
bode(G);
```
<img src="https://img-blog.csdn.net/20180623155825936?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="幅频特性曲线" width="500"/>
b) 相频特性
```matlab
% 绘制相频特性曲线
margin(G);
```
<img src="https://img-blog.csdn.net/20180623160202245?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="相频特性曲线" width="500"/>
c) 零极点分布
```matlab
% 绘制零极点分布图
pzmap(G);
```
<img src="https://img-blog.csdn.net/20180623160622287?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="零极点分布图" width="500"/>
d) 稳定性
系统的稳定性由其极点位置决定。如果所有的极点都在左半复平面,则系统是稳定的。
从零极点图中可以看出,该系统的极点都在左半复平面,所以该系统是稳定的。
3)利用Matlab分析不同系统参数的系统函数的频率特性(幅频、相频)、零极点分布、稳定性
可以通过修改系统参数来观察对系统性能的影响。
```matlab
% 系统参数设置
K = 1;
xi = 0.5;
wn = 5;
% 系统函数
s = tf('s');
G = K/(s*(s+2*xi*wn));
% 绘制幅频特性曲线
bode(G);
```
当 ξ = 0.5, ωn = 5 时,幅频特性曲线如下:
<img src="https://img-blog.csdn.net/20180623155825936?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="幅频特性曲线" width="500"/>
当 ξ = 0.7, ωn = 5 时,幅频特性曲线如下:
<img src="https://img-blog.csdn.net/20180623162510419?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="幅频特性曲线" width="500"/>
当 ξ = 0.5, ωn = 10 时,幅频特性曲线如下:
<img src="https://img-blog.csdn.net/20180623162609991?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="幅频特性曲线" width="500"/>
从这些图中可以看出,当 ξ 增加时,系统的阻尼增加,系统的过渡响应速度变慢,但是系统的稳定性增强。当 ωn 增加时,系统的自然频率增加,系统的过渡响应速度变快,但是系统的稳定性减弱。
4)分析不同系统参数对整个控制系统的单位冲击响应和阶跃响应曲线,分析其时域特性指标(上升时间、超调量、调节时间)
```matlab
% 系统参数设置
K = 1;
xi = 0.5;
wn = 5;
% 系统函数
s = tf('s');
G = K/(s*(s+2*xi*wn));
% 单位冲击响应
impulse(G);
% 阶跃响应
step(G);
```
当 ξ = 0.5, ωn = 5 时,单位冲击响应如下:
<img src="https://img-blog.csdn.net/20180623164314836?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="单位冲击响应" width="500"/>
阶跃响应如下:
<img src="https://img-blog.csdn.net/20180623164403317?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="阶跃响应" width="500"/>
上升时间为 0.8s,超调量为 0.26,调节时间为 4.5s。
当 ξ = 0.7, ωn = 5 时,单位冲击响应如下:
<img src="https://img-blog.csdn.net/20180623164513090?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="单位冲击响应" width="500"/>
阶跃响应如下:
<img src="https://img-blog.csdn.net/20180623164602994?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="阶跃响应" width="500"/>
上升时间为 1.14s,超调量为 0.18,调节时间为 4.9s。
当 ξ = 0.5, ωn = 10 时,单位冲击响应如下:
<img src="https://img-blog.csdn.net/20180623164710445?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="单位冲击响应" width="500"/>
阶跃响应如下:
<img src="https://img-blog.csdn.net/20180623164801151?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Jlc291cmNlXzE1NTA5NjIw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/50" alt="阶跃响应" width="500"/>
上升时间为 0.4s,超调量为 0.72,调节时间为 2.7s。
从这些结果中可以看出,当 ξ 增加时,系统的阻尼增加,系统的过渡响应速度变慢,上升时间和调节时间变长,但是超调量减小。当 ωn 增加时,系统的自然频率增加,系统的过渡响应速度变快,上升时间和调节时间变短,但是超调量增大。
阅读全文