主要内容

msesim

适应性滤波器的估计平均平方误差

描述

例子

均方误差= msesim(adaptFiltXD.的)估计所述自适应滤波器的均方误差,在给定了输入,并在所需的响应信号序列的每个时刻XD.

例子

[均方误差meanwW.tracek] = msesim(adaptFiltXD.的)还计算系数矢量手段的序列,meanw,自适应滤波器系数,W.,总系数误差功率,tracek,对应于自适应滤波器的模拟行为。

例子

[___] = msesim(adaptFiltXM.的)指定用于计算的可选抽取因子均方误差meanw, 和tracek。如果M.> 1,每一个M.这些序列的每个的值被保存。如果省略,值M.默认为1。

例子

全部收缩

平均平方误差(MSE)测量所需信号和输入到自适应滤波器的主信号之间的错误的平均线的平均值。减少此误差会将主输入收敛到所需信号。使用瞬时确定MSE的预测值和MSE的模拟值MSEPRED.msesim职能。彼此之间以及相对于所述最小MSE和稳态MSE值进行比较这些MSE值。此外,计算由所述系数协方差矩阵的迹给出的系数误差的平方的总和。

笔记:如果您使用R2016a或更早版本,取代每次调用具有同等步语法的对象。例如,obj(x)成为步骤(obj,x)

初始化

创建一个dsp.firfilter.系统对象™表示未知系统。传递信号,X到冷杉过滤器。未知系统的输出是所需的信号,D.,这是未知系统的输出(FIR滤波器)和附加噪声信号的和,N.

num = fir1(31,0.5);fir = dsp.firfilter('分子',NUM);IIR = dsp.IIRFilter('分子',sqrt(0.75),......“分母”[1 -0.5]);X = IIR(符号(randn(2000,25)));N = 0.1 * randn(大小(X));d =冷杉(X)+ N;

LMS过滤器

创建一个dsp.lmsfilter.系统对象创建适应输出所需信号的过滤器。将自适应滤波器的长度设置为32个抽头,步长到0.008,以及分析和模拟的抽取因子为5.变量辛马斯表示未知系统输出之间的模拟MSE,D.,以及自适应滤波器的输出。的变量均方误差给出相应的预测值。

L = 32;亩= 0.008;M = 5;LMS = dsp.LMSFilter('长度',l,'一步的大小'μ);均方误差(mmse, emse meanW, traceK] = msepred (lms, x, d, m);[simmse, meanWsim Wsim traceKsim] = msesim (lms, x, d, m);

绘制MSE结果

比较模拟MSE、预测MSE、最小MSE和最终MSE的值。最后的MSE值由最小MSE和超额MSE的和给出。

