Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

加快传感器轮询速度可能只会重复获取相同的值。采样数据中的低频特征也可能是高频输入的折叠。本实验表明,两个不同的连续信号会产生无法区分的样本。

区分四种速率和带宽

ODR 是新传感器输出的速率;轮询是指主机读取数据的频率。带宽描述了哪些输入频率可以接收,而记录速率描述了哪些数据会被保留。100 Hz 的 ODR 并未指定独立于内部滤波的带宽。以 1 kHz 的频率轮询同一个寄存器不一定会产生 1000 个新样本。

对于 FIFO 设备,批量到达时间也与单个采集时间不同。应检查设备的时间戳,而不是将到达时间视为均匀的测量值。

两个波形,相同的样本

在 20 Hz 的采样率下,时间戳为 n/20 秒。这两个 12 Hz 和 8 Hz 的余弦信号重合:

\cos(2\pi\cdot12n/20)=\cos(2\pi\cdot8n/20),\qquad n\in\mathbb Z

因为 12 = 20 - 8,去除整数周期相位会导致符号反转。余弦函数为偶函数,因此相等。这是一个相位对齐的余弦信号示例,并非声称任意信号都能保持相同的形式。

运行并检查

下载 脚本 并运行 python3 engineering_labs.py。该脚本使用 Python 3.12.3、NumPy 1.26.4 和 Matplotlib 3.6.3 执行。在 0 到 1.95 秒的 40 个样本中,最大差异约为 2.24×10⁻¹⁴,与浮点数舍入一致。也可以在电子表格中检查 CSV 文件。

Diagram 1 · Use the button to switch views
不同的 12 Hz 和 8 Hz 连续余弦信号,采样频率均为 20 Hz;时间单位为秒,振幅无量纲。

图中放大至 0–0.5 秒。连续曲线各不相同,但黑色采样点重合。仅凭这些采样点无法确定它们是由哪个输入信号产生的。

奈奎斯特条件有其假设

对于基带重建,应将最高输入频率保持在采样率的一半以下。接近相等时,相位甚至可能产生全零采样点,因此两倍频率并非实际可行的裕量。带外振动和噪声也会混叠。请参阅ADI 抗混叠解释。

一旦不需要的内容混叠到信号频带中,仅靠后续的平滑处理无法将其与原始信号分离。ADC 混叠解释区分了预采样模拟滤波和后续处理。

抽取可能会引入新的混叠

保留 100 Hz 日志中每五个样本中的一个,得到 20 Hz 的采样率。此时,正确记录的 12 Hz 分量超过了新的 10 Hz 奈奎斯特频率。在下采样之前,需要对新的带宽进行低通滤波,以考虑过渡带和延迟。

平均会改变频率响应,但不能保证足够的带外抑制。平滑的曲线和成功的抗混叠是两个不同的概念。

按顺序检查实际日志

检查 ODR、内部滤波器、FIFO 和时间戳的含义。使用计数器和间隔查找重复项和间隙。将多个采样率与已知输入或稳定条件下的数据进行比较。如果频谱峰值随采样率变化而移动,则表明存在混叠,但机械运行条件也必须保持不变。在解读 IMU 噪声统计 之前,请完成这些检查。

What to read next

Analyze statistics after validating sampling.读取静止IMU日志:偏差、散布和艾伦偏差Continue the series旋转编码器的工作原理——光学和磁性Explore another aspect of this field机器人电源设计——诊断电机启动期间的计算机重置