dsp.AdaptiveLatticeFilter

自适应网格过滤器

描述

dsp.AdaptiveLatticeFilterSystem object™使用基于网格的FIR自适应滤波器计算输出、错误和系数。

为了实现自适应FIR滤波器对象:

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

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

有关系统对象如何工作的更多信息,请参见什么是系统对象?(MATLAB)。

创建

描述

阿尔夫= dsp.AdaptiveLatticeFilter返回一个基于网格的FIR自适应滤波器系统对象,阿尔夫。该系统对象计算给定输入和期望信号的滤波输出和滤波误差。

例子

阿尔夫= dsp.AdaptiveLatticeFilter (len)返回AdaptiveLatticeFilter系统对象的长度属性设置为len

例子

阿尔夫= dsp.AdaptiveLatticeFilter (名称,值)返回AdaptiveLatticeFilter与每个指定的属性设置为指定值系统对象。单引号括起来每个属性的名称。未指定的属性具有默认值。

属性

全部展开

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

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见系统设计在MATLAB中使用系统对象(MATLAB)。

指定用于计算滤波系数为一体的方法“最小二乘格”,“QR-decomposition最小二乘格”,“梯度自适应格”。默认值为“最小二乘格”。用于实现这三种不同方法的算法,请参阅[1][2]。此属性不可调。

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

数据类型:||int8|INT16|INT32|int64|uint8|UINT16|uint32|uint64

将最小二乘点阵遗忘因子指定为小于或等于1的标量正数值。将此值设置为1表示在调整期间内存无限。

可调:是的

依赖关系

此属性仅在将方法属性设置为“最小二乘格”“QR-decomposition最小二乘格”

数据类型:||int8|INT16|INT32|int64|uint8|UINT16|uint32|uint64

指定梯度自适应晶格滤波器的联合处理步长为小于等于1的正数值标量。

可调:是的

依赖关系

此属性仅适用于方法属性设置为“梯度自适应格”

数据类型:||int8|INT16|INT32|int64|uint8|UINT16|uint32|uint64|逻辑

属性的分母指定偏移量StepSize作为非负数值标量的标准化术语。当输入信号的振幅非常小时,非零偏移有助于避免近零除的情况。

可调:是的

依赖关系

此属性仅适用于方法属性设置为“梯度自适应格”

数据类型:||int8|INT16|INT32|int64|uint8|UINT16|uint32|uint64

将梯度自适应晶格滤波器的反射过程步长指定为0到1之间的标量数值,包括0和1。默认值是StepSize属性值。

可调:是的

依赖关系

使用此属性只有在方法属性设置为“梯度自适应格”

数据类型:||int8|INT16|INT32|int64|uint8|UINT16|uint32|uint64|逻辑

将平均因子指定为小于1的正数值标量。使用此属性计算系数更新的指数窗口前向和后向预测误差功率。的值1 - StepSize

可调:是的

依赖关系

此属性仅适用于方法属性设置为“梯度自适应格

数据类型:|

指定的预测误差矢量作为标正的数值的初始值。

如果方法属性设置为“最小二乘格”“QR-decomposition最小二乘格”,默认值为1.0。如果方法属性设置为“梯度自适应格”,默认值为0.1

可调:是的

数据类型:|

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

可调:是的

数据类型:||int8|INT16|INT32|int64|uint8|UINT16|uint32|uint64

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

可调:是的

依赖关系

此属性仅适用于以下情况:方法属性设置为“梯度自适应格”

使用

描述

例子

[y,犯错)=阿尔夫(x,d)过滤器的输入x,使用d作为所需的信号,并返回过滤后的输出y和过滤器在错误犯错。系统对象估计所需的滤波器权值,以最小化输出信号与期望信号之间的误差。可以通过访问。来访问这些系数系数对象的属性。这只能在调用对象之后才能完成。的优化系数阿尔夫过滤器,叫alf.Coefficients将输入和需要的信号传递给对象之后。

输入参数

全部展开

该信号由自适应格型滤波器进行滤波。输入,x和期望的信号,d,必须具有相同的大小和数据类型。

