等效时间采样(欠采样导语)
设想一下一个 1 Hz 正弦波,周期 1 秒。每隔 1.1 秒对它采样一次,采样率 0.909 Hz,低于信号频率本身。按采样(二)的规则,这个采样率连 0.5 Hz 都恢复不了。
但图中的采样点,真的什么信息都没有了吗?
采样点的相位分布
Section titled “采样点的相位分布”信号频率 1 Hz,采样间隔 1.1 s。两次采样之间,信号走过
整数部分(1 个周期)对正弦来说等于没走,有效的只是小数部分 0.1 个周期,对应相位前进 。
列出 10 个点的等效相位:
| 采样时刻 (s) | 信号走过的总周期数 | 等效相位(取小数部分 × 360°) | |
|---|---|---|---|
| 0 | 0 | 0 | 0° |
| 1 | 1.1 | 1.1 | 36° |
| 2 | 2.2 | 2.2 | 72° |
| 3 | 3.3 | 3.3 | 108° |
| 4 | 4.4 | 4.4 | 144° |
| 5 | 5.5 | 5.5 | 180° |
| 6 | 6.6 | 6.6 | 216° |
| 7 | 7.7 | 7.7 | 252° |
| 8 | 8.8 | 8.8 | 288° |
| 9 | 9.9 | 9.9 | 324° |
10 个点把一整圈等分成了 10 份。
每次采样跳过 ,10 步正好走完一圈。把这些点按相位从小到大排列,就等于在一个周期内均匀放了 10 个点。你看,神奇的事情发生了,信号被恢复了出来。
实际采样率 0.909 Hz,等效采样率 10 Hz。
这种神奇的做法叫等效时间采样,用多个周期的慢速采样拼出一个周期的密集采样效果。
相位步进与等效采样率
Section titled “相位步进与等效采样率”设信号周期 ,采样间隔 ,每次采样的相位步进是
这里 是 除以 的余数。, 时,余数是 0.1 s,步进 。
覆盖一整圈需要的采样次数是
等效采样率就是
(当 略大于 时,)
采样间隔越接近信号周期,相位步进越小,需要的采样次数越多,等效采样率越高,但总观测时间也越长。
| 采样间隔 | 相位步进 | 覆盖一圈的次数 | 等效采样率 | 总观测时间 |
|---|---|---|---|---|
| 1.1 s | 36° | 10 | 10 Hz | 11 s |
| 1.01 s | 3.6° | 100 | 100 Hz | 101 s |
| 1.001 s | 0.36° | 1000 | 1000 Hz | 1001 s |
两者乘积近似为常数 。
我们从采样后的信号角度看下。设信号 ,第 个样本
, 时
的周期性让 消失
数字系统看到的是归一化频率 周期/样本的正弦序列。这个序列和 信号以 采样的结果数值相同()。
0.909 Hz 采样让频谱按 0.909 Hz 间隔复制。1 Hz 的谱线原本在 ,复制后出现在
取 :
已知信号在 1 Hz 附近,,反推
欠采样把高频谱线折到低频位置,只要目标频率已知,就能从折回位置反推回去。
我们现在换一个信号,频率 ,周期 11 秒。用 0.909 Hz 采样时奈奎斯特准则满足(),采样后频谱仍在 0.091 Hz,没有折回。
1 Hz 欠采样折回到 0.091 Hz,0.091 Hz 常规采样也在 0.091 Hz。两个信号的采样序列数值相同。
写出两个信号的序列:
完全相同。数字系统面对的只是 这串数字,无法判断它来自 1 Hz 还是 0.091 Hz。
| 输入信号 | 采样率 | 数字频率 | 能否区分 |
|---|---|---|---|
| 1 Hz | 0.909 Hz | 0.1 周期/样本 | 不能 |
| 0.091 Hz | 0.909 Hz | 0.1 周期/样本 | 不能 |
如果这两个信号同时存在,它们的能量在 0.091 Hz 处叠加,无法分离。欠采样只在提前知道目标频率范围的前提下才能用,采样率设计时得保证目标频率折回后的位置不和其他可能存在的频率重合。
等效时间采样把来自不同周期的样本拼到一个周期里,前提是每个周期的波形都一样。
如果信号在第 5 个周期发生了形变(比如幅度变了、频率漂了),那么第 5 次采样取到的值就不再代表”第 0 个周期在 180° 处的值”。拼出来的波形既不属于第 0 个周期,也不属于第 5 个周期,是个不存在的波形。
所以等效时间采样只适用于严格周期信号或重复触发信号。
示波器中的等效时间采样
Section titled “示波器中的等效时间采样”高带宽示波器经常用这个方法。被测信号重复频率 1 GHz(周期 1 ns),ADC 最高采样率只有 100 MHz(间隔 10 ns)。
每次触发时,让采样时刻相对触发沿偏移一个固定的小量 。第一次触发采在触发沿后 0 ns,第二次采在触发沿后 0.01 ns,第三次在 0.02 ns……
100 次触发后,1 ns 内的 100 个采样点就都覆盖到了,等效采样率 100 GHz。
不过这要花时间,100 次触发、每次间隔至少一个信号周期,总时间至少 100 ns。如果信号在这 100 ns 内形状发生了变化,比如抖动、漂移,拼出来的波形就会失真。
示波器规格表上的”等效采样率”和”实时采样率”不是一回事。实时采样率是一次触发内 ADC 能跑多快,等效采样率是多次触发拼接后的有效点密度。
我们实操可以实际非常简单,本人本科电赛的时候,经常用stm32玩这个。可以看下我本科时候写的教程。实际操作过程中,受限于定时器的触发准确性与ADC的采样保持时间,并不能实现短时间精准的时间偏移和采样,所以这个办法实施受限。
☠️stm32Cubemx欠采样(等效采样)原理讲解与实现 采集高频信号_stm32之tim+adc+dma采集50hz交流信号-CSDN博客