当前位置: 首页 > article >正文

最小相位系统和非最小相位系统

最小相位系统(Minimum Phase System)是控制理论和信号处理中的一个重要概念,指的是具有以下特性的一类线性时不变系统(LTI系统):

  1. 传递函数所有零点位于复平面的左半平面
    即系统的所有零点(包括有限零点和位于无穷远处的零点)都在复平面左半平面(对于离散系统则是单位圆内)。这确保了系统的零点不会引起不稳定。

  2. 系统的相位响应是给定幅频响应的最小值
    在所有具有相同幅频特性的系统中,最小相位系统的相位响应最小,因此称为“最小相位”。

  3. 因果性和稳定性
    对于连续时间系统,最小相位系统在满足零点条件的同时也是因果稳定的(所有极点位于复平面的左半平面)。

特性

  • 最小相位与幅相对应关系
    对于最小相位系统,系统的幅频响应与相频响应之间存在严格的数学关系,可以通过希尔伯特变换互相推导。

  • 与非最小相位系统的区别
    非最小相位系统的零点可能位于复平面的右半平面(连续系统)或单位圆外(离散系统),这会导致系统的相位延迟增加,但幅频特性可以与最小相位系统相同。

实际意义

  • 稳定性和可控性
    最小相位系统通常在控制设计中具有良好的特性,因为它既满足稳定性又能在不引入额外相位延迟的情况下实现控制目标。

  • 信号恢复和滤波
    在信号处理领域,最小相位滤波器是优化相位响应的重要工具。
    在Matlab中对比这三个传递函数,可以从以下几个方面进行:

1. 定义传递函数

可以使用tf函数来定义传递函数。假设这三个传递函数分别为G1(最小相位)、G2(含延时环节的非最小相位)、G3(分子有负系数的非最小相位),Matlab代码如下:

s = tf('s');
G1 = (s + 2)/(s^2 + 3*s + 1);
G2 = exp(-s)*(s + 2)/(s^2 + 3*s + 1);
G3 = (-s + 2)/(s^2 + 3*s + 1);

2. 频率响应分析

通过bode函数绘制伯德图来分析它们的频率响应特性,包括幅值和相位特性。代码如下:

bode(G1);
hold on;
bode(G2);
bode(G3);
legend('Minimum Phase', 'Non - minimum Phase (with delay)', 'Non - minimum Phase (neg. num. coeff.)');

从伯德图中可以观察到:

  • 幅值特性:不同传递函数在不同频率下的增益不同,能看出它们对不同频率信号的放大或衰减能力。
  • 相位特性:最小相位系统的相位变化范围相对较小;含延时环节的非最小相位系统会因为延时产生额外的相位滞后;分子有负系数的非最小相位系统的相位特性也会与最小相位系统有明显差异。

3. 判断是否为最小相位系统

使用isminphase函数判断传递函数是否为最小相位系统。代码如下:

flag1 = isminphase(G1);
flag2 = isminphase(G2);
flag3 = isminphase(G3);
disp(['G1 is minimum phase: ', num2str(flag1)]);
disp(['G2 is minimum phase: ', num2str(flag2)]);
disp(['G3 is minimum phase: ', num2str(flag3)]);

运行后可以得到每个传递函数是否为最小相位系统的结果,其中1表示是,0表示否。

4. 阶跃响应分析

使用step函数绘制它们的阶跃响应曲线,观察系统的动态性能,如上升时间、超调量、调节时间等。代码如下:

step(G1);
hold on;
step(G2);
step(G3);
legend('Minimum Phase', 'Non - minimum Phase (with delay)', 'Non - minimum Phase (neg. num. coeff.)');

通过阶跃响应曲线,可以对比不同传递函数所描述系统的动态行为差异,非最小相位系统可能会出现反向响应等特殊现象 。

5. 完整代码

% 定义传递函数
s = tf('s');
G1 = (s + 2)/(s^2 + 3*s + 1);
G2 = exp(-s)*(s + 2)/(s^2 + 3*s + 1);
G3 = (-s + 2)/(s^2 + 3*s + 1);

% 绘制伯德图
figure;
bode(G1);
hold on;
bode(G2);
bode(G3);
legend('Minimum Phase', 'Non - minimum Phase (with delay)', 'Non - minimum Phase (neg. num. coeff.)');
title('Bode Plots of Transfer Functions');

