总复习与练习¶
真正掌握信号与系统,不是记住最多公式,而是看到问题后能判断:对象是什么、条件是什么、该在哪个域里解决。
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
最核心的一句话是:
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 与卷积¶
傅里叶¶
拉普拉斯与 Z¶
采样¶
5. 综合案例一:编码器角度到可用速度¶
任务:从编码器角度样本 \(\theta[n]\) 估计电机速度,供控制器使用。
第一步:确认采样¶
采样周期 \(T_s\) 决定可观察频带和控制更新速度。必须在 ADC/编码器采集之前限制可能混叠的高频干扰,并保证时间戳准确。
第二步:差分估计¶
最简单的后向差分:
其系统函数为
它在 \(z=1\) 有零点,会去掉常值角度;同时高频增益较大,所以量化噪声和测量噪声会被放大。
第三步:低通平滑¶
可接一阶 IIR:
\(0<\alpha<1\) 时极点 \(1-\alpha\) 在单位圆内,系统稳定。\(\alpha\) 越小,平滑越强,但滞后越大。
第四步:看整体,而非孤立模块¶
串联后的系统函数
设计时要同时看:
- 目标运动频带内的幅值误差;
- 相位滞后对闭环稳定性的影响;
- 编码器量化造成的低速跳变;
- 采样与通信抖动;
- 参数在实际 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[接触概率]
这一案例不是某块芯片的固定电路,而是用信号与系统知识回答五个问题:
- 原始 sEMG 中混合了哪些信号?
- 模拟和数字滤波分别放在哪里?
- 采样率为什么这样选?
- 一帧模型输入是怎样形成的?
- 怎样验证系统没有“滤得很好看,却丢掉有用信息”?
6.1 先建立信号模型¶
第 \(i\) 个电极通道的测量可以粗略写成
| 分量 | 含义 | 常见表现 |
|---|---|---|
| \(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 模拟前端是第一个系统¶
在线性工作区内,可以把每一级近似成 LTI 系统。整个模拟链的频率响应是各级乘积:
设计时不只要看通带增益,还要检查:
- 输入阻抗和共模抑制能否应对干电极的接触差异;
- 静息、强收缩和运动伪迹下是否都会饱和;
- 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 吞吐量约为
这还没有计算时间戳、包头、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 削顶更是非线性失真,削顶后不能靠滤波恢复原波形。
若确实需要数字陷波,可用二阶结构说明零极点设计思想:
其中
零点放在单位圆的 \(e^{\pm j\Omega_0}\) 处,用于压低 \(f_0=50\) Hz;极点放在相同角度、半径 \(r<1\) 处,使陷波较窄并保持稳定;\(K\) 用于校正所需频率处的增益。\(r\) 越接近 1,陷波越窄,但对系数量化和频率漂移也越敏感。
6.5 从样本变成模型的一帧输入¶
假设窗口长度为 200 ms、步长为 20 ms,在 \(f_s=2\) kHz 时:
因此每个 sEMG 窗口是 \(16\times400\) 的矩阵,模型每秒更新 50 次。窗口可以走两条路线:
每通道可计算平均绝对值和均方根:
还可计算波形长度、过零率和频域特征,再把 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 最小可行验证顺序¶
- 短接/测试源验证:先不用人体,测输入短接噪声、已知正弦增益和 16 通道一致性。
- 频率响应验证:扫频确认模拟与数字带通的实际截止频率、通带波动和相位延迟。
- 抗混叠验证:注入高于 Nyquist 的信号,确认模拟低通能把潜在混叠压到允许范围。
- 人体静息与动作对比:看原始波形和功率谱,不只看整流后的“漂亮曲线”。
- 佩戴重复性:摘下重戴、旋转少量角度、改变松紧,评估通道分布和模型性能变化。
- 同步验证:用可同时被各设备观察的事件测量 sEMG、IMU、动捕和力标签的时间偏差。
- 端到端验证:同时报告准确度、连续回归误差、丢包率、更新率和端到端延迟。
人体连接的安全边界
教学原型阶段至少应采用电池供电,并在佩戴时断开未经验证隔离的充电器、示波器地夹、台式电源和有线 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,因此
练习 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\):
练习 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 图和稳定性分析会顺畅很多。