RLS学习算法

2024-05-31

RLS学习算法(共3篇)

RLS学习算法 篇1

0 引言

各种电力电子设备的非线性负载在容量和数量上不断增加,使电力系统受到谐波、无功和间谐波的冲击,不但危害电力系统中用电设备,更影响供电系统的供电质量。因此准确、实时地检测出电网中的各类干扰信号成为有源电力滤波器(APF)进行精确补偿的关键。

自适应噪声对消法应用于APF谐波电流检测,其核心是自适应算法,应用最广的为“下降算法”,一种是“自适应梯度算法”,包括LMS算法及其改进算法;一种是“自适应高斯-牛顿算法”,包括RLS算法及其改进算法。目前大多数研究集中于LMS算法[1,2],然而LMS算法的收敛速度与稳态失调是难以兼顾的,虽然改进的变步长LMS算法[2]使初始收敛速度有所提高,但效果仍不够理想。RLS算法的收敛速度比LMS算法高一个数量级,将其应用于谐波电流检测中,可以得到较快的初始收敛和较高的检测精度[3,4],但RLS算法的缺陷在于,系统收敛后,用于更新迭代的参数已经接近0,使得算法无法应对电流突变后的实时检测。为弥补此缺陷,人们将RLS算法与其他检测方法结合。如与ip-iq法结合[5]得到了较为理想的结果,但其结构复杂,难以实现;将RLS算法和平均功率结合[6],简化了迭代运算,易于实现,但由于平均功率的缺陷,至少一个周期才能完整检测出谐波,效果不是很理想;与自适应逆结合控制电流检测过程[7],得到较好结果,但不能针对各种类型待测电流。回到RLS算法自身,目前主要有2种改进,文献[8-9]提出由遗忘因子λ的变化来响应系统突变,然而λ过于敏感,一旦变化会对系统产生很大影响,在检测谐波电流时,对于大小不同甚至相位待测的电流影响都不一致,因此很难控制。文献[10]用P(n)参数的变化响应系统突变,但所用控制量对谐波电流检测不适用。另外,以上改进均未涉及间谐波对系统的影响,均不能很好实现间谐波的实时检测。文献[11]提出了采用傅里叶变换的方法和LS算法来滤除间谐波,但其收敛速度低于RLS算法。

本文从改进算法本身出发,考虑APF低信噪比特性,采用二级RLS算法来滤除间谐波,并通过追踪一级滤波器权值W(n)的变化,调节RLS算法中的P(n)参数,达到快速收敛的目的。对该算法进行仿真分析,并通过DSP TMS320F240芯片进行基于改进RLS算法的自适应谐波检测实验。结果证明:本文的改进算法在收敛速度和稳态误差方面均有明显改善,且有很好的突变跟踪能力。

1 基于自适应滤波的谐波检测法

自适应谐波电流检测法是在自适应对消技术的基础上提出的,其原理如图1所示,其中滤波器输入信号iL(n)表示非线性负载电流的采样值;参考输入信号X1(n)、X2(n)分别表示幅值标准化后的系统基波电压及其经过90°相移后的信号;W1(n)、W2(n)分别表示参考输入信号X1(n)、X2(n)的权值;y(n)为自适应滤波器的输出信号;e(n)为自适应滤波器的误差反馈信号。

参考电压信号的选取,不仅能将电压信号的采样干扰降到最低,而且还可使所产生的参考电压成为非常完美的正弦波,这避免了参考电压波形畸变对检测的影响,同时提高了系统性能。在这种情况下,若基波电流频率出现波动,是不会影响检测结果的。

根据图1,自适应滤波部分采用RLS算法,若记:

则根据文献[12],谐波检测由以下一组迭代公式完成:

其中,λ为遗忘因子,其作用相当于LMS算法中的步长;K(n)为Kalman增益向量,K(n)越大,算法的修正能力越强;P(n)为一常数矩阵,其值与输入数据的信噪比成正比;误差e(n)采用的是先验误差,即用n-1时刻权向量W(n)乘以n时可输入值X(n),一般而言,先验误差不同于LMS算法采用的后验误差且文献[12]中证明,两者存在关系:

γ(n)称为RLS算法中的收敛因子,在检测谐波电流时,由于采样频率很高,特别是算法收敛后,可认为e(n)=eLMS(n),e(n)就是检测出的谐波电流。

因此,谐波电流检测的工作原理可描述为:将iL(n)中基波分量i1(n)视为期望信号,所有谐波的总和ih(n)视为输入干扰信号。误差反馈信号e(n)根据RLS算法控制权值W(n)跟踪最佳权系数W*的变化,此时输出信号y(n)也跟踪i1(n)的变化。将y(n)从iL(n)中扣除,就可得到谐波电流ih(n)。

