跳转至

总复习与练习

真正掌握信号与系统,不是记住最多公式,而是看到问题后能判断:对象是什么、条件是什么、该在哪个域里解决。


1. 全课程主线

flowchart TB
    A[信号 x] --> B{连续 t 还是离散 n?}
    B -->|连续| C[微分方程 / h(t)]
    B -->|离散| D[差分方程 / h[n]]
    C --> E[卷积积分]
    D --> F[卷积求和]
    E --> G[傅里叶:频谱与频率响应]
    F --> H[DTFT:离散频率响应]
    C --> I[拉普拉斯:极点、ROC、传递函数]
    D --> J[Z 变换:极点、ROC、系统函数]
    G --> K[滤波]
    H --> K
    I --> L[连续系统稳定性与响应]
    J --> M[离散系统稳定性与实现]
    G --> N[采样]
    N --> H

最核心的一句话是:

\[ \boxed{\text{LTI:时域卷积}\quad\Longleftrightarrow\quad\text{变换域相乘}} \]

2. 工具选择速查

你遇到的问题 首选工具 先检查
判断一个变换规则是否是 LTI 性质定义 叠加性、两条延时路径
已知输入和冲激响应,求输出 卷积 连续还是离散、支撑区间和下标
分析周期信号的谐波 傅里叶级数 / DTFS 基波周期是否存在
分析非周期信号的频谱 FT / DTFT 收敛、频率单位
求 LTI 系统对正弦的稳态响应 \(H(j\omega)\) 或 \(H(e^{j\Omega})\) 幅值与相位都要算
解带初始条件的微分方程 单边拉普拉斯 初始值取 \(0^-\) 还是 \(0^+\)
连续系统稳定性 \(H(s)\) 极点 + ROC 是否因果、有理
解差分方程、设计数字滤波器 Z 变换 零初始还是非零初始
离散系统稳定性 \(H(z)\) 极点 + ROC 单位圆是否在 ROC
模拟信号进入 ADC 采样定理 信号带宽、抗混叠、量程与延迟

3. 三组容易混淆的概念

3.1 连续、离散、数字

  • 连续时间:自变量 \(t\) 连续;
  • 离散时间:只在整数 \(n\) 上定义;
  • 数字信号:通常时间离散,幅值也被量化并编码。

离散时间信号的幅值在数学上仍可以是任意实数,所以“离散”不自动等于“数字”。

3.2 因果、稳定、线性

它们是不同维度:

  • 因果系统可以不稳定,如累加器;
  • 稳定系统可以非因果,如离线对前后样本取平均;
  • 非线性系统也可以稳定,如 \(y=\tanh x\);
  • LTI 只保证线性和时不变,不自动保证因果或稳定。

3.3 傅里叶、拉普拉斯、Z

变换 面向对象 观察区域 主要优势
傅里叶 连续信号 \(s\) 平面的虚轴 直接看频率
DTFT 离散信号 \(z\) 平面的单位圆 看离散频率
拉普拉斯 连续信号 \(s=\sigma+j\omega\) 平面 收敛域、微分方程、连续极点
Z 离散信号 \(z=re^{j\Omega}\) 平面 收敛域、差分方程、离散极点

只有当拉普拉斯 ROC 包含虚轴时,傅里叶变换才可由 \(s=j\omega\) 得到;只有当 Z 变换 ROC 包含单位圆时,DTFT 才存在。


4. 最小公式表

LTI 与卷积

\[ y(t)=x(t)*h(t)=\int_{-\infty}^{\infty}x(\tau)h(t-\tau)d\tau \]
\[ y[n]=x[n]*h[n]=\sum_{k=-\infty}^{\infty}x[k]h[n-k] \]

傅里叶

\[ X(j\omega)=\int_{-\infty}^{\infty}x(t)e^{-j\omega t}dt,\qquad Y=XH \]
\[ X(e^{j\Omega})=\sum_{n=-\infty}^{\infty}x[n]e^{-j\Omega n},\qquad \Omega=2\pi f/f_s \]

拉普拉斯与 Z

\[ X(s)=\int_{-\infty}^{\infty}x(t)e^{-st}dt,\qquad H(s)=\frac{Y(s)}{X(s)} \]
\[ X(z)=\sum_{n=-\infty}^{\infty}x[n]z^{-n},\qquad H(z)=\frac{Y(z)}{X(z)} \]

采样