输入可以是一个可变大小的信号。即使在锁定对象时,也可以更改列向量中的元素数。调用该对象时,系统对象将锁定。

数据类型:|
复数的支持:万博1manbetx是的

自适应晶格滤波器调整其系数以最小化误差,犯错,输入信号收敛x得到想要的信号d越近越好。

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

期望的信号可以是一个可变尺寸的信号。即使在锁定对象时,也可以更改列向量中的元素数。调用该对象时,系统对象将锁定。

数据类型:|
复数的支持:万博1manbetx是的

输出参数

全部展开

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

数据类型:|
复数的支持:万博1manbetx是的

输出信号之间的差异y想要的信号d时,返回作为标量或一个列向量。自适应格型滤波器的目标是最小化该误差。对象调整其系数以靠拢了产生具有所需信号紧密匹配的输出信号最佳的滤波器系数。要访问自适应格滤波器系数,通话alf.Coefficients将输入和需要的信号传递给对象算法之后。

数据类型:|
复数的支持:万博1manbetx是的

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

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

创建QPSK信号和噪声,对它们进行过滤以获得接收信号,并延迟接收信号以获得所需的信号。

D = 16;b = exp(1i*pi/4)*[-0.7 1];a = [1 -0.7];正常= 1000关系;s =符号(randn(1,正常+ D)关系)+ 1我*签署(randn(1,正常+ D)关系);n = 0.1*(randn(1,ntr+D) + 1i*randn(1,ntr+D));r =滤波器(b,a,s) + n;x = r (1 + D:正常+ D关系);d = s(1:正常)关系;

使用自适应晶格滤波器计算滤波后的输出和输入信号的滤波误差。

林= 0.995;德尔= 1;阿尔夫= dsp.AdaptiveLatticeFilter (“长度”32岁的...“ForgettingFactor”林,“InitialPredictionErrorPower”▽);[y, e] =阿尔夫(x, d);

绘制所需输出和误差信号的同相分量和正交分量。

次要情节(2 2 1);阴谋(1:正常,关系真实([d; y; e]));标题(同相分量的);传说(“想要的”,“输出”,“错误”);包含(“时间指数”);ylabel (的信号值);次要情节(2,2,2);阴谋(1:正常,关系图像放大([d; y; e]));标题(“正交组件”);传说(“想要的”,“输出”,“错误”);包含(“时间指数”);ylabel (的信号值);

绘制接收和均衡的信号散点图。

副区(2,2,3);积(X(NTR-100:NTR),“。”);轴([-3 3 -3 3]);标题(“接收信号散点图”);轴(“广场”);包含(“真正的[x]”);ylabel (图像放大[x]”);网格;次要情节(2、2、4);情节(y(正常- 100:关系正常)的关系,“。”);轴([-3 3 -3 3]);标题(“均衡信号散点图”);轴(“广场”);包含(“真正的[y]”);ylabel (图像放大[y]”);网格;

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

0.5公顷= fir1(31日);冷杉= dsp.FIRFilter (“分子”,哈);% FIR系统待识别iir = dsp.IIRFilter (“分子”sqrt (0.75),...“分母”-0.5 [1]);x = iir(标志(randn(2000年25)));n = 0.1 * randn(大小(x));观测噪声信号d =冷杉(x) + n;%期望信号l = 32;%滤波器长度m = 5;%抽取因子分析%及仿真结果哈= dsp.AdaptiveLatticeFilter (l);[simmse, meanWsim Wsim traceKsim] = msesim(哈,x, d, m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel (“MSE (dB)”);标题(“用于系统辨识的自适应晶格滤波器的学习曲线”)

参考

一个连续自适应滤波器被实现为一个点阵结构。IEEE Int的诉讼。CONF。声学,语音和信号处理,哈特福德,CT,第683-686页,1977。

[2]微积分,S。自适应滤波器理论《上马鞍河》,新泽西:普伦蒂斯霍尔出版社,1996年版。

扩展功能

介绍了R2013b