采样、混叠与重建¶
采样把连续世界交给计算机处理。它不是简单地“每隔一段时间读一次”,而是必须处理带宽、混叠、量化和时钟误差的一整条工程链路。
1. 理想采样模型¶
以周期 \(T_s\) 对连续信号 \(x_c(t)\) 采样:
采样频率为
可把理想采样看成原信号与冲激列相乘:
时域相乘对应频域卷积,所以采样后的频谱是原频谱每隔 \(f_s\) 复制一次:
2. Nyquist–Shannon 采样定理¶
如果原信号严格带限,最高频率为 \(f_{\max}\),要无失真重建,理想条件下必须满足
\(2f_{\max}\) 称为 Nyquist 采样率;给定采样率时,\(f_s/2\) 称为 Nyquist 频率。
两个术语不要颠倒
- 信号最高频率为 100 Hz,它的 Nyquist 采样率是 200 Hz;
- 系统采样率为 1000 Hz,它的 Nyquist 频率是 500 Hz。
严格等于两倍在边界相位、非理想滤波器和时钟误差下没有余量,工程中不会只取临界值。
3. 混叠:高频伪装成低频¶
离散正弦满足
因此模拟频率相差整数倍 \(f_s\) 的正弦,在采样后无法区分。一个输入频率 \(f\) 会折叠到 \([0,f_s/2]\) 内的混叠频率,可用
选择合适整数 \(k\) 使结果落入 Nyquist 区间。
混叠计算
以 \(f_s=100\) Hz 采样 80 Hz 正弦:
离散数据看起来像 20 Hz。数字滤波器看到的已经是 20 Hz,之后无法判断它原本来自 80 Hz。
生活中的车轮倒转、相机拍 LED 出现条纹,都是时间或空间采样造成的混叠现象。
4. 抗混叠滤波器为什么必须在 ADC 前¶
正确的采集链路是:
flowchart LR
A[物理信号] --> B[传感器 / 模拟前端]
B --> C[模拟抗混叠低通]
C --> D[采样保持]
D --> E[ADC 量化]
E --> F[数字滤波与算法]
模拟抗混叠滤波器在采样前削弱 \(f_s/2\) 以上的频率,防止它们折叠进目标频带。数字滤波发生在混叠之后,不能撤销频率身份的丢失。
怎样初步选择采样率¶
假设关注频带上限为 \(f_b\):
- 确定有用信号带宽,而不只是“信号变化看起来多快”;
- 找出传感器噪声、机械共振、PWM 等最高干扰频率;
- 给模拟滤波器留出从通带到 \(f_s/2\) 的过渡带;
- 在算力、延迟、数据吞吐和滤波难度之间选 \(f_s\)。
工程经验不是定理
初步设计常取 \(f_s\) 为目标带宽的 5~20 倍,以给滤波器留出过渡带并改善时域分辨率,但最终倍率应由允许衰减、滤波器阶数、延迟和干扰谱共同决定。不能把“10 倍采样”当作普适定律。
5. 理想重建与实际保持¶
带限信号可由样本通过 sinc 插值理想重建:
这里使用归一化定义 \(\mathrm{sinc}(v)=\sin(\pi v)/(\pi v)\)。
每个样本展开成一条 sinc,所有 sinc 相加后穿过全部样本点。理想重建需要无限长 sinc,现实中只能近似。
DAC 常使用零阶保持(ZOH):在下一个样本到来前保持当前电压不变,输出呈台阶状,再通过模拟重建低通滤波器变平滑。ZOH 自身也会造成随频率增加的幅值下垂和延迟。
6. 量化:时间离散后,幅值也要离散¶
若 \(N\) 位 ADC 的满量程输入范围为 \(V_{FS}\),理想量化步长近似为
舍入量化误差通常满足
Example
12 位 ADC、输入范围 0~3.3 V:
这只是理想分辨率。参考源噪声、前端噪声、增益误差、非线性和 PCB 布局都会降低有效位数。
对满足常见假设的满量程正弦,理想 ADC 的量化信噪比近似为
该式不等于任何输入下的实际精度,也不包含外部噪声和失真。
7. 真实采样还会遇到什么¶
| 问题 | 表现 | 应对方向 |
|---|---|---|
| 时钟抖动 | 采样时刻不准,高频信号误差更明显 | 低抖动时钟、降低输入带宽 |
| 采样不同步 | 多传感器时间戳错位,融合产生偏差 | 硬件触发、统一时钟、时间戳补偿 |
| ADC 饱和 | 输入超量程,波形削顶 | 合理增益、钳位保护、量程设计 |
| 分辨率不足 | 小变化被吞没,呈台阶 | 合适量程、更高有效位数、合理过采样 |
| 通道串扰 | 多路 ADC 切换后读数互相影响 | 延长采样时间、缓冲、丢弃首样本 |
| 延迟 | 滤波与传输造成控制相位滞后 | 统一做时延预算 |
过采样能做什么¶
过采样配合低通和抽取,可以降低目标带宽内的白量化噪声并放宽模拟滤波器过渡带;但它不能:
- 修复已经饱和的输入;
- 消除系统性增益误差;
- 凭空获得超过模拟前端噪声底的有效精度;
- 替代采样前必要的抗混叠限制。
8. 机器人例子:关节信号链¶
假设关节控制带宽约 20 Hz,编码器以 1 kHz 采样:
- 1 kHz 远高于两倍控制带宽,有利于控制器实时更新;
- 但编码器边沿、机械共振或电机 PWM 干扰可能远高于 20 Hz,仍需模拟/硬件端限制进入测量链的高频成分;
- 数字低通可进一步抑制带内外噪声,但截止频率不能低到明显拖慢闭环;
- 速度若由角度差分得到,高频噪声会被放大,需要联合设计估计器和滤波器;
- 采样、通信、计算、PWM 更新的总延迟都应计入控制设计。
9. 本章自测¶
1. 以 1 kHz 采样时,700 Hz 正弦会混叠到多少 Hz?
\(|700-1000|=300\) Hz,因此采样后与 300 Hz 正弦无法仅凭样本区分。
2. 为什么不能先 ADC,再用数字低通阻止混叠?
ADC 采样时频谱副本已经重叠,高频成分已变成同一组低频样本;数字滤波无法知道它原来的频率身份。
3. 信号最高频率是 200 Hz,采样率取 400 Hz 是否稳妥?
不稳妥。理论条件要求严格大于 400 Hz;实际滤波器还需要过渡带,并且信号不会理想带限,应留足裕量。
4. 16 位 ADC 是否必然比 12 位 ADC 测得更准?
不必然。位数提高的是理想码数;实际准确度还受参考源、噪声、非线性、前端增益、布局和有效位数限制。
下一步:Z 变换与离散系统。