文档

dsp。RLSFilter系统对象

使用递归最小二乘(RLS)算法计算输出、误差和系数

描述

RLSFilter对象使用RLS过滤器实现过滤输入的每个通道。

要过滤输入的每个通道:

  1. 定义并设置RLS过滤器。看到建设

  2. 调用一步的属性对输入的每个通道进行过滤dsp。RLSFilter。的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行System对象™定义的操作,则可以使用参数调用该对象,就像调用函数一样。例如,Y = step(obj,x)Y = obj(x)请执行相同的操作。

建设

rlsFilt = dsp。RLSFilter返回一个自适应的RLS过滤系统对象,rlsFilt。这个System对象使用RLS算法计算给定输入和期望信号的滤波输出、滤波误差和滤波权重。

rlsFilt = dsp。RLSFilter ('PropertyName',PropertyValue,……)返回一个RLS过滤器系统对象,rlsFilt,将每个指定的属性设置为指定的值。

rlsFilt = dsp。RLSFilter (LEN,'PropertyName',PropertyValue,……)返回一个RLS过滤器系统对象,rlsFilt。这个System对象的Length属性设置为LEN,并将其他指定属性设置为指定值。

属性

方法

计算滤波器系数的方法

您可以指定用于计算过滤器系数的方法为|之一传统的RLS[1][2]|户主RLS[3][4]|滑动窗口RLS[5][1][2]|户主滑动窗口RLS[4]|QR分解[1][2]。默认值为传统的RLS。此属性不可调。

长度

滤波器系数向量的长度

将RLS筛选器系数向量的长度指定为一个标量正整数值。默认值为32。此属性不可调。

SlidingWindowBlockLength

滑动窗口的宽度

将滑动窗口的宽度指定为大于或等于Length属性值的标量正整数值。此属性仅在Method属性设置为时适用滑动窗口RLS户主滑动窗口RLS。默认值为48。此属性不可调。

ForgettingFactor

遗忘因子

将RLS遗忘因子指定为小于或等于1的标量正数值。将此属性值设置为1表示无限内存,同时调整以查找新的筛选器。默认值为1。此属性是可调的。

InitialCoefficients

滤波器的初始系数

指定FIR自适应滤波器系数的初始值为长度等于的标量或向量长度属性值。默认值为0。此属性是可调的。

InitialInverseCovariance

初始逆协方差

指定输入信号的逆协方差矩阵的初始值。此属性必须是标量或方阵,且每个维数都等于长度属性值。如果设置了标量值,则InverseCovariance属性初始化为一个对角矩阵,其中对角元素等于该标量值。属性仅适用于方法属性设置为传统的RLS滑动窗口RLS。默认值为1000。此属性是可调的。

InitialSquareRootInverseCovariance

初始平方根逆协方差

指定输入信号的平方根逆协方差矩阵的初始值。此属性必须是标量或每个维数都等于的方阵长度属性值。如果设置了标量值,则SquareRootInverseCovariance属性初始化为一个对角矩阵,其中对角元素等于该标量值。属性仅适用于方法属性设置为户主RLS户主滑动窗口RLS。默认值为sqrt (1000)。此属性是可调的。

InitialSquareRootCovariance

初始的平方根协方差

指定输入信号的平方根协方差矩阵的初始值。此属性必须是标量或每个维数都等于的方阵长度属性值。如果设置了标量值,则SquareRootCovariance属性初始化为具有与标量值相等的对角元素的对角矩阵。属性仅适用于方法属性设置为QR-decomposition RLS。默认值为sqrt (1/1000)。此属性是可调的。

LockCoefficients

锁紧系数更新

指定是否应该锁定过滤器系数值。当您将此属性设置为真正的时,滤波器系数不会更新,其值保持不变。默认值为(过滤器系数不断更新)。此属性是可调的。

方法

msesim RLS滤波器的均方误差
重置 的内部状态系统对象
一步 使用RLS过滤器处理输入
所有系统对象通用
释放

允许系统对象属性值更改

例子

全部展开

使用RLS滤波器系统对象™来确定信号值。

请注意:此示例仅在R2016b及以上版本运行。如果您正在使用较早的版本,请将对函数的每次调用替换为等效的调用一步语法。例如,myObject(x)变成step(myObject,x)。

Rls1 = dsp。RLSFilter (11,“ForgettingFactor”, 0.98);Filt = dsp。FIRFilter (“分子”二十五分,fir1(10日));未知系统X = randn(1000,1);%输入信号D = filt(x) + 0.01*randn(1000,1);期望信号百分比[y,e] = rls1(x, d);w = rls1.系数;Subplot (2,1,1), plot(1:1000, [d,y,e]);标题(FIR滤波器的系统识别);传奇(“想要的”“输出”“错误”);包含(“时间指数”);ylabel (的信号值);次要情节(2,1,2);茎([filt.Numerator;w]。');传奇(“实际”“估计”);包含(“系数#”);ylabel (的系数值);

噪音消除

Rls2 = dsp。RLSFilter (“长度”11“方法”房主RLS的);Filt2 = dsp。FIRFilter (“分子”fir1(10(。5、综合成绩));X = randn(1000,1);%的噪音D = filt2(x) + sin(0:.05:49.95)';%噪声+信号[y, err] = rls2(x, d);次要地块(2,1,1)、地块(d)、标题(“噪音+信号”);Subplot (2,1,2), plot(err), title(“信号”);

算法

dsp。RLSFilter系统对象,当传统的RLS,递归计算FIR滤波器权重的最小二乘估计(RLS)。System对象估计将输入信号转换为所需信号所需的滤波器权重或系数。输入信号可以是标量,也可以是列向量。所期望的信号必须具有与输入信号相同的数据类型、复杂性和维度。对应的RLS滤波器用矩阵形式表示为Pn):

k n = λ 1 P n 1 u n 1 + λ 1 u H n P n 1 u n y n = w T n 1 u n e n = d n y n w n = w n 1 + k n e n P n = λ 1 P n 1 λ 1 k n u H n P n 1

在λ1表示指数权重因子的倒数。变量如下:

变量 描述
n 当前时间索引
un 在阶跃处缓冲输入样本的向量n
Pn 阶跃处的逆相关矩阵n
kn 阶跃处的增益向量n
wn 滤波器抽头矢量按阶估计n
y (n 按步骤过滤的输出n
e (n) 阶跃估计误差n
d (n) 按阶跃得到所需的响应n
λ 遗忘因素

uw,k都是列向量。

参考文献

M Hayes,统计数字信号处理与建模,纽约:Wiley, 1996

[2] S.海金,自适应滤波理论,第四版,上马鞍河,新泽西州:普伦蒂斯大厅,2002

[3] A.A. Rontogiannis和S. Theodoridis,“逆因子分解自适应最小二乘算法”,信号处理,第52卷,no. 1。1996年7月,第35-47页。

S.C.道格拉斯,“数值鲁棒O(N2)使用最小二乘预白的RLS算法,“IEEE Int。声学,语音和信号处理会议,伊斯坦布尔,土耳其,第1卷,第412-415页,2000年6月。

A. H.赛义德,自适应滤波基础,霍博肯,新泽西州:约翰·威利父子,2003年

扩展功能

在R2013a中引入

这个话题有用吗?