多级式多传感器信息融合中的状态估计(Matlab代码实现)

2023-05-16

  🍒🍒🍒欢迎关注🌈🌈🌈

📝个人主页:我爱Matlab


👍点赞➕评论➕收藏 == 养成习惯(一键三连)🌻🌻🌻

🍌希望大家多多支持🍓~一起加油 🤗

💬语录:将来的我一定会感谢现在奋斗的自己!

🍁🥬🕒摘要🕒🥬🍁

信息融合作为一门新兴交叉学科,其研究目的是如何通过综合多信息源的信息获得比依靠任何单个信息源更加准确和更加确定的估计与推理。目标跟踪是信息融合的底层关键技术,是实现高层次融合的前提,并在国防、民用多个领域有广泛的应用,也是本文的研究主题。

本文主要针对多传感器多时滞(包括状态之后和观测滞后)系统,基于Kalman滤波现代时间序列分析方法,利用集中式融合估计分布式融合估计(按矩阵加权、按对角阵加权、按标量加权)、 协方差交叉融合等方法实现对状态的融合估计。

✨🔎⚡运行结果⚡🔎✨

 

 

 

 

 

​ 

 

💂♨️👨‍🎓Matlab代码👨‍🎓♨️💂

%-----------------------------------------%
%多传感器多重观测滞后CI融合
%-----------------------------------------%
clc;clear all;
Bushu=300;
T=1.5;
Qw=2;
Rv1=1;Rv2=0.54;Rv3=2;
% N=200;
% for j=1:N
randn('seed',1);w=sqrt(Qw)*randn(1,Bushu+10);
randn('seed',1);v1=sqrt(Rv1)*randn(1,Bushu+10);
randn('seed',1);v2=sqrt(Rv2)*randn(1,Bushu+10);
randn('seed',5);v3=sqrt(Rv3)*randn(1,Bushu+10);
%--------------给出系统模型---------------%
fai=[1 T;0 1];gama=[0.5*T^2;T];H01=[1 0];H12=[0.4 0.8];H03=[1.5 0];H13=[0.6 1];
% fai=[1 1.2;0.3 1];gama=[1;3];H01=[1 0];H12=[0.4 1];H03=[1.5 0];H13=[0.6 1];
x(:,2)=[0;0];x(:,1)=[0;0];
y1(2)=H01*x(:,2)+v1(2);y2(2)=H12*x(:,1)+v2(2);y3(2)=H03*x(:,2)+H13*x(:,1)+v3(2);
for i=3:Bushu+10
    x(:,i)=fai*x(:,i-1)+gama*w(i-1);
    y1(i)=H01*x(:,i)+v1(i);y2(i)=H12*x(:,i-1)+v2(i);y3(:,i)=H03*x(:,i)+H13*x(:,i-1)+v3(i);
