自适应滤波:维纳滤波器——GSC算法及语音增强

⾃适应滤波:维纳滤波器——GSC 算法及语⾳增强
作者:桂。
时间:2017-03-26  06:06:44
链接:
声明:欢迎被转载,不过记得注明出处哦
~  【读书笔记04】
前⾔
中国青年志愿者标志仍然是西蒙.赫⾦的《⾃适应滤波器原理》第四版第⼆章,⾸先看到,接着到了,此处为约束扩展的维纳滤波,全⽂包括:  1)背景介绍;
  2)⼴义旁瓣相消(Generalized Sidelobe Cancellation, GSC )理论推导;
  3)GSC 应⽤——语⾳阵列信号增强;
内容为⾃⼰的学习记录,其中错误之处,还请各位帮忙指正!
⼀、背景介绍
在中,有w H s θ0=g 的约束条件,即s H θ0w =g .如s θ0为旋转向量时,希望在θ0处保留波束—>对应g 1=1,希望在θ2处抑制波束—>对应g 2=0
,写成⼀般形式:写成更⼀般的形式:
C H w =g
假设w 权值个数为M ,在⼀般约束维纳滤波中可以看出:限定条件使得结果更符合预期的效果。假设C 为M×L 的矩阵:L 个线性约束条件。对于M 个变量的⽅程组,对应唯⼀解最多有M 个⽅程,即:对于L 个线性约束来讲,我们仍可以继续利⽤剩下的M-L 个⾃由度进⾏约束,使得结果更加符合需求(⽐如增强某信号、抑制某信号等),这便是GSC 的背景。
⼆、GSC 理论推导
  A-理论介绍
书中的推导较为繁琐,我们可以从投影空间的⾓度加以理解,也就是最⼩⼆乘结果的矩阵求逆形式,给出简要说明:对于矩阵A (N×M ):
如果A 是满列秩(N>=M )对于符合LA=I 的矩阵解为:L =A H A −1A H ;如果A 是满⾏秩(N<=M )对于符合AR=I 的矩阵解为:R =A H AA H
−1.
对于C H w =g ,得出最优解:()()()
(
)()()
w q =C C H C
−1g
记:w re =w −w q
为了便于对余量w re 进⾏控制,将C 扩展为:[ C | C a  ],C a 的列向量为矩阵C 列向量张成空间的正交补空间的基,即:
C H a C =0
分析新的空间特性:
上式有C H w re =0,这就说明只要满⾜该条件,r e =C H a w re 就是补空间的余量,如何保证⼀定有C H w re =0呢?可以将w re 写为:−C a w a 的形
式,之所以添加−可能是因为正交补空间可以认为C 列向量空间不能表征的成分,我们通常认为这⼀部分为该丢弃的残差,也因为是残差:C a 通常被称为阻塞矩阵(取Block 之意),很多书籍⽤B 表⽰。
重新给出推导的结果:
w =w q −C a w a        s.t. C a w q =0
对应结构图为:
简化后可以认为上⽀、下⽀:
这是维纳滤波器的典型结构。
  B-阻塞矩阵的选取
阻塞矩阵这⼀段摘⾃:秦博雅《基于低复杂度⾃适应信号处理的波束成形技术研究》p22~23.
⼤致有以下⼏种⽅式:
()
三、阵列信号增强
学了这个GSC怎么应⽤呢?这⾥参考⼀篇07年adaptive beamforming(引⽤见最后的参考)的例⼦,简要说明思路,关于阻塞矩阵。⽂中结构图:
即:分别利⽤GSC框架,通过最⼩互信息实现信号的分离,其中w a、C a即B都提前给定,优化w a1、w a2。
全球化战略
定义互信息:
其中,
在幅度(严格来讲是傅⾥叶系数幅度)为正态条件下,得到:
给出输出表达式:
并给出准则函数——相关系数的表达式:
其中,
其中相关、互相关⽆法得到统计信息,仍然可以基于遍历性假设:利⽤时间换取空间,近似求取。
⽂中提到引⼊正则化(regularization)
这个只是优化过程中的限定条件,与GSC框架关系不⼤,不再补充。
这⾥在⽹上去了⼀个8通道(channel)的混合语⾳(两个说话⼈),利⽤该算法进⾏分析,给出主要代码:主要代码:
MMI_define_var(Xf1,Xf2);
%initialization
W1 = [0 0 0 0.1 0 0 0.2 ];
W2 = [0 2 0 0 0.2 0 0.1 ];
阿托品试验[Wa1,Wa2]=MMI_EstimateWa([W1 W2]');
其中MMI_define_var定义变量:
function MMI_define_var(Xf1,Xf2)
global Wq B covX1X1 covX2X2  covX1X2  len;
Wq=[1 1 1 1 1 1 1 1]'*1/8;
B=[1 -1 0 0 0 0 0 0 ;0 1 -1 0 0 0 0 0 ;0 0 1 -1 0 0 0 0 ;0 0 0 1 -1 0 0 0 ;0 0 0 0 1 -1 0 0 ;0 0 0 0 0 1 -1 0 ;0 0 0 0 0 0 1 -1 ]';
[~,len]=size(Xf2);
XfMean1=mean(Xf1.');
XfMean2=mean(Xf2.');
for i=1:8
Xf1(i,:)=Xf1(i,:)-XfMean1(i);
Xf2(i,:)=Xf2(i,:)-XfMean2(i);
end
covX1X1=Xf1*Xf1'/len;
covX2X2=Xf2*Xf2'/len;
covX1X2=Xf1*Xf2'/len;
MMI_EstimateWa实现参数估计:
有效教学研究function [Wa1 Wa2]=MMI_EstimateWa(W)
%obtain the Wa
雨水口ww=[real(W)' imag(W)']';
options = optimset('LargeScale','off','display','off');
[X,fval] = fminunc('MMI_real_imag_objfun',ww,options);
X_real=X(1:14);
X_imag=X(15:28);
Wa1_real=X_real(1:7);
Wa1_imag=X_imag(1:7);
Wa2_real=X_real(8:14);
Wa2_imag=X_imag(8:14);
Wa1=Wa1_real+sqrt(-1)*Wa1_imag;
Wa2=Wa2_real+sqrt(-1)*Wa2_imag;
工业机器人装配
end
对应结果图:
可以听出来:虽然略有杂⾳,但两个说话⼈的声⾳已经实现了分离,GSC框架有效。如果不同说话⼈
声达时间估计准确,迭代算法应⽤合适,效果会更好,此处主要介绍GSC应⽤,细节不再琢磨,有兴趣的可以探索探索。
参考:
K. Kumatani, T. Gehrig, U. Mayer, E. Stoimenov, J. McDonough and M. WÖlfel, "Adaptive Beamforming With a Minimum Mutual Information Criterion," in IEEE Transactions on Audio, Speech, and Language Processing, vol. 15, no. 8, pp. 2527-2541, Nov. 2007.
》.

本文发布于:2024-09-22 16:33:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/477274.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:空间   矩阵   结果   给出   条件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议