主要内容

dsp。AdaptiveLatticeFilter

自适应点阵滤波器

描述

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

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

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

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

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

创建

描述

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

例子

阿尔夫= dsp。AdaptiveLatticeFilter (len返回一个AdaptiveLatticeFilter的System对象。长度属性设置为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 - StepSize

可调:是的

依赖关系

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

数据类型:|

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

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

可调:是的

数据类型:|

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

可调:是的

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

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

可调:是的

依赖关系

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

使用

描述

例子

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

输入参数

全部展开

用自适应点阵滤波器对信号进行滤波。输入,x,以及期望的信号,d,必须具有相同的大小和数据类型。

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

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

自适应栅格滤波器通过调整系数使误差最小化;犯错,对输入信号进行收敛x到想要的信号d越接近越好。

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

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

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

输出参数

全部展开

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

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

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

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

创建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个轴对象。轴对象1标题为In-Phase Components, xlabel时间索引,ylabel信号值包含3个类型为line的对象。这些对象分别代表Desired, Output, Error。轴对象2标题为正交分量,xlabel时间索引,ylabel信号值包含3个对象类型为直线。这些对象分别代表Desired, Output, Error。

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

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

图中包含4个轴对象。轴对象1标题为In-Phase Components, xlabel时间索引,ylabel信号值包含3个类型为line的对象。这些对象分别代表Desired, Output, Error。轴对象2标题为正交分量,xlabel时间索引,ylabel信号值包含3个对象类型为直线。这些对象分别代表Desired, Output, Error。标题为Received Signal Scatter Plot的坐标轴对象3,xlabel Real[x], ylabel Imag[x]包含一个仅使用标记显示其值的直线对象。标题为均衡化信号散点图的轴对象4,xlabel Real[y], ylabel Imag[y]包含一个仅使用标记显示其值的线对象。

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 = dsp.AdaptiveLatticeFilter(1);[simse,meanWsim,Wsim,traceKsim] = msesim(ha,x,d,m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel (“MSE (dB)”);绘制用于学习的曲线自适应点阵滤波器用于系统辨识标题(“学习曲线”

图包含一个轴对象。标题为Learning curve, xlabel Iteration, ylabel MSE (dB)的axes对象包含一个类型为line的对象。

参考文献

[10]刘建军,刘建军,“一种基于网格结构的连续自适应滤波器”。IEEE学报。声学,语音和信号处理研讨会,Hartford, CT, pp. 683-686, 1977。

海金,S。自适应滤波理论《上鞍河》,第4版,新泽西:普伦蒂斯出版社,1996。

扩展功能

版本历史

在R2013b中引入