一种抵消直流偏置的自适应滤波算法

文档序号:275936 发布日期:2021-11-19 浏览:9次 >En<

阅读说明:本技术 一种抵消直流偏置的自适应滤波算法 (Self-adaptive filtering algorithm for counteracting DC bias ) 是由 毛鑫 向阳 于 2021-08-11 设计创作,主要内容包括:本发明提供一种抵消直流偏置的自适应滤波算法,包括以下步骤:采集输出时刻的参考信号作为自适应滤波模块的输入信号;自适应滤波模块根据其自适应滤波器系数对输入信号进行滤波并添加常数项作为输出信号;根据滤波模块的输出信号和输出时刻的期望信号计算得到输出时刻的误差信号;根据误差函数计算每次自适应滤波器系数的梯度的更新值和常数项的梯度的更新值;根据自适应滤波器系数的梯度的更新值,计算得到自适应滤波器收敛权系数;根据常数项的梯度的更新值计算得到常数项收敛权系数;自适应滤波模块根据其自适应滤波器收敛权系数对输入信号进行滤波计算并添加更新后的常数项作出输出信号。本发明动态地改变自适应滤波器权系数。(The invention provides a self-adaptive filtering algorithm for counteracting direct current bias, which comprises the following steps: acquiring a reference signal at an output moment as an input signal of the self-adaptive filtering module; the self-adaptive filtering module filters the input signal according to the self-adaptive filter coefficient of the self-adaptive filtering module and adds a constant term as an output signal; calculating to obtain an error signal at the output moment according to the output signal of the filtering module and the expected signal at the output moment; calculating the updating value of the gradient of the adaptive filter coefficient and the updating value of the gradient of the constant term each time according to the error function; calculating to obtain a convergence weight coefficient of the adaptive filter according to the updated value of the gradient of the coefficient of the adaptive filter; calculating to obtain a constant term convergence weight coefficient according to the updated value of the gradient of the constant term; and the self-adaptive filtering module performs filtering calculation on the input signal according to the convergence weight coefficient of the self-adaptive filter and adds the updated constant term to make an output signal. The invention dynamically changes the adaptive filter weight coefficients.)

一种抵消直流偏置的自适应滤波算法

技术领域

本发明属于信号处理技术领域,具体涉及一种抵消直流偏置的自适应滤波算法。

背景技术

现有技术中,麦克风接收到模拟信号后,会通过模数转换器(ADC),将模拟信号转化为数字信号。ADC的工作原理是将检测到的模拟信号的输入电压与参考电压进行比较,并将差值量化为指定位数的数字样本。参考电压表示为ADC的“零值”。一般情况下,参考电压应该是恒定的。然而,当有噪声、ADC组件的误差等因素的影响下,参考电压会产生变化,这就在数字输出中引入了直流偏置(可能是缓慢时变的)。在频域,直流偏置会在零频率(直流)附近产生峰值。常用的LMS算法自适应滤波算法,在控制策略中,没有考虑直流偏置的影响,制约了其在此类场景下的性能。

发明内容

本发明的目的就是为了解决上述背景技术存在的不足,提供一种抵消直流偏置的自适应滤波算法,引入直流偏置量,动态地改变自适应滤波器权系数。

本发明采用的技术方案是:一种抵消直流偏置的自适应滤波算法,包括以下步骤:

S1,输入信号获取:采集输出时刻的参考信号作为自适应滤波模块的输入信号;

S2,信号滤波:自适应滤波模块根据其自适应滤波器系数对输入信号进行滤波并添加常数项作为输出信号;

S3,误差信号计算:根据滤波模块的输出信号和输出时刻的期望信号计算得到输出时刻的误差信号;

S4,滤波器更新值计算:根据误差函数计算每次自适应滤波器系数的梯度的更新值和常数项的梯度的更新值;

S5,滤波器更新:根据自适应滤波器系数的梯度的更新值,计算得到自适应滤波器收敛权系数;根据常数项的梯度的更新值计算得到常数项更新值;