2 改进的RLS算法

对于恒定的iL(n),传统RLS算法的高速初始收敛特性,能得到十分理想的检测效果。但一旦iL(n)中含有间谐波或发生突变,传统算法的内在缺陷将使算法丧失高速收敛甚至收敛的能力,无法适应实时检测的要求。

当iL(n)中含有间谐波时,传统算法的输出y(n)仍含有部分间谐波,使得其波形失真,产生零点位移和半波幅值变化,此时进行二级滤波可彻底滤除间谐波。以基波有功信号i1p(n)为例,含有间谐波的检测原理如图2所示,将第1级滤波器输出y(n),作为下一级滤波器的待测电流进行二级检测,检测基波电流为y′(n),谐波电流(包括间谐波)为

同时当系统收敛后,也以基波有功信号i1p(n)为例,由式(4),即经过多次仿真并验证,K1(n)约为10-3数量级。若此时iL(n)产生突变,系统重新进入收敛过程,W1(n)将逼近新的传统算法将花费相当长时间去再次跟踪变化了的i1p,算法失去了优越性。由式(3),K(n)的变化取决于P(n),并由文献[10]可知K(n)正比于P(n),即

针对以上缺陷,文献[11]中提出了一种改进的算法:

其中,Q(n)为自扰动项;γ、ε为常数;通过设定阈值ε和梯度误差信息e(n)-e(n-1)来反映系统的收敛程度。

考虑到谐波电流检测的特殊性,信噪比较低,即e(n)往往是与i1(n)处于同一数量级。而当而e(n)稳定输出,且e(n)垌K(n),说明在谐波电流检测中用e2(n)更新Q(n)是不可行的。同时对于APF谐波检测,e(n)为谐波,即使处于收敛状态,当e(n)e(n-1)<0时,e(n)-e(n-1)往往会大于设定的阈值ε,因此很难通过设定合适的阈值ε来判断是否产生了突变。

为此本文提出在一级检测时,利用权值误差梯度ΔW1(n)=W1(n)-W1(n-2)来判断突变。权值W1(n)的实际意义是iL(n)的基波有功电流的幅值,不存在上述问题。同时为了在突变产生后能尽早地判断出,使系统及时响应,可以令判断条件为

1lli=鄱0βiW1(n-i)-i=l+鄱11βiW1(n-i)0<β<1

β类似于遗忘因子λ,放大了n时刻权值W1(n)的作用,l的作用为取计算平均值。所以Q(n)有

对此做2点说明:

a.ε应为很小的正数,ε越小,判断越早,算法越精确,但是ε过小,也会造成算法无法收敛;

b.收敛后P(n)0,此时P(n)较为敏感,Q(n)过大同样会造成算法无法收敛,通过仿真验证调节γ,使10-3 P(n)≤Q(n)≤10-1P(n)。

3 仿真分析

RLS算法在谐波检测中应用甚少,归根到底是其算法执行过程比较复杂,可能产生计算延时,为了避免这一问题,本文采用一阶滤波计算。任何RLS算法都要对P(0)进行赋初值,考虑到APF谐波电流检测信噪比较大,同时根据文献[13]提出遗忘因子的取值范围应为0.9<λ<1,对于改进的RLS算法,仍需设定参数l、ε、γ、β,经反复仿真,对于任意电流,可以设定:P(0)=20,λ=0.997 2,γ=0.005,ε=2×10-4,l=4,β=0.95。使用Matlab为仿真工具,采样频率fs=5 000 Hz,即每个基波周期采样100点。本文以权值W1(n)及所对应的基波有功电流信号i1p(n)为例,说明算法的优越性。

设待测电流iL(n)中含有间谐波时,即

此时一级输出y(n)中仍然含有间谐波,y(n)波形失真,将y(n)作为二级滤波的iL(n),再次进行RLS滤波运算。式(6)给出了iL(n)谐波电流ih(n)为2次检测误差之和e(n)+e′(n),而二级输出y′(n)为基波有功电流i1p(n)。图3所示即为经过二次滤波后,二级输出y′(n)值与真值i1p(n)的比较。由图3可知,含有间谐波时,经过50多次采样计算,即经过半个基波周期,进入初始收敛;同时二级滤波放大了运算结果,使得初期检测值大于真值。

