使用最小均数四分法 (LMF) 和最小均方 (LMS) 算法进行系统识别(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客   

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

在此仿真中,在非高斯噪声环境中比较最小均方(LMS)和最小均方(LMF)算法,以执行系统识别任务。众所周知,LMF算法在非高斯环境中优于LMS算法,在此实现中可以看到相同的结果。此外,还编程了用于添加白色均匀噪声的定制功能。

📚2 运行结果

 部分代码:

for n = 1 : N
                  
        % *LMS*
        Us(1,2:end) = Us(1,1:end-1);  % Shifting of frame window
        Us(1,1) = x(n);               % Input of LMS
        
        ys = (Wlms)*Us';                % Output of LMS                           
        es = d(n) - ys;                 % Instantaneous error of LMS 
        Wlms = Wlms +  etas * es * Us;  % Weight update rule of LMS

        
        % *LMF*
        Uf(1,2:end) = Uf(1,1:end-1);  % Shifting of frame window
        Uf(1,1) = x(n);               % Input of LMF
        
        yf = (Wlmf)*Uf';                      % Output of LMF                           
        ef = d(n) - yf;                       % Instantaneous error of LMF 
        Wlmf = Wlmf +  etaf * (ef.^3) * Uf;   % Weight update rule of LMF
        
    
        % *Normalized weight difference (NWD)*
temp1(n) = norm(Wlms-h)./norm(h);      % Normalized weight difference of LMS
temp2(n) = norm(Wlmf-h)./norm(h);      % Normalized weight difference of LMF
end

% *Accumulating Results*
NWDs = NWDs + temp1;
NWDf = NWDf + temp2;

temp3 = temp3 + Wlms;
temp4 = temp4 + Wlmf;
end
%% Average Results for (# of runs) of independent trials
NWDs = NWDs./runs;
NWDf = NWDf./runs;

Wlms = temp3./runs;
Wlmf = temp4./runs;

%% Cost function plots
figure
fsize=14; % plot text font size
plot(10*log10(NWDs),'','linewidth',4)
hold on
plot(10*log10(NWDf),'r','linewidth',4)
lgh=legend(strcat('Least mean square (LMS):', int2str(SNR),' (dB)'),strcat('Least mean forth (LMF):', int2str(SNR),' (dB)'),'Location','NorthEast');
grid minor
xlabel('Iterations','FontName','Times New Roman','FontSize',fsize);
ylabel('Normalized weight difference (NWD) in (dB)','FontName','Times New Roman','FontSize',fsize);
title('Cost function (NWD vs epochs iteration)','FontName','Times New Roman','FontSize',6*fsize/5);
set(lgh,'FontName','Times New Roman','FontSize',fsize)
set(gca,'FontName','Times New Roman','FontSize',fsize)
saveas(gcf,strcat('LMS_LMF_Comparision.png'),'png')

[h;Wlms;Wlmf]

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]article{Khan2017FLMFFL,
  title={FLMF: Fractional least mean fourth algorithm for channel estimation in non-Gaussian environment},
  author={Shujaat Khan and Naveed Ahmed and Muhammad Ammar Malik and Imran Naseem and Roberto Togneri and Mohammed Bennamoun},
  journal={2017 International Conference on Information and Communication Technology Convergence (ICTC)},
  year={2017},
  pages={466-470}
}

[2]高慧,牛聪敏,吴炜.自适应噪声抵消技术中一种变步长的最小均方(LMS)算法研究[J].航天医学与医学工程,2002(05):366-368.DOI:10.16289/j.cnki.1002-0837.2002.05.014.

[3]李自成,徐升,刘国海,张荣标,冯大力.基于LMS/LMF混合算法的APF自适应预测无差拍控制[J].电力设备管理,2019(10):182-184.

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值