主要内容

dsp。BlockLMSFilter

使用块LMS自适应算法计算输出,误差和权重

描述

dsp。BlockLMSFilter系统对象™使用块LMS自适应算法计算输出、错误和权重。

计算输出、误差和权重:

  1. 创建dsp。BlockLMSFilter对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

blm= dsp。BlockLMSFilter返回一个自适应FIR滤波器,blm,对输入信号进行滤波,并基于块最小均方(LMS)算法计算滤波权值。

例子

blm= dsp。BlockLMSFilter (长度blocksize返回一个自适应FIR滤波器,blm,与长度属性设置为长度BlockSize属性设置为blocksize

例子

blm= dsp。BlockLMSFilter (名称,值返回一个自适应FIR滤波器,blm,将每个指定的属性设置为指定的值。将每个属性名用单引号括起来。未指定的属性有默认值。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

将FIR过滤器权重向量的长度指定为正整数标量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

指定在对象更新滤波器权重之前要获取的输入信号的采样数。输入帧长度必须是块大小的整数倍。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

指定自适应步长因子的源为财产输入端口

将自适应步长因子指定为非负数值的标量。

可调:是的

依赖关系

属性时才应用此属性StepSizeSource财产“属性”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

指定泄漏LMS算法中使用的泄漏因子为之间的标量数值0而且1,两者都包括在内。当值小于1, System对象实现了一个泄漏LMS算法。默认为1,自适应算法无泄漏。

可调:是的

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

将筛选器权重的初始值指定为长度等于长度属性值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

指定对象何时应该适应过滤器权重。默认情况下,此属性的值为,滤波器不断更新滤波器权值。当此属性设置为真正的,向对象提供自适应控制输入。如果这个输入的值非零,过滤器将不断更新过滤器权重。如果输入为零,则过滤器权重保持在当前值。

指定FIR过滤器是否可以重置过滤器权重。默认情况下,此属性的值为,对象不重置权重。当此属性设置为真正的时,必须为对象提供重置控制输入,而WeightsResetCondition财产适用。属性的值重置筛选器权重WeightsResetCondition属性和对象算法的重置输入。

指定将筛选器权重重置为其中之一的事件前沿下降沿要么边缘,或非零.对象根据此属性的值和对象算法输入的重置信号重置过滤器权重。

依赖关系

属性时才应用此属性WeightsResetInputPort财产真正的

将此属性设置为真正的输出自适应的滤波器权重。默认为真正的

使用

描述

例子

y犯错出世= blms(xd过滤输入x,使用d作为所需的信号,并返回过滤后的输出y.过滤器误差为犯错,估计滤波器权值为出世.对于对象处理的每个数据块,过滤器权重更新一次。

y犯错= blms(xd只返回过滤后的输出y还有过滤器错误犯错WeightsOutputPort属性是

___= blms(xdμ使用μ作为步长,当你设置StepSizeSource财产输入端口.这些输入参数可以与前面任何一组输出参数一起使用。

___= blms(xd一个使用一个属性时的自适应控件AdaptInputPort财产真正的.当一个非零时,过滤器会不断更新过滤器权重。当一个为零时,滤波器权值保持不变。

___= blms(xdr使用r作为复位信号,当你设置WeightsResetInputPort财产真正的.使用WeightsResetCondition属性设置重置触发条件。如果发生重置事件,筛选器将筛选器权重重置为初始值。

y犯错出世= blms(xdμ一个r过滤器的输入x,使用d作为期望信号,μ作为步长,一个作为自适应控制,和r作为复位信号。对象返回过滤后的输出y,滤波器误差犯错,以及自适应滤波器权值出世.适当地设置属性以提供所有可能的输入。

输入参数

全部展开

被块LMS滤波器滤波的信号。输入,x,和期望信号,d,必须具有相同的大小和数据类型。

的整数倍BlockSize属性值。

数据类型:|
复数支持:金宝app是的

LMS滤波器调整它的滤波器权重,出世,使误差最小,犯错,对输入信号进行收敛x到期望的信号d越近越好。

输入,x,和期望信号,d,必须具有相同的大小和数据类型。

数据类型:|
复数支持:金宝app是的

自适应步长因子,指定为标量,非负数值。步长输入的数据类型必须与的数据类型匹配x而且d

较小的步长可确保输出之间的稳态误差较小y以及期望的信号d.步长越小,滤波器的收敛速度越慢。为了提高收敛速度,可以增大步长。注意,如果步长很大,过滤器会变得不稳定。要计算过滤器在不变得不稳定的情况下可以接受的最大步长,请使用maxstep函数。

依赖关系

属性时才应用此属性StepSizeSource财产输入端口的

数据类型:|

自适应控制输入,用于控制如何更新过滤器权重。如果此输入的值非零,则对象将不断更新筛选器权重。如果该输入的值为零,则过滤器权重保持在当前值。

依赖关系

时需要此输入AdaptInputPort属性设置为真正的

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

的值来重置滤波器权重的复位信号WeightsResetInputPort财产。

依赖关系

时需要此输入WeightsResetInputPort属性设置为真正的

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

输出参数

全部展开

过滤后的输出,作为标量或列向量返回。对象调整其滤波器权值以收敛输入信号x以匹配所需的信号d.滤波器输出收敛信号。

数据类型:|
复数支持:金宝app是的

输出信号之间的差值y以及期望的信号d,作为标量或列向量返回。的数据类型犯错的数据类型匹配y.自适应滤波器的目标是使这种误差最小化。该对象调整其权重以收敛于产生与所需信号密切匹配的输出信号的最佳滤波器权重。

数据类型:|

类中指定长度的标量或列向量返回的自适应筛选器权重长度财产。

的数据类型出世的数据类型匹配y

数据类型:|

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

msesim 自适应滤波器的估计均方误差
maxstep LMS自适应滤波器收敛的最大步长
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

请注意:如果您正在使用R2016a或更早的版本,请将对对象的每个调用替换为等效的调用一步语法。例如,obj (x)就变成了步骤(obj, x)

blms = dsp.BlockLMSFilter(10,5);blm。StepSize = 0.01;blm。WeightsOutputPort = false;filt = dsp.FIRFilter;filt。分子= fir1(10,[。5、综合成绩);X = randn(1000,1);%的噪音D = filt(x) + sin(0:.05:49.95)';%噪声+信号[y, err] = blms(x, d);次要情节(2,1,1);情节(d);标题(“噪音+信号”);次要情节(2,1,2);情节(错);标题(“信号”);

图中包含2个轴对象。标题为Noise + Signal的Axes对象1包含一个类型为line的对象。带有标题Signal的Axes对象2包含一个line类型的对象。

请注意:如果您正在使用R2016a或更早的版本,请将对对象的每个调用替换为等效的调用一步语法。例如,obj (x)就变成了步骤(obj, x)

Fir = fir1(31,0.5);要识别的FIR系统firFilter = dsp。FIRFilter (“分子”、冷杉);iirFilter = dsp。IIRFilter (“分子”sqrt (0.75),...“分母”-0.5 [1]);x = iirFilter(sign(randn(2000,25)));观测噪声信号%N = 0.1*randn(size(x));%期望信号d = firFilter(x)+n;过滤器长度%L = 32;Block LMS步长Mu = 0.008;%用于分析的抽取因子%和模拟结果M = 32;Fir = dsp。BlockLMSFilter (l,“StepSize”μ);[simmse,meanWsim,Wsim,traceKsim] = msesim(fir,x,d,m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel (“MSE (dB)”);绘制学习曲线%块LMS过滤器用于系统识别标题(“学习曲线”

图中包含一个轴对象。标题学习曲线的坐标轴对象包含一个类型为line的对象。

算法

对象上描述的算法、输入和输出块LMS滤波器块引用页。对象属性对应于块参数。

扩展功能

另请参阅

对象

在R2012a中引入