工程师。Lms过滤器
使用最小二乘法(Lms)计算输出、误差和系数。
库::`工程师` 座:: LMS Filter
资料描述
系统对象*EngeeDSP。LMSFilter*实现自适应有限脉冲响应滤波器(FIR滤波器),使用以下算法之一确保输入信号与所需信号的收敛: *LMS;
*归一化LMS;
*签名数据LMS; *Sign-Error LMS;
*签-签LMS。
有关这些算法的详细信息,请参阅算法。
滤波器调整其权重,直到参考输入信号和期望信号之间的误差最小。
要使用自适应FIR滤波器对信号进行滤波,请按照以下步骤操作:
-
创建*EngeeDSP。LMSFilter*对象并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
创造
-
lms=EngeeDSP。Lms过滤器()-返回自适应FIR滤波器系统对象lms,它使用最小二乘算法(Lms)计算给定输入和所需信号的滤波输出信号,滤波误差和滤波器权重。 -
lms=EngeeDSP。LMSFilter(名称=值)-返回具有指定属性的自适应FIR滤波器系统对象作为一对名称=值,在哪里姓名-物业的名称,以及价值-适当的值。 您可以指定多个对 «名称-值» 对的顺序并不重要。 未指定的属性保留其默认值。
使用
-
[参数:y],[参数:err],[参数:wts]=lms(<参数:x>>,[参数:d])-过滤输入信号x使用d作为所需信号,并返回滤波后的输出信号y,过滤错误错误和估计的滤波器权重西隧. 一个对象lms评估将输出信号和所需信号之间的误差最小化所需的权重。 -
[参数:y],[参数:err]=lms(<参数:x>>,[参数:d])-仅返回滤波后的输出信号y和过滤错误错误如果为属性*[Property:OutputFilterWeights]*值集错误. -
___ =lms([参数:x],[参数:d],[参数:mu])-用途木作为步长,如果为属性*[Property:SpecifyStepSizeVia]*值集"输入端口". 这些输入参数可以与前面的任何一组输出参数一起使用。 -
___ =lms(<参数:x>>,<参数:d>>,<参数:a>>)-用途a作为控制适配的信号,if为属性*[Property:AdaptPort]*value set真的. 何时a如果不等于零,则滤波器不断更新滤波器权重。 何时a等于零,则滤波器权重保持恒定。 -
___ =lms([参数:x],[参数:d],[参数:r])-用途r作为复位信号,如果为属性*[Property:ResetPort]*value set"上升沿","下降边缘","任一边"或"非零样本". 如果发生重置事件,筛选器将筛选器权重重置为其初始值。 -
[参数:y],[参数:err],[参数:wts]=lms(<参数:x>>,<参数:d>>,<参数:mu>>,<参数:a>>,<参数:r>>)-过滤输入信号x使用d作为所需信号,木作为步长,a作为信号控制适应,以及r作为复位信号。 对象返回滤波后的输出信号y,过滤错误错误和适配的滤波器权重西隧. 设置适当的属性以提供所有可能的输入数据。
争论
输入参数
# 穆 — 步长
+
非负标量
Details
# 一个 — 适应管理
+
标量,标量
Details
的适配控制输入,其确定如何更新滤波器权重。 如果此参数的值不为零,则对象会不断更新筛选器权重。 如果此参数的值为零,则筛选器权重保持其当前值。
依赖关系
若要使用此参数,请将属性设置为*[Property:AdaptPort]*value 真的.
| 数据类型 |
|
# r — 复位信号
+
标量,标量
Details
根据*[Property:ResetPort]*的值重置过滤器权重的重置信号。
依赖关系
若要使用此参数,请将属性设置为*[Property:ResetPort]*value "上升沿", "下降边缘", "任一边" 或 "非零样本".
| 数据类型 |
|
输出参数
# wts — 自适应滤波器权重
+
标量,标量 | 列向量
Details
自适应滤波器权重作为标量或列向量返回,其长度由属性*[Property:FilterLength]*的值确定。
| 数据类型 |
|
算法
LMS滤波器算法由以下公式定义:
可以在*[Property:Algorithm]*属性的值中设置的各种自适应LMS滤波器算法定义如下:
-
"LMS"-求解维纳-霍普夫方程并找到自适应滤波器的滤波器系数: -
"归一化LMS"-lms算法的规范化版本:的情况下
"归一化LMS"为了克服更新权重时潜在的数值不稳定性,在分母中添加了一个小的正常数 . 用于双精度浮点输入 等于函数的输出eps(Float64). 对于单精度数据 等于函数的输出eps(Float32). -
"Sign-Error LMS"-在每次后续迭代时应用于当前滤波器权重的校正取决于误差符号。 : -
"Sign-Data LMS"-每次迭代时滤波器权重的校正取决于输入信号的符号 :哪里 它由实数组成。
-
"标志-标志LMS"-在每次后续迭代中应用于当前滤波器权重的校正取决于符号 ,并从标志 :哪里 它由实数组成。
上面的方程中使用了以下变量:
-
-现时时间指数;
-
-每步缓冲输入样本的向量 ;
-
是每步缓冲输入样本的复共轭向量 ;
-
-步骤中滤波器的权重估计的向量 ;
-
-滤波后的输出信号的步骤 ;
-
-步骤中的估计误差 ;
-
-步骤中所需的信号 ;
-
-适应步骤的大小;
-
-损失系数是这样的 ;
-
-校正权重更新期间发生的任何潜在数值不稳定性的常数。