我试图了解如何准确实现所谓的“白化前”过滤器或简称“白化”过滤器。

我知道其目的是使它具有自相关函数作为增量,但是我不确定如何精确地做到这一点。

这里的上下文如下:在两个不同的接收器处接收信号,并计算它们的互相关。互相关可以看起来像三角形,或其他不可思议的形状。因此,很难找到互相关信号的峰值。在这种情况下,我听说在对信号执行互相关之前必须先“变白”信号,这样互相关现在更像三角形。

如何完成?

谢谢!

评论

请注意,在通信系统的上下文中,您的问题描述为增白剂实际上是在执行均衡器的功能。对我来说听起来是一样的。它可能只是不同的名称。

是的,术语定义不明确,使他们有时会试图做的事情变得更加混乱。

#1 楼

假设您有信号$ x(t)$和$ y(t)$互相关函数$ R_ {x,y}(t)$不是您想要的;您希望$ R_ {x,y} $是冲动的。请注意,在频域中,
$$ \ mathcal {F} [R_ {x,y}] = S_ {x,y}(f)= X(f)Y ^ *(f)。
因此您分别通过线性滤波器$ g $和$ h $对信号进行滤波,以得到
$ \ hat {x}(t)= x * g $,$ \ hat {X}(f) = X(f)G(f)$,并且$ \ hat {y} = y * h $,$ \ hat {Y}(f)= Y(f)H(f)$,现在它们互相关函数是
$ R _ {\ hat {x},\ hat {y}} $,其傅里叶变换是
$$ \ begin {align *}
\ mathcal {F} [R_ { \ hat {x},\ hat {y}}] = S _ {\ hat {x},\ hat {y}}(f)&= [X(f)G(f)] [Y(f)H( f)] ^ * \\
&= [X(f)Y ^ *(f)] [G(f)H ^ *(f)] \\&= [X(f)Y ^ *( f)] [G ^ *(f)H(f)] ^ *,
\ end {align *} $$
,即$ R _ {\ hat {x},\ hat {y }} $是$ R_ {x,y} $与
$ R_ {h,g} $的互相关。更重要的是,您想选择$ g $和$ h $,以便
$ g $和$ h $的互谱密度$ G(f)H ^ *(f)$是可乘
$ x $和$ y $的互谱密度$ X(f)Y ^ *(f)$的倒数,或者
接近它的东西。如果您只有一个信号和一个滤波器,那么<​​br />您将得到希尔马给出的结果(经过我的评论对此进行了修正)。
无论哪种情况,补偿频谱零值的问题,或者通常,仍然保留信号能量很小的频带。

评论


$ \ begingroup $
感谢您的提出-您能在这里解释涉及的长度吗?例如,如果x [n]的长度为N,则X的功率传递函数的长度是多少? (与y ...相同)
$ \ endgroup $
–太空
11年11月16日在19:06

$ \ begingroup $
好的-我会接受答案,但是今天晚上这个时候,我会写一个崭新的问题,我们可以从那里拿走。再次感谢。
$ \ endgroup $
–太空
11年11月16日在20:19

#2 楼

预白化可以通过使用传递函数进行滤波来完成,传递函数大约是信号功率谱的倒数。假设您的音频信号大致为粉红色。为了变白,您可以应用粉红色反滤波器(频率响应每倍频程增加3 dB)。

但是,我不确定这是否对您有帮助。预白化趋向于放大信号中的低能量部分,这可能会产生噪声,因此会增加系统的整体噪声。如果您要确定两个信号是否按时间对齐(或按时间对齐),则问题中固有的模糊性与信号的带宽有关。这恰好以自相关函数的时域形状表示。

评论


$ \ begingroup $
感谢您的回答-是的,您所说的频谱反转在这里可能行不通...使用“增白剂”似乎无处不在,我倾向于认为除此以外还有很多其他方法吗? ..
$ \ endgroup $
–太空
2011年11月11日19:22

#3 楼

给定示例数据集,通常存在一种简单的将矢量$ \ bf x $变白的方法。从您的问题尚不清楚$ \ bf x $的维数是否为2,或者是否包含滑动时间窗口。无论如何,您都想对$ \ bf x $的组件进行解相关。对于这样一个简单的问题,要在频域中做到这一点很困难。

假设您从一个示例数据集开始,该数据集由数据矢量的样本组成-这可能是两个信号样本的集合在不同的时间。您减去数据集的均值,以便$ \ bf x $的均值为零。然后,您需要计算数据$ C_ {ij} = \ frac {1} {N} \ sum _ {{\ bf x} \ in Data} x_i x_j $的协方差矩阵,其中$ N $是数据示例的数量和$ i,j $是$ \ bf x $的分量的索引,如果有2个信号,则从0到1。在这种情况下,协方差矩阵将仅为2x2。

一旦有了这个协方差矩阵,就可以以矩阵的形式计算白化变换,以将数据相乘以获得白化版本。新的白色数据的协方差是恒等矩阵。

白色数据将是$ {\ bf y} = C ^ {-1/2} {\ bf x} $。这只是一个矩阵版本,用于计算示例数据集的方差,然后将任何新数据除以方差的平方根,以标准化其标准差。

您可以使用Cholesky分解来计算$ C ^ {-1/2} $,其中$ C = LL ^ T $。对于2x2矩阵,使用简单的代数非常容易。变白的数据由$ {\ bf y} = L ^ {-1} {\ bf x} $给出,由于$ L $是较低的三角形,可以由常见的求解器有效地计算,而无需形成反函数。

#4 楼

如果只是关于如何过滤信号中的低能量部分,您可以使用低通滤波器吗?

如果这有帮助:Karjalaien等的这篇文章。 al是有关该滤波器使用的美白滤波器和扭曲线性预测的方法。