• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: Matlab
  • 标签: NLMS  

资源简介

本方法简单明了,不累述,实用性强。设计流程为 参数设置——初始化——权系数更新——输出——结束

资源截图

代码片段和文件信息

clear all
close all
N=12;                     %滤波器阶数
sample_N=1000;             %采样点数

A=1;                     %信号幅度
snr=20;                    %信噪比
t=1:sample_N; 
length_t=100;       %期望信号序列长度
d=A*sin(2*pi*t/length_t); %期望信号
M=length(d)              %M为接收数据长度
x=awgn(dsnr)            %经过信道(加噪声)

delta=1/(20*N*(A^2))    %计算能够使LMS算法收敛的delta
           
y=zeros(1M);
h=zeros(1N);             %LMS滤波器系数
h_normalized=zeros(1N);  %归一化LMS滤波器系数
y1=zeros(1N);
u0=0.2;
r=0.8
for n=N:M                 %系数调整LMS算法
    x1=x(n:-1:n-N+1);
    
    %LMS算法
    y(n)=h*x1‘;              %滤波
    e(n)=d(n)-y(n);          %误差估计
    h=h+delta*e(n)*x1;       %权向量更新
    
    %NLMS算法
    y_normalized(n)=h_normalized*x1‘;                

评论

共有 条评论