当谐波中含有间谐波,并在检测收敛后某时刻,待测电流iL(n)突变到2 iL(n)时,检测重新进入迭代收敛过程,采用本文算法,二级输出y′(n)的基波有功电流i1p如图4所示,改进算法彻底克服了传统算法的内在缺陷,在突变发生后经50多次采样运算便再次进入收敛,从而检测出谐波电流。

4 DSP实验研究

本文使用TI公司的DSP芯片TMS320F240实现谐波电流检测实验,先将基于改进RLS算法的谐波检测程序编入芯片,程序主要完成系统初始化(如寄存器的设置、常量赋值和变量初始化等)以及调用相应的子程序。系统运行时,待测电流由霍尔传感器经电流采样及信号转换后,送入A/D转换口进行A/D转换,之后调用片内相应程序完成检测,并在示波器上显示实验结果。

图5为系统运行初期,基波有功电流信号i1p(n)变化波形(1为检测电流,2为基波电流,图6同),检测系统在t=0.02 s时投入运行,负载电流峰-峰值为2 A。可见,在系统运行半周期后,算法开始进入稳态,算法收敛,基波有功峰-峰值为2 A,因此基于改进的RLS算法自适应谐波电流检测法具有很好的初始收敛速度,通过计算,算法同时具有很好的检测精度。

图6为系统发生突变后,基波有功电流信号i1p(n)的响应波形。在t=0.1 s时负载发生突变,电流峰-峰值由1 A跳变到2 A,由图可见,随着突变信号的变化,忽略突变时负载电流存在的1个周期延时,算法大概需要半个周期跟踪上其变化,传统RLS算法延时至少为4个周期。因此基于改进的RLS算法自适应谐波电流检测法具有很好的突变响应能力。

5 结论

本文将自适应噪声对消技术用于谐波检测,分析了传统的RLS算法进行谐波检测的不足,提出了一种改进型RLS自适应谐波电流检测算法。该算法不仅可以有效地滤除间谐波,而且通过利用权值更新误差控制算法迭代,结构简单、易于实现。Matlab仿真和DSP实验说明了该算法既有较快的动态响应速度,又保持较高的检测精度,而且对于突变有很好的跟踪响应能力,验证了该谐波电流检测方法的有效性。

摘要:在考虑有源电力滤波器(APF)的低信噪比特性的基础上,提出了一种基于自适应对消技术的改进型RLS检测谐波算法,采用二级滤波来彻底滤除间谐波,并通过权值梯度误差的变化来更新自适应过程。追踪一级滤波器权值W(n)的变化,调节RLS算法中的P(n)参数,以达到快速收敛的目的。利用Matlab软件建立仿真模型,进而在DSP芯片TMS320F240上实现该算法,验证了改进算法既能够检测间谐波又克服了传统RLS算法突变响应过慢的缺点。

关键词:电力谐波,自适应滤波,间谐波,有源电力滤波器,RLS算法,突变

参考文献

[1]薛文平,刘星桥,刘国海.基于神经网络的自适应谐波和无功电流的检测[J].仪器仪表学报,2004,25(4):52-54.XUE Wenping,LIU Xingqiao,LIU Guohai.Adaptive detection ofharmonic and reactive currents based on neural network[J].Chinese Journal of Scientific Instrument,2004,25(4):52-54.

[2]孙恩昌,李于衡,张冬英,等.自适应变步长LMS滤波算法及分析[J].系统仿真学报,2007,19(14):3172-3175.SUN Enchang,LI Yuheng,ZHANG Dongying,et al.Adaptive vari-able-step size LMS filtering algorithm and its analysis[J].Journalof System Simulation,2007,19(14):3172-3175.

[3]石敏,吴正国,尹为民.基于RLS算法的时变谐波检测[J].电工技术学报,2005,20(1):50-53.SHI Min,WU Zhengguo,YIN Weimin.Time-varying harmonicdetection based on RLS algorithm[J].Transactions of ChinaElectrotechnical Society,2005,20(1):50-53.

[4]周雪松,周永兵,马幼捷.一种先进的APF补偿电流自适应检测法[J].电力电子技术,2008,42(4):9-11.ZHOU Xuesong,ZHOU Yongbing,MA Youjie.An advanced adap-tive detecting method of current compensation to active powerfilters[J].Power Electronics,2008,42(4):9-11.

[5]李萍,刘小河.基于RLS算法的APF电流检测[J].电力自动化设备,2007,27(7):50-53.LI Ping,LIU Xiaohe.APF current detection based on RLSadaptive algorithm[J].Electric Power Automation Equipment,2007,27(7):50-53.