S6,自适应滤波模块根据其自适应滤波器收敛权系数对输入信号进行滤波计算并添加常数项更新值作为输出信号。

上述技术方案中,步骤S4中,将所述误差信号函数取平方、求期望得到损失函数,将所述损失函数对自适应滤波器系数求偏导运算,得到自适应滤波器的梯度的更新值;将所述损失函数对常数项求偏导运算,得到常数项的梯度的更新值。

上述技术方案中,步骤S5中,根据自适应滤波器系数的梯度的更新值,采用梯度下降法,得到自适应滤波器系数的更新公式,根据所述自适应滤波器系数的更新公式反复运算得到自适应滤波器收敛权系数;根据常数项的梯度的更新值,采用梯度下降法,得到常数项的更新公式,根据所述常数项的更新公式反复运算得到常数项收敛权系数。

上述技术方案中,步骤S1中,所述参考信号为:

x(n)=[x(n),x(n-1),…,x(n-N+1)]T

其中,x(n)表示参考信号,n表示时刻,上标T表示转置操作,N表示参考信号长度。

上述技术方案中,步骤S2中,所述自适应滤波模块输出信号y(n)的计算公式如下:

y(n)=x(n)Tw(n)+b(n)

其中,w(n)表示自适应滤波器系数,b(n)表示常数项。

上述技术方案中,步骤S3中,所述输出时刻的误差信号e(n)的计算公式如下:

e(n)=d(n)+x(n)Tw(n)+b(n)

其中,d(n)表示期望信号。

上述技术方案中,步骤S4中所述损失函数J的计算公式如下:

J=E(e2(n))

其中,E表示期望运算。

上述技术方案中,步骤S4中,自适应滤波器系数的梯度的更新值如下:

常数项的梯度的更新值如下:

上述技术方案中,步骤S5中,所述自适应滤波器系数的更新公式如下:

w(n+1)=w(n)-2μe(n)x(n)

所述常数项的更新公式如下:

b(n+1)=b(n)-2μe(n)

其中,μ为迭代步长。

上述技术方案中,步骤S4中,自适应滤波器系数的梯度的更新值通过如下公式获得:

表示对n时刻第i个自适应滤波器系数求偏导,其中,i=0,1,2…N-1。

常数项的梯度的更新值通过如下公式获得:

其中,表示对自适应滤波器系数w(n)求偏导运算,表示对b(n)求偏导运算。

本发明的有益效果是:在LMS算法的滤波输出中,加入常数偏置项,并推导处滤波器系数及常数项的迭代公式,动态地改变自适应滤波器权系数,可以有效抵消直流偏置。本发明可有效应用于声学系统建模,有源噪声控制,声学回声消除,信道均衡等领域。

附图说明

图1为本发明的算法原理框图;

图2为本发明的计算流程图;

图3为参考信号x(n)时域及功率谱估计图;

图4为期望信号d(n)时域及功率谱估计图;

图5为LMS算法误差信号e(n)时域及功率谱估计图;

图6为本发明的误差信号e(n)时域及功率谱估计图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的详细说明,便于清楚地了解本发明,但它们不对本发明构成限定。

如图1所示,本发明的参考信号x(n)通过扬声器进行播放,声音经过扬声器、空气、麦克风等媒介,在麦克风处拾取的期望信号为d(n)。 自适应滤波器的自适应滤波系数为w(n)。

所述参考信号为:

x(n)=[x(n),x(n-1),…,x(n-N+1)]T (1)

其中,n表示时刻,上标T表示转置操作,N表示参考信号长度。

所述自适应滤波模块输出信号y(n)如下:

y(n)=x(n)Tw(n)+b(n) (2)

其中,w(n)表示自适应滤波器系数,b(n)表示常数项。

如图2所示,本发明提供了一种抵消直流偏置的自适应滤波算法,包括以下步骤:

