信号与系统:基于 MATLAB 应用
Signals and Systems with MATLAB Applications, Second Edition Steven T. Karris 著,Orchard Publications 出版
面向电子工程专业大三、大四学生和在职工程师的信号与系统教材。先修要求:微积分基础 + 基本电路理论。全书以 MATLAB 为工具,强调理论与计算实践结合,每章配大量例题和详细习题解答。
全书结构
全书 11 章 + 3 个附录,按”连续时间 → 离散时间 → 滤波器设计”的主线展开:
| 部分 | 章节 | 主题 | 关键内容 |
|---|---|---|---|
| 基础信号 | 第1章 | 基本信号 | 单位阶跃 / 单位斜坡 / 冲激函数及其性质 |
| Laplace 变换 | 第2-4章 | 拉普拉斯变换及电路分析 | 变换定义/性质、部分分式展开、s域电路分析、传递函数 |
| 系统分析 | 第5-6章 | 状态变量 & 冲激响应 | 状态方程、状态转移矩阵、卷积积分 |
| 傅里叶分析 | 第7-8章 | 傅里叶级数 & 傅里叶变换 | 周期信号分解、对称性、傅里叶变换性质与对、系统函数 |
| 离散时间 | 第9-10章 | Z变换 & DFT/FFT | Z变换性质、离散系统传递函数、DFT定义、FFT算法 |
| 滤波器 | 第11章 | 模拟与数字滤波器 | Butterworth/Chebyshev/椭圆滤波器、IIR/FIR、频率变换 |
| 附录 | A/B/C | 数学工具 | MATLAB入门、复数复习、矩阵与行列式 |
第1章:基本信号(Elementary Signals)
三类基本信号
-
单位阶跃函数 u₀(t)
- 定义:t<0 时为 0,t>0 时为 1
- 用途:描述电压/电流源的突然接入,是构造任意波形的基础
- 任意波形都可表示为阶跃函数的组合
-
单位斜坡函数 u₁(t)
- 定义:u₁(t) = ∫ u₀(τ)dτ(从 -∞ 到 t)
- 即 t≥0 时 u₁(t) = t,t<0 时为 0
-
单位冲激函数(δ函数)
- 是单位阶跃的导数:δ(t) = du₀(t)/dt
- 定义性质:∫δ(τ)dτ(-∞到t)= u₀(t),且 δ(t) = 0 对所有 t≠0
δ函数的两个核心性质
- 采样性质(Sampling Property):f(t)·δ(t-a) = f(a)·δ(t-a) ——冲激函数把连续信号在冲激位置的”样值”提取出来
- 筛选性质(Sifting Property):∫f(t)·δ(t-α)dt(-∞到+∞)= f(α) ——通过积分筛选出函数在特定点的值
高阶冲激(Doublet 等)
- 冲激的一阶导数 δ’(t)(doublet函数)也有采样性质: f(t)·δ’(t-a) = f(a)δ’(t-a) - f’(a)δ(t-a)
第2-3章:拉普拉斯变换(The Laplace Transformation)
定义
- 双边拉普拉斯变换:F(s) = ∫f(t)e
- 单边拉普拉斯变换:F(s) = ∫f(t)e
- 逆变换:f(t) = (1/2πj)∫F(s)e^(st)ds(沿 Bromwich 围道)
- 记号:f(t) ⇔ F(s)
核心性质(必须掌握)
| 性质 | 时域 | s域 |
|---|---|---|
| 线性 | c₁f₁(t) + c₂f₂(t) | c₁F₁(s) + c₂F₂(s) |
| 时移 | f(t-a)u₀(t-a) | e^(-as)F(s) |
| 频移 | e^(-at)f(t) | F(s+a) |
| 尺度变换 | f(at) | (1/a)F(s/a) |
| 时域微分 | df(t)/dt | sF(s) - f(0-) |
| 时域微分(n阶) | dⁿf(t)/dtⁿ | sⁿF(s) - sⁿ⁻¹f(0-) - … - f⁽ⁿ⁻¹⁾(0-) |
| s域微分 | t·f(t) | -dF(s)/ds |
| 时域卷积 | f₁(t) * f₂(t) | F₁(s)·F₂(s) |
| s域卷积 | f₁(t)·f₂(t) | (1/2πj)F₁(s) * F₂(s) |
常用变换对
| f(t) | F(s) |
|---|---|
| u₀(t) | 1/s |
| t·u₀(t) | 1/s² |
| tⁿ·u₀(t) | n!/sⁿ⁺¹ |
| δ(t) | 1 |
| δ(t-a) | e^(-as) |
| e^(-at)u₀(t) | 1/(s+a) |
| te^(-at)u₀(t) | 1/(s+a)² |
| tⁿe^(-at)u₀(t) | n!/(s+a)ⁿ⁺¹ |
逆拉普拉斯变换与部分分式展开
第3章专门讲部分分式展开法(Partial Fraction Expansion)——求逆变换的核心工具:
- F(s) 分解为:F(s) = r₁/(s-p₁) + r₂/(s-p₂) + … + rₙ/(s-pₙ)
- rᵢ 称为留数(residue),pᵢ 称为极点(pole)
- 适用情况:单极点、共轭复极点、重极点、混合情况
- 假分式(分子阶数 ≥ 分母):先做多项式长除法
- MATLAB 工具:
residue(a,b)直接求留数和极点
第4章:拉普拉斯变换电路分析
s 域电路模型
将时域电路元件变换到 s 域:
| 元件 | 时域 | 复阻抗 Z(s) | 复导纳 Y(s) |
|---|---|---|---|
| 电阻 R | v = Ri | R | G = 1/R |
| 电感 L | v = L di/dt | sL | 1/(sL) |
| 电容 C | i = C dv/dt | 1/(sC) | sC |
- RLC 串联电路输入阻抗:Z(s) = R + sL + 1/(sC)
- GLC 并联电路输入导纳:Y(s) = G + 1/(sL) + sC
传递函数(Transfer Function)
零状态下,输出电压与输入电压之比:
- G(s) = V_out(s) / V_in(s)
- 传递函数完全由电路结构和元件参数决定,与激励无关
核心思想:拉普拉斯变换把时域的微积分方程转化为 s 域的代数方程,大幅简化电路分析。
第5章:状态变量与状态方程
基本思想
- 一个 n 阶微分方程可以拆解为 n 个一阶联立微分方程
- 辅助变量称为状态变量(state variables),方程组称为状态方程
- 状态变量可以从微分方程得到,也可以直接从电路中选取(电感电流 + 电容电压)
标准形式
ẋ = Ax + bu (状态方程)
y = Cx + du (输出方程)
其中:
- A:系统矩阵(n×n)
- b:输入矩阵(n×1)
- C:输出矩阵(1×n)
- d:直接传输项(标量)
状态方程的解
- 标量情况:ẋ = αx + βu,解为 x(t) = e^(α(t-t₀))x₀ + e^(αt)∫e
- 矩阵情况:x(t) = e^(A(t-t₀))x₀ + e^(At)∫e
- e^(At) 称为状态转移矩阵(State Transition Matrix)
特征值与 Cayley-Hamilton 定理
- 矩阵 A 的特征值 λᵢ 是特征方程 det[A - λI] = 0 的根
- Cayley-Hamilton 定理:矩阵满足其自身的特征方程
- 利用该定理,e^(At) 可表示为 A 的 (n-1) 次多项式: e^(At) = a₀I + a₁A + a₂A² + … + aₙ₋₁Aⁿ⁻¹
- 系数 aᵢ 由特征值确定
状态变量法的优势
- 不仅适用于线性时不变系统,也适用于非线性和时变系统
- 是现代控制理论的基础语言
- MATLAB 工具:
eig(A)求特征值
第6章:冲激响应与卷积
冲激响应(Impulse Response)
- 定义:输入为 δ(t) 时系统的输出(零初始条件)
- 记为 h(t)——完全刻画了线性时不变(LTI)系统的特性
奇偶函数性质
- 偶函数:f(-t) = f(t)
- 奇函数:-f(-t) = f(t)
- 偶 × 偶 = 偶,奇 × 奇 = 偶,偶 × 奇 = 奇
- 任意函数可分解为:f(t) = f_e(t) + f_o(t)
- f_e(t) = [f(t) + f(-t)] / 2(偶部)
- f_o(t) = [f(t) - f(-t)] / 2(奇部)
- δ函数是偶函数
卷积积分(Convolution Integral)
定义:
f₁(t) * f₂(t) = ∫f₁(τ)f₂(t-τ)dτ(-∞到+∞)
核心意义:知道了系统的冲激响应 h(t),就能通过卷积求出对任意输入 u(t) 的响应:
y(t) = u(t) * h(t)
图解法求卷积
卷积的图形评估方法(翻转→平移→相乘→积分)是理解卷积最直观的方式:
- 将 h(τ) 沿纵轴翻转得到 h(-τ)
- 平移 t 得到 h(t-τ)
- 与 u(τ) 相乘
- 乘积曲线下的面积就是卷积在时刻 t 的值
卷积定理:时域卷积 ⇔ s 域乘积。这是拉普拉斯变换能简化系统分析的根本原因。
第7章:傅里叶级数(Fourier Series)
三角形式傅里叶级数
任何周期信号 f(t) 都可以分解为:
f(t) = a₀/2 + Σ(aₙcos nωt + bₙsin nωt) (n = 1, 2, 3, ...)
其中:
- a₀/2 是直流分量
- n=1 项是基波分量(频率 ω)
- n≥2 项是各次谐波
- 系数由积分公式计算
对称性的利用
| 对称类型 | 级数特点 |
|---|---|
| 奇函数 | 只有正弦项(bₙ),无直流 |
| 偶函数 | 只有余弦项(aₙ),可能有直流 |
| 半波对称 | 只有奇次谐波(奇cos + 奇sin) |
半波对称条件:-f(t + T/2) = f(t)
常见波形的傅里叶级数
| 波形 | 级数形式 |
|---|---|
| 方波(奇对称) | (4A/π)Σ(1/n)sin nωt,n为奇数 |
| 方波(偶对称) | (4A/π)Σ(-1)^((n-1)/2)(1/n)cos nωt,n为奇数 |
| 锯齿波(奇对称) | (2A/π)Σ(-1)^(n-1)(1/n)sin nωt |
| 三角波(奇对称) | (8A/π²)Σ(-1)^((n-1)/2)(1/n²)sin nωt,n为奇数 |
| 半波整流 | A/π + A/2 sint - (2A/π)Σ(cos nωt)/(n²-1),n为偶数 |
| 全波整流(偶对称) | 2A/π - (4A/π)Σ(cos nωt)/(n²-1),n为偶数 |
Gibbs 现象
用有限项傅里叶级数逼近不连续信号时,在间断点附近会出现过冲(overshoot),约为跳变值的 9%。即使项数增加,过冲幅度也不会减小——这就是 Gibbs 现象。
指数形式傅里叶级数
f(t) = Σ Cₙ e^(jnωt) (n = -∞ 到 +∞)
Cₙ 一般为复数,与三角形式的关系:
- C₀ = a₀/2
- Cₙ = (aₙ - jbₙ)/2(n>0)
- C₋ₙ = Cₙ*(共轭对称)
谱线与功率计算
- 线谱(Line Spectra):幅度谱 |Cₙ| vs 频率,相位谱 ∠Cₙ vs 频率
- RMS 值:从傅里叶系数计算:F_rms² = (a₀/2)² + (1/2)Σ(aₙ² + bₙ²)
- 平均功率:P = (1/2)ΣVₙIₙcos(θ_vₙ - θ_iₙ)
第8章:傅里叶变换(The Fourier Transform)
定义
- 正变换:F(ω) = ∫f(t)e
- 逆变换:f(t) = (1/2π)∫F(ω)e
- 记号:ℱ{f(t)} = F(ω),ℱ⁻¹{F(ω)} = f(t)
奇偶对称性
| f(t) | F(ω) |
|---|---|
| 实函数 | 一般为复函数 |
| 实偶函数 | 实偶函数 |
| 实奇函数 | 虚奇函数 |
| 虚函数 | 一般为复函数 |
| 虚偶函数 | 虚偶函数 |
| 虚奇函数 | 实奇函数 |
实信号满足:F(-ω) = F*(ω)(共轭对称)
核心性质
| 性质 | 时域 | 频域 |
|---|---|---|
| 线性 | a₁f₁(t) + a₂f₂(t) | a₁F₁(ω) + a₂F₂(ω) |
| 对称性 | F(t) | 2πf(-ω) |
| 尺度变换 | f(at) | (1/ |
| 时移 | f(t-t₀) | F(ω)e^(-jωt₀) |
| 频移 | e^(jω₀t)f(t) | F(ω-ω₀) |
| 调制定理 | f(t)cos ω₀t | [F(ω-ω₀) + F(ω+ω₀)]/2 |
| 调制定理(sin) | f(t)sin ω₀t | [F(ω-ω₀) - F(ω+ω₀)]/j2 |
| 时域微分 | dⁿf(t)/dtⁿ | (jω)ⁿF(ω) |
| 频域微分 | (-jt)ⁿf(t) | dⁿF(ω)/dωⁿ |
| 时域积分 | ∫f(τ)dτ(-∞到t) | F(ω)/(jω) + πF(0)δ(ω) |
| 时域卷积 | f₁(t) * f₂(t) | F₁(ω)·F₂(ω) |
| 频域卷积 | f₁(t)·f₂(t) | (1/2π)F₁(ω) * F₂(ω) |
两个重要关系
- 面积关系:时域函数曲线下的面积 = 傅里叶变换在 ω=0 处的值 ∫f(t)dt = F(0)
- 能量守恒(Parseval 定理): ∫|f(t)|²dt = (1/2π)∫|F(ω)|²dω
从拉普拉斯变换求傅里叶变换
如果 F(s) 的所有极点都在 s 平面左半平面(因果稳定系统),则:
F(ω) = F(s) |_{s=jω}
系统函数 H(ω)
- 定义:H(ω) = Y(ω)/X(ω)(输出傅里叶变换 / 输入傅里叶变换)
- 等于冲激响应的傅里叶变换:H(ω) = ℱ{h(t)}
- |H(ω)| 是幅频响应,∠H(ω) 是相频响应
第9章:离散时间系统与 Z 变换
Z 变换的地位
Z 变换之于离散时间信号,如同拉普拉斯变换之于连续时间信号——是分析离散系统的核心数学工具。
定义
- 单边 Z 变换:F(z) = Σf[n]z^(-n)(n = 0 到 +∞)
- 记号:F(z) = 𝒵{f[n]}
- 逆 Z 变换:f[n] = (1/j2π)∮F(z)z
核心性质
| 性质 | 时域 | z 域 |
|---|---|---|
| 线性 | af₁[n] + bf₂[n] | aF₁(z) + bF₂(z) |
| 右移(因果序列) | f[n-m]u₀[n-m] | z^(-m)F(z) |
| 右移(一般情况) | f[n-m] | z^(-m)F(z) + Σf[n-m]z^(-n)(n=0到m-1) |
| 左移 | f[n+m] | z^mF(z) - Σf[n+m]z^(-n)(n=-m到-1) |
| 指数加权 | aⁿf[n] | F(z/a) |
| 指数衰减 | e^(-naT)f[n] | F(e^(aT)z) |
| 线性加权 | n·f[n] | -z dF(z)/dz |
常用 Z 变换对
| f[n] | F(z) |
|---|---|
| δ[n] | 1 |
| u₀[n](单位阶跃) | z/(z-1) |
| aⁿu₀[n] | z/(z-a) |
| n·aⁿu₀[n] | az/(z-a)² |
| n²aⁿu₀[n] | az(z+a)/(z-a)³ |
| cos(nωT)u₀[n] | z(z-cosωT)/(z²-2z cosωT + 1) |
| sin(nωT)u₀[n] | z sinωT/(z²-2z cosωT + 1) |
s 域与 z 域的映射
- 映射关系:z = e
- s 平面左半平面 → z 平面单位圆内(稳定 ↔ 稳定)
- s 平面虚轴 → z 平面单位圆
- s 平面右半平面 → z 平面单位圆外
离散系统传递函数
- H(z) = Y(z)/X(z) = 输出Z变换 / 输入Z变换
- 等于单位冲激响应的 Z 变换:H(z) = 𝒵{h[n]}
- 稳定性判据:所有极点都在 z 平面单位圆内
离散状态方程
x[n+1] = Ax[n] + bu[n]
y[n] = Cx[n] + du[n]
形式上与连续时间状态方程类似,只是微分变成了差分。
第10章:DFT 与 FFT 算法
DFT(离散傅里叶变换)定义
N 点 DFT:
X[m] = Σx[n]e^(-j2πmn/N) (n = 0 到 N-1,m = 0,1,...,N-1)
逆 DFT:
x[n] = (1/N)ΣX[m]e^(j2πmn/N) (m = 0 到 N-1,n = 0,1,...,N-1)
- W_N = e^(-j2π/N) 称为旋转因子(twiddle factor)
- X[m] 一般为复数:实部 + 虚部
DFT 的奇偶性质
- x[n] 为实序列 → X[m] 共轭对称:X[N-m] = X*[m]
- x[n] 为实偶序列 → X[m] 为实偶序列
- x[n] 为实奇序列 → X[m] 为虚奇序列
采样定理(Sampling Theorem)
若连续信号的最高频率为 f_max,则采样频率 f_s 必须满足 f_s > 2f_max,才能从采样信号中无失真地恢复原始信号。
- 2f_max 称为奈奎斯特频率(Nyquist frequency)
- 不满足时会发生混叠(aliasing)——高频成分折叠到低频
FFT(快速傅里叶变换)
- 直接计算 N 点 DFT 需要约 N² 次复数乘法
- FFT 算法利用旋转因子的对称性和周期性,将复杂度降至 N·log₂N
- 当 N = 1024 时,直接计算需要约 100 万次乘法,FFT 只需约 1 万次——100 倍加速
FFT 的两类算法
- 按时间抽取(DIT, Decimation-In-Time):按输入序列下标的奇偶分组
- 按频率抽取(DIF, Decimation-In-Frequency):按输出序列下标的奇偶分组
蝶形运算(Butterfly)
FFT 的基本运算单元。每级包含 N/2 个蝶形,共 log₂N 级。
- 输入/输出排序问题:
- 位反转序输入,自然序输出(shuffled input, natural output)
- 自然序输入,位反转序输出
- 自然序输入,自然序输出(需要额外内存或重排)
MATLAB 工具
fft(x):计算 DFTifft(x):计算逆 DFT
第11章:模拟与数字滤波器
滤波器分类
按频率响应分
| 类型 | 功能 |
|---|---|
| 低通(Low-Pass) | 通过低频,衰减高频 |
| 高通(High-Pass) | 通过高频,衰减低频 |
| 带通(Band-Pass) | 通过某一频段 |
| 带阻(Band-Elimination/Stop) | 衰减某一频段 |
| 全通(All-Pass) | 幅度不变,只改变相位 |
按实现方式分
- 模拟滤波器:RLC 无源 / 运放有源
- 数字滤波器:算法实现,分两类:
- IIR(无限冲激响应):h[n] 无限长,有反馈环路
- FIR(有限冲激响应):h[n] 有限长,无反馈,可做线性相位
模拟低通滤波器原型
低通是基础——高通、带通、带阻都可以通过频率变换从低通原型得到。
1. Butterworth(巴特沃斯)滤波器
- 特点:通带内幅度响应最平坦(maximally flat)
- 幅频平方函数:A²(ω) = 1 / [(ω/ω_C)^(2k) + 1]
- 极点分布:在 s 平面左半平面,均匀分布在半径为 ω_C 的圆上
- 阶数 k 越高,过渡带越陡
2. Chebyshev Type I(切比雪夫I型)
- 特点:通带内有等波纹(ripple),过渡带更陡
- 基于 Chebyshev 多项式 C_k(x)
- 通带纹波 Rp 越小,性能越接近 Butterworth;纹波越大,过渡带越陡
3. Chebyshev Type II(切比雪夫II型 / 逆切比雪夫)
- 特点:通带平坦,阻带内有等波纹
- 与 I 型互补:I 型在通带内波纹,II 型在阻带内波纹
- ω_C 定义阻带的起始频率
4. Elliptic / Cauer(椭圆滤波器)
- 特点:通带和阻带都有等波纹,过渡带最陡(同阶数下性能最优)
- 基于椭圆函数和椭圆积分
- 相同性能指标下,椭圆滤波器所需阶数最低
四种模拟滤波器对比
| 类型 | 通带 | 阻带 | 过渡带陡度 | 相位线性度 |
|---|---|---|---|---|
| Butterworth | 最平坦 | 单调 | 一般 | 较好 |
| Chebyshev I | 等波纹 | 单调 | 较陡 | 较差 |
| Chebyshev II | 平坦 | 等波纹 | 较陡 | 中等 |
| Elliptic | 等波纹 | 等波纹 | 最陡 | 最差 |
频率变换
从低通原型变换到其他类型:
| 变换类型 | MATLAB 函数 |
|---|---|
| 低通 → 低通(不同截止) | lp2lp |
| 低通 → 高通 | lp2hp |
| 低通 → 带通 | lp2bp |
| 低通 → 带阻 | lp2bs |
数字滤波器
- IIR 滤波器设计:通常先设计模拟原型,再通过双线性变换等方法映射到数字域
- FIR 滤波器设计:窗函数法、频率采样法等
- FIR 的优势:可以做到严格线性相位,且一定稳定
- IIR 的优势:相同性能下阶数更低,计算量更小
MATLAB 滤波器设计工具
| 函数 | 用途 |
|---|---|
buttap(N) | N 阶归一化 Butterworth 低通原型(零极点增益形式) |
cheb1ap(N,Rp) | N 阶 Chebyshev I 型低通原型 |
ellip(N,Rp,Rs,Wn,'s') | 椭圆模拟低通滤波器 |
zp2tf | 零极点 → 传递函数 |
lp2lp / lp2hp / lp2bp / lp2bs | 频率变换 |
bode(num,den) | 绘制幅频/相频响应 |
附录概览
附录 A:MATLAB 入门
- 命令窗口、多项式求根、多项式构造与求值
- 有理多项式、绘图(含子图)
- 脚本文件与函数文件、显示格式
附录 B:复数复习
- 定义、加减乘除、指数形式与极坐标形式
附录 C:矩阵与行列式
- 矩阵运算、特殊矩阵(单位/对角/三角/对称/反对称)
- 行列式、余子式、Cramer 法则、高斯消元
- 伴随矩阵、逆矩阵、线性方程组求解
关键概念与学习要点
三大变换的关系
连续时间 ──Laplace──→ s 域
│ │
│ 令 s=jω │ 令 s=jω(稳定条件下)
↓ ↓
连续时间 ──Fourier──→ 频域
│
│ 采样
↓
离散时间 ──Z变换────→ z 域
│ │
│ 令 z=e^(jωT) │
↓ ↓
离散时间 ──DFT/FFT──→ 离散频域
卷积的统一地位
- 时域:y(t) = x(t) * h(t)(LTI 系统输入输出关系)
- 变换域:Y(s) = X(s)·H(s) / Y(ω) = X(ω)·H(ω) / Y(z) = X(z)·H(z)
- 卷积定理是所有变换方法的核心价值所在——把时域的卷积运算转化为变换域的乘法
稳定性判据
| 系统类型 | 稳定条件 |
|---|---|
| 连续时间 LTI | 传递函数所有极点在 s 平面左半平面 |
| 离散时间 LTI | 传递函数所有极点在 z 平面单位圆内 |
学习建议
- 掌握变换对和性质表:这是快速解题的基础
- 理解卷积的物理意义:图解法是最好的入门
- 重视对称性:无论傅里叶级数还是 DFT,对称性都能大幅简化计算
- MATLAB 实践:教材的最大特色——每章都有 MATLAB 示例,动手验证比死记公式有效
- 滤波器设计要理解权衡:没有”最好”的滤波器,只有最适合的——Butterworth 相位好、Elliptic 阶数低、Chebyshev 介于两者之间
关联笔记
- 《算法导论》-Introduction to Algorithms-第3版-CLRS — FFT 算法的理论分析
- 《深入理解计算机系统》-Computer-Systems-A-Programmer-s-Perspective-第3版-Bryant-O-Hallaron — 计算机系统层面的信号与中断
- 《结构化计算机组成》-Structured-Computer-Organization-第6版-Tanenbaum — 数字逻辑与计算机组成层面的信号处理