主要内容

基于归一化LMS算法的FIR滤波器系统辨识

为了提高LMS算法的收敛性能,归一化变体(NLMS)采用了基于信号功率的自适应步长。随着输入信号功率的变化,算法计算输入功率并调整步长以保持一个合适的值。步长随时间变化,因此,在很多情况下,归一化算法在较少样本的情况下收敛更快。对于随时间变化缓慢的输入信号,归一化LMS算法是一种更有效的LMS方法。

有关使用LMS方法的示例,请参见基于LMS算法的FIR滤波器系统辨识

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

未知的系统

创建一个dsp。FIRFilter对象,该对象表示要标识的系统。使用fircband函数来设计滤波器系数。所设计的滤波器是一个阻带纹波限制为0.2的低通滤波器。

filt = dsp.FIRFilter;filt。分子= fircband(12,[0 0.4 0.5 1],[1 1 0 0],[1 0.2],...{' w '“c”});

传递信号x到FIR滤波器。期望的信号d是未知系统(FIR滤波器)输出和加性噪声信号的和吗n

X = 0.1*randn(1000,1);N = 0.001*randn(1000,1);D = filt(x) + n;

自适应滤波器

若要使用归一化LMS算法变体,请设置方法的属性dsp。LMSFilter“归一化LMS”.设置自适应过滤器的长度为13个水龙头,步长为0.2。

Mu = 0.2;LMS = dsp。LMSFilter(13,“StepSize”亩,“方法”...“归一化LMS”);

传递主输入信号x以及期望的信号d到LMS过滤器。

[y,e,w] = lms(x,d);

输出y自适应滤波器是收敛于期望信号的信号d从而使误差最小化e在两个信号之间。

地块(1:1000,[d,y,e])“归一化LMS算法的系统辨识”)传说(“想要的”“输出”“错误”)包含(“时间指数”) ylabel (的信号值

图中包含一个轴对象。标题为“System Identification by Normalized LMS Algorithm”的坐标轴对象包含3个类型为line的对象。这些对象表示期望、输出、错误。

比较自适应滤波器和未知系统

权重向量w表示LMS滤波器的系数,它适应于类似未知系统(FIR滤波器)。为了确认其收敛性,将FIR滤波器的分子与自适应滤波器的估计权值进行比较。

茎([(filt.Numerator)。' w])标题(“归一化LMS算法的系统辨识”)传说(“实际过滤器权重”“估计过滤器重量”...“位置”“东北”

图中包含一个轴对象。标题为System Identification by Normalized LMS Algorithm的坐标轴对象包含2个stem类型的对象。这些对象表示实际过滤器权重,估计过滤器权重。

另请参阅

对象

相关的话题

参考文献

[1]海耶斯,蒙森H,统计数字信号处理与建模“,.霍博肯,新泽西州:John Wiley & Sons, 1996,第493 - 552页。

海金,西蒙,自适应滤波理论.上马鞍河,新泽西州:Prentice-Hall, Inc., 1996。