S1,输入信号获取:首先进行参数初始化(其中,所有参数的初始值设置为0,迭代步长μ设置为0.1),采集输出时刻的参考信号作为自适应滤波模块的输入信号;

S2,信号滤波:自适应滤波模块根据其自适应滤波器系数对输入信号进行滤波并添加常数项作为输出信号;

S3,误差信号计算:根据滤波模块的输出信号和输出时刻的期望信号计算得到输出时刻的误差信号;

S4,滤波器更新值计算:根据误差函数计算每次自适应滤波器系数的梯度的更新值和常数项的梯度的更新值;

S5,滤波器更新:根据自适应滤波器系数的梯度的更新值,计算得到自适应滤波器收敛权系数;根据常数项的梯度的更新值计算得到常数项更新值;

S6,自适应滤波模块根据其自适应滤波器收敛权系数对输入信号进行滤波计算并添加常数项更新值作为输出信号。

上述技术方案中,步骤S4中,将所述误差信号函数取平方、求期望得到损失函数,将所述损失函数对自适应滤波器系数求偏导运算,得到自适应滤波器的梯度的更新值;将所述损失函数对常数项求偏导运算,得到常数项的梯度的更新值。

上述技术方案中,步骤S5中,根据自适应滤波器系数的梯度的更新值,采用梯度下降法,得到自适应滤波器系数的更新公式,根据所述自适应滤波器系数的更新公式反复运算得到自适应滤波器收敛权系数;根据常数项的梯度的更新值,采用梯度下降法,得到常数项的更新公式,根据所述常数项的更新公式反复运算得到常数项收敛权系数。

上述技术方案中,步骤S3中,所述输出时刻的误差信号e(n)的计算公式如下:

e(n)=d(n)+x(n)Tw(n)+b(n) (3)

其中,d(n)表示期望信号。

上述技术方案中,步骤S4中所述损失函数J的计算公式如下:

J=E(e2(n)) (4)

其中,E表示期望运算。用瞬时估计值J=e2(k)代替(4)式.

上述技术方案中,步骤S4中,令表示对自适应滤波器系数w(n)求偏导运算:

表示对n时刻第i个自适应滤波器系数求偏导。

得到自适应滤波器系数的梯度的更新值如下:

表示对b求偏导运算:

常数项的梯度的更新值如下:

上述技术方案中,步骤S5中,所述自适应滤波器系数的更新公式如下:

w(n+1)=w(n)-2μe(n)x(n) (9)

所述常数项的更新公式如下:

b(n+1)=b(n)-2μe(n) (10)

其中,μ为迭代步长。

本发明可以有效抵消直流偏置,本具体实施例用实验进行说明。设参考信号x(n)为1000Hz信号,其时域波形及功率谱估计如图3所示,从图中可以看出,x(n)时域幅度在-0.8到+0.8之间对称分布,功率谱仅仅在1000Hz存在峰值,。扬声器播放的单频信号传播到麦克风处得到期望信号d(n),其时域波形及功率谱估计如图4所示,由于采用的扬声器和麦克风性能较差(该系统存在直流偏置现象),期望信号存在直流偏置,时域波形关于幅度0轴不对称,功率谱除了在1000Hz存在峰值外,在0Hz(直流偏置量)、2000Hz、3000Hz等同样出现峰值。

采用LMS算法和本发明对比如下表所示:

采用LMS算法降噪量为6.41dB,其误差信号时域波形及功率谱估计如图5所示,从时域波形可以看出,其分布关于幅度0轴不对称,功率谱图中0Hz存在峰值,因此,该算法不具备抵消直流偏置的作用。采用本发明的降噪量为25.43,其误差信号时域波形及功率谱估计如图6所示。本发明提出的算法,从时域波形可以看,关于幅度0轴对称分布,功率谱图中0Hz峰值被消除,因此降噪量明显高于LMS算法。由此可见本发明提出的算法能够有效抵消直流偏置。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:时钟锁存电路和使用该时钟锁存电路的时钟生成电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类