主要内容

dsp。AffineProjectionFilter

使用仿射投影(AP)算法计算输出、误差和系数

描述

dsp。AffineProjectionFilter系统对象™使用AP过滤器实现过滤输入的每个通道。

要过滤输入的每个通道:

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

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

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

创建

描述

apf= dsp。AffineProjectionFilter返回一个自适应FIR过滤系统对象,apf.这个System对象使用仿射投影(AP)算法计算给定输入和期望信号的滤波输出和滤波误差。

例子

apf= dsp。AffineProjectionFilter (len属性返回仿射投影筛选器对象长度属性设置为len

例子

apf= dsp。AffineProjectionFilter (名称,值返回将每个指定属性设置为指定值的仿射投影筛选器对象。将每个属性名用单引号括起来。未指定的属性有默认值。

属性

全部展开

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

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

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

指定用于计算过滤器系数的方法为直接矩阵反演递归矩阵更新分块直接矩阵反演.此属性不可调。

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

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

将仿射投影算法的投影顺序指定为大于或等于2的标量正整数值。此属性定义输入信号协方差矩阵的大小。此属性不可调。

数据类型:

将仿射投影步长因子指定为0到1之间的非负标量数值,两者都包含在内。将步长设置为1可以在适应过程中获得最快的收敛速度。

可调:是的

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

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

可调:是的

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

指定偏移输入协方差矩阵的初始值。此属性必须是标量正数值或每个维数都等于的正定方阵ProjectionOrder属性值。如果是标量值,则OffsetCovariance属性初始化为对角矩阵,其中对角元素等于该标量值。如果它是一个方阵,则OffsetCovariance属性初始化为该方阵的值。

可调:是的

依赖关系

此属性仅适用于方法属性设置为直接矩阵反演分块直接矩阵反演

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

指定偏移量输入协方差矩阵逆的初始值。此属性必须是标量正数值或每个维数都等于的正定方阵ProjectionOrder属性值。如果是标量值,则InverseOffsetCovariance属性初始化为一个对角矩阵,其中每个对角元素都等于该标量值。如果它是一个方阵,则InverseOffsetCovariance属性初始化为该方阵的值。

可调:是的

依赖关系

此属性仅适用于方法属性设置为递归矩阵更新

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

指定FIR滤波器相关系数的初始值为标量或长度等于的向量ProjectionOrder- - - - - -1

可调:是的

依赖关系

此属性仅适用于方法属性设置为递归矩阵更新

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

指定是否应该锁定过滤器系数值。当您将此属性设置为真正的时,滤波器系数不会更新,其值保持不变。默认值为(过滤器系数不断更新)。

可调:是的

使用

描述

例子

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

输入参数

全部展开

被仿射投影滤波器滤波的信号。输入,x,和期望信号,d,必须具有相同的大小和数据类型。

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

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

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

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

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

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

输出参数

全部展开

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

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

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

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

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

基于32系数FIR滤波器的QPSK自适应均衡(1000次迭代)

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);%期望信号(延迟QPSK信号)Mu = 0.1;%步长Po = 4;%投影顺序偏移量= 0.05;协方差矩阵的%偏移量Apf = dsp。AffineProjectionFilter (“长度”32岁的...“StepSize”亩,“ProjectionOrder”阿宝,...“InitialOffsetCovariance”,抵消);[y,e] = apf(x,d);次要情节(2 2 1);阴谋(1:正常,关系真实([d; y; e]));标题(同相分量的);传奇(“想要的”“输出”“错误”);包含(“时间指数”);ylabel (的信号值);次要情节(2,2,2);阴谋(1:正常,关系图像放大([d; y; e]));标题(“正交组件”);传奇(“想要的”“输出”“错误”);包含(“时间指数”);ylabel (的信号值);次要情节(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的对象。标题为“均衡信号散点图”的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;%仿射投影滤波器步长。Mu = 0.008;%用于分析的抽取因子%和模拟结果M = 5;Apf = dsp。AffineProjectionFilter (l,“StepSize”μ);[simmse,meanWsim,Wsim,traceKsim] = msesim(apf,x,d,m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel (“MSE (dB)”);绘制仿射投影滤波器的学习曲线用于系统标识标题(“学习曲线”

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

算法

仿射投影算法是一种基于多个输入向量估计未知系统的自适应算法[1].它的目的是改进其他自适应算法的性能,主要是那些基于LMS的自适应算法。仿射投影算法重用旧数据,在输入信号高度相关的情况下,可以快速收敛,从而形成一系列可以在计算复杂度和收敛速度之间进行权衡的算法[2]

下式描述了设计AP滤波器时所使用的概念算法:

U 一个 p n u n ... u n l u n N u n l N u n u n 1 u n l y 一个 p n U T 一个 p n w n y n · · · y n l d 一个 p n d n · · · d n l e 一个 p n d 一个 p n y 一个 p n e n · · · e n l w n w n 1 + μ U 一个 p n U 一个 p H n U 一个 p n + C 1 e 一个 p

在哪里C要么是ε如果初始偏移协方差是标量ε,或者R如果初始偏移量协方差是一个矩阵R.变量如下:

变量 描述
n 当前时间索引
u (n) 在步骤中输入样例n
U美联社(n) 最后一个矩阵l+1输入信号向量
w(n) 自适应滤波器系数矢量
y (n) 自适应滤波器输出
d (n) 期望的信号
e (n) 步进误差n
l 投影顺序
N 过滤顺序(即,过滤器长度=N+ 1)
μ 步长

参考文献

[1] K. Ozeki, T. Umeda,“基于正交投影的仿射子空间自适应滤波算法及其性质”,电子。Commun。日本。67-A(5), 1984年5月,第19-27页。

保罗·s·r·迪尼兹,自适应滤波:算法与实际实现,第二版。波士顿:Kluwer学术出版社,2002年。

扩展功能

版本历史

在R2013a中引入