\[ f_s>2f_{\max},\qquad \Omega=2\pi\frac f{f_s},\qquad \Delta\approx\frac{V_{FS}}{2^N} \]

5. 综合案例一:编码器角度到可用速度

任务:从编码器角度样本 \(\theta[n]\) 估计电机速度,供控制器使用。

第一步:确认采样

采样周期 \(T_s\) 决定可观察频带和控制更新速度。必须在 ADC/编码器采集之前限制可能混叠的高频干扰,并保证时间戳准确。

第二步:差分估计

最简单的后向差分:

\[ \hat\omega[n]=\frac{\theta[n]-\theta[n-1]}{T_s} \]

其系统函数为

\[ H_d(z)=\frac{1-z^{-1}}{T_s} \]

它在 \(z=1\) 有零点,会去掉常值角度;同时高频增益较大,所以量化噪声和测量噪声会被放大。

第三步:低通平滑

可接一阶 IIR:

\[ \omega_f[n]=\alpha\hat\omega[n]+(1-\alpha)\omega_f[n-1] \]
\[ H_f(z)=\frac{\alpha}{1-(1-\alpha)z^{-1}} \]

\(0<\alpha<1\) 时极点 \(1-\alpha\) 在单位圆内,系统稳定。\(\alpha\) 越小,平滑越强,但滞后越大。

第四步:看整体,而非孤立模块

串联后的系统函数

\[ H_{total}(z)=H_d(z)H_f(z) \]

设计时要同时看:

  • 目标运动频带内的幅值误差;
  • 相位滞后对闭环稳定性的影响;
  • 编码器量化造成的低速跳变;
  • 采样与通信抖动;
  • 参数在实际 MCU 数值格式中的精度。

这个例子把信号、系统、频率响应、Z 变换、采样和控制连接在了一起。


6. 综合案例二:16 通道肌电手环

项目目标是用 16 通道腕部 sEMG + 六轴 IMU,连续输出手指关节角、五指法向接触力估计和接触概率。完整信号链可以拆成:

flowchart LR
    A[肌肉活动] --> B[16 路干电极]
    B --> C[差分采集 / EMG AFE]
    C --> D[模拟带宽限制]
    D --> E[ADC 同步采样]
    E --> F[数字预处理]
    G[六轴 IMU] --> H[时间同步]
    F --> H
    H --> I[滑动时间窗]
    I --> J[共享时序编码器]
    J --> K[关节角回归]
    J --> L[五指力回归]
    J --> M[接触概率]

这一案例不是某块芯片的固定电路,而是用信号与系统知识回答五个问题:

  1. 原始 sEMG 中混合了哪些信号?
  2. 模拟和数字滤波分别放在哪里?
  3. 采样率为什么这样选?
  4. 一帧模型输入是怎样形成的?
  5. 怎样验证系统没有“滤得很好看,却丢掉有用信息”?

6.1 先建立信号模型

第 \(i\) 个电极通道的测量可以粗略写成

\[ x_i(t)=m_i(t)+a_i(t)+p_i(t)+n_i(t) \]
分量 含义 常见表现
\(m_i(t)\) 与肌肉活动有关的目标 sEMG 随动作、用力程度和疲劳变化的宽带随机信号
\(a_i(t)\) 运动伪迹 电极相对皮肤移动、接触压力变化造成的低频大幅波动
\(p_i(t)\) 工频及其耦合 50 Hz 附近的窄带干扰,在中国电网环境尤其需要检查
\(n_i(t)\) 电路和环境噪声 前端噪声、数字串扰、射频或电源开关干扰

sEMG 不是一条固定频率的正弦波,而是幅值和统计特征都随动作变化的非平稳信号。频带能够帮助分离干扰,但不同来源的频谱会重叠,所以滤波不可能代替良好的电极接触、模拟前端和 PCB 设计。

示例频带,不是最终产品规格

ISEK 的 EMG 报告规范指出,表面肌电功率在约 5~10 Hz 以下和 400~450 Hz 以上通常已很小,并要求明确记录滤波器类型、截止频率和斜率。本案例先用 20~450 Hz 作为便于计算的目标频带,用 20 Hz 附近的高通减弱腕带运动伪迹;最终截止频率应根据实际电极、任务和采集数据的功率谱重新确定,而不是机械照抄。

6.2 模拟前端是第一个系统

干电极
→ 差分输入与输入保护
→ 低噪声仪表放大器 / 多通道 EMG AFE
→ 模拟高通
→ 增益级
→ 模拟低通抗混叠
→ ADC

