4. 系统的性质:线性与非线性、时变与时不变、因果与非因果、稳定与不稳定
好,咱们进入第四讲。这一讲的内容,说白了就是给系统“贴标签”。
你想想看,我们做信号处理,天天跟各种系统打交道。滤波器、放大器、调制器……它们到底有什么不同?怎么去描述它们的行为?
我个人习惯,拿到一个系统,先给它做四个维度的“体检”:线性、时不变、因果、稳定。这四个标签一贴,这个系统的脾气秉性,基本就摸透了。
4.1 线性与非线性
这是最基础,也是最容易出坑的一个性质。
线性,说白了就是两个词:齐次性和可加性。
- 齐次性:输入翻倍,输出也翻倍。输入缩小一半,输出也缩小一半。
- 可加性:两个输入叠加,输出等于各自输出的叠加。
用数学公式表达就是:
如果 输入 x1(t) → 输出 y1(t)
输入 x2(t) → 输出 y2(t)
那么 输入 a*x1(t) + b*x2(t) → 输出 a*y1(t) + b*y2(t)
满足这个,就是线性系统。不满足,就是非线性。
核心判断方法: 看系统方程中,有没有对信号进行“非线性操作”。比如:平方、开方、取绝对值、乘法(两个信号相乘)、限幅、死区……这些都会引入非线性。
我在项目中遇到过一件事。一个同事设计了一个简单的放大器,输入正弦波,输出波形看着挺漂亮。但一换到方波输入,输出波形就“塌”了,顶部变圆了。我一看,原来是运放的压摆率(Slew Rate)不够,导致大信号时出现了非线性失真。这就是典型的非线性表现——输出不再与输入保持比例关系。
我的经验: 线性系统是理想模型。现实世界中,几乎所有系统都是非线性的,只是我们可以在小信号、小范围内把它近似成线性的。比如一个三极管放大器,在静态工作点附近的小信号模型,就是线性的。
4.2 时变与时不变
这个性质,我习惯叫它“系统是否看人下菜碟”。
时不变系统,意思是:系统的特性不随时间变化。
你今天给它一个信号,它输出A。你明天给它同样的信号,它还是输出A。不会因为今天是周一,它就“心情好”多输出一点。
数学上表达:
如果 输入 x(t) → 输出 y(t)
那么 输入 x(t - t0) → 输出 y(t - t0)
也就是说,输入延迟多少,输出就延迟多少,波形形状不变。
时变系统,就是系统的参数会随时间变化。比如一个电阻,今天10欧姆,明天变成20欧姆了。那它就是一个时变系统。
注意: 时变和时不变,判断的是系统本身的参数是否随时间变化,而不是输入信号是否随时间变化。别搞混了。
举个例子。一个RC低通滤波器,如果R和C都是固定值,那就是时不变系统。但如果R是一个光敏电阻,光照强度随时间变化,那R就在变,这个滤波器就成了时变系统。
我曾经调试过一个自适应滤波器,它的系数会随着输入信号的变化而自动调整。嗯,这就是一个典型的时变系统。当时为了验证它的稳定性,我花了不少功夫。
4.3 因果与非因果
这个性质,说白了就是看系统“有没有预知未来的能力”。
因果系统:系统的输出只取决于当前时刻和过去时刻的输入,与未来的输入无关。
换句话说,系统不能“看到”未来的信号。你给它一个信号,它只能根据已经发生的事来产生输出。
数学上:
对于任意时刻 t0,输出 y(t0) 只与 t ≤ t0 的输入 x(t) 有关。
非因果系统:输出依赖于未来的输入。这在物理世界中是不可能实现的,因为未来还没发生。
但是!在离线处理中,非因果系统是可以实现的。比如你录了一段音频,然后对整个文件进行处理,这时候你可以“看到”未来的数据点。
一个经典例子: 理想低通滤波器。它的单位冲激响应是 sinc 函数,这个函数在 t < 0 时也有值。所以理想低通滤波器是非因果的,物理上无法实现。我们实际用的都是它的近似——因果滤波器。
我记得有一次,一个学生问我:“老师,为什么我设计的滤波器仿真结果很好,但实际搭出来效果差很多?”我一看他的设计,用了非因果的滤波器结构。我告诉他:“你仿真用的是理想模型,但实际电路只能实现因果系统。这就是差距。”
避坑指南: 我曾经在设计实时信号处理系统时,不小心用了一个非因果的滤波器结构。结果系统一跑就崩,输出全是乱的。后来检查才发现,那个滤波器需要未来的数据点,而实时系统根本拿不到。所以,实时系统必须用因果系统。
4.4 稳定与不稳定
这个性质,关乎系统的“生死存亡”。
稳定系统:有界输入,必然产生有界输出。这就是著名的BIBO(Bounded Input Bounded Output)稳定性。
数学上:
如果 |x(t)| ≤ Mx (Mx是某个有限值)
那么 |y(t)| ≤ My (My也是某个有限值)
不稳定系统:输入哪怕是一个很小的扰动,输出也会无限增长,最终导致系统崩溃。
怎么判断?对于线性时不变系统,一个最常用的方法是看它的极点。
- 连续系统:所有极点都在s平面的左半平面(实部 < 0)。
- 离散系统:所有极点都在z平面的单位圆内(模 < 1)。
警告: 极点落在虚轴(或单位圆)上,系统是临界稳定的。实际中要避免这种情况,因为任何微小的参数变化,都可能让系统变得不稳定。
我做过一个音频反馈抑制系统。有一次,系统突然发出刺耳的啸叫声。我一看,原来是某个滤波器的极点因为温度漂移,跑到了单位圆外面。系统瞬间自激振荡,变成了一个“啸叫发生器”。这就是不稳定的典型表现。
我的习惯: 在设计任何反馈系统时,我都会留出足够的稳定裕度。比如,让极点的实部至少是-0.1(连续系统),或者让极点的模不超过0.95(离散系统)。这样即使参数有波动,系统也能稳定工作。
4.5 四个性质的综合判断
好了,四个性质都讲完了。但实际中,我们往往需要同时判断一个系统的多个性质。
我给大家一个判断流程:
- 先看因果性:输出是否依赖未来输入?如果是,非因果。
- 再看线性:方程中是否有非线性操作?如果有,非线性。
- 再看时变性:系统参数是否随时间变化?如果是,时变。
- 最后看稳定性:极点位置是否安全?或者用BIBO定义判断。
举个例子,判断系统:y(t) = t * x(t)
| 性质 | 判断 | 理由 |
|---|---|---|
| 线性 | 线性 | 满足齐次性和可加性 |
| 时不变 | 时变 | 系数 t 随时间变化 |
| 因果 | 因果 | 输出只依赖当前输入 |
| 稳定 | 不稳定 | 输入有界,但输出可能无界(比如输入为常数1,输出为t,随时间增长) |
再比如,判断系统:y[n] = x[n] + 0.5 * y[n-1]
| 性质 | 判断 | 理由 |
|---|---|---|
| 线性 | 线性 | 满足线性条件 |
| 时不变 | 时不变 | 系数都是常数 |
| 因果 | 因果 | 输出依赖当前和过去输出 |
| 稳定 | 稳定 | 极点 z = 0.5,在单位圆内 |
总结一下: 这四个性质,是分析任何信号处理系统的基石。线性时不变(LTI)系统是最理想、最成熟的理论体系。但现实世界充满了非线性、时变、非因果和不稳定。我们的任务,就是理解这些性质,然后想办法把现实问题,映射到我们熟悉的LTI框架中去解决。
好了,这一讲就到这里。下一讲,我们会深入LTI系统的核心——卷积。那才是真正好戏的开始。