✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
信号重建中,对于统计特性未知或特性随时可能变化的噪声,或是频谱很宽的白噪声,设计传统滤波器比较困难,针对此问题,在介绍LMS算法基本理论的基础上,设计了基于LMS算法的自适应噪声对消系统,并分析了噪声消除原理,最后在MATLAB环境中进行了仿真.实验中应用频谱很宽的白噪声污染有用信号单频余弦波,在时频域,余弦波完全淹没在白噪声中,而后应用所设计的消噪系统进行滤波.仿真结果表明,在时频域白噪声均得到很大抑制,余弦波得到较好恢复,说明基于LMS算法的自适应噪声对消系统非常适用于特性噪声特性未知或复杂的滤波领域.
⛄ 部分代码
%% System Identification Using Least Mean Forth (LMF) and Least Mean Square (LMS) algorithm
% year={2017},
% pages={466-470}
% }
% *Start*
clc;
clear all;
close all;
N = 1e4; % Number of samples
Bits = 2; % For PSK modulation
SNR = 10; % Noise level
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]
⛄ 运行结果
⛄ 参考文献
[1]吕照顺, 吴晗平, 李军雨. 改进的变步长自适应最小均方算法及其数字信号处理[J]. 强激光与粒子束, 2015, 27(9):5.