在线性工作区内,可以把每一级近似成 LTI 系统。整个模拟链的频率响应是各级乘积:

\[ H_{\text{AFE}}(j\omega) =H_{\text{HP}}(j\omega)\, H_{\text{gain}}(j\omega)\, H_{\text{LP}}(j\omega) \]

设计时不只要看通带增益,还要检查:

  • 输入阻抗和共模抑制能否应对干电极的接触差异;
  • 静息、强收缩和运动伪迹下是否都会饱和;
  • 16 个通道是否真正同步采样,或通道间存在可观的扫描时差;
  • 模拟低通在 \(f_s/2\) 前能否提供足够衰减;
  • 模拟地、数字地、DC/DC 和无线发射是否把干扰耦合进微弱输入。

陷波器不是接触不良的补丁

若 50 Hz 干扰很强,应先检查电极接触、差分走线、屏蔽、参考电极和共模抑制。直接使用很宽或很深的陷波,会同时删除 50 Hz 附近的真实肌电成分。

6.3 用目标带宽反推采样率

以教学参数为例:

参数 示例值 选择理由
sEMG 通道数 16 对应腕部环形多通道采集
目标数字频带 20~450 Hz 保留主要 sEMG,减弱低频运动伪迹
每通道采样率 2 kHz Nyquist 频率为 1 kHz,给模拟抗混叠滤波留下过渡带
ADC 数据宽度 16 bit 用于吞吐量估算,不等同于 16 位有效精度
IMU 采样率 200 Hz(示例) 手部运动频率远低于原始 sEMG,但必须统一时间戳

只看 Nyquist 条件,450 Hz 信号最低要求 \(f_s>900\) Hz;若取 1 kHz,模拟低通要在 450~500 Hz 的极窄区间完成过渡,实际实现很困难。取 2 kHz 后,450 Hz 到 1 kHz 之间有更宽的过渡带。

原始 sEMG 吞吐量约为

\[ R=16\times2000\times16 =512000\ \mathrm{bit/s} =64\ \mathrm{kB/s} \]

这还没有计算时间戳、包头、CRC、重传和 IMU 数据。无线链路选型不能只比较标称速率,需要用真实包长和连接参数实测持续吞吐、丢包率与延迟。

为什么保留原始数据

开发阶段应尽量保存经过模拟带宽限制后的原始 ADC 数据。若只保存整流包络或模型输出,之后就无法重新选择数字滤波器、检查 50 Hz 干扰,也无法验证新算法。

6.4 数字预处理:哪些是 LTI,哪些不是

一个传统处理支路可以写成:

flowchart LR
    A[原始 ADC] --> B[数字带通]
    B --> C[可选 50 Hz 陷波]
    C --> D[全波整流]
    D --> E[低通 / 滑窗]
    E --> F[肌肉激活包络]
  • 数字带通、固定陷波和线性平滑属于 LTI 系统;
  • 取绝对值 \(r[n]=|x[n]|\) 是非线性运算;
  • RMS、按窗口归一化和神经网络也不是 LTI 系统;
  • ADC 削顶更是非线性失真,削顶后不能靠滤波恢复原波形。

若确实需要数字陷波,可用二阶结构说明零极点设计思想:

\[ H_{\text{notch}}(z) =K\frac{1-2\cos\Omega_0z^{-1}+z^{-2}} {1-2r\cos\Omega_0z^{-1}+r^2z^{-2}} \]

其中

\[ \Omega_0=2\pi\frac{f_0}{f_s} \]

零点放在单位圆的 \(e^{\pm j\Omega_0}\) 处,用于压低 \(f_0=50\) Hz;极点放在相同角度、半径 \(r<1\) 处,使陷波较窄并保持稳定;\(K\) 用于校正所需频率处的增益。\(r\) 越接近 1,陷波越窄,但对系数量化和频率漂移也越敏感。

6.5 从样本变成模型的一帧输入

假设窗口长度为 200 ms、步长为 20 ms,在 \(f_s=2\) kHz 时:

\[ N_{\text{window}}=0.2\times2000=400 \]
\[ N_{\text{hop}}=0.02\times2000=40 \]

因此每个 sEMG 窗口是 \(16\times400\) 的矩阵,模型每秒更新 50 次。窗口可以走两条路线:

每通道可计算平均绝对值和均方根:

