💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab领域博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
🔊博主简介:985研究生,Matlab领域科研开发者;
🏫个人主页:Matlab领域
🏆代码获取方式:
CSDN Matlab领域—代码获取方式
🚅座右铭:路漫漫其修远兮,吾将上下而求索。
更多Matlab信号处理仿真内容点击👇
①Matlab信号处理(高阶版)
②付费专栏Matlab信号处理(进阶版)
③付费专栏Matlab信号处理(初级版)
⛳️关注CSDN Matlab领域,更多资源等你来!!
⛄一、豪猪算法优化变分模态分解CPO-VMD数字信号去噪
1 豪猪算法
冠豪猪优化器(Crested Porcupine Optimizer, CPO)是一种新型的元启发式算法(智能优化算法),该成果由Abdel-Basset等人于2024年1月发表在中科院1区SCI期刊Knowledge-Based Systems上。
1.1 原理简介
冠豪猪(CP)是一种大型啮齿动物,生活在除南极洲以外的所有大陆,分布在森林、沙漠、岩石露头和山坡上。CP是仅次于水豚和海狸的第三大啮齿动物。大多数有冠豪猪大约有25-36英寸长,尾巴8-10英寸。它们的体重在12到35磅之间,呈圆形,体型较大,行动迟缓。大多数CP的身体覆盖着深棕色或黑色的刚毛,偶尔会有白色的斑点。它们最显著的特征是它们的羽毛很宽,沿着身体的后半部分延伸,长度可达14英寸。冠豪猪是夜间食草动物,以灌木和树叶等多种植物为食。尽管它们生活在小家庭中,但它们倾向于独自觅食,寻找长达九英里的食物。它们之所以如此命名,是因为它们的头、颈背、尾巴和身体后部都有长长的羽毛~
CPO模拟了冠豪猪的各种防御行为。冠豪猪的四种防御策略是视觉、声音、气味和身体攻击。这些策略从最不激进到最激进排序。在CPO中,我们可以可视化搜索空间,如下图所示;四个不同的区域模拟了防御CP区域。第一个区域(A),CP远离捕食者,代表第一个防御区域,用于实施第一个防御策略。第二区域(B)代表第二防御区域,用于在捕食者不害怕第一防御机制并向捕食者移动的情况下实施第二防御策略。第三区域(C)代表第三防御区,用于实施第三防御策略,当捕食者不害怕第二和第三防御机制,仍向CP移动时,该策略被激活。最后一个区域(D)代表最后一个防御区域,用于实施最后一个防守策略。在最后一个区域,在之前的所有防御机制失效后,CP会攻击捕食者,使其失去能力,甚至杀死它们以保护自己。
1.1.1 种群初始化
与其他基于元启发式群体的算法类似,CPO从初始个体集(候选解决方案)开始搜索过程:
其中N表示个体数量(种群大小N),Xi是搜索空间中的第i个候选解,L和U分别是搜索范围的下限和上限,r是在0和1之间随机数
1.1.2 循环种群减少技术
循环种群减少技术(CPR),除了加快收敛速度外,还可以保持种群多样性。这种策略模拟了这样一种想法,即并非所有CP都激活防御机制,而是只有那些受到威胁的CP才激活防御机制。因此,在该策略中,在优化过程中从种群中获得一些CP,以加快收敛速度,并将它们重新引入种群中,从而提高多样性,避免陷入局部极小值;该循环基于循环变量T,以确定优化过程中执行该过程的次数(图3)。循环减少人口规模的数学模型如下:
其中,T是确定循环数的变量,t是当前函数评估,Tmax是函数评估的最大数量,%表示余数或模运算符,Nmin是新生成的种群中个体的最小数量,因此种群大小不能小于Nmin。随着当前函数评估次数的增加,人口规模逐渐减少,甚至达到40人。这表示第一个循环。之后,种群规模再次最大化,然后逐渐减小,甚至达到优化过程的终点。这表示第二个也是最后一个周期,因为T被设置为2。由此可以看出,种群规模先是最大化,然后逐渐缩小,甚至达到Nmin。
1.1.3 勘探阶段
(1)第一防御策略
当CP意识到捕食者时,它开始举起并扇动羽毛笔,给人一种更深的印象。因此,捕食者有两种选择,要么向它移动,要么远离它。在第一种选择中,由于捕食者向CP移动,捕食者与CP之间的距离减小。这种选择鼓励探索捕食者与CP间的区域,以加快收敛速度。相反,在第二种选择中,捕食者和CP之间的距离最大化,因为捕食者选择离开。此选项鼓励探索遥远的地区,以确定未访问的地区,这可能涉及所需的解决方案。使用正态分布来生成随机值,以数学方式模拟这些选项。如果这些随机值小于1或大于−1,则鼓励向CP靠近。否则,捕食者将远离CP。通常,这种行为在数学上模拟如下:
其中xtCP是评估函数t的最佳解,yti是在当前CP和从种群中随机选择的CP之间生成的向量,用于表示捕食者在迭代t时的位置,τ1是基于正态分布的随机数,τ2是区间[0,1]中的随机值。生成yti的数学公式如下所示:
其中r是[1,N]之间的随机数。
(2)第二防御策略
在这种策略中,CP使用声音方法制造噪音并威胁捕食者。当捕食者靠近豪猪时,豪猪的声音会变得更大。为了从数学上模拟这种行为,提出了以下公式:
其中r1和r2是[1,N]之间的两个随机整数,τ3是0和1之间生成的随机值。
1.1.4 开发阶段
(1)第三防御策略
在这种策略中,CP会分泌恶臭,并在其周围区域传播,以防止捕食者靠近它。为了从数学上模拟这种行为,提出了以下公式:
其中r3是[1,N]之间的随机数,δ是用于控制搜索方向的参数,并使用等式(8)定义。xti是迭代t时第i个个体的位置,γt是使用等式(9)定义的防御因子。τ3是区间[0,1]内的随机值,Sti是使用(10)等式定义的气味扩散因子。如下所示:
其中,f(xit)表示迭代t时第i个个体的目标函数值,ε是避免被零除的小值,rand是包括在0和1之间随机生成的数值的矢量,rand是包括在1和0之间随机生成数字的变量,N是总体大小,t是当前迭代的次数,tmax是最大迭代次数。U1矢量用于模拟该策略中可能出现的三种情况:
(1)当U1 等于0,CP将停止气味扩散,因为捕食者会因为害怕CP而停止移动,因此捕食者与CP之间的距离保持不变;
(2)当U1等于1时,由于捕食者在附近,CP会显著散发气味;
(3) 当U1是0和1的组合,捕食者与CP保持安全距离,因此,没有必要广泛释放其气味。
(2)第四防御策略
最后一种策略是物理攻击。当捕食者离它很近并用短而厚的羽毛攻击它时,CP会采取物理攻击。在物理攻击过程中,两个物体强烈融合,代表一维的非弹性碰撞。为了用数学公式表达其物理攻击行为,提出了以下公式:
2 豪猪算法优化变分模态分解CPO-VMD数字信号去噪
豪猪算法优化变分模态分解(CPO-VMD)是一种用于数字信号去噪的算法。它结合了豪猪算法和变分模态分解(VMD)的原理,能够有效地去除信号中的噪声。
CPO-VMD算法的原理如下:
变分模态分解(VMD):VMD是一种将信号分解为多个模态函数的方法。它通过迭代优化的方式,将信号分解为多个频带,每个频带对应一个模态函数。VMD通过最小化信号与模态函数之间的差异来实现分解。
豪猪算法:豪猪算法是一种基于自然界中豪猪觅食行为的优化算法。它模拟了豪猪在觅食过程中的行为,通过调整豪猪的位置和速度来寻找最优解。豪猪算法具有全局搜索能力和较快的收敛速度。
CPO-VMD算法将豪猪算法应用于VMD过程中,以优化VMD的分解效果。具体步骤如下:
(1)初始化豪猪种群和参数:设定豪猪种群的初始位置和速度,并设置相关参数。
(2)VMD分解:使用VMD将原始信号分解为多个模态函数。
(3)适应度计算:根据分解后的模态函数和原始信号之间的差异,计算每个豪猪的适应度。
(4)豪猪位置更新:根据适应度值,更新豪猪的位置和速度。
(5)终止条件判断:判断是否满足终止条件,如果满足则结束算法;否则返回步骤2。
⛄二、部分源代码
clc
clear all
close all
ff=load (‘row.txt’);
ff=ff’;
data=ff;
len=length(data);
f=data(1:len);
%% 基础参数设定
tau = 0; % 噪声容限
DC = 0; % no DC part imposed
init = 1; % initialize omegas uniformly
tol = 1e-7;
%% 优化VMD分解
pop = 5;%种群数量
Max_iteration = 20;%最大迭代次数
lb =[800,4]; %下边界
ub = [2000,10];%上边界
dim = 2; %维度为2,即alpha,K
fobj = @(x) fun(x,f,tau, DC, init, tol);
[~,Target_pos,NGO_cg_curve] = CPO(pop,Max_iteration,lb,ub,dim,fobj);%优化函数 求K Alpha 熵值
Target_pos = round(Target_pos);
NGO_cg_curve=abs(NGO_cg_curve);
%利用优化后K,alpha带入VMD得到结果
[u1, u_hat1, omega1] = VMD(f, Target_pos(1), tau, Target_pos(2), DC, init, tol);
figure
plot(NGO_cg_curve,‘linewidth’,1.5);
title(‘CPO-VMD收敛曲线’)
xlabel(‘迭代次数’)
ylabel(‘适应度值’)
grid on
%% 阿基米德优化VMD分解
figure
subplot(size(u1,1)+1,1,1);
plot(f,‘k’);grid on;
ylabel(‘原始数据’);
for i = 1:size(u1,1)
subplot(size(u1,1)+1,1,i+1);
plot(u1(i,:),‘k’);
ylabel([‘IMF’,num2str(i)]);
end
sgtitle(‘CPOVMD分解结果’,‘FontSize’, 10)
%% 打印寻优值
disp([‘最优K值为:’,num2str(Target_pos(2))])
disp([‘最优alpha值为:’,num2str(Target_pos(1))])
disp([‘最优适应度值为:’,num2str(min(NGO_cg_curve))])
[m,n]=size(u1);
imf=u1;
len=length(imf);%信号长度
fs=1000;%采样频率
% 采样时间
t = (0:len-1)/fs;
%%频域图
figure
for i=1:m
subplot(m,1,i)
%% FFT 变换
[cc,y_f]=hua_fft_1(imf(i,:),fs,1);
a1(i,:)=cc;
plot(y_f,cc,‘k’,‘LineWIdth’,1.5);
title(‘频率图’)
ylabel([‘IMF’,num2str(i)]);
axis tight
end
figure
plot(y_f,a1,‘LineWIdth’,1);
title(‘Hilbert边际谱’)
xlabel(‘频率/Hz’)
ylabel(‘幅值’)
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 刘嘉敏,彭玲,刘军委,袁佳成.遗传算法VMD参数优化与小波阈值轴承振动信号去噪分析[J].机械科学与技术. 2017,36(11)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合