end
%------------------局部Kalman滤波器---------------%
%---------------------传感器1----------------%
PP1(:,:,1)=0.1*eye(2);P1(:,:,1)=0.1*eye(2);x1jian(:,1)=zeros(2,1);
for i=1:Bushu+5
    PP1(:,:,i+1)=fai* P1(:,:,i)*fai'+gama*Qw*gama';%预报误差方差阵
    Qeps1(i+1)=H01*PP1(:,:,i+1)*H01'+Rv1;
    k1(:,i+1)=(PP1(:,:,i+1)*H01')*inv(Qeps1(i+1));
    P1(:,:,i+1)=PP1(:,:,i+1)-k1(:,i+1)*Qeps1(i+1)*k1(:,i+1)';%滤波误差方差阵
    x1jianp(:,i+1)=fai*x1jian(:,i);%预报
    eps1(i+1)=y1(i+1)-H01*x1jianp(:,i+1);
    x1jian(:,i+1)=x1jianp(:,i+1)+k1(:,i+1)*eps1(i+1);%滤波
end 
% t=1:Bushu;
% figure
% subplot(2,2,1);plot(t,x(1,t),'b',t,x1jian(1,t),'r:');
% subplot(2,2,2);plot(t,x(2,t),'b',t,x1jian(2,t),'r:');

%-----------------传感器2----------------%
PP2(:,:,1)=0.1*eye(2);P2(:,:,1)=0.1*eye(2);x2jian(:,1)=zeros(2,1);
for i=1:Bushu+5
    PP2(:,:,i+1)=fai* P2(:,:,i)*fai'+gama*Qw*gama';%预报误差方差阵
    Qeps2(i+1)=H12*P2(:,:,i)*H12'+Rv2;
    k2(:,i+1)=(fai*P2(:,:,i)*H12')*inv(Qeps2(i+1));
    P2(:,:,i+1)=PP2(:,:,i+1)-k2(:,i+1)*Qeps2(i+1)*k2(:,i+1)';%滤波误差方差阵
    x2jianp(:,i+1)=fai*x2jian(:,i);%预报
    eps2(i+1)=y2(i+1)-H12*x2jian(:,i);
    x2jian(:,i+1)=x2jianp(:,i+1)+k2(:,i+1)*eps2(i+1);%滤波
end 
% t=1:Bushu;
% figure
% subplot(2,2,1);plot(t,x(1,t),'b',t,x2jian(1,t),'r:');
% subplot(2,2,2);plot(t,x(2,t),'b',t,x2jian(2,t),'r:');

%-----------------传感器3----------------%
PP3(:,:,1)=0.1*eye(2);P3(:,:,1)=0.1*eye(2);x3jian(:,1)=zeros(2,1);
for i=1:Bushu+5
    PP3(:,:,i+1)=fai* P3(:,:,i)*fai'+gama*Qw*gama';%预报误差方差阵
    Qeps3(i+1)=H03*PP3(:,:,i+1)*H03'+H13*P3(:,:,i)*H13'+H03*fai*P3(:,:,i)*H13'+H13*P3(:,:,i)*fai'*H03'+Rv3;
    k3(:,i+1)=(PP3(:,:,i+1)*H03'+fai*P3(:,:,i)*H13')*inv(Qeps3(i+1));
    P3(:,:,i+1)=PP3(:,:,i+1)-k3(:,i+1)*Qeps3(i+1)*k3(:,i+1)';%滤波误差方差阵
    x3jianp(:,i+1)=fai*x3jian(:,i);%预报
    eps3(i+1)=y3(i+1)-H03*x3jianp(:,i+1)-H13*x3jian(:,i);
    x3jian(:,i+1)=x3jianp(:,i+1)+k3(:,i+1)*eps3(i+1);%滤波
end
% t=1:Bushu;
% figure
% subplot(2,2,1);plot(t,x(1,t),'b',t,x3jian(1,t),'r:');
% subplot(2,2,2);plot(t,x(2,t),'b',t,x3jian(2,t),'r:');

%-----------------迹----------------%
for i=1:Bushu+5
    a(i)=trace(P1(:,:,i));
    b(i)=trace(P2(:,:,i));
    c(i)=trace(P3(:,:,i));
end

%-----------------滤波误差互协方差阵----------------%
P12(:,:,1)=eye(2);P13(:,:,1)=eye(2);P23(:,:,1)=eye(2);
for i=1:Bushu  
    PP12(:,:,i+1)=fai* P12(:,:,i)*fai'+gama*Qw*gama';%预报误差互协方差阵
    PP13(:,:,i+1)=fai* P13(:,:,i)*fai'+gama*Qw*gama';
    PP23(:,:,i+1)=fai* P23(:,:,i)*fai'+gama*Qw*gama';
    %---滤波误差互协方差阵----%
    P12(:,:,i+1)=[eye(2)-k1(:,i+1)*H01]*PP12(:,:,i+1)-[eye(2)-k1(:,i+1)*H01]*fai*P12(:,:,i)*H12'*k2(:,i+1)';P21(:,:,i+1)=P12(:,:,i+1)';
    P13(:,:,i+1)=[eye(2)-k1(:,i+1)*H01]*PP13(:,:,i+1)*[eye(2)-k3(:,i+1)*H03]'-[eye(2)-k1(:,i+1)*H01]*fai*P13(:,:,i)*H13'*k3(:,i+1)';P31(:,:,i+1)=P13(:,:,i+1)';
    P23(:,:,i+1)=PP23(:,:,i+1)*[eye(2)-k3(:,i+1)*H03]'+k1(:,i+1)*H12*P23(:,:,i)*H13'*k3(:,i+1)'-fai*P23(:,:,i)*H13'*k3(:,i+1)'-k2(:,i+1)*H12*P23(:,:,i)*fai'*[eye(2)-k3(:,i+1)*H03];P32(:,:,i+1)=P23(:,:,i+1)';
end

%-----------------按矩阵加权---------------%
for i=1:Bushu
    Psigma(:,:,i)=[P1(:,:,i),P12(:,:,i),P13(:,:,i);
                  P12(:,:,i)',P2(:,:,i),P23(:,:,i);
                  P13(:,:,i)',P23(:,:,i)',P3(:,:,i)];
end
e=[eye(2),eye(2),eye(2)]';
for i=1:Bushu
    A(:,:,i)=inv(Psigma(:,:,i))*e*inv(e'*inv(Psigma(:,:,i))*e);
    Pf(:,:,i)=inv(e'*inv(Psigma(:,:,i))*e);%误差方差阵
    xfjian(:,i)=A(1:2,:,i)'*x1jian(:,i)+A(3:4,:,i)'*x2jian(:,i)+A(5:6,:,i)'*x3jian(:,i);
end
% t=1:Bushu;
% figure
% subplot(2,2,1);plot(t,x(1,t),'b',t,xfjian(1,t),'r:');
% subplot(2,2,2);plot(t,x(2,t),'b',t,xfjian(2,t),'r:');
%-----------------exf---------------%
exf(300)=[0];
exf(1)=(xfjian(1,1)-x(1,1))*(xfjian(1,1)-x(1,1));
for i=2:Bushu
   exf(i)=(xfjian(1,i)-x(1,i))*(xfjian(1,i)-x(1,i))+exf(i-1);
end   
% t=1:Bushu;
% figure
% subplot(2,2,1);plot(t,exf(1,t),'b');
% subplot(2,2,2);plot(t,exf(2,t),'b');

%-----------------BCI----------------%
f=f_bcifun(w);
Aeq=[1 1 1];Beq=[1]; LB=[0 0 0]';UB=[1 1 1]';A=[];B=[];
w0=[0.4;0.4;0.2];
w=fmincon(@f_bcifun,w0,A,B,Aeq,Beq,LB,UB)
PBci=inv(w(1)*inv(P1(:,:,Bushu))+w(2)*inv(P2(:,:,Bushu))+w(3)*inv(P3(:,:,Bushu)));%CI融合估值误差方差阵
JBci=trace(PBci);%CI融合估值误差方差阵的迹
for i=1:Bushu
    xBci(:,i)=PBci*(w(1)*inv(P1(:,:,Bushu))*x1jian(:,i)+w(2)*inv(P2(:,:,Bushu))*x2jian(:,i)+w(3)*inv(P3(:,:,Bushu))*x3jian(:,i));
end
% %-----------------BCI----------------%
% % PBci_=PBci*(w(1)*w(1)*inv(p11(:,:,Bushu))*p11(:,:,Bushu)*inv(p11(:,:,Bushu))+w(1)*w(2)*inv(p11(:,:,Bushu))*p12(:,:,Bushu)*inv(p22(:,:,Bushu))+...
% %     w(1)*w(3)*inv(p11(:,:,Bushu))*p13(:,:,Bushu)*inv(p33(:,:,Bushu))+...
% %     w(2)*w(1)*inv(p22(:,:,Bushu))*p12(:,:,Bushu)'*inv(p11(:,:,Bushu))+w(2)*w(2)*inv(p22(:,:,Bushu))*p22(:,:,Bushu)*inv(p22(:,:,Bushu))+...
% %     w(2)*w(3)*inv(p22(:,:,Bushu))*p23(:,:,Bushu)*inv(p33(:,:,Bushu))+...        
% %     w(3)*w(1)*inv(p33(:,:,Bushu))*p13(:,:,Bushu)'*inv(p11(:,:,Bushu))+w(3)*w(2)*inv(p33(:,:,Bushu))*p23(:,:,Bushu)'*inv(p22(:,:,Bushu))+...
% %     w(3)*w(3)*inv(p33(:,:,Bushu))*p33(:,:,Bushu)*inv(p33(:,:,Bushu)))*PBci;
% % JBci_=trace(PBci_);
% P1_ni=inv(P1(:,:,Bushu));P2_ni=inv(P2(:,:,Bushu));P3_ni=inv(P3(:,:,Bushu));
% PBci_ni=inv(PBci);%PBci_ni_=inv(PBci_);
% theta=0:pi/100:2*pi;
%-----------------SCI----------------%
deta=0.0001;pp1=P1(:,:,Bushu);pp2=P2(:,:,Bushu);pp3=P3(:,:,Bushu);
% [w12,Pci12]=y12_0618(pp1,pp2,deta)%P1和P2形成pci1
% [w123,Pci123,trPci123]=y123_0618(Pci12,pp3,deta)%P3和pci1融合成psci123
[w13,Pci13]=y13_0618(deta,pp1,pp3)%pp1和pp3形成pci1
[w132,Pci132,trPci132]=y132_0618(deta,Pci13,pp2)%pp2和pci1融合成psci132
for i=1:Bushu
%      xci12(:,i)=Pci12*(w12*inv(P1(:,:,Bushu))*x1jian(:,i)+(1-w12)*inv(P2(:,:,Bushu))*x2jian(:,i));
%      xci123(:,i)=Pci123*(w123*inv(Pci12)*xci12(:,i)+(1-w123)*inv(P3(:,:,Bushu))*x3jian(:,i));%xci123
     xci13(:,i)=Pci13*(w13*inv(pp1)*x1jian(:,i)+(1-w13)*inv(pp3)*x3jian(:,i));
     xci132(:,i)=Pci132*(w132*inv(Pci13)*xci13(:,i)+(1-w132)*inv(pp2)*x2jian(:,i));%xci132
end
t=1:Bushu;
figure
plot(t,x(1,t),'b',t,xci132(1,t),'r:');
figure
plot(t,x(2,t),'b',t,xci132(2,t),'r:');axis([0,Bushu,-45,20]);
%-----------------exci---------------%
exci(300)=[0];
exci(1)=(xci132(1,1)-x(1,1))*(xci132(1,1)-x(1,1));
for i=2:Bushu
   exci(i)=(xci132(1,i)-x(1,i))*(xci132(1,i)-x(1,i))+exci(i-1);
end   
t=1:Bushu;
figure
plot(t,exf(t),'b',t,exci(t),'r');axis([0,300,0,180]);

Pci132_=Pci132*(w132*w13*w132*w13*inv(pp1)*pp1*inv(pp1)+w132*w13*w132*(1-w13)*inv(pp1)*P13(:,:,Bushu)*inv(pp3)+...
        w132*w13*(1-w132)*inv(pp1)*P12(:,:,Bushu)*inv(pp2)+w132*(1-w13)*w132*w13*inv(pp3)*P31(:,:,Bushu)*inv(pp1)+w132*(1-w13)*w132*(1-w13)*inv(pp3)+...
        w132*(1-w13)*(1-w132)*inv(pp3)*P32(:,:,Bushu)*inv(pp2)+(1-w132)*w132*w13*inv(pp2)*P21(:,:,Bushu)*inv(pp1)+(1-w132)*w132*(1-w13)*inv(pp2)*P23(:,:,Bushu)*inv(pp3)+...
        (1-w132)*(1-w132)*inv(pp2)*pp2*inv(pp2))*Pci132;
%-----------------椭圆半径----------------%
P1_ni=inv(P1(:,:,Bushu));P2_ni=inv(P2(:,:,Bushu));P3_ni=inv(P3(:,:,Bushu));
% Pci123_ni=inv(Pci123);
Pci132_ni=inv(Pci132);Pci132__ni=inv(Pci132_);
% PBci_ni=inv(PBci);%PBci_ni_=inv(PBci_);
theta=0:pi/100:2*pi;
r1=1./sqrt(P1_ni(1,1)*cos(theta).^2+(P1_ni(1,2)+P1_ni(2,1))*cos(theta).*sin(theta)+P1_ni(2,2)*sin(theta).^2);
r2=1./sqrt(P2_ni(1,1)*cos(theta).^2+(P2_ni(1,2)+P2_ni(2,1))*cos(theta).*sin(theta)+P2_ni(2,2)*sin(theta).^2);
r3=1./sqrt(P3_ni(1,1)*cos(theta).^2+(P3_ni(1,2)+P3_ni(2,1))*cos(theta).*sin(theta)+P3_ni(2,2)*sin(theta).^2);
% rBci=1./sqrt(PBci_ni(1,1)*cos(theta).^2+(PBci_ni(1,2)+PBci_ni(2,1))*cos(theta).*sin(theta)+PBci_ni(2,2)*sin(theta).^2);
% rBci_=1./sqrt(PBci_ni_(1,1)*cos(theta).^2+(PBci_ni_(1,2)+PBci_ni_(2,1))*cos(theta).*sin(theta)+PBci_ni_(2,2)*sin(theta).^2);
% rci123=1./sqrt(Pci123_ni(1,1)*cos(theta).^2+(Pci123_ni(1,2)+Pci123_ni(2,1))*cos(theta).*sin(theta)+Pci123_ni(2,2)*sin(theta).^2);
rci132=1./sqrt(Pci132_ni(1,1)*cos(theta).^2+(Pci132_ni(1,2)+Pci132_ni(2,1))*cos(theta).*sin(theta)+Pci132_ni(2,2)*sin(theta).^2);
rci132_=1./sqrt(Pci132__ni(1,1)*cos(theta).^2+(Pci132__ni(1,2)+Pci132__ni(2,1))*cos(theta).*sin(theta)+Pci132__ni(2,2)*sin(theta).^2);
%-----------------MSE曲线----------------%
%     for i=1:Bushu
%         ErroP1(j,i)=(x1jian(:,i)-x(:,i))'*(x1jian(:,i)-x(:,i));
%         ErroP2(j,i)=(x2jian(:,i)-x(:,i))'*(x2jian(:,i)-x(:,i));
%         ErroP3(j,i)=(x3jian(:,i)-x(:,i))'*(x3jian(:,i)-x(:,i));
%         ErroPc(j,i)=(xcjian(:,i)-x(:,i))'*(xcjian(:,i)-x(:,i));
%         ErroPm(j,i)=(xmjian(:,i)-x(:,i))'*(xmjian(:,i)-x(:,i));
%         ErroPd(j,i)=(xdjian(:,i)-x(:,i))'*(xdjian(:,i)-x(:,i));
%         ErroPs(j,i)=(xsjian(:,i)-x(:,i))'*(xsjian(:,i)-x(:,i));
%         ErroPBci(j,i)=(xBci(:,i)-x(:,i))'*(xBci(:,i)-x(:,i));
%     end
%     %  end
%      MSE1=sum(ErroP1)/N;
%      MSE2=sum(ErroP2)/N;
%      MSE3=sum(ErroP3)/N;
%      MSEc=sum(ErroPc)/N;
%      MSEm=sum(ErroPm)/N;
%      MSEd=sum(ErroPd)/N;
%      MSEs=sum(ErroPs)/N;
%      MSEci=sum(ErroPBci)/N;
%--------------作图----------------%
t=1:Bushu;
figure 
hold on;
polar(theta,r1,'b');
polar(theta,r2,'k');
polar(theta,r3,'r');
polar(theta,rci132,'k');
polar(theta,rci132_,'k-.');axis([-2.3,2.3,-2.3,2.3]);
% polar(theta,rci123,'b-.');
% polar(theta,rBci,'b-.');
%polar(theta,rBci_,'b-.');%  figure
%  t=50:50:Bushu;
% plot(t,MSE1(t),'r-h',t,MSE2(t),'r-s',t,MSE3(t),'r-x',t,MSEc(t),'k-^',t,MSEm(t),'g-o',t,MSEd(t),'g-d',t,MSEs(t),'g-*',t,MSEci(t),'r-v'); 
% legend('MSE1','MSE2','MSE3','MSEc','MSEm','MSEd','MSEs','MSEci');
% hold on
% t=1:Bushu;
% line([50,Bushu],[a(Bushu),a(Bushu)]);line([50,Bushu],[b(Bushu),b(Bushu)]);line([50,Bushu],[c(Bushu),c(Bushu)]);
% line([50,Bushu],[jiPm(Bushu),jiPm(Bushu)]);line([50,Bushu],[jiPd(Bushu),jiPd(Bushu)]);line([50,Bushu],[jiPs(Bushu),jiPs(Bushu)]);
% line([50,Bushu],[JBci,JBci]);line([50,Bushu],[JBci_,JBci_]);
 

📜📢🌈参考文献🌈📢📜

[1]乔向东. 信息融合系统中目标跟踪技术研究[D].西安电子科技大学,2003.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多级式多传感器信息融合中的状态估计(Matlab代码实现) 的相关文章

  • 3D打印机加装灯带。以创想三维ender系列某一型号为例。

    警告 3D打印机加装灯带必须确保该款的打印机支持加装 而且必须在客服官方售后允许范围内进行改装 必须熟练掌握电工知识 否则引起短路损坏无法保修 该文只是一个加装成功的案例 xff0c 不得以此作为任何参考 首先根据电压直流或交流选择完全匹配
  • USB转串口芯片CH340系列及CH340模块使用方法(CH340驱动,接线,串口下载详细介绍)

    USB 转串口芯片 CH340 我们为什么要用到CH340驱动呢 xff1f CH340驱动就是USB转串口的驱动的一种 xff0c 因为我们现在的电脑上 xff0c 已经不存在串口 xff0c 所以我们一般使用USB转串口芯片 xff0c
  • prusa2.6.0 树形支撑(有机支撑)Organic体验测试 3d打印及下载失败解决

    目前官网没有这个2 6版本 xff0c 只有2 5 2下载 xff0c 是没有树形支撑的 如果试用2 6版本 xff0c 需要从GitHub下载 地址为 xff1a https github com prusa3d PrusaSlicer
  • 无人机在户外无GPS环境下用什么导航方法问答

    无人机在户外无GPS环境下用什么导航方法 xff1f 无人机在户外无GPS环境下可以使用多种导航方法 xff0c 包括 xff1a 1 视觉导航 xff1a 利用摄像头检测地面特征实现导航 2 磁场感应导航 xff1a 利用永磁体和地球磁场
  • 网络中的图片传输

    前言 一张图片经过网络从主机 A 传输到主机 B xff0c 主机 B 在收到这张图片后将其保存在本地 xff0c 对应步骤为 xff1a 读 xff1a 主机 A 读取待传输的图片数据传 xff1a 主机 A 通过 Socket 将图片传
  • 一道有趣的C语言题:int *p=(int *)((int)a+1);

    偶然间看到这样一个c语言题目 xff1a 小端模式 int main void int a 5 61 1 2 3 4 5 int p 61 int int a 43 1 xff1b printf 34 X r n 34 p return 0
  • 一、FREERTOS学习之 freertos移植流程步骤

    目录 一 FREERTOS资源包下载 二 移植 1 资源包整理 三 工程添加 1 添加 2 编译路径添加 3 修改FreeRTOSConfig h 4 修改stm32f10x it c 5 注意 一 FREERTOS资源包下载 官网 xff
  • 三、FreeRTOS学习之 freertos的任务创建

    目录 一 任务创建 xff1a 1 静态创建 xff1a 2 动态创建 xff1a 3 任务句柄 4 例 xff1a 一 任务创建 xff1a 在freertos中 xff0c 提供了两种创建任务的方式 xff1a 静态创建 xff0c 动
  • 七、FreeRTOS学习之 软件定时器

    一 基本概念 在freertos中 xff0c 软件定时器的功能跟单片机中使用的定时器差不多 xff0c 通过设置一段时间 xff0c 等到时间到达 xff0c 定时器进入中断 xff0c 执行相应的功能函数 xff0c 被调用的函数叫做定
  • 软件iic 的编写与调试

    一 了解 1 硬件iic 其对应的芯片上有iic外设 xff0c iic的引脚是固定的 xff0c 硬件iic是直接配置内部的寄存器 xff0c 只要配置好寄存器 xff0c 外设就会产生标准的协议时序 xff0c 只需要直接调用控制函数
  • 运算符重载(),[]

    include lt iostream gt include lt cstring gt using namespace std class yunsuan private int a b c int len num char name 3
  • vector

    include lt iostream gt include lt vector gt include lt algorithm gt using namespace std 容器 xff1a vector 相当于一个数组 迭代器 xff1
  • STM32外设之TIM定时器使用及输出比较模式PWM生成,PWM频率和占空比计算,文末有固件库TIM驱动文件的函数讲解

    TIM 定时器是stm32单片机中的一个外设 xff0c STM32有8个定时器 xff0c 分别是2个高级定时器TIM1TIM8 xff0c 4个通用定时器TIM2 5 2个基本定时器TIM67 根据不同型号的单片机 xff0c 挂载的定
  • Java多线程之~~~~使用wait和notify实现生产者消费者模型

    在多线程开发中 xff0c 最经典的一个模型就是生产者消费者模型 xff0c 他们有一个缓冲区 xff0c 缓冲区有最大限制 xff0c 当缓冲区满 的时候 xff0c 生产者是不能将产品放入到缓冲区里面的 xff0c 当然 xff0c 当
  • 拷贝、移动构造

    include lt iostream gt using namespace std class temp private char a public temp char c char b a 61 new char 2 a 0 61 c
  • Dockerfile

    Dockerfile Dockerfile简介1 Dockerfile基本介绍2 Dockerfile构建过程3 Dockerfile指令用法 Dockerfile构建镜像1 Dockerfile使用CentOS构建apache镜像1 1相
  • MySQL数据库备份与恢复

    在项目的开发过程中数据库的备份是非常重要的 xff0c 为了防止数据库受到破坏 xff0c 造成不可估量的损失 xff0c 所以一定要进行数据库的备份 xff0c 并且需要掌握数据库恢复方法 xff0c 在发生数据库损坏的时候 xff0c
  • Linux设备驱动基础知识

    一 认识驱动 1 什么是驱动 不知道的情况下 xff0c 我们一般会去问度娘 xff0c 但是度娘的这个回答比较专业化 xff0c 对小白来说并不容易理解 xff0c 依旧不明白驱动到底是个啥 度娘 xff1a 驱动 xff0c 计算机软件
  • 接口及实现方法

    什么是接口 接口 xff08 英文 xff1a Interface xff09 xff0c 在JAVA编程语言中是一个抽象类型 xff0c 是抽象方法的集合 xff08 接口中的所有的方法都是抽象方法 xff09 xff0c 接口通常以in
  • JS中Document对象

    Document对象 Document对象就是一个标记性文档对象 它就是HTML文件本身 当浏览器把一个html文件加载到内存中之后 xff0c 在内存中就会形成这个document对象 document URL xff1a 返回当前页面的

随机推荐