EngeeDSP.BlockLMSFilter
使用自适应最小二乘算法块计算输出、误差和权重。
库::`工程师`
资料描述
系统对象*EngeeDSP。BlockLMSFilter*使用实现最小二乘自适应算法(Lms)的块计算输出数据、误差和权重。
要计算输出、误差和权重,请执行以下步骤:
-
创建*EngeeDSP。BlockLMSFilter*对象并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
创造
-
blms=EngeeDSP。BlockLMSFilter()-返回自适应FIR滤波器系统对象大厦,其对输入信号进行滤波并基于最小二乘(Lms)算法块计算滤波权重。 -
blms=EngeeDSP。BlockLMSFilter(length,blocksize)-返回自适应FIR滤波器系统对象大厦,它具有属性*Length*值集长度,并为属性*BlockSize*-value区块大小. -
blms=EngeeDSP。BlockLMSFilter(名称=值)-返回具有指定属性的自适应FIR滤波器系统对象作为一对名称=值,在哪里姓名-物业的名称,以及价值-适当的值。 您可以指定多个对 «名称-值» 对的顺序并不重要。 未指定的属性保留其默认值。例子::
# создание адаптивного КИХ-фильтра с количеством отсчетов, полученных до адаптации весовых коэффициентов, 16 blms = EngeeDSP.BlockLMSFilter(BlockSize = 16)
使用
-
[参数:y],[参数:err],[参数:wts]=blms(<参数:x>>,[参数:d])-过滤输入信号x使用d作为期望信号,并返回滤波后的输出信号y. 过滤器错误 —错误,估计滤波器权重 —西隧. 对象处理的每个数据块的滤波器权重更新一次。 -
[参数:y],[参数:err]=blms(<参数:x>>,<参数:d>>)-仅返回滤波后的输出信号y和过滤器错误错误如果为属性*WeightsOutputPort*值集错误. -
___ =blms([参数:x],[参数:d],[参数:mu])-用途木作为步长,如果为属性*StepSizeSource*值集"输入端口". 这些输入参数可以与前面的任何一组输出参数一起使用。 -
___ =blms(<参数:x>>,<参数:d>>,<参数:a>>)-用途a作为控制适配的信号,if为属性*AdaptInputPort*value set真的. 何时a不等于零,则滤波器不断更新滤波器权值。 何时a等于零,则滤波器权重保持恒定。 -
___ =blms([参数:x],[参数:d],[参数:r])-用途r作为复位信号,如果为属性*WeightsResetInputPort*值集真的. 使用*WeightsResetCondition*设置重置触发条件。 如果发生重置事件,筛选器将筛选器权重重置为其初始值。 -
[参数:y],[参数:err],[参数:wts]=blms(<参数:x>>,<参数:d>>,<参数:mu>>,<参数:a>>,<参数:r>>)-过滤输入信号x使用d作为所需信号,木作为步长,a作为信号控制适应,以及r作为复位信号。 对象返回滤波后的输出信号y,过滤错误错误和适配的滤波器权重西隧. 设置适当的属性以提供所有可能的输入数据。
争论
输入参数
# *d*是 所需的信号
+
标量,标量 | 列向量
Details
LMS滤波器调整其权重系数 西隧 尽量减少错误 错误 和输入信号的最精确近似 x 到所需的信号 d.
的输入信号 x 和期望的信号 d 它们必须具有相同的大小和数据类型。
| 数据类型 |
|
# 穆 — 步长
+
非负标量
Details
适应步长的系数,设为非负标量。 输入步长的数据类型必须与参数的数据类型匹配。 x 和 d.
小步长确保了输出信号之间的小稳态误差 y 和期望的信号 d. 如果步长较小,则滤波器的收敛速率降低。 要增加收敛速率,请增加步长。 注意,如果步长较大,滤波器可能变得不稳定。
依赖关系
若要使用此参数,请将属性设置为*StepSizeSource*value "输入端口".
| 数据类型 |
|
# 一个 — 适应管理
+
标量,标量
Details
的适配控制输入,其确定如何更新滤波器权重。 如果此参数的值不为零,则对象会不断更新筛选器权重。 如果此参数的值为零,则滤波器权重保持其当前值。
依赖关系
如果对于*AdaptInputPort*值集,则必须使用此参数 真的.
| 数据类型 |
|
# r — 复位信号
+
标量,标量
Details
根据*WeightsResetInputPort*的值重置过滤器权重的重置信号。
依赖关系
如果对于*WeightsResetInputPort*值集,则必须使用此参数 真的.
| 数据类型 |
|
输出参数
# y — 滤波后的输出信号
+
标量,标量 | 列向量
Details
滤波后的输出信号作为标量或列向量返回。 对象使其滤波器权重适应输入信号的收敛 x 到所需的信号 d. 滤波器输出会聚信号。
| 数据类型 |
|
# 错误 — 输出和所需信号之间的差值
+
标量,标量 | 列向量
Details
输出信号的差值 y 和期望的信号 d,作为标量或列向量返回。 数据类型 错误 对应于数据类型 y. 自适应滤波器的目的是使这种误差最小化。 对象调整其权重以收敛于提供尽可能接近所需信号的输出信号的最佳滤波器权重。
| 数据类型 |
|
特征
#
Length —
FIR滤波器的加权系数的向量的长度
Real number
Details
FIR滤波器的加权系数的向量的长度,设为正整数。
#
WeightsResetInputPort —
用于激活权重重置的附加输入
Logical
Details
允许FIR滤波器重置滤波器权重值的选项。 默认情况下,此属性设置为 错误,并且对象不减肥。 如果此属性设置为 真的,有必要将复位控制输入信号传递给对象,然后将应用*[Property属性:WeightsResetCondition]*。 对象根据*WeightsResetCondition*的值和传递给对象算法的重置输入信号重置筛选器权重。
#
StepSize —
适应步骤的大小
Real number
Details
#
LeakageFactor —
泄漏LMS算法中使用的损耗因子
Real number
Details
泄漏LMS算法中使用的损耗系数,以 0 以前 1 包容性。 如果值小于 1,系统对象实现leaky LMS算法。 默认值为 1,这意味着自适应算法没有泄漏。
#
AdaptInputPort —
用于激活滤波器权重调整的附加输入
Logical
Details
一个选项,允许您指定对象何时应该调整过滤器权重。 默认情况下,此属性设置为 错误,并且过滤器不断更新过滤器权重。 如果此属性设置为 真的,向所述对象提供适配控制输入信号。 如果此输入信号的值不为零,则滤波器连续更新滤波器权重。 如果输入值为零,则滤波器权重保持其当前值。
# WeightsResetCondition — 触发过滤器权重重置的条件
Details
指定重置筛选器权重的事件。: "上升沿", "下降边缘", "任一边" 或 "非零". 对象根据此属性的值和传递给对象算法的重置输入信号重置过滤器权重。
依赖关系
若要使用此属性,请设置*WeightsResetInputPort*值 "真的".
#
WeightsOutputPort —
滤波器输出端的加权因子
Logical
Details
将此属性设置为 真的 以输出适配的滤波器权重。 默认值 — 真的.
#
BlockSize —
加权因子调整前收到的样本数目
Real number
Details
输入信号的采样数,设为正整数。 这些样本必须在对象更新过滤器权重之前获得。 输入帧的长度必须是块大小的整数倍。