% 判断是否为最小相位系统
[num1, den1] = tfdata(G1, 'v');
[num2, den2] = tfdata(G2, 'v');
[num3, den3] = tfdata(G3, 'v');

flag1 = isminphase(num1, den1);
% 注意:由于 G2 包含延时环节,isminphase 不能直接处理延时环节,这里会得到错误结果,仅用于对比示例
flag2 = isminphase(num2, den2); 
flag3 = isminphase(num3, den3);

disp(['G1 is minimum phase: ', num2str(flag1)]);
disp(['G2 is minimum phase: ', num2str(flag2)]);
disp(['G3 is minimum phase: ', num2str(flag3)]);

% 绘制阶跃响应曲线
figure;
step(G1);
hold on;
step(G2);
step(G3);
legend('Minimum Phase', 'Non - minimum Phase (with delay)', 'Non - minimum Phase (neg. num. coeff.)');
title('Step Responses of Transfer Functions');

在这里插入图片描述
在这里插入图片描述
可以看到具有右半平面零点的非最小相位系统的阶跃响应,在响应初始阶段会朝着错误的方向移动。

非最小相位系统是指在右半S平面上具有极点或零点,或有纯滞后环节的系统。以下是一些现实生活中的非最小相位系统:

  • 船舶操控系统:当对船舶进行转向操作时,船舶由于自身的惯性和水的作用力,在转向初期可能会出现短暂的横移或者航向的反向变化,之后才会按照预期的方向进行转向。比如在狭窄水道中操控大型船舶,转向时这种非最小相位特性会比较明显。
  • 热交换器系统:在一些热交换过程中,如果控制热流体的流量来调节冷流体的出口温度,由于热交换过程存在一定的分布参数特性和滞后性,系统可能呈现非最小相位特性。例如,当突然增加热流体的流量时,冷流体出口温度可能不会立即上升,反而可能先下降,之后才逐渐上升到预期值。
  • 化工过程中的精馏塔:在精馏塔的控制中,以调节回流比来控制塔顶产品的纯度时,由于塔内的传质传热过程较为复杂,存在各种动态特性和耦合关系,系统可能表现出非最小相位行为。比如增加回流比后,塔顶产品纯度可能先降低,之后才逐渐提高到设定值。
  • 汽车的某些控制系统:例如汽车的转向系统在高速行驶时,由于车辆的动力学特性,转向输入后车辆的响应可能不是立即按预期方向变化,可能会有短暂的非预期方向的位移或者角度变化。另外,在一些汽车的发动机进气控制系统中,通过调节进气阀门来控制进气量,由于进气管道的容积效应等因素,也可能出现非最小相位特性。

为什么右半平面零点会导致反方向运动的现象

系统传递函数含右半平面零点(s = 2)。输入经含零点环节变换,拉普拉斯反变换后输出含输入导数的负值。输入为阶跃信号时,其导数瞬间冲击函数,导数负值项使系统输出初始有反向运动,之后才按正常趋势响应,即右半平面零点导致反方向运动现象。

在这里插入图片描述
可以发现非最小相位系统相比于最小相位系统的相位裕度更小,因此非最小相位系统更有可能变得不稳定。非最小相位系统更容易受到增益增加的影响。

对于非最小相位系统,最好的解决方法就是减小控制器增益维持稳定性。虽然会使得系统响应变慢。


http://www.kler.cn/a/520543.html

相关文章:

  • QFramework实现原理 一 :日志篇
  • 蓝桥与力扣刷题(240 搜索二维矩阵||)
  • 损失函数曲面变平坦的方法
  • pycharm踩坑(1)
  • MySQL 8.0 备份与恢复全解析
  • 【redis初阶】redis客户端
  • 【深度学习】 UNet详解
  • 实用工具推荐----wsl安装
  • langchain基础(一)
  • 从 JIRA 数据到可视化洞察:使用 Python连接jira
  • 二次封装的方法
  • Django 多环境配置实战指南
  • Greenplum临时表未清除导致库龄过高处理
  • mysql数据库不允许远程链接时的解决办法
  • mapStruct 使用踩坑指南
  • C++ 自定义字面量
  • 小试牛刀调整Prompt,优化Token消耗
  • 电子应用设计方案104:智能家庭AI弹簧床系统设计
  • 「 机器人 」仿生扑翼飞行器中的“被动旋转机制”概述
  • Shotcut新版来袭,新增HSL滤镜、硬件编码,剪辑更流畅