AnyMath 文档

LMS Filter

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

模块类型: LMSFilter

库中的路径:

/Signal Operations/Filters/Adaptive Filters/LMS Filter

资料描述

座 *LMS Filter*可以使用五种不同的算法实现自适应FIR滤波器。 块评估最小化误差所需的滤波器权重。 之间的输出信号 和期望的信号 . 输出是经过滤波的输入信号,其是期望信号的估计。 *Error*端口输出从所需信号中减去输出信号的结果。

港口

输入

# 输入 — 的输入信号
标量,标量 | 列向量

Details

输入信号被指定为标量或列向量。

如果为参数 *Algorithm*值已设置 Sign-Error LMS, Sign-Data LMSSign-Sign LMS,那么*Input*端口上的数据必须是真实的。

数据类型

漂浮物32, 漂浮64

复数支持

非也。

# 期望的 — 所需的信号
标量,标量 | 列向量

Details

期望的信号,指定为标量或列向量。

所需信号必须具有与*输入*端口上的信号相同的数据类型、复杂度和大小。

如果为参数 *Algorithm*值已设置 Sign-Error LMS, Sign-Data LMSSign-Sign LMS,那么*所需*端口上的数据必须是真实的。

数据类型

漂浮物32, 漂浮64

复数支持

非也。

# 适应 — 更新过滤器权重
标量,标量

Details

如果*Adapt*端口上的值大于零,则块不断更新滤波器权重。

如果*Adapt*端口上的值小于或等于零,则权重保持其当前值。

依赖关系

要使用此端口,请选中此框 Adapt port.

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, 布尔

复数支持

非也。

# 重置 — 重置过滤器权重
标量,标量

Details

用于将滤波器权重的值重置为它们的初始值的信号,设置为标量。

每次在*Reset*端口上检测到reset事件时,块都会重置权重。

有关重置事件的类型,请参阅参数 Reset port.

依赖关系

要使用此端口,请设置参数 *Reset port*价值 Rising edge, Falling edge, Either edgeNon-zero sample.

数据类型

漂浮物32, 漂浮64, Int8, Int16, Int32, 布尔

复数支持

非也。

# 步长 — 步长
标量,标量

Details

输入步长 .

用于算法方程的收敛 Normalized LMS: .

输入数据类型必须与*Input*端口上的数据类型匹配。

依赖关系

要使用此端口,请设置参数 *Specify step size via*价值 Input port.

数据类型

漂浮物32, 漂浮64

复数支持

非也。

输出

# 输出 — 期望信号的评估
标量,标量 | 列向量

Details

期望信号的估计值,作为标量或列向量返回。 它具有与输入信号相同的大小和复杂度。

输出信号具有与期望信号相同的数据类型。

数据类型

漂浮物32, 漂浮64

复数支持

非也。

# 错误 — 输出和所需信号之间的误差
标量,标量 | 列向量

Details

输出和所需信号之间的误差,作为标量或列向量返回。 该误差是从期望信号中减去输出信号的结果。

误差信号具有与期望信号相同的数据类型。

数据类型

漂浮物32, 漂浮64

复数支持

非也。

# 西隧 — 过滤器权重
标量,标量 | 列向量

Details

作为标量或列向量返回的过滤器权重。 对于每次迭代,块从该端口输出当前更新的滤波器权重。

依赖关系

要使用此端口,请选中此框 Output filter weights.

数据类型

漂浮物32, 漂浮64

复数支持

非也。

参数

主要

# Algorithm — 计算滤波器权重的算法
LMS | Normalized LMS | Sign-Error LMS | Sign-Data LMS | Sign-Sign LMS

Details

选择用于计算滤波器权重的算法。

LMS | Normalized LMS | Sign-Error LMS | Sign-Data LMS | Sign-Sign LMS

默认值

LMS

程序使用名称

Algorithm

可调谐

可计算

# Filter length — 过滤器长度
Int64 integer

Details

输入FIR滤波器权重向量的长度。

默认值

32

程序使用名称

FilterLength

可调谐

可计算

# Specify step size via — 步长设置方法
Dialog | Input port

