两个信号之间的相位差



我正在进行这个嵌入式项目,我必须通过计算其电压和电流波形之间的相位差来谐振换能器,并通过改变其频率使其为零。其中I(当前)&V(电压)在任何时刻都是相同的频率信号,但不是大约(47Khz-52kHz)的固定频率信号。我所要做的就是计算这两个信号之间的相位差。哪种方法最有效。

两个信号的FFT,然后是特定分量之间的相位差或者两个信号的互相关?或者另一个(如果有的话)?哪种方法能给我最准确的结果?以什么样的决心?采样率是否影响相位差的分辨率(可感测的最小相位差)?我是数字信号处理的新手,如果有任何错误,请纠正我

其他详细信息:-

  • 我的系统中的噪声可以是白/高斯噪声(不显著)&基波谐波(在谐振失配的情况下可能是重要的谐波)。

  • 是的,4046可以作为开关调节器的一个很好的替代方案。我正在与(NCO/DDS)合作,在那里我可以不断地缩放/重塑正弦曲线。

  • 模拟滤波器的实现将非常复杂,因为我需要具有高滚降率的高阶滤波器来去除谐波,所以我选择了基于DSP的滤波器,并且它易于与MATLAB DSP处理器一起工作。

  • 对于~50KHz(47Khz-52KHz)系统,您建议采用什么样的采样率来实现FFT或Goertzel的结果,相位分辨率优选为=<0.1度或更小,频率步长将从~1到2Hz不等。至50Hz至200Hz。

  • 我的频率是可变的45KHz-55Khz。。。但我的系统会知道。。。更希望知道最后馈送频率的相位误差。在FFT和数字滤波之后,可以对更多的无噪声样本执行IFFT,这些样本可以用于进一步处理。所以我想FFT可以同时完成这两项任务。。。

但我想知道相位差的准确性,因为这是关键部分。

Goertzel算法http://www.embedded.com/design/configurable-systems/4024443/The-Goertzel-Algorithm是一种相当有效的音调检测方法,它将信号分解为实分量和虚分量。我假设你可以根据需要用数字来获得相位差或极性。

分辨率与时间常数是一种设计权衡,这篇文章强调了一些问题。http://www.mstarlabs.com/dsp/goertzel/goertzel.html

附加

"可以获得什么样的精度">

这取决于。。。取决于你面临的问题(即信号电平、外部噪声等),你有什么硬件(即adc、处理器等),以及你如何实现你的解决方案(采样率、数值精度等)。如果没有完整的画面,我猜你能实现什么,因为Goertzel方法远非易事。

但我想,对于一个信号电平好、噪声低的高中项目来说,使用4046 PLL的相位比较器(2,因为它锁定在零度)的一种更简单的方法可能会让你降低几度。

如果你有一个高Q换能器,另一个问题是产生高分辨率的频率。有一种方法,但那是另一种途径。

更多

"基础谐波(可能意义重大)";。。。hmm因此进行数字滤波;但是如果采样率太低,则可能存在混叠问题。此外,不匹配的抗锯齿滤波器可能会占用您的全部错误预算。十倍采样频率的经验法则似乎有点低,越高,滤波器设计就越容易。

空间窗口处理了离频问题以及更高的滚降和衰减,本文对此进行了描述。Eric Jacobsen和Richard Lyons在数字信号处理中的滑动谱分析http://www.amazon.com/Streamlining-Digital-Signal-Processing-Guidebook/dp/1118278380

在我之前的项目中,在检测到任何一个载波后,我对巨大噪声中频率变化的时间感兴趣。由于载波相位产生的不稳定性,相位误差从未静止过,无法量化,所以我无法比你更好地猜测你的项目条件可能会得到什么。

不要偏离芯片的答案(我投了赞成票!),但其他一些选项是:

  • 互相关。在我的脑海中,我不确定这与Goertzel算法之间的性能差异,但两者都应该在嵌入式系统上可行
  • 特设方法。例如,我会尝试这样的方法:带通信号以消除噪声,找到峰值并测量峰值之间的时间差。这可能会更有效,而且,如果你做了合理的工作,抛出异常值并处理环绕,应该是非常健壮的。带通滤波器本身会改变相位,所以你必须确保对两个信号应用完全相同的滤波器

如果输入信噪比不太差,则可以基于过零检测构建计算高效的解决方案。另外,看看http://www.metrology.pg.gda.pl/full/2005/M&MS_2005_427.pdf,用于相位差检测算法的良好比较,包括过零检测算法。

如果信号频率准确已知,则计算DFT的1位(或使用类似的复数Goertzel块滤波器)将起作用。(将DFT仓或Goertzel设置为该频率)。

如果频率不完全已知,可以尝试使用带有FFTshift的FFT来插值频率幅度峰值,然后为两个信号中的每一个插值该频率下的相位。FFT还允许您对数据进行窗口处理,如果频率不完全以二进制为中心(或完全以Goertzel滤波器频率为中心),这可能会提高相位估计的准确性。不同的窗口可以提高"仓之间"频率的相位估计精度。Blackman Nutall窗口将比矩形窗口更好,但可能有更好的窗口选择。

相位测量精度将取决于S/N比、对两个(假定静止)信号进行采样的时间长度,以及可能使用的窗口。

如果您有一个跟踪每个输入的锁相环(PLL),那么您可以减去(发电机组件的)相位系数来确定相位之间的偏移。这也将对噪声具有鲁棒性。

最新更新