\[ \mathrm{MAV}_i=\frac1N\sum_{n=0}^{N-1}|x_i[n]| \]
\[ \mathrm{RMS}_i=\sqrt{\frac1N\sum_{n=0}^{N-1}x_i^2[n]} \]

还可计算波形长度、过零率和频域特征,再把 16 通道特征送入回归或分类模型。

将带通后的多通道原始窗口或轻度归一化窗口直接送入 1D CNN、TCN、RNN 或 Transformer。模型自行学习跨通道和时间模式,但仍要保存预处理参数并防止数据泄漏。

六轴 IMU 的采样率较低,不能按数组下标直接与 sEMG 拼接。应使用同一时钟或可靠时间戳,把 IMU 插值/对齐到窗口时间范围,并记录丢样和时钟漂移。

更新率不等于延迟

20 ms 步长意味着每秒可以输出 50 次,但不代表延迟只有 20 ms。系统启动时要先积累一个窗口;稳定运行后,每次输出都依赖最近 200 ms 的历史。总延迟还包括数字滤波群时延、推理、无线打包和机器人执行延迟。

6.6 多任务输出为什么合理

同一个腕部肌电模式可能对应不同姿态和用力程度,仅靠“手势类别”难以描述。可以使用共享编码器和三个输出头:

flowchart TB
    A[16 路 sEMG 窗口 + IMU] --> B[共享时序编码器]
    B --> C[Pose Head<br>关节角回归]
    B --> D[Force Head<br>五指力回归]
    B --> E[Contact Head<br>接触概率]

训练数据需要同步的监督标签:

  • 数据手套、动捕或视觉系统提供手指关节角;
  • 五指力传感器提供法向接触力;
  • 由力阈值或独立触觉标签生成接触状态;
  • 所有设备共享触发、时钟或可测量的时间偏移。

若标签比肌电晚 30 ms,模型可能被迫学习错误的因果关系。因此时间同步不是数据采集的附属功能,而是系统辨识的一部分。

6.7 用本课程知识逐项检查

知识点 在肌电手环中的对应问题
信号分类 sEMG 采样后成为离散时间信号,本身具有随机、非平稳特征
LTI 与卷积 未饱和的 AFE、带通和陷波可近似为 LTI,输出是输入与冲激响应卷积
傅里叶分析 用功率谱观察运动伪迹、有效频带、工频和开关电源干扰
采样定理 模拟抗混叠必须放在 ADC 前,2 kHz 示例对应 1 kHz Nyquist 频率
Z 变换 检查 IIR 滤波器极点是否在单位圆内,分析陷波零点位置
非线性 整流、削顶、RMS 和神经网络不能直接套用 LTI 叠加原理
因果性 实时控制只能使用当前和过去数据,不能使用居中的未来窗口
相位与延迟 滤波和滑窗会改变动作估计时序,必须计入遥操作闭环

6.8 最小可行验证顺序

  1. 短接/测试源验证:先不用人体,测输入短接噪声、已知正弦增益和 16 通道一致性。
  2. 频率响应验证:扫频确认模拟与数字带通的实际截止频率、通带波动和相位延迟。
  3. 抗混叠验证:注入高于 Nyquist 的信号,确认模拟低通能把潜在混叠压到允许范围。
  4. 人体静息与动作对比:看原始波形和功率谱,不只看整流后的“漂亮曲线”。
  5. 佩戴重复性:摘下重戴、旋转少量角度、改变松紧,评估通道分布和模型性能变化。
  6. 同步验证:用可同时被各设备观察的事件测量 sEMG、IMU、动捕和力标签的时间偏差。
  7. 端到端验证:同时报告准确度、连续回归误差、丢包率、更新率和端到端延迟。

人体连接的安全边界

教学原型阶段至少应采用电池供电,并在佩戴时断开未经验证隔离的充电器、示波器地夹、台式电源和有线 USB。面向人体研究或产品化时,应进行专业风险分析、电气隔离与漏电流验证;若产品具有医疗用途,还需按适用法规和 IEC 60601-1 等标准完成合规设计。软件限幅和“低电压”不能代替电气安全措施。

6.9 设计记录至少应包含什么

为了让不同批次、用户和算法的结果可比较,建议记录:

  • 电极材料、尺寸、间距、腕部位置、参考电极与佩戴松紧;
  • 每级增益、输入范围、共模抑制、噪声和是否发生饱和;
  • 模拟/数字滤波器类型、阶数、截止频率和相位方式;
  • ADC 位数、有效位数、采样率、是否同步采样;
  • 整流、归一化、窗口长度、步长和异常通道处理;
  • sEMG、IMU、姿态与力标签的同步方法;
  • 训练集划分是同次佩戴、跨次佩戴还是跨用户。

