AnyMath 文档

EngeeDSP.BlockLMSFilter

使用自适应最小二乘算法块计算输出、误差和权重。

库::`工程师`

资料描述

系统对象*EngeeDSP。BlockLMSFilter*使用实现最小二乘自适应算法(Lms)的块计算输出数据、误差和权重。

要计算输出、误差和权重,请执行以下步骤:

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

  2. 用参数调用对象,就好像它是一个函数一样。

若要了解有关如何使用系统对象的详细信息,请参阅 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,过滤错误 错误 和适配的滤波器权重 西隧. 设置适当的属性以提供所有可能的输入数据。

争论

输入参数

# x — 输入数据

+ 标量,标量 | 列向量

Details

将被LMS滤波器系统对象滤波的信号。 的输入信号 x 和期望的信号 d 它们必须具有相同的大小和数据类型。

输入信号的长度必须是属性*BlockSize*值的整数倍。

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

# *d*是 所需的信号

+ 标量,标量 | 列向量

Details

LMS滤波器调整其权重系数 西隧 尽量减少错误 错误 和输入信号的最精确近似 x 到所需的信号 d.

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

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

# 穆 — 步长

+ 非负标量

Details

适应步长的系数,设为非负标量。 输入步长的数据类型必须与参数的数据类型匹配。 x 和 d.

小步长确保了输出信号之间的小稳态误差 y 和期望的信号 d. 如果步长较小,则滤波器的收敛速率降低。 要增加收敛速率,请增加步长。 注意,如果步长较大,滤波器可能变得不稳定。

依赖关系

若要使用此参数,请将属性设置为*StepSizeSource*value "输入端口".

数据类型

漂浮物32, 漂浮64</无翻译>

# 一个 — 适应管理

+ 标量,标量

Details

的适配控制输入,其确定如何更新滤波器权重。 如果此参数的值不为零,则对象会不断更新筛选器权重。 如果此参数的值为零,则滤波器权重保持其当前值。

依赖关系

如果对于*AdaptInputPort*值集,则必须使用此参数 真的.

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, UInt8, UInt16, UInt32, 布尔</无翻译>

# r — 复位信号

+ 标量,标量

Details

根据*WeightsResetInputPort*的值重置过滤器权重的重置信号。

依赖关系

如果对于*WeightsResetInputPort*值集,则必须使用此参数 真的.

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, UInt8, UInt16, UInt32, 布尔</无翻译>

输出参数

# y — 滤波后的输出信号

+ 标量,标量 | 列向量

Details

滤波后的输出信号作为标量或列向量返回。 对象使其滤波器权重适应输入信号的收敛 x 到所需的信号 d. 滤波器输出会聚信号。

数据类型

漂浮物32, 漂浮64</无翻译> 支持复数::是

# 错误 — 输出和所需信号之间的差值

+ 标量,标量 | 列向量

Details

输出信号的差值 y 和期望的信号 d,作为标量或列向量返回。 数据类型 错误 对应于数据类型 y. 自适应滤波器的目的是使这种误差最小化。 对象调整其权重以收敛于提供尽可能接近所需信号的输出信号的最佳滤波器权重。

数据类型

漂浮物32, 漂浮64</无翻译>

# wts — 自适应滤波器权重

+ 标量,标量 | 列向量

Details

自适应滤波器权重作为标量或列向量返回,其长度由属性值*Length*指定。

数据类型 西隧 对应于数据类型 y.

数据类型

漂浮物32, 漂浮64</无翻译>

特征

# Length — FIR滤波器的加权系数的向量的长度
Real number

Details

FIR滤波器的加权系数的向量的长度,设为正整数。

# StepSizeSource — 定适配步骤大小的方法
String

Details

适应步骤的大小的系数的设定方法,设为

  • "财产" -使用*StepSize*指定步长。

  • "输入端口" -使用参数指定步长 [参数:mu].

# InitialWeights — 滤波器权重的初始值
Scalar / vector of real and/or complex numbers

Details

过滤器权重的初始值,设置为长度等于属性值的标量或向量*Length*。

# WeightsResetInputPort — 用于激活权重重置的附加输入
Logical

Details

允许FIR滤波器重置滤波器权重值的选项。 默认情况下,此属性设置为 错误,并且对象不减肥。 如果此属性设置为 真的,有必要将复位控制输入信号传递给对象,然后将应用*[Property属性:WeightsResetCondition]*。 对象根据*WeightsResetCondition*的值和传递给对象算法的重置输入信号重置筛选器权重。

# StepSize — 适应步骤的大小
Real number

Details

适应步长的系数,设为非负标量。

依赖关系

若要使用此属性,请设置*StepSizeSource*值 "财产".

# 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

输入信号的采样数,设为正整数。 这些样本必须在对象更新过滤器权重之前获得。 输入帧的长度必须是块大小的整数倍。

方法

所有系统对象通用

步!::运行系统对象运算算法 释放!::允许更改系统对象属性的值 重置!::重置系统对象的内部状态