Details
  • Dialog -使用参数指定步长 Step size (mu).

  • Input port -使用*Step-size*端口指定步长。

Dialog | Input port

默认值

Dialog

程序使用名称

SpecifyStepSizeVia

可调谐

可计算

# Step size (mu) — 步长
Real number

Details

输入步长 .

用于算法方程的收敛 Normalized LMS: .

依赖关系

若要使用此参数,请为参数设置 *Specify step size via*价值 Dialog.

默认值

0.1

程序使用名称

StepSize

可调谐

可计算

# Leakage factor (0 to 1) — 损失比率
Real number

Details

输入损耗因子 .

默认值

1.0

程序使用名称

LeakageFactor

可调谐

可计算

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

Details

输入过滤器权重的初始值 矢量或标量的形式。

如果输入标量,则块使用标量值来创建过滤器权重的向量。 这个向量的长度等于滤波器的长度,它的所有值都等于一个标量值。

默认值

0.0

程序使用名称

InitialValueOfFilterWeights

可调谐

可计算

# Adapt port — 启用适配端口
Logical

Details

选中此框以启用*Adapt*端口。

默认值

false (关掉)

程序使用名称

AdaptPort

可调谐

可计算

# Reset port — 重置端口
None | Rising edge | Falling edge | Either edge | Non-zero sample

Details

如果要将筛选器权重重置为其初始值,请使用此参数。

复位信号必须具有与输入数据信号相同的速度。

  • None -禁用*重置*端口。

要启用*Reset*端口,请选择以下值之一:

  • Rising edge -当输入端口*Reset*上的信号改变如下时开始计数或复位操作:

**从前沿增加到正或零;

**当增加不是从后边缘到零增加的延续时,从零增加到前边缘,如图所示:

+ counter 1

  • Falling edge -当输入端口*Reset*上的信号改变如下时开始计数或复位操作:

**从前沿减小到负或零;

**当减小不是从前沿到零减小的延续时,从零减小到后沿,如图所示:

+ counter 2

  • Either edge -在输入端口上发生触发事件时启动计数或复位操作*复位* Rising edgeFalling edge.

  • Non-zero sample —当输入端口*Reset*上的信号不为零时在每个采样时钟周期开始计数或复位操作。

None | Rising edge | Falling edge | Either edge | Non-zero sample

默认值

None

程序使用名称

ResetPort

可调谐

可计算

# Output filter weights — 滤波器输出端的加权因子
Logical

Details

选择此选项可从*Wts*输出端口导出筛选器权重。 对于每次迭代,块从该端口输出当前更新的权重。

默认值

true (已开启)

程序使用名称

OutputFilterWeights

可调谐

可计算

此外

LMS滤波算法

Details

如果为参数 *Algorithm*值已设置 LMS 块使用最小二乘(Lms)算法计算滤波器权重。 该算法由以下方程定义:





该块中可用的各种自适应LMS滤波器算法定义如下:

  • LMS:

  • Normalized LMS:

    的情况下 Normalized LMS 为了克服更新权重时潜在的数值不稳定性,在分母中添加了一个小的正常数 . 用于双精度浮点输入 等于函数的输出 eps(Float64). 对于单精度数据 等于函数的输出 eps(Float32).

  • Sign-Error LMS:

  • Sign-Data LMS:

    哪里 是实数。

  • Sign-Sign LMS:

    哪里 是实数。

上面的方程中使用了以下变量:

  • -现时时间指数;

  • -每步缓冲输入样本的向量 ;

  • 是每步缓冲输入样本的复共轭向量 ;

  • -步骤中滤波器的权重估计的向量 ;

  • -滤波后的输出信号的步骤 ;

  • -步骤中的估计误差 ;

  • -步骤中所需的信号 ;

  • -适应步骤的大小;

  • -损失系数是这样的 ;

  • -校正权重更新期间发生的任何潜在数值不稳定性的常数。

文学作品

  1. Hayes,M.H. _Statistical Digital Signal Processing and Modeling._纽约:John Wiley&Sons,1996。

实例