主要内容

dsp。FilteredXLMSFilter

过滤过的XLMS过滤器

描述

dsp。FilteredXLMSFilter系统对象™计算输出,误差和系数使用滤波x最小均方FIR自适应滤波器。

实现自适应FIR滤波对象:

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

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

fxlms= dsp。FilteredXLMSFilter返回一个过滤后的x最小均方FIR自适应滤波系统对象,fxlms.这个System对象用于计算给定输入和期望信号的滤波输出和滤波误差。

例子

fxlms= dsp。FilteredXLMSFilter (len返回一个FilteredXLMSFilter系统对象,fxlms,与长度属性设置为len

例子

fxlms= dsp。FilteredXLMSFilter (名称,值返回一个FilteredXLMSFilter系统对象,fxlms,将每个指定的属性设置为指定的值。将每个属性名用单引号括起来。未指定的属性有默认值。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

将FIR滤波器系数向量的长度指定为正整数值。此属性不可调。

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

将自适应步长因子指定为正数值标量。

可调:是的

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

指定在泄漏自适应滤波器中使用的泄漏因子为之间的数值0而且1,两者都包括在内。当值小于1, System对象实现了一个泄漏自适应算法。默认值为1,使适应方法无泄漏。

可调:是的

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

将次要路径滤波器模型的系数指定为数值向量。次要路径连接输出执行器和误差传感器。默认值是表示10阶FIR低通滤波器系数的向量。

可调:是的

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

将辅助路径过滤器模型的估计指定为数值向量。次要路径连接输出执行器和误差传感器。默认值为TheSecondayPathCoefficients属性值。此属性不可调。

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

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

可调:是的

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

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

可调:是的

使用

描述

例子

y,犯错= fxlms(x,d过滤输入x,使用d作为所需的信号,并返回过滤后的输出y还有过滤器错误犯错.System对象估计所需的滤波器权重,以最小化输出信号和所需信号之间的误差。你可以通过访问系数对象的属性。这只能在调用对象之后完成。例如,访问的优化系数fxlms过滤器,叫fxlms。系数在将输入和所需信号传递给对象之后。

输入参数

全部展开

经过滤波的XLMS滤波器要滤波的信号。输入,x,和期望信号,d,必须具有相同的大小和数据类型。

输入,x可以是可变大小的信号。即使对象被锁定,您也可以更改列向量中的元素数量。当您调用该对象以运行其算法时,System对象将锁定。

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

经过过滤的XLMS滤波器调整其系数以使误差最小化,犯错,对输入信号进行收敛x到期望的信号d越近越好。

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

想要的信号,d,可以是一个可变大小的信号。即使对象被锁定,您也可以更改列向量中的元素数量。当您调用该对象以运行其算法时,System对象将锁定。

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

输出参数

全部展开

过滤后的输出,作为标量或列向量返回。该对象调整其滤波器系数以收敛输入信号x以匹配所需的信号d.滤波器输出收敛信号。

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

输出信号之间的差值y以及期望的信号d,作为标量或列向量返回。经过过滤的XLMS过滤器的目标是最小化这个错误。该对象调整其系数以收敛于产生与所需信号密切匹配的输出信号的最佳滤波器系数。要访问经过筛选的XLMS筛选器系数,请调用fxlms。系数在将输入和所需信号传递给对象之后。

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

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

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

例子

全部折叠

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

生成噪声,创建FIR主路径系统模型,生成观测噪声,对添加噪声的主路径系统模型输出进行滤波,创建FIR次路径系统模型。

X = randn(1000,1);G = fir1(47,0.4);N = 0.1*randn(1000,1);D = filter(g,1,x) + n;B = fir1(31,0.5);

使用dsp。FilteredXLMSFilter系统对象™用于计算滤波输出和输入和要取消的信号的滤波误差。

Mu = 0.008;FXLMS = dsp。FilteredXLMSFilter (32,“StepSize”亩,“LeakageFactor”,...1,“SecondaryPathCoefficients”, b);[y,e] = fxlms(x,d);

画出结果。

情节(1:1000 d“b”1:1000 e“r”);标题(随机噪声信号的主动噪声控制);传奇(“原始”,“减”);包含(“时间指数”);ylabel (的信号值);网格

图中包含一个轴对象。标题为“随机噪声信号的主动噪声控制”的axis对象包含2个类型为line的对象。这些物体代表原始,衰减。

通过使用滤波x LMS算法执行主动噪声控制来识别未知系统。自适应滤波器的目标是使自适应滤波器的输出与未知系统(或待识别系统)的输出之间的误差信号最小化。一旦误差信号最小,未知系统就会收敛到自适应滤波器。

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

初始化

创建一个dsp。FIRFilter系统对象,表示要标识的系统。传递信号,x,到FIR滤波器。未知系统的输出是期望的信号,d,为未知系统(FIR滤波器)输出与加性噪声信号的和,n

Num = fir1(31,0.5);Fir = dsp。FIRFilter (“分子”, num);Iir = dsp。IIRFilter (“分子”sqrt (0.75),...“分母”-0.5 [1]);X = iir(sign(randn(2000,25)));N = 0.1*randn(size(x));D = fir(x) + n;

自适应滤波器

创建一个dsp。FilteredXLMSFilter对象创建一个使用filter -x LMS算法的自适应过滤器。设置自适应滤波器的长度为32个点,步长为0.008,用于分析和模拟的抽取因子为5。的变量simmse表示未知系统的输出,d,自适应滤波器的输出。

L = 32;Mu = 0.008;M = 5;FXLMS = dsp。FilteredXLMSFilter (l,“StepSize”μ);[simmse,meanWsim,Wsim,traceKsim] = msesim(fxlms,x,d,m);情节(m *(1:长度(simmse)), 10 * log10 (simmse))包含(“迭代”) ylabel (“MSE (dB)”绘制filter -x LMS filter的学习曲线用于系统标识标题(“学习曲线”

图中包含一个轴对象。标题学习曲线的坐标轴对象包含一个类型为line的对象。

随着每一次迭代的适应,价值的提升simmse减小到最小值,表明未知系统已经收敛到自适应滤波器。

参考文献

[1]郭S.M.和摩根D.R.有源噪声控制系统:算法与DSP实现.纽约:John Wiley & Sons出版社,1996年。

[2] Widrow, B. and Stearns, S.D.自适应信号处理.新泽西州上马鞍河:Prentice Hall, 1985。

版本历史

在R2013b中引入