主要内容

dsp。AffineProjectionFilter

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

描述

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

要过滤输入的每个通道,请执行以下操作:

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

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

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

创建

描述

apf=dsp.AffineProjectionFilter返回自适应FIR滤波器apf.该系统对象使用仿射投影(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属性值。如果是标量值,则偏移协方差属性初始化为对角矩阵,其中对角元素等于该标量值。如果它是一个方阵偏移协方差属性初始化为该方阵的值。

可调:是的

依赖关系

此属性仅在方法属性设置为直接矩阵求逆块直接矩阵反演

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

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

可调:是的

依赖关系

此属性仅在方法属性设置为递归矩阵更新

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

将FIR滤波器相关系数的初始值指定为标量或长度等于ProjectionOrder1.

可调:是的

依赖关系

此属性仅在方法属性设置为递归矩阵更新

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

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

可调:是的

用法

描述

例子

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

输入参数

全部展开

要用仿射投影滤波器滤波的信号。输入,x,以及所需的信号,D,必须具有相同的大小和数据类型。

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

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

仿射投影滤波器调整其系数以最小化误差,犯错误,并收敛输入信号x到所需的信号D尽可能地接近。

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

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

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

输出参数

全部展开

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

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

输出信号之间的差异Y和期望的信号D,作为标量或列向量返回。仿射投影滤波器的目标是最小化此错误。对象调整其系数以收敛到最佳滤波器系数,从而产生与所需信号密切匹配的输出信号。要访问仿射投影滤波器系数,请调用apf。Coefficients将输入和所需信号传递给对象后。

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

目标函数

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

释放(obj)

全部展开

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

例子

全部崩溃

:如果您使用的是R2016a或早期版本,请使用等效的一步语法。例如,obj (x)就变成了步骤(obj, x)

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

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:正常)关系;%期望信号(延迟QPSK信号)μ= 0.1;%步长阿宝= 4;%投影顺序偏移量=0.05;协方差矩阵的偏移量apf = dsp。AffineProjectionFilter (“长度”32岁的...“StepSize”亩,“ProjectionOrder”阿宝,...“InitialOffsetCovariance”,抵消);(y, e) = apf (x, d);次要情节(2 2 1);阴谋(1:正常,关系真实([d; y; e]));标题(“同相元件”);传奇(“渴望的”,“输出”,“错误”); xlabel(“时间指数”);ylabel (“信号值”);次要情节(2,2,2);阴谋(1:正常,关系图像放大([d; y; e]));标题(“正交分量”);传奇(“渴望的”,“输出”,“错误”); xlabel(“时间指数”);ylabel (“信号值”);次要情节(2、2、3);情节(x(正常- 100:关系正常)的关系,'.')轴([-33-33]);标题(“接收信号散点图”);轴线(“广场”); xlabel(“Real[x]”);ylabel (图像放大[x]”);网格子地块(2,2,4);地块(y)(ntr-100:ntr),'.')轴([-33-33]);标题(“均衡信号散点图”);轴线(“广场”); xlabel(“真的[是]”);ylabel (“Imag[y]”);网格;

图中包含4个轴。标题为“同相组件”的轴1包含3个类型为line的对象。这些对象表示期望、输出、错误。标题为“正交组件”的轴2包含3个类型为line的对象。这些对象表示期望、输出、错误。标题为“接收信号散点图”的坐标轴3包含一个类型为line的对象。标题为“均匀信号散点图”的坐标轴4包含一个类型为line的对象。

:如果您使用的是R2016a或早期版本,请使用等效的一步语法。例如,obj (x)就变成了步骤(obj, x)

ha=fir1(31,0.5);fir=dsp.fir滤波器(“分子”,ha);%待识别的FIR系统iir=dsp.iir滤波器(“分子”sqrt (0.75),...“分母”-0.5 [1]);x = iir(标志(randn(2000年25)));n = 0.1 * randn(大小(x));%观测噪声信号d =冷杉(x) + n;%期望信号l=32;%滤波器长度μ= 0.008;%仿射投影滤波器步长。m = 5;%抽取因子分析%以及仿真结果apf=dsp仿射投影滤波器(l,“StepSize”μ);[simmse, meanWsim Wsim traceKsim] = msesim (apf, x, d, m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel ('均方误差(dB)');标题(“用于系统辨识的仿射投影滤波器的学习曲线”)

图中包含一个坐标轴。用于系统辨识的仿射投影滤波器的具有标题学习曲线的轴包含一个线型对象。

算法

仿射投影算法(APA)是一种基于多个输入向量估计未知系统的自适应方案[1].该算法旨在提高其他自适应算法的性能,主要是基于LMS的自适应算法。仿射投影算法重用旧数据,当输入信号高度相关时,可以快速收敛,从而产生一系列算法,可以在计算复杂度和收敛速度之间进行权衡[2]

下面的公式描述了设计AP过滤器时使用的概念算法:

U A. P ( N ) = ( U ( N ) U ( N L ) U ( N N ) U ( N L N ) ) = ( U ( N ) U ( N 1. ) U ( N L ) ) Y A. P ( N ) = U T A. P ( N ) W ( N ) = ( Y ( N ) · · · Y ( N L ) ) D A. P ( N ) = ( D ( N ) · · · D ( N L ) ) E A. P ( N ) = D A. P ( N ) Y A. P ( N ) = ( E ( N ) · · · E ( N L ) ) W ( N ) = W ( N 1. ) + μ U A. P ( N ) ( U A. P H ( N ) U A. P ( N ) + C ) 1. E A. 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]“基于正交投影到仿射子空间的自适应滤波算法及其性质”,电子。Commun。日本。67-A(5), 1984年5月,第19-27页。

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

扩展功能

介绍了R2013a