主要内容

dsp.affineProightfilter.

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

描述

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

过滤输入的每个通道:

  1. 创造dsp.affineProightfilter.对象并设置其属性。

  2. 使用参数调用对象,就像它是一个函数。

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

创建

描述

APF.= dsp.AffineProjectionFilter返回自适应FIR滤波器系统对象,APF.。使用仿射投影(AP)算法,该系统对象为给定输入和期望信号计算过滤的输出和过滤器错误。

例子

APF.= dsp.affineproightefilter(Len.)返回带有仿射投影过滤器对象长度属性设置为Len.

例子

APF.= dsp.affineproightefilter(名称,值)使用每个指定属性设置为指定值的仿射投影过滤器对象。用单引号括起每个属性名称。未指定的属性具有默认值。

属性

展开全部

除非另有说明,否则属性是不可努力,这意味着在调用对象后无法更改其值。当您调用它们时,对象锁定释放功能解锁它们。

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

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

指定用于计算滤波器系数的方法为直接矩阵求逆,递归矩阵更新,阻止直接矩阵反转。此属性不可调。

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

数据类型:||INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

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

数据类型:

将仿射投影步长因子指定为0到1之间的标量非未负面数值,既包含含义。设置等于的步长提供适应期间最快的收敛。

可调:

数据类型:||INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|逻辑

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

可调:

数据类型:||INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

指定偏移输入协方差矩阵的初始值。此属性必须是标量正数值或正向方形矩阵,每个维度等于投影订单适当的价值。如果它是标量值,那么OffsetCovariance属性被初始化为对角线矩阵,对角线元素等于标量值。如果是一个方形矩阵,那么OffsetCovariance属性初始化为该方矩阵的值。

可调:

依赖性

此属性仅适用于方法属性设置为直接矩阵求逆要么阻止直接矩阵反转

数据类型:||INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

指定偏移输入协方差矩阵逆的初始值。此属性必须是标量正数值或正向方形矩阵,每个维度等于投影订单适当的价值。如果它是标量值,那么inverseoffsetCoomovariance.属性被初始化为对角线矩阵,每个对角线元素等于标量值。如果是一个方形矩阵,那么inverseoffsetCoomovariance.属性初始化为该方矩阵的值。

可调:

依赖性

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

数据类型:||INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

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

可调:

依赖性

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

数据类型:||INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

指定是否应锁定滤波器系数值。当您将此属性设置为时真正,未更新滤波器系数,并且它们的值保持不变。默认值是(滤波器系数被连续更新)。

可调:

使用

描述

例子

(y,犯错] = apf(x,d)过滤输入x,使用d作为所需的信号,并返回滤波后的输出y和过滤器错误犯错。系统对象估计需要最小化输出信号与所需信号之间的误差所需的滤波器权重。您可以通过访问这些系数访问这些系数系数物品的财产。这只能在调用对象后才完成。例如,访问优化的系数APF.过滤器,叫apf.cofficients.在您将输入和所需的信号传递给对象之后。

输入参数

展开全部

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

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

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

仿射投影过滤器适应其系数以最小化误差,犯错,使输入信号收敛x到所需信号d尽可能仔细。

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

所需信号可以是可变尺寸的信号。即使对象被锁定,也可以更改列向量中的元素数量。调用对象时系统对象锁定。

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

输出参数

展开全部

过滤输出,返回标量或列向量。该对象适应其滤波器系数以收敛输入信号x以匹配所需的信号d。过滤器输出融合信号。

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

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

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

对象的功能

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

发行版(obj)

展开全部

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

例子

全部折叠

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

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

d = 16;%延迟样本的个数b = exp(1i * pi / 4)* [ -  0.7 1];频道%分子系数a = [1 -0.7];%通道分母系数ntr = 1000;迭代次数%s = sign(randn(1,ntr + d))+ 1i * sign(randn(1,ntr + d));%基带信号n = 0.1 *(Randn(1,NTR + D)+ 1I * RANDN(1,NTR + D));%噪声信号r =过滤器(b, a, s) + n;%接收信号X = R(1 + D:NTR + D);%输入信号(接收信号)d = s(1:NTR);%期望信号(延迟QPSK信号)mu = 0.1;%步长po = 4;%投影订单抵消= 0.05;协方差矩阵的%偏移量apf = dsp.affineproightfilter('长度',32,......'一步的大小',亩,'投影订单',宝,......'InitialOffsetCovariance',抵消);[y,e] = apf(x,d);子图(2,2,1);情节(1:NTR,Real([D; Y; ​​e]));标题(同相分量的);传说(“想要的”,“输出”,“错误”);包含('时间指数');ylabel(的信号值);子图(2,2,2);绘图(1:NTR,IMAG([D; Y; ​​e]));标题(“正交组件”);传说(“想要的”,“输出”,“错误”);包含('时间指数');ylabel(的信号值);子图(2,2,3);绘图(x(NTR-100:NTR),“。”);轴([-3 3 3]);标题('接收信号散射图');轴('广场');包含(“真正的[x]”);ylabel('imag [x]');格;次要情节(2、2、4);情节(y(正常- 100:关系正常)的关系,“。”);轴([-3 3 3]);标题(“均衡信号散点图”);轴('广场');包含(“真正的[y]”);ylabel(图像放大[y]”);格;

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

0.5公顷= fir1(31日);冷杉= dsp.FIRFilter (“分子”,哈);%待识别的FIR系统iir = dsp.IIRFilter (“分子”,sqrt(0.75),......'分母',[1-0.5]);x = IIR(符号(Randn(2000,25)));n = 0.1 * RANDN(尺寸(x));%观测噪声信号d = fir(x)+ n;%期望信号l = 32;%过滤器长度mu = 0.008;%仿射投影滤波器步长。m = 5;分析的%抽取因子%与仿真结果apf = dsp.AffineProjectionFilter (l,'一步的大小',亩);[Simmse,Meanwsim,WSIM,Traceksim] = MSesim(APF,X,D,M);绘图(m *(1:长度(simmse)),10 * log10(simmse));包含(“迭代”);ylabel(“MSE (dB)”);标题(“用于系统识别的仿射投影滤波器学习曲线”)

算法

仿射投影算法(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 当前时间指数
联合国) 进入样品在步骤n
U美联社(n) 最后的矩阵l+1输入信号向量
w(n) 自适应滤波器系数向量
y (n) 自适应滤波器输出
d (n) 期望的信号
e (n) 步骤中的错误n
l 投影的顺序
N 过滤器顺序(即滤波长度=N+1)
μ. 步长

参考资料

[1] K.Ozeki,T. umeda,“使用正交投影到仿射子空间的自适应过滤算法及其属性”,电子。安排。日本。67-A(5),1984年5月,第19-27页。

[2] Paulo S. R. Diniz,自适应滤波:算法和实际实现,第二版。波士顿:Kluwer学术出版社,2002。

扩展能力

在R2013A介绍