nn = m: m:大小(x, 1);simmse semilogy (nn,大小(x, 1) [0], [(emse + mmse)......(EMSE + MMSE)],NN,MSE,[0大小(x,1)],[mmse mmse]标题('均匀的误差性能')轴([0尺寸(X,1)0.001 10])图例(“MSE (Sim)。”“最后的MSE”MSE的“最小MSE。”)Xlabel('时间指数')ylabel('平方误差值'的)

图中包含一个轴对象。标题为Mean Squared Error Performance的轴对象包含4个类型为line的对象。这些对象代表MSE (Sim.),最终MSE, MSE, Min. MSE。

预测MSE遵循相同的轨迹模拟的MSE。这两个轨迹收敛与稳态(最终)MSE。

画出系数轨迹

meanWsim由是给出的模拟系数的平均值msesimmeanW是由下式给出的预测系数的平均值MSEPRED.

比较LMS滤波器系数12,13,14和15的模拟和预测的平均值。

情节(NN,meanWsim(:,12),'B'、神经网络、meanW (: 12),'r',nn,......meanWsim(:,13:15),'B',NN,meanW(:,13:15),'r')绘图= {“平均系数轨迹”;......'W(12),W(13),W(14)和W(15)'}
PlotTitle =2x1细胞{'平均系数轨迹'}{'W(12), W(13), W(14),和W(15)'}
标题(PlotTitle)图例('模拟'“理论”)Xlabel('时间指数')ylabel(“系数值”的)

图中包含一个轴对象。具有W(12),W(13),W(14)和W(15)的标题平均系数轨迹的轴对象包含8个类型线的8个对象。这些对象代表仿真,理论。

在稳定状态下,轨迹都会收敛。

平方系数误差的总和

比较的平方系数误差的总和MSEPRED.msesim。这些值由系数协方差矩阵的迹线给出。

半径(nn,traceksim,nn,tracek,'r')标题('平方的系数错误')轴([0尺寸(x,1)0.0001 1])图例('模拟'“理论”)Xlabel('时间指数')ylabel('平方误差值'的)

图中包含一个轴对象。标题为Sum-of-Squared Coefficient Errors的轴对象包含2个类型为line的对象。这些对象代表仿真,理论。

通过使用滤波x LMS算法进行有源噪声控制来识别未知系统。自适应滤波器的目标是使自适应滤波器的输出与未知系统(或待识别系统)的输出之间的误差信号最小化。一旦误差信号最小,未知系统就收敛到自适应滤波器。

笔记:如果您使用R2016a或更早版本,取代每次调用具有同等步语法的对象。例如,obj(x)成为步骤(obj,x)

初始化

创建一个dsp.firfilter.表示要标识的系统的系统对象。传递信号,X,到FIR筛选器。未知系统的输出是所需的信号,D.,这是未知系统的输出(FIR滤波器)和附加噪声信号的和,N.

num = fir1(31,0.5);fir = dsp.firfilter('分子',NUM);IIR = dsp.IIRFilter('分子',sqrt(0.75),......“分母”[1 -0.5]);X = IIR(符号(randn(2000,25)));N = 0.1 * randn(大小(X));d =冷杉(X)+ N;

自适应滤波器

创建一个dsp。FilteredXLMSFilter对象创建使用filter -x LMS算法的自适应滤波器。将自适应滤波器的长度设置为32个抽头,步长到0.008,以及分析和模拟的抽取因子为5.变量辛马斯表示未知系统输出之间的错误,D.,以及自适应滤波器的输出。

L = 32;亩= 0.008;M = 5;fxlms = dsp.filteredxlmsfilter(l,'一步的大小'μ);[simmse, meanWsim Wsim traceKsim] = msesim (fxlms, x, d, m);情节(m *(1:长度(simmse)), 10 * log10 (simmse))包含(“迭代”)ylabel('MSE(分贝)'的)%画出学习曲线x滤波LMS滤波器%在系统识别用于标题('学习曲线'的)

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

随着适应的每次迭代,值辛马斯减少到最小值,表明未知系统已融合到自适应滤波器。

笔记:如果您使用R2016a或更早版本,取代每次调用该对象具有同等一步句法。例如,obj(x)成为步骤(obj,x)

公顷= FIR1(31,0.5);FIR%系统识别fir = dsp.firfilter('分子',哈);IIR = dsp.IIRFilter('分子',sqrt(0.75),......“分母”[1 -0.5]);X = IIR(符号(randn(2000,25)));%观察噪声信号N = 0.1 * randn(大小(X));%期望信号d =冷杉(x) + n;%过滤器长度L = 32;分析%抽取因子%和仿真结果M = 5;ha = dsp.adaptivelatticefilter(l);[Simmse,Meanwsim,WSIM,Traceksim] = MSesim(HA,X,D,M);情节(m *(1:长度(simmse)), 10 * log10 (simmse));Xlabel(“迭代”);ylabel('MSE(分贝)');%绘制用于学习曲线%用于系统辨识的自适应格子滤波器标题('学习曲线'的)

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

笔记:如果您使用R2016a或更早版本,取代每次调用该对象具有同等一步句法。例如,obj(x)成为步骤(obj,x)

0.5冷杉= fir1(31日);FIR%系统识别firFilter = dsp.FIRFilter('分子',冷杉);iirFilter = dsp.IIRFilter('分子',sqrt(0.75),......“分母”[1 -0.5]);X = iirFilter(符号(randn(2000,25)));%观察噪声信号N = 0.1 * randn(大小(X));%期望信号d = firFilter (x) + n;%过滤器长度L = 32;%块LMS步长亩= 0.008;分析%抽取因子%和仿真结果M = 32;冷杉= dsp.BlockLMSFilter(1,1-'一步的大小'μ);[Simmse,Meanwsim,WSIM,Traceksim] = MSesim(FIR,X,D,M);情节(m *(1:长度(simmse)), 10 * log10 (simmse));Xlabel(“迭代”);ylabel('MSE(分贝)');%绘制学习曲线%块LMS滤波器用于系统识别标题('学习曲线'的)

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

笔记:如果您使用R2016a或更早版本,取代每次调用该对象具有同等一步句法。例如,obj(x)成为步骤(obj,x)

公顷= FIR1(31,0.5);FIR%系统识别fir = dsp.firfilter('分子',哈);IIR = dsp.IIRFilter('分子',sqrt(0.75),......“分母”[1 -0.5]);X = IIR(符号(randn(2000,25)));%观察噪声信号N = 0.1 * randn(大小(X));%期望信号d =冷杉(x) + n;%过滤器长度L = 32;%仿射投影滤波器步长。亩= 0.008;分析%抽取因子%和仿真结果M = 5;apf = dsp.affineprojectionFilter(L,'一步的大小'μ);[simmse, meanWsim Wsim traceKsim] = msesim (apf, x, d, m);情节(m *(1:长度(simmse)), 10 * log10 (simmse));Xlabel(“迭代”);ylabel('MSE(分贝)');%绘制仿射投影滤波器的学习曲线%在系统识别用于标题('学习曲线'的)

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

输入参数

全部收缩

输入信号,指定为标量,列向量或矩阵。矩阵的列X包含单独的输入信号的序列。输入,X和期望的信号,D.,必须具有相同的大小和数据类型。

如果adaptFilt是A.dsp.blocklmsfilter.对象,输入信号的帧尺寸必须大于或等于您在指定的值BlockSize.对象的属性。

数据类型:单身的|

所需的响应信号,指定为标量,列向量或矩阵。矩阵的列D.包含单个所需的信号序列。输入,X和期望的信号,D.,必须具有相同的尺寸和数据的类型。

如果adaptFilt是A.dsp.blocklmsfilter.系统对象,所需的信号帧大小必须大于或等于您在中指定的值BlockSize.对象的属性。

数据类型:单身的|

抽取因子,指定为正标量。每一个M.估计序列的值将保存到相应的输出参数中,均方误差meanwW., 和tracek。如果M.= 1时,这些序列的每个值都被保存。

如果adaptFilt是A.dsp.blocklmsfilter.系统对象,抽取的因素一定是你在指定的值的倍数BlockSize.对象的属性。

数据类型:单身的||INT8.|int16|int32|int64|uint8.|uint16|UINT32.|UINT64|逻辑

输出参数

全部收缩

在每个时刻,自适应滤波器的平均平方误差的估计,返回为列向量。

如果自适应滤波器为dsp.blocklmsfilter.和抽取因子M.被指定时,长度均方误差等于地板(M./ m)。M.是输入信号的帧尺寸(行数),X。如果M.时,均方误差等于地板(M / B), 在哪里B.是您在指定的值BlockSize.对象的属性。所述输入信号的帧尺寸必须大于或等于您在指定的值BlockSize.对象的属性。DIJIMATION因子(如果指定)必须是倍数BlockSize.财产。

对于其他自适应滤波器,如果抽取因子,M.= 1,表示长度均方误差等于输入信号的帧大小。如果M.> 1,长度均方误差等于地板(M./ m)。

数据类型:

在每个时刻,自适应滤波器的系数向量的手段序列,估计作为基质。该矩阵的列包含在每个时刻的自适应滤波器系数的平均值的估计。

如果自适应滤波器为dsp.blocklmsfilter.和抽取因子M.被指定,尺寸meanw是地板(M./米)-by-N.M.是输入信号的帧尺寸(行数),XN.是滤波器权重向量的长度,由指定的长度自适应过滤器的属性。如果M.未指定,尺寸meanw是地板(M / B)-经过-N.,在那里B.是您在指定的值BlockSize.对象的属性。所述输入信号的帧尺寸必须大于或等于您在指定的值BlockSize.对象的属性。DIJIMATION因子(如果指定)必须是倍数BlockSize.财产。

对于其他自适应滤波器,如果抽取因子,M.= 1,表示meanwM.——- - - - - -N.。如果M.> 1的尺寸meanw是地板(M./米)-by-N.

数据类型:

对应的算法的自适应滤波系数的最终值adaptFilt,返回为行向量。该行向量的长度等于你在指定的值长度对象的属性。

数据类型:单身的|

总系数误差功率,估计为列向量的序列。此列向量包含在每个时刻的自适应滤波器的系数的总误差功率的估计。

如果自适应滤波器为dsp.blocklmsfilter.和抽取因子M.被指定时,长度tracek等于地板(M./ m)。M.是输入信号的帧尺寸(行数),X。如果M.时,tracek等于地板(M / B), 在哪里B.是您在指定的值BlockSize.对象的属性。所述输入信号的帧尺寸必须大于或等于您在指定的值BlockSize.对象的属性。DIJIMATION因子(如果指定)必须是倍数BlockSize.财产。

对于其他自适应滤波器,如果抽取因子,M.= 1,表示长度tracek等于输入信号的帧大小。如果M.> 1,长度tracek等于地板(M./ m)。

数据类型:

参考文献

[1]海耶斯,M.H.统计数字信号处理和建模。纽约:约翰·威利父子公司,1996年。

在R2012A介绍