RLS算法自适应去噪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RLS算法自适应去噪
一,引言:
我们组研究的题目是《RLS均衡算法及应用》,主要是其在自适应噪声消除中的应用。在目前的移动通信领域中,克服多径干扰,提高通信质量是一个非常重要的问题,特别是当信道特性不固定时,这个问题就尤为突出,而自适应滤波器的出现,则完美的解决了这个问题。其核心便是自适应算法,RLS算法便是其中的一种。我们组主要了解了下RLS算法的基本原理,以及用程序实现了用RLS算法自适应消除语音信号中的噪声。我们知道语音识别技术很难从实验室走向真正应用很大程度上受制于应用环境下的噪声. 自适应信号处理的理论和技术经过40 多年的发展和完善,已逐渐成为人们常用的语音去噪技术。本文正是想通过这一与我们生活相关的问题,对简单的语音噪声进行消除,更加深刻地了解RLS算法。
二,算法原理:
RLS算法即递规最小二乘算法,对于如下图所示的自适应横向滤波器:
RLS算法的基本思想是:给定n-1次迭代滤波器抽头权向量最小二乘估计,依据新到达的数据计算n次迭代权向量的最新估
计。递规最小二乘算法利用二乘方的平均最小化准则,即使得误差的平方和最小。依这一准则我们可以得出方程组:
11(1)()
()1(1)()H P n U n k n U P n U n λλ---=
+- (1)
11()(1)()()(1)H
P n P n K n U n P n λλ--=--- (2)
*()(1)[()()(1)]H
w n w n k d n U n w n =-+--
*
(1)()()
w n K n n ξ=-+ (3)
*
()()(1)H n d n U w n ξ=--
()(1)()
H d n W n U n =-- (4)
(1),(2),(3),(4)式即组成了RLS 算法。(4)式描
叙了该算法的滤波过程,据次激励横向滤波器以计算先验估计误差()n ξ。(3)式描述了该算法的自适应过程,据次可通过在其过去的基础上增加一个量来递推抽头权向量,该量等于先验估计误差()n ξ复共轭与时变增益向量k (n )的乘积。式(1)
,(2)使得我们能够更新增益向量本身。如下框图及信号流图所示,我们能更直观地了解RLS 算法.
输出
期望响应d(n)
(一).算法框图
d 单位负反馈
(二).信号流图
综上所述,我们可得出RLS 算法的流程为: 1,
算法初始化
(0)0W =
1(0)P I δ-=
{SNR δ=高时取最小正常数
低SNR 时取最大正整数
2, 对每一时刻,n =1,2,…
()(1)()n P n U n π=-
()
()()()H n K n U n n πλπ=
+
()()(1)()H n d n W n U n ξ=--
*()(1)()()W n W n K n n ξ=-+
11()(1)()()(1)H P n P n K n U n P n λλ--=---
三, 算法在自适应噪声消除系统中的应用(我们以简单的含噪语
音信号去噪为例)
1,一般的噪声消除系统
自适应滤波可以用输出信号和给定信号之间的误差来自动调节权向量使其收敛与最加值。一个简单的自适应噪声抵消系统结构框图如下:
e(n)
从图中可以看出:输入信号是由原始信号s (n ),和噪声成分v (n )所组成,即d (n )=s (n )+v(n),将其作为自适应滤波器的知道信号;一般噪声相关参考信号与原始噪声之间有一定的差别,故我们引入一个系数使x(n)=v(n)*g(n);并作为自适应滤波器的输入。那么噪声抵消过程可如下进行:把原始输入信号d(n)和y(n)相减后,用其误差来调节滤波器的参数h(n),直到2[()]E e n 达到其下限为止。 由于:
22[()]{[()()]}E e n E d n y n =-
2{[()()()]}E s n v n y n =+-
22[()]2{()[()()]}{[()()]}E S n E S n v n y n E v n y n =--+-
当信号s (n )与噪声v (n )不相关时,s(n)显然和v(n)-y(n)互不相关,上式中间一项变为零,故有:
222[()][()]{[()()]}E e n E S n E v n y n =+-
因此2[()]E e n 取最小值时,
2{[()()]}E v n y n -亦取最小值。特别是当y (n )=v(n)时,噪声会被完全抵消。这是一种最理想的状态,此时输出e (n )=s (n )。但是一般情况下,输出e(n)将含有原始信号s(n)和没被抵消的剩余噪声。
2,试验
我们组以语音信号去噪为例。原始语音信号为麦克风
录制的一段语音,通过软件Goldwave 将其转化为单声道,并储 为sound.wav 。噪声信号为余弦信号。程序用Matlab 语言编写,相关函数有
a , 自适应初始化函数: S = Initrls (W0 ,P0 ,LAMBDA)
W0 :权系数,初始为0 ,它的长度与FIR 滤波器的阶数
相等
P0 :逆相关矩阵,初始为数字阵,其维数等于W0 的长
度
LAMBDA :记忆因子,取值为0 b, RLS 自适应滤波器函数 [ Y,E] = ADAPTRLS(X ,D ,S) X:干扰信号 D :待滤波信号 Y:对消信号输出 E:滤波后的信号,为Y与D 的差值. 四,仿真结果与分析 1,仿真假设 设置滤波器的参数为: M = 32 ; lam = 1 ; delta = 0. 1 ; w0 = zeros (M,1) ; 噪声余弦信号的频率为100hz 假设含噪语音为原始语音与噪声的直接混合。 2,仿真结果 3,仿真结果分析