计算输出,错误,和LMS自适应滤波器的权重
的dsp.LMSFilter
系统对象™实现了一种自适应有限脉冲响应(杉木)滤波器收敛期望信号的输入信号使用以下算法:
LMS
归一化LMS
Sign-Data LMS
符号误差LMS
Sign-Sign LMS
这些方法的更多细节,请参阅算法。
过滤器调整权重,直到误差主要输入信号与期望信号之间是最小的。的均方误差(MSE)计算使用msesim
函数。的预测版本使用维纳滤波器在MSE决定msepred
函数。的maxstep
函数计算的最大适应步长,控制收敛的速度。
使用一种自适应滤波器过滤一个信号:
创建dsp。LMSFilter object and set its properties.
调用对象的参数,就好像它是一个函数。
了解更多关于系统对象是如何工作的,看到的系统对象是什么?(MATLAB)。
lms = dsp.LMSFilter
lms = dsp.LMSFilter(左)
lms = dsp.LMSFilter(名称、值)
比R2016b早版本,使用一步
函数运行系统对象™算法。的参数一步
是你创建的对象,其次是本节所示的参数。
例如,y =步骤(obj, x)
和y = obj (x)
执行相同操作。
[y,犯错,但是]= lms (x, d)
[y,犯错]= lms (x, d)
(___]= lms (x, d,μ)
(___]= lms (x, d, a)
(___]= lms (x, d, r)
[y,犯错,但是]= lms (x, d,μa, r)
(
滤波器的输入信号,y
,犯错
)= lms (x
,d
)x
,使用d
期望信号,并返回输出过滤y
过滤错误犯错
当WeightsOutput属性设置为“没有”
。
(___)= lms (
滤波器的输入信号,x
,d
,μ
)x
,使用d
所需的信号μ
步长,当StepSizeSource属性设置为输入端口的
。可以使用这些输入与前一套输出。
(___)= lms (
滤波器的输入信号,x
,d
,一个
)x
,使用d
所需的信号一个
适应控制时AdaptInputPort属性设置为真正的
。当一个
非零,系统对象不断更新滤波器权重。当一个
是零,过滤器的重量保持不变。
(___)= lms (
滤波器的输入信号,x
,d
,r
)x
,使用d
所需的信号r
作为一个复位信号时WeightsResetInputPort属性设置为真正的
。的WeightsResetCondition属性可用于设置重置触发条件。如果重置事件发生时,系统对象重置滤波器权值初始值。
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj
使用这个语法:
发行版(obj)
LMS滤波算法定义由以下方程。
这个系统中可用的各种LMS自适应滤波器算法对象被定义为:
LMS:
归一化LMS:
符号误差LMS:
Sign-Data LMS:
Sign-Sign LMS:
的变量如下:
变量 | 描述 |
---|---|
n |
当前时间指数 |
u(n) |
缓冲输入样本向量的一步n |
u *(n) |
矢量的复共轭缓冲输入样本的一步n |
w(n) |
矢量滤波器权值估计的步骤n |
y (n) |
过滤输出步骤n |
e (n) |
一步的估计误差n |
d (n) |
所需的反应步骤n |
µ |
适应步长 |
α | 泄漏的因素(0 <α≤1) |
[1]海耶斯,M.H.统计数字信号处理和建模。纽约:约翰·威利& Sons, 1996。
dsp.AdaptiveLatticeFilter
|dsp.AffineProjectionFilter
|dsp.BlockLMSFilter
|dsp.FIRFilter
|dsp.FastTransversalFilter
|dsp.FilteredXLMSFilter
|dsp.FrequencyDomainAdaptiveFilter
|dsp.KalmanFilter
|dsp.RLSFilter