这也是 ISEK EMG Reporting Standards 和 CEDE-Check 强调完整报告采集与预处理信息的原因。医疗电气设备的基本安全与基本性能范围可参考 IEC 60601-1;具体项目仍需根据预期用途确定适用标准。


7. 综合练习

先独立完成,再展开答案。

练习 1:基本信号

题目: \(x(t)=u(t+1)-u(t-2)\) 的非零区间和能量是多少?

答案: 它在 \(-1\le t<2\) 为 1,持续 3 s,因此

\[ E=\int_{-1}^{2}1^2dt=3 \]
练习 2:系统性质

题目: 判断 \(y[n]=x[n]x[n-1]\) 的线性、时不变、因果、记忆和稳定性。

答案: 乘积使它非线性;固定的一拍延时使它时不变;只用当前和过去输入,所以因果;用到过去输入,所以有记忆。若 \(|x[n]|\le B\),则 \(|y[n]|\le B^2\),所以 BIBO 稳定。

练习 3:卷积

题目: \(x[n]=\{1,1,1\}\),\(h[n]=\{1,-1\}\),均从 0 开始,求输出并解释系统作用。

答案: 卷积为 \(\{1,0,0,-1\}\)。该系统做一阶差分,常值区间内部相消,只在上升和下降边沿产生非零输出。

练习 4:频率响应

题目: 稳定 LTI 系统在 5 Hz 处 \(|H|=2\)、相位为 \(-30^\circ\)。输入 \(x(t)=3\cos(10\pi t+20^\circ)\),求稳态输出。

答案: 输入频率是 5 Hz,输出幅值 \(3\times2=6\),相位 \(20^\circ-30^\circ=-10^\circ\):

\[ y(t)=6\cos(10\pi t-10^\circ) \]
练习 5:拉普拉斯与稳定性

题目: 因果系统 \(H(s)=(s+3)/[(s+1)(s+4)]\) 是否稳定?零点能否改变该判断?

答案: 两极点 \(-1,-4\) 都在左半平面,因此该因果有理系统 BIBO 稳定。稳定性直接由冲激响应绝对可积决定,在无精确极零抵消等特殊情形下由极点决定;零点主要塑造频率响应,不能把右半平面极点“看作没事”。

练习 6:采样

题目: 以 800 Hz 采样含 100 Hz 和 650 Hz 的模拟信号,两个分量在第一 Nyquist 区间分别出现在哪里?

答案: 100 Hz 保持为 100 Hz;650 Hz 混叠为 \(|650-800|=150\) Hz。若需要排除 650 Hz,必须在采样前用模拟滤波器充分衰减它。

练习 7:Z 变换

题目: \(H(z)=1/(1-1.1z^{-1})\) 的因果实现是否稳定?若不稳定,冲激响应怎样变化?

答案: 因果 ROC 为 \(|z|>1.1\),不包含单位圆,因此不稳定。\(h[n]=(1.1)^nu[n]\) 随 \(n\) 指数增长。

练习 8:工程判断

题目: 提高数字低通滤波强度后,IMU 曲线更平滑,是否说明控制效果一定更好?

答案: 不一定。更强滤波通常增加幅值衰减和相位滞后,可能减慢响应甚至降低闭环稳定裕度。要结合噪声谱、控制带宽、总时延和频率响应评估。


8. 学完后的检查清单

  • 能区分 \(x(t)\)、\(x[n]\),以及 Hz、rad/s、rad/sample
  • 能用定义判断线性、时不变、因果、记忆和 BIBO 稳定
  • 能手算短序列卷积与矩形脉冲卷积
  • 能解释冲激响应为什么能完整描述 LTI 系统
  • 能读懂幅度谱、相位谱和频率响应
  • 知道时域微分为什么放大高频噪声
  • 能由微分方程或差分方程得到系统函数
  • 能用极点和 ROC 判断因果性与稳定性
  • 能解释混叠为什么不能靠采样后的数字滤波修复
  • 能在平滑、延迟、带宽和稳定性之间做基本权衡
  • 能为肌电手环画出从人体电极到模型输出的完整信号链

若其中某项还不确定,直接回到对应章节并重做末尾自测。掌握这些内容后,再学习经典控制理论中的传递函数、Bode 图和稳定性分析会顺畅很多。