我想用有限分辨率的 ADC 精确测量正弦波输入的幅度。
例如,假设我有纯正弦波输入到位 ADC。我相信数据中有很多冗余,并且通过一些信号处理,我可以获得比位更高的精度。
有什么方法可以在不改变电路的情况下做到这一点,比如增加噪音或其他硬件变化?
我想用有限分辨率的 ADC 精确测量正弦波输入的幅度。
例如,假设我有纯正弦波输入到位 ADC。我相信数据中有很多冗余,并且通过一些信号处理,我可以获得比位更高的精度。
有什么方法可以在不改变电路的情况下做到这一点,比如增加噪音或其他硬件变化?
正弦波的带宽极小。通过旋转、适当过滤和抽取,可以大大降低采样率。
这些滤波操作中的每一个通常都是求和操作,您可以在其中“平均”消除噪声(这不是您的主要关注点),但也可以获得更精确的幅度估计。
DSP 中的抽取非常常见。无论如何,您可能都想这样做 - 320 MS/s 处理起来真的不好玩,而且您不需要那种带宽。
当然,您也可以用合成的正弦进行相关,并测量相关系数以获得功率/幅度。
其他选项是诸如适当的谱估计器之类的东西 - 有很多可供选择,包括 Welch 的方法或基于 Pisarenko 的方法。特别是如果您的信号很嘈杂,这些可能会很有趣,但这在很大程度上取决于您正在测量的确切内容以及您如何对噪声进行建模。
为了补充 Marcus 的好答案,Marcus 提到的抽取会增加位数,降低到 ADC 的无杂散动态范围 (SFDR)。此外,如果您可以修改您的采样率,使其与您感兴趣的信号不相称:320 MHz 是 1 MHz 的整数倍,所以您将......在您的输入信号与您的采样时钟一致的范围内......在正弦波的一个周期中仅落在相同的 320 个样本上。这种模式重复将导致杂散(在这种情况下为 1 MHz 的谐波)并导致时间量化(如果您关心延迟精度)。通过选择不相称的采样时钟,采样将翻转正弦波,并且由于您的输入信号和采样时钟将被去相关,谐波杂散将显着减少。
有关在这种情况下使用传统 ADC 进行过采样如何提高精度的更多详细信息,请参阅信号采样率更高的优势是什么?
可以通过信号与正弦波的最小二乘拟合来完成
Signal(A, Phi, W, t) = A * sin(2 * PI * W * t + Phi)
您需要在这里拟合三个参数:
A - 信号幅度
W - 信号频率
Phi - 信号相位
如果您已经知道频率,则只需拟合两个参数。
计算均方根偏差可以评估幅度计算的精度