维纳滤波原理(维纳滤波器(一))

虽然很久没有用thdct整理了,但是很久以前就想制作从Wiener过滤器开始的博客。 现在终于有理由安静地坐着总结了。 从这里开始,我感到对这一年多的时间的尊敬。 我从模型开始说,展示我的论文和来自书的理解。 有时间,把我的代码放在我的git上,感兴趣的人去看,不说很多就进入主题。

1信号模型在许多应用中,我们的许多工作是系统识别(system iditification )。 简言之,虚拟模型缺少很多参数,需要用各种算法估计参数,得到系统。 你可能会想,为什么我需要系统? 这么说来,如果你想增强录制的声音,也就是说想改变形状,减小噪音,那这就是系统。 这么说,我想我能理解为什么需要系统。

那么,在我们真正认识系统之前,需要更主要的。 是信号模型。 就是对你信号的组成建模,看看其中含有什么成分。 例如,因为含有噪声、回波等,所以从信号模型开始吧。

1.1 SISO机型实际上是指单输入单输出机型。 (在这里深思熟虑可能有点绕圈子,我只是想对我的信号建模,怎么也有输入输出吗? 取决于你如何理解输入和输出,这里的输入是指我们的原始信号,比如你想加强的人的声音,输出是指我们的观测信号,也就是你录制的有噪声的信号。 这里的变化其实就是信号是如何从原始发生变化最终我们得到了观测信号。 )

这里给出了这个模型的公式。

系统图如下。

这里的h是通道冲击响应,这里的*是卷积的意思(对于不清楚白卷积意思的,这里不做说明,可以自己查资料)。 s(k )是在k个时间点的源信号,而s(k )是附加噪声。 我们假设系统是线性的,并且时间上不变。 (这两点非常重要。 之所以这么说,是因为我们常见的信号处理操作是为了提高后端的识别率,所以需要保证系统是线性的。 一般使用FIR滤波器而不是IIR滤波器来表示h。 以下是SISO模型的向量格式。

其中:

(虽然只是变成了矢量的形状,但说明得太多了。 这里,t表示倒排(行变列、列变行),l是我们的滤波器的长度,长度当然是指时域中的。 这个长度是算法中重要的、可调整的重要参数,后天见面,我们先不展开说。

接下来使用z变换。 其实是对离散数据的傅立叶变换。 SISO模型如下所示:

这里,各大写字母是各自信号的z转换形式。 同时可以看出,时域卷积可以巧妙的变化到频域的乘积。 )许多算法在频域中的执行取决于计算量,但请确保没有偏差。

1.2 SIMO机型SIMO是指单输出多输出的机型。 一个输入是否有多个输出,可能有人不理解。 少年,发挥你在追她的想象力,人有多大胆,有多有生产力。 如果一个人说话,采集了多个麦克风,那是SIMO模型吗? 当然,下面是关于SIMO的图解:

这里使用变量n,表示共有n种输出。 第n个输出的表达式如下:

这里我们给的是直接矢量的形式。 如果上面理解了的话,接下来就要看更多麻烦和困难的公式。 如上所述,上式是求第n个的。 那么,如何用表达式来表示所有的n个输出呢?

其中:

这显然比我们SISO的公式更复杂。 2D请不要慌张。 可以表演。 可以吸。 会说话。 先看看x吧。 x是向量,并且是列向量,长度为n。 这表明,即使表示了所有n个输出,也没有问题地向下看h。 看看h,看起来不像人看到的那样,所以试着从矩阵乘法的角度进行推论吧。 我们的x是列向量,如果公式成立,我们的b也表示列项量存在于各输出中的噪声,没有问题,是正确的。 我们的hs(k )也必然必须是列向量。 也就是说,一个N*L的h想和一个L*1的s(k )相乘。 也就是说,我们h的各行乘以S(K )得到最终的结果。 也就是说,在各通道的通道脉冲响应中与源信号进行卷积,得到n通道的输出,完美地解决。 没有什么不能一次解决的。 如果有,就两次。 (聪明的伙伴可能已经在考虑MIMO时的形式了) ) ) )。

我们也模仿上面的形状,进行z变换。

这里:

1.3 MISO模型MISO模型通过多个输入和一个输出,发挥想象力。 没错,多人说了一个麦克风采集,最终形成了MISO模型。 MISO模型的图解如下。

最后看到了累积符号,实际上是将多个输出相加成为一个输出。 那么,我们的公式如下。

这里:

这里很有趣。 老实说,我只能读第一部分。 关于使用矩阵进行乘法运算的方式(也就是第二个等号的位置),我个人认为这里在书中是错误的。 理由是,从最初的等号右边及其图解可以看出,最终可以得到某个时刻的值。 但是,变换为矩阵后,我在这里推测L*M的矩阵和M*L的矩阵的积是方阵L*L,不是值。 这和第一个公式的右边矛盾,所以在这里我认为作者是错误的。 (如果有谁发现大v先生对我的理解不充分,请在以下评论区指出。 谢谢你)

上面说我们

MISO的Z变换如下:

那我从这里理解的话,是不是第一个等式第二个等号右边部分是hT与s(k)的卷积呢?猜测,仅仅是猜测。这里:

1.4 MIMO模型

也就是著名的多输出多输出模型。实际场景为多个人说话,多个麦克风采集。MIMO的图解有些复杂,如下:

那么我们这里假设有M个输入,N个输出,k时刻我们得到公式如下:

其中:

这里有些麻烦,不过很容易理解,主要过程都是一一对应图解我不做详细推导,其中最关键的点就是:H是一个三维矩阵,N*L*M那么他和二维M*L相乘的话得到的应该是N*1,而我们的输出为N,所以能够对应。hnm表示从输入m到输出n的冲击响应。那么我们可以得到其Z变换如下:

其中:

我们可以看出来,MIMO模型是最通用的,其他三种都可以看做是其特殊情况。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注