积分器的群延迟

信息处理 matlab 阶段 群延迟
2022-02-22 00:22:41

我有一组传感器,一些速度计和其他加速度计。为了一起处理这两组,我整合了加速度计信号(在时域中,使用 MATLAB's cumsum),所以我现在将所有传感器数据都放在速度中。了解信号到达不同传感器的准确时间对于确定信号源的位置非常重要。想知道我是否通过积分引入了一些相移,我试图估计群延迟。我不确定我在做什么是正确的。假设积分器可以写成:

y(n)=x(n)+y(n1)

滤波器系数将是

a=[11]b=[10]

将这些值赋予 MATLAB 的grpdelay函数(群延迟),我在半个样本的所有频率上得到一个恒定值。

  • 这是否意味着无论频率如何,积分后的信号都会偏移半个样本?
  • 那么零频率(平均值)呢,为什么群延迟0.5样本在0?
1个回答

您的积分器是一个完美的累加器,它是一个不稳定(边际稳定)系统,极点位于z=1

(1)H(z)=11z1

这意味着处的频率响应值(对应于处的极点)是未定义的。处的群延迟值也未定义。请注意,您可以使用 Dirac delta 脉冲写下理想累加器的频率响应(请参阅此问题及其答案),但这无助于找到处的频率响应(或群延迟)ω=0z=1ω=0ω=0

对于(或更一般地说,),我们可以很容易地确定系统的频率响应和群延迟:ω0ω2πk

(2)H(ejω)=11ejω=ejω/21ejω/2ejω/2=ejω/212jsin(ω/2),ω2πk

中,我们看到相位等于加上一个与群延迟无关的常数项。因此,群延迟由下式给出(2)ϕ(ω)ω/2

(3)τg(ω)=dϕ(ω)dω=12,ω2πk

这是您使用 Matlab 发现的。然而,Matlab 并没有告诉你在发生了什么,其中群延迟的值确实是未定义的。ω=0