主要内容

dsp。AdaptiveLatticeFilter

自适应晶格滤波器

描述

dsp。AdaptiveLatticeFilter系统对象™使用基于网格的FIR自适应滤波器计算输出、误差和系数。

实现自适应FIR滤波对象:

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

  2. 调用带有参数的对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

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

例子

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

例子

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

属性

全部展开

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

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

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

指定用于计算滤波器系数的方法“最小二乘格”“qr分解最小二乘晶格”“梯度自适应晶格”.默认值为“最小二乘格”.有关用于实现这三种不同方法的算法,请参阅[1][2].此属性不可调。

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

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

将最小二乘晶格遗忘因子指定为一个小于或等于1的标量正数值。将该值设置为1表示在适应过程中有无限的内存。

可调:是的

依赖关系

此属性仅在Method属性设置为时应用“最小二乘格”“qr分解最小二乘晶格”

数据类型:||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之间的标量数值,两者都包含在内。缺省值为StepSize属性值。

可调:是的

依赖关系

仅当方法属性设置为“梯度自适应晶格”

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

将平均因子指定为小于1的正数值标量。使用此属性来计算系数更新的指数窗口前向和后向预测误差幂。默认值是1 -步长

可调:是的

依赖关系

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

数据类型:|

将预测误差向量的初始值指定为一个标量正数值。

如果方法属性设置为“最小二乘格”“qr分解最小二乘晶格”,默认值为1.0.如果方法属性设置为“梯度自适应晶格”,默认值为0.1

可调:是的

数据类型:|

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

可调:是的

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

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

可调:是的

依赖关系

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

使用

描述

例子

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

输入参数

全部展开

被自适应晶格滤波器滤波的信号。输入,x,所需信号,d,必须具有相同的大小和数据类型。

输入可以是可变大小的信号。即使对象处于锁定状态,也可以更改列向量中的元素数量。System对象在调用该对象时锁定。

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

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

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

所需要的信号可以是可变大小的信号。即使对象处于锁定状态,也可以更改列向量中的元素数量。System对象在调用该对象时锁定。

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

输出参数

全部展开

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

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

输出信号之间的差值y和期望的信号d,作为标量或列向量返回。自适应晶格滤波器的目标是使这种误差最小化。该对象调整其系数收敛到最优滤波器系数,产生与所需信号密切匹配的输出信号。要访问自适应晶格滤波器系数,请调用阿尔夫。系数在将输入和所需信号传递给对象算法之后。

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

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

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

例子

全部折叠

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

创建QPSK信号和噪声,对其进行滤波得到接收信号,并对接收信号进行延迟得到所需信号。

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

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

Lam = 0.995;Del = 1;Alf = dsp。AdaptiveLatticeFilter (“长度”32岁的...“ForgettingFactor”林,“InitialPredictionErrorPower”▽);[y,e] = alf(x,d);

绘制期望信号、输出信号和错误信号的同相位和正交分量。

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

图中包含2个轴对象。标题为In-Phase Components的Axes对象1包含3个类型为line的对象。这些对象表示期望、输出、错误。标题为Quadrature Components的Axes对象2包含3个类型为line的对象。这些对象表示期望、输出、错误。

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

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

图中包含4个轴对象。标题为In-Phase Components的Axes对象1包含3个类型为line的对象。这些对象表示期望、输出、错误。标题为Quadrature Components的Axes对象2包含3个类型为line的对象。这些对象表示期望、输出、错误。标题为“接收信号散点图”的Axes对象3包含一个类型为line的对象。标题为Equalized Signal Scatter Plot的Axes对象4包含一个类型为line的对象。

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

Ha = fir1(31,0.5);% FIR系统被识别Fir = dsp。FIRFilter (“分子”,哈);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;%过滤长度L = 32;用于分析的抽取因子%和模拟结果M = 5;ha = sp. adaptivelatticefilter (l);[simmse,meanWsim,Wsim,traceKsim] = msesim(ha,x,d,m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel (“MSE (dB)”);绘制用于。的学习曲线%自适应晶格滤波器用于系统识别标题(“学习曲线”

图中包含一个axes对象。带有标题学习曲线的axis对象包含一个类型为line的对象。

参考文献

[1] Lloyd Griffiths . <作为晶格结构实现的连续自适应滤波器>。IEEE Int学报。声学、语音与信号处理会议,哈特福德,康涅狄格州,第683-686页,1977。

[2]海金,S。自适应滤波理论上马鞍河,新泽西州:普伦蒂斯大厅,1996年。

扩展功能

版本历史

在R2013b中介绍