主要内容

dsp。AffineProjectionFilter

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

描述

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

过滤输入的每个通道:

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

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

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

创建

描述

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属性值。如果是标量值,则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对象以运行其算法时,该对象将被锁定。

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

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

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

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

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

输出参数

全部展开

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

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

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

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

对象的功能

要使用对象函数,请指定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];%通道分母系数正常= 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]));标题(同相分量的);传奇(“想要的”“输出”“错误”);包含(“时间指数”);ylabel (的信号值);次要情节(2,2,2);阴谋(1:正常,关系图像放大([d; y; e]));标题(“正交组件”);传奇(“想要的”“输出”“错误”);包含(“时间指数”);ylabel (的信号值);次要情节(2、2、3);情节(x(正常- 100:关系正常)的关系,“。”);轴([-3 3 -3]);标题(“接收信号散点图”);轴(“广场”);包含(“真正的[x]”);ylabel (图像放大[x]”);网格;次要情节(2、2、4);情节(y(正常- 100:关系正常)的关系,“。”);轴([-3 3 -3]);标题(“均衡信号散点图”);轴(“广场”);包含(“真正的[y]”);ylabel (图像放大[y]”);网格

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

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

0.5公顷= fir1(31日);需识别的FIR系统冷杉= dsp。FIRFilter (“分子”,哈);iir = dsp。IIRFilter (“分子”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。AffineProjectionFilter (l,“StepSize”μ);[simmse, meanWsim Wsim traceKsim] = msesim (apf, x, d, m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));包含(“迭代”);ylabel (“MSE (dB)”);%绘制仿射投影滤波器的学习曲线%用于系统标识标题(“学习曲线”

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

算法

仿射投影算法(APA)是一种基于多个输入向量估计未知系统的自适应方案[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]“基于正交投影到仿射子空间的自适应滤波算法及其性质”,电子。Commun。日本。67-A(5), 1984年5月,第19-27页。

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

扩展功能

介绍了R2013a