1.一种基于最大熵的有源噪声控制方法,其步骤如下:A、噪声输入向量的生成
主麦克风拾取出噪声源当前时刻n产生的初级噪声值u(n);将当前时刻n和前L-1个时刻的L个初级噪声值u(n),u(n-1)...,u(n-L+1),构成滤波器当前时刻n的噪声输入向量U(n),U(n)=[u(n),u(n-1)...,u(n-L+1)]T;其中L=128,是滤波器的抽头数,上标T代表转置;
B、权向量的生成,滤波器生成当前时刻n和前L-1个时刻的权系数w(n),w(n-1)…w(n-L+1),并将这L个权系数构成当前时刻n的权向量W(n),W(n)=[w(n),w(n-1),...,w(n-L+
1)];当前时刻n<129时,W(n)=0;
C、滤波器根据当前时刻n的权向量W(n)对当前时刻n的噪声输入向量U(n)进行滤波得到当前时刻输出到扬声器的输出值 其中符号*代表卷积运算,s表示噪声源经滤波器到扬声器的次级通路的脉冲响应;
D、误差信号最大熵的获得
误差麦克风拾取出噪声消除点在当前时刻n的声音信号,即当前时刻n的残差信号e(n);滤波器据以算出当前时刻n的残差信号e(n)的最大熵ψ(n),ψ(n)=exp{-e2(n)/2σ2(n)};其中,exp表示指数运算,σ(n)为当前时刻n的高斯核函数的核宽度值;当前时刻n<129时,σ(n)=0;
E、核宽度更新
计算残 差信号 e(n) 的下一 时刻n +1递 归预测变 化量e ′(n +1) ,其中Nw为预测窗口长度,其取值为2~5;当前时刻n<129时,e′(n)=0;
下一时刻n+1高斯核函数的核宽度值σ(n+1)由以下递归公式得到:F、权向量更新
滤波器生成当前时刻n的增益向量Φ(n),
式中,λ表示遗忘因子,其取值范围为0.9~1之间;F(n)为当前时刻n的递归矩阵,其大小为L×L,当前时刻n<129时,F(n)=0;下一时刻n+1的递归矩阵F(n+1),由公式F(n+1)=λ-
1F(n)-λ-1Φ(n)(s*U(n))TF(n)得到;
滤波器算出下一时刻n+1的权向量W(n+1),W(n+1)=W(n)+Φ(n)e(n);
G、迭代
令n=n+1,重复A、B、C、D、E、F的步骤,直至噪声控制结束。