[6]CHEN Yiguang,KONG Qun,QIAN Houlong,et al.Shunt active power filter using average power and RLS self-adapting algo-rithms[C]∥Proceedings of The Sixth International Conference onIntelligent Systems Design and Applications.Ji’nan,China:[s.n.],2006:25-30.

[7]WU Fanfeng,WU Zhengguo.Detection approach of active filterbased of adaptive inverse control[J].Control and Design,2005,20(12):1-8.

[8]朱醒,钟再敏,孙泽昌.修正指数遗忘RLS算法及其在故障诊断上的应用[J].计算机测量与控制,2007,3(15):329-331.ZHU Xing,ZHONG Zaimin,SUN Zechang.Self-adjustable expo-nential forgetting recursive least square algorithm for fault diag-nosis[J].Computer Measurement and Control,2007,3(15):329-331.

[9]JIANG Xiaohua,JIN Ji,A le emedi.Adaptive fundamental com-ponent detection approach to power harmonic compensationbased on the RLS algorithm[J].Chinese Journal of ScientificInstrument,2006,27(1):1-8.

[10]ZHAN Jinjing,WANG Jun,LIU Shouyin,et al.Channel estima-tion for OFDM system based on RLS and superimposed trai-ning sequences[C]∥2007 International Conference on WirelessCommunications.Shanghai,China:IEEE Computer Society,2007:37-40.

[11]刘桂英,粟时平.利用小波傅里叶变换的谐波与间谐波检测[J].高电压技术,2007,33(6):184-188.LIU Guiying,SU Shiping.Measurement of harmonic and inter-harmonic using transform of wavelet and Fourier[J].High Vol-tage Engineering,2007,33(6):184-188.

[12]西蒙.赫金.自适应滤波器原理[M].4版.北京:电子工业出版社,2003:344-366.

RLS学习算法 篇2

尤其能有效地培养当今大学生的创新思维与能力。同时,数学建模的各种理论与思想方法的普及、数学建模的各种理论研究及其发展,对当前世界各国和各种行业带来了巨大的经济效益和不可估量的社会效益,并将对人类社会和经济发展产生深远的影响。因此,各类学校的教育工作者,特别是数学教师在教学与科研的工作中要更加自觉地注重数学建模的各种理论与思想方法的学习、研究及其应用。

其次,我对数学建模的理解已经发生了深刻、彻底的变化。学习这门课程之前,我总是认为:数学建模只不过是一整套现成的、千古不变的、直接套用的数学模式或公式与算法,是一种十分短视或者说应试背景下没有多少实际意义和新意的行为,只是教给学生一整套固定下来的数学模式或公式又缺少了创造性与灵活性的“死”东西,是一种通过传统的教学行为让学生接受而使之成为其解决问题的一种传统的、永恒不变的、缺乏创新思维的工具。通过全面系统学习和研究这门课程之后,我深深地感到:数学建模的方法与内容不仅不是一成不变和千篇 一律的,而且是与时俱进、灵活多样和丰富多彩的。

RLS学习算法 篇3

对于低噪声环境下的语音, 目前说话人识别已能达到较高识别率, 但噪声的存在会大大降低说话人识别的性能, 如何提高说话人识别算法的噪声鲁棒性至关重要。目前常用于提高噪声环境下语音识别性能的算法可分为3类:模型补偿、语音增强和抗噪声的语音特征。其中, 语音增强是将噪声环境下的语音进行恢复, 尽可能得到受噪声污染前的语音。本文就是采用的语音增强方法来提高识别效率的, 采用递归最小二乘法 (RLS) 来进行语音增强。

提出一种关于汉语语音0到9的语音识别算法。语音识别系统用过零率和短时能量参数的方法来进行端点检测, 用MFCC参数作为语音的特征参数, 最后用DTW算法来识别语音信号。本文分为四个部分:引言, 主要算法, 试验与结果及结束语。

(二) 主要算法

1. 系统流程

如图一所示, 识别系统包括语音处理和语音识别两个部分。语音处理包括RLS滤波, 端点检测, MFCC参数计算。

2.RLS自适应算法

递归最小二乘算法 (RLS) 是用来消除语音的背景噪声。RLS算法在精确的还原原始信号方面有很好的表现。在很多消燥的应用中, 信号的变化是非常快的, 因此, 我们需要一种快速的自适应算法来解决这个问题, 从这个方面来考虑的话RLS是最好的选择方法。经过这种消燥处理后, 语音的端点检测将变得容易的多。

RLS算法除噪的原理图如图二所示。由于输入的语音信号被背景噪声所污染, 应此, 在端点检测之前加入一个消噪的过程。RLS算法消噪的原理可由以下式子表示:

其中, c代表背景噪声, c代表背景噪声c的估计, s代表纯净的语音信号, d为期望信号, kw代表自适应滤波器的滤波器系数, e为误差信号, 在理想情况下为纯净的语音信号, f代表时间参数。

自适应滤波器是消噪的核心, 系统中用RLS算法来控制自适应滤波器, 由于信号和背景噪声的参数是时刻变化的, 证明在这种情况下, RLS算法要优于其它的自适应算法, 最小二乘的准则是:

其中, nK为卡尔曼增益。

图3给出了数字0, 5, 9经过RLS自适应滤波器消噪后的结果。a代表含噪信号, b代表输入的原始语音信号, c代表经过RLS消噪后的信号。

3.端点检测和MFCC算法

经过RLS消噪后进行端点检测。在实际应用中, 通常是利用过零率来检测清音, 用短时能量来检测浊音, 两者配合实现可靠的端点检测, 本文中采用的是双门限的算法。

接下来计算MFCC参数, 未来计算FFT的方便, 取一帧信号帧长为256, 帧移为128, 经过MFCC参数计算后, 信号的处理工作就完成了, 把结果存为测试模板。

4. DTW算法

然后, 用DTW算法来进行语音识别。由于, 即使是同一个人发同一个声音, 两次发生的长短也不可能一致, 所以, 应对测试信号与模板信号进行非线性的时间规划, DTW就是基于动态规划 (DP) 的思想, 解决了发音长短不易的模板匹配问题。如果把测试模板T的各个帧号放在一个二维直角坐标系的y轴上, 把参考模板R的各个帧号房子x轴上, DTW算法就是用匹配T和R之间的关系来进行孤立语音识别的, 为了比较它们之间的相似度, 可以计算它们之间的距离:

为了计算这一失真距离, 应从它们中各个对应帧之间的距离算起, 在DTW算法中通常采用欧氏距离。DP算法可以归结为寻找一条通过T和R形成的网格中若干个格点的路径, 路径通过的格点即为T与R中进行距离计算的帧号。路径不是随意选择的, 首先任何一种语音的发音快慢都有可能变化, 但是其各部分的先后次序不可能改变, 因此所选的路径必定是从左下角出发, 在右上角结束。本文采用DTW高效算法, 提高了系统的效率。

(三) 试验与结果

实验中, 系统先存储说话人0到9的语音, 然后, 再随机抽取说话人0到9的语音进行测试, 测试语音与模板语音得分最少的即为所得的识别结果。实验一共随机抽取数字100次。

通过表1可以得知, 未经过RLS消噪的识别率仅为72%, 是由于噪声存在影响了端点检测以及MFCC特征提取等识别过程;从表2可以得知, 经过RLS消噪后数字的识别率为98.7%, 远远高于前者。

(四) 小结

本RLS自适应算法在精确的还原原始信号优越性能在试验中得到了很好的体现, 通过RLS消噪后使数字语音识别率有了很大的提高, 已经达到了预期语音增强从而提高识别率的目的。

摘要:在语音识别中鲁棒性是一个很关键的因素, 文章提出了一种关于0~9数字语音识别算法, 采用递归最小二乘法 (RLS) 来消除噪声, 系统使用过零率和能量参数作为端点检测方法, 用美尔倒普系数 (MFCC) 矢量作为声道估计的滤波器, 同时, 采用动态时间弯折算法来识别语音。结果显示, 未加RLS消噪系统前系统的识别率为72%, 在处理过程中加入RLS消噪后识别率提高到98.7%。

关键词:语音识别,美尔倒谱系数,递归最小二乘算法,动态时间弯折

参考文献

[1]GALES M F J.Predictive model-based compensation schemes for robust speech recognition[J].Speech Communication, 1998, 25 (1-3) :49-74.

[2]WEINSTEIN E, OPPENHEIM A V, FEDER M, et a.l Iterativeand sequential algorithms for multisensor signal enhancement[C].IEEE Trans.on Signal Processing, 1994, 42 (4) :846-859.

[3]XU T, CAO Z G.Combination of feature weight and speech enhancement for robustASR at low SNRs[C].Proceedings of IEEE TENCON′02, 2002:441-444.

[4]Park, J.H., Quan, Z.H., Han, S., Kwon, W.H., 2008.New Recursive Least Squares Algorithms without Using the Initial Information, IEICE TRANS.COMMUN., VOL.E91–B, NO.3MARCH2008.

上一篇:电影《三打白骨精》下一篇:质量流量计误差分析