主要内容

dsp.FastTransversalFilter

快速横向最小二乘FIR自适应滤波器

描述

dsp.FastTransversalFilter计算输出,错误和使用快速横向最小二乘FIR自适应滤波器系数。

实现自适应滤波器对象:

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

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

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

“保障未来粮食供给”= dsp.FastTransversalFilter返回一个系统对象™,“保障未来粮食供给”,这是一个快速横向,最小二乘FIR自适应滤波器。这个系统对象计算过滤输出和过滤器错误对于一个给定的输入和期望信号。

例子

“保障未来粮食供给”= dsp.FastTransversalFilter (len)返回一个dsp.FastTrasversalFilter系统对象的长度属性设置为len

“保障未来粮食供给”= dsp.FastTransversalFilter (名称,值)返回一个dsp.FastTransversalFilter与每个指定的系统对象属性设置为指定的值。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

指定方法用于计算滤波器系数“快速横向最小二乘”“滑动窗口快速横向最小二乘”。对于算法用于实现这两种不同的方法,请参考[1]。这个属性是nontunable。

冷杉滤波器系数向量的长度指定为一个正整数的值。

数据类型:

滑动窗口的宽度指定为一个正整数的值大于或等于长度属性值。默认的值是淡水河谷长度财产。

依赖关系

这个属性只适用于如果方法属性设置为“滑动窗口快速横向最小二乘”

数据类型:

指定的快速横向滤波器遗忘因子作为一个积极的标量范围(0,1)。设置这个值为1表示无限的记忆而筛选适应。设置此属性值为1表示无限的记忆同时适应找到新的过滤器。为达到最佳效果,设置该属性的值位于范围(1 - 0.5 / L, 1),l是属性值的长度。

可调:是的

依赖关系

这个属性只适用于如果方法属性设置为“快速横向最小二乘”

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

指定的初始值前后预测误差向量作为一个积极的数字标量。这个标量应该足够大来维持稳定,防止过多的卡尔曼滤波获得救助。

可调:是的

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

指定初始值的转换因子快速横向滤波器。

这个属性的值取决于方法财产。如果方法设置为:

  • “快速横向最小二乘”——这个属性必须是一个积极的数值小于或等于1

  • “滑动窗口快速横向最小二乘”——这个属性必须是双元素数值向量。这个向量的第一个元素必须躺在范围之内[0,1],第二个元素必须小于或等于1。在这种情况下,默认值是[1]

可调:是的

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

指定FIR自适应滤波器系数的初始值作为一个标量或矢量的长度等于的价值长度财产。

可调:是的

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

指定是否锁定滤波器系数的值。默认情况下,此属性的值,对象不断更新滤波器系数。如果将此属性设置为真正的、滤波器系数不更新和它们的值保持不变。

可调:是的

使用

描述

例子

(y,犯错)=“保障未来粮食供给”(x,d)过滤器的输入x,使用d期望信号,并返回输出过滤y过滤错误犯错。系统对象估计滤波器权重需要最小化错误输出信号与期望信号。

输入参数

全部展开

信号过滤的快速横向滤波器。输入,x所需的信号,d必须具有相同的大小和数据类型。

数据输入可以适应信号。你可以改变的数量列向量中的元素即使对象是锁着的。系统对象锁,当你调用对象运行它的算法。

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

快速横向滤波器调整滤波器权值,出世,尽量减少错误,犯错和收敛的输入信号x所需的信号d尽可能密切。您可以访问当前过滤器的重量通过调用ftf.Coefficients,在那里“保障未来粮食供给”是快速横向滤波器的对象。

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

可以适应信号所需的信号。你可以改变的数量列向量中的元素即使对象是锁着的。系统对象锁,当你调用对象运行它的算法。

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

输出参数

全部展开

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

数据类型:|

输出信号之间的差异y和所需的信号d,作为一个标量或返回一个列向量。的数据类型犯错的数据类型相匹配y。自适应滤波器的目标是最小化这个错误。对象调整权重收敛到最优滤波器权重产生一个相匹配的输出信号与期望信号。

数据类型:|

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

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

例子

全部折叠

系统识别是一个过程,确定一个未知的系统使用一个自适应滤波器的系数。显示了流程的概述系统识别——使用一个自适应滤波器来确定一个未知的系统。涉及的主要部件有:

  • 自适应滤波器算法。

  • 一个未知的系统或过程适应。在这个例子中,设计的滤波器fir1是未知的系统。

  • 适当的输入数据来锻炼适应过程。在一个通用的系统辨识模型,所需的信号d(k)和输入信号x(k)用于运动适应的过程。

自适应滤波器的目标是最小化之间的误差信号自适应滤波器的输出y(k)和未知系统的输出(或系统被识别)d(k)。一旦最小化误差信号,调整过滤器就像未知的系统。的系数过滤器密切匹配。

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

未知的系统

创建一个dsp.FIRFilter对象代表了系统识别。使用fir1函数来设计滤波器系数。设计的过滤器是一个十阶低通数字滤波器的截止频率0.25。

filt = dsp.FIRFilter;filt。为分子= fir1(10日)
filt = dsp。FIRFilter属性:结构:“直接形式”NumeratorSource:“财产”分子:e-18 [-0.0039 1.7585 0.0321 0.1167 0.2207 0.2687……]InitialConditions: 0显示所有属性

通过信号x冷杉的过滤器。所需的信号d是未知的系统的输出的总和(冷杉过滤器)和添加剂噪声信号n

x = randn (1000 1);d = filt (x) + 0.01 * randn (1000 1);

自适应滤波器

与未知的滤波器设计和所需的信号,创建和应用快速横向滤波器对象识别未知的过滤器。

创建一个dsp.FastTransversalFilter对象代表一个自适应滤波器。自适应滤波器的长度设置为11水龙头和遗忘因子为0.99。

ftf1 = dsp.FastTransversalFilter(11日“ForgettingFactor”,0.99)
ftf1 = dsp。FastTransversalFilter属性:方法:快速横向最小二乘的长度:11 ForgettingFactor: 0.9900 InitialPredictionErrorPower: 10 InitialCoefficients: 0 InitialConversionFactor: 1 LockCoefficients:假的

通过主要的输入信号x和所需的信号d快速横向滤波器。自适应滤波器来确定未知的系统运行。输出y自适应滤波器的信号融合到所需的信号d,从而减少错误e在两个信号之间。

[y, e] = ftf1 (x, d);w = ftf1.Coefficients
w =1×11-0.0043 0.0016 0.0308 0.1171 0.2204 0.2677 0.2210 0.1181 0.0323 0.0013 -0.0037

策划的结果。输出信号与期望信号密切使两者之间的误差接近于零。

次要情节(2,1,1);情节(1:1000 [d, y, e])标题(“一个冷杉过滤器的系统标识”);传奇(“想要的”,“输出”,“错误”);包含(“时间指数”);ylabel (的信号值);

数字滤波器的系数匹配密切适应滤波器的系数,从而证实了收敛。

次要情节(2,1,2);茎([filt.Numerator;w]。');传奇(“实际”,“估计”);包含(“系数#”);ylabel (的系数值);

图包含2轴对象。坐标轴对象1标题系统识别的冷杉过滤器包含3线类型的对象。这些对象代表希望、输出错误。坐标轴对象包含2杆类型的对象。这些对象代表实际的估计。

引用

[1]微积分,西蒙。自适应滤波器理论,4。台北:普伦蒂斯霍尔,2002年。

扩展功能

版本历史

介绍了R2013b