基于正交偶极子的四元数MUSIC算法及其Matlab代码

目录

  • 引言
  • 信源数估计
  • MUSIC算法
  • 基于正交偶极子的MUSIC算法
    • 正交偶极子模型
    • 正交偶极子的阵列接受模型
    • 基于正交偶极子的MUSIC算法
      • 模值约束法求极化信息
  • 基于正交偶极子的四元数MUSIC算法
    • 四元数的阵列接受模型
    • 四元数MUSIC算法

引言

本文介绍了空间谱估计中的信源数估计、MUSIC算法、正交偶极子的MUSIC算法、极化参数估计的谱峰搜索法、模值约束法和四元数MUSIC算法,并给出相应的代码。

信源数估计

信息论方法的一般的数学形式如下在这里插入图片描述
式中,L(k)是对数概似函数,p(k)是障碍函数。通过对两者的不同的选择可以得到不一样的准则。下面介绍EDC信息论准则,其为 (2-2)
式中,n为被估计的雷达阵列接收信号的信源数(也称为自由度),L为采样数,其A(n)中为概似函数,且
在这里插入图片描述
式中的C(L)需满足如下条件:
(1)在这里插入图片描述
(2)(2)

当C(L)等于以上情况时,准则EDC便成为了一致性估计。
在EDC信息论准则中选择C(L)分别为1,(lnL)/2及(ln lnL)/2时,就可以得到最小信息、最小描述长度及HQ准则,即
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
根据文献,可以得出以下的结论:
(1)最小信息准则不是一致性估计(显而易见,C(L) =1时以上的第2个条件并不成立),即在大采样数时,它仍然有较大的信号源估计的误差概率;而最小描述长度准则相对较好;HQ准则的估计雷达阵列接收信号的信源数性能在这两者之间,这是由该准则中的障碍函数项导致的。
(2)最小描述长度准则是一致性估计,也可以说在高信噪比时该准则有较好的特性,此时信号源估计的错误概率比最小信息准则小。但是,在小信噪比时该准则相比于最小信息准则有较高的错误概率。
(3)EDC准则中C(L)取下式时:
在这里插入图片描述
EDC准则也就是最小描述长度准则,从某种角度来说,可以说最小描述长度准则是它的一种特殊情况。
(4)EDC准则中C(L)取下式时:
在这里插入图片描述
EDC准则等价于HQ准则,从某种角度来说,HQ准则是它的一种特殊情况。在低信噪比的情况下来看,这三种算法中HQ准则性能最好,其次便是最小信息算法。
综合考虑,该文及其对应代码使用MDL准则。信源数估计的代码(完整代码见文末):

 for s=0:(M-1)
     a=0;
     b=1;
 for m=(s+1):M
    a=a+D2(m);
    b=b*D2(m); 
 end
 aa1=(1/(M-s))*a;
 aa2=b^(1/(M-s));
 ld(s+1)=((1/(M-s))*a)/(b^(1/(M-s)));
 MDL(s+1)=kp*(M-s)*log(ld(s+1))+0.5*s*(2*M-s)*log(kp);
 end
[q1,hq]=min(MDL);
qq=hq-1;   %信号个数
z=P(:,k);
Vn= z(:,qq+1:M);%噪声子空间 ;

MUSIC算法

部分代码(完整代码见文末):

X=A*ss+w;   %接受信号模型
XZ=X';
Rx=X(:,1)*XZ(1,:); 
Rx0=zeros(size(Rx,1),size(Rx,2));
for m=1:kp
    Rx=X(:,m)*XZ(m,:);    %求协方差矩阵
    Rx0=Rx0+Rx;
end
Rx1=Rx0/kp;  %求协方差矩阵除以快拍数的均值
y=size(Rx1,1);%协方差矩阵的行数
P=eye(y);   %产生y阶单位阵
%计算A中上半对角线零的个数,确定是否跳出循环
for x=1:1:100     %100为循环足够大的次数
q=0;
    for n=1:1:y-1      %按照论文方法进行循环
        for m=n+1:1:y  
            if round(Rx1(n,m))==0%判断A(n,m)是否为零
                q=q+1;
            end
Y = eye(y);        %生成一个y阶对角矩阵,为U(p,k)做准备
B=Rx1([n m],[n m]);   %取主子阵
b1=B(1,2);           
b2=B(1,1);
b3=B(2,2);
t1=sqrt((real(b1)^2)+(imag(b1)^2));    %分子
t2=real(b1)-imag(b1)*1i;           %分母
T=[1,0;0,t2/t1];               %所求二阶实矩阵
phi=asin(imag(b1)/t2);          %求角phi,未用到
tan=(2*t1/(b2-b3));
thet=atan(tan);            %求角2*theta
theta=thet/2;
Y(n,n)=cos(theta);
Y(n,m)=-sin(theta);
Y(m,n)=sin(theta)*(t2/t1);
Y(m,m)=cos(theta)*(t2/t1); %Y即U(p,k)
dds=Y'*Rx1;
dds1=dds*Y;
Rx1=Y'*Rx1*Y;     %An
P=P*Y;
       end
    end
 if (2*q-y*y+y)==0
     break;       %通过q值来判断是否跳出循环
 end
end
D1=real(diag(Rx1));
[D2,k]=sort(D1,'descend'); %对特征值进行排序并返回结果

结果展示:
在这里插入图片描述

基于正交偶极子的MUSIC算法

正交偶极子模型

与四元数模型区别,这里采用长矢量模型。假设信号源为无限远处单一频率TEM电磁波,其波达方向为 -r,如下图所示。
在这里插入图片描述

承载信号的复基带信号为s(t),载波频率为,其空间到达角为(θ,φ),且假设该信号为完全极化电磁波,极化信号的两个正交方向的信号幅度比和相位差为(γ,η)。单位矢量(θ,φ,r)构成空间球极坐标系,则该TEM信号可以完全描述为:
空间信号入射正交偶极子示意图
式中:Eφ和Eθ分别为φ和θ方向的极化分量;r为空间接收信号的传播方向的矢量,代表了信号源;k为传播矢量。
空间球极坐标系与空间直角坐标系单位向量之间的转化从关系如下:
在这里插入图片描述
令:u、v1和v2分别为r、θ和φ在空间直角坐标系中的坐标矢量。根据不同坐标参照点下不同坐标之间的转化关系可以得出电场向量在空间笛卡尔坐标中的坐标向量为:
在这里插入图片描述

因为磁场与电场正交,因此可以仅用电场表示全部信息,该论文的研究只基于接收电磁波的电场分量。正交偶极子仅可以接收x和y方向的信息,因此最终接收信号坐标矢量矩阵为:
在这里插入图片描述

正交偶极子的阵列接受模型

正交偶极子阵列由相互垂直放置的M个正交偶极子对组成,阵元的位置结构如下图所示,两个相互垂直的正交偶极子分别沿轴和轴方向放置,可以分别接收来自方向和方向的电场分量(可以接收电磁波,但是因为只需要电场信息,因此当作只接收了电场分量,以下的正交偶极子阵列均是如此)。各个阵元构成位置平均分布的圆形阵列,正交偶极子阵元中心距离圆阵的圆心距离为r。
在这里插入图片描述
该阵列的阵列流型矢量为:
在这里插入图片描述
正交偶极子的极化导向矢量为:
在这里插入图片描述
包含极化信息的表达式为:
在这里插入图片描述
空间极化导向矢量为:
在这里插入图片描述
该式表示克罗内特积。
假设有M个不相关远场单一频率的完全极化信号入射到该正交偶极子阵列上,接收信号的模型为
在这里插入图片描述
其中A为正交偶极子阵列的极化导向矩阵;S(t)为信号矢量;n(t)为代表噪声的复数矩阵,假设噪声为高斯白噪声。
阵列接收信号的协方差矩阵为
在这里插入图片描述
部分代码(完整代码见文末):

delay=ones(M,Num);%定义延迟矩阵
As=ones(M,Num);%定义阵列流型矢量矩阵
for m=1:M      %阵列流型矢量矩阵赋值
    for n=1:Num  
        delay(m,n)=(cos(rfw(n)-(m-1)*pi/4)*r*cos(rfy(n)))/c;%列向量延迟赋值
        As(m,n)=exp((-2*pi*f*1i).*delay(m,n));%阵列流型矢量赋值
    end      
end
A=ones(2*M,Num);%定义空间极化导向矢量
for n=1:Num   %空间极化导向矢量赋值
wfw=rfw(n);
wfy=rfy(n);
V=[-sin(wfw) cos(wfw)*cos(wfy);cos(wfw) cos(wfy)*sin(wfw)];%导向矢量
wfd=rfd(n);
wxw=rxw(n);
E=[cos(wfd);sin(wfd)*exp(1i*wxw)];%定义极化矢量
Ap=V*E;%极化导向矢量
A(:,n)=kron(As(:,n),Ap);%柯洛内特积
end
AH=zeros(2*M,1);
for m=1:2*M
for n=1:Num
AH(m,1)=AH(m,1)+A(m,n);
end
end

基于正交偶极子的MUSIC算法

已知矩阵为厄尔米特矩阵,对其进行特征值分解,求取其特征向量。取出厄尔米特矩阵的N个特征值,用这些特征值所匹配的特征向量,构造噪声等价矩阵。此处的特征值为较小的N个特征值。
空间谱估计函数为
在这里插入图片描述

在这里插入图片描述
因为
在这里插入图片描述

在这里插入图片描述
则可得
在这里插入图片描述
定义
在这里插入图片描述
根据信号子空间的原理,我们可以得到,信号子空间与噪声子空间之间的关系是正交的,因此代表了信号的空间位置信息和电磁波极化信息与噪声子空间之间的关系也是相互正交的,即可得
在这里插入图片描述
当γ∈[0,pi/2],ap满秩。为了满足上式成立,又由于G不是满秩的,所以可得
在这里插入图片描述
因此,信号源的空间位置参数公式为
在这里插入图片描述
极化信息可以通过将接收信号的空间位置参数带入阵列接收信号的协方差矩阵进行极化信息的二维谱峰搜索得到。
结果展示:
在这里插入图片描述
极化信息搜索:
在这里插入图片描述
在这里插入图片描述

模值约束法求极化信息

此外,极化信息可以通过模值约束方法得到。通过正交关系去估计极化信息可以等价为求解一个优化问题。其约束条件可以表示为:
在这里插入图片描述
代价函数为:
在这里插入图片描述
要使上式对E求导数使结果恒等于0,通过计算得:
在这里插入图片描述
在这里插入图片描述
显然,E是G相对应于特征值u的特征向量。由于:
在这里插入图片描述
因此,为了让目的函数的值最小,就相当于使特征值u达到最小的预期的E是G的最小的特征值所匹配的特征向量。即:
在这里插入图片描述
按照极化信息的表达式,我们可以根据接下来的等式得到该接收信号的极化信息:
在这里插入图片描述
在这里插入图片描述
其中,
在这里插入图片描述
同时,接收信号的的每一对空间位置参数和极化参数都是相互照应的,不需要进行额外匹配。
部分代码(完整代码见文末):

fd_j=1:num_i;
xw_j=1:num_i;
fd_jr=1:num_i;
xw_jr=1:num_i;
delay_j=zeros(M,1);%定义极化信息估计时的延迟
As_j=zeros(M,1);%定义极化信息估计时的导向矢量
for k=1:num_i
for m=1:M    %导向矢量赋值
    delay_j(m,1)= (cos(rfw_j(k)-(m-1)*pi/4)*r*cos(rfy_j(k)))/c ;  %定义列向量延迟
    As_j(m,1)=exp((-2*pi*f*1i).*delay_j(m,1));     %定义A列向量
end
wfw_j=rfw_j(k);
wfy_j=rfy_j(k);
V_j=[-sin(wfw_j) cos(wfw_j)*cos(wfy_j);cos(wfw_j) cos(wfy_j)*sin(wfw_j)]; 
A_j=kron(As_j(:,1),V_j);%空间极化导向矢量
G_j=A_j'*(Vn*Vn')*A_j;%空间导向矢量与噪声子空间的乘
y_j=size(G_j,1);%协方差矩阵的行数
P_j=eye(y_j);   %产生y阶单位阵
%计算A中上半对角线零的个数,确定是否跳出循环
for x=1:1:1000     %100为循环足够大的次数
q=0;
    for n=1:1:y_j-1      %按照论文方法进行循环
        for m=n+1:1:y_j  
            if round(G_j(n,m))==0;%判断A(n,m)是否为零
                q=q+1;
            end
Y = eye(y_j);        %生成一个y阶对角矩阵,为U(p,k)做准备
B_j=G_j([n m],[n m]);   %取主子阵
b1=B_j(1,2);           
b2=B_j(1,1);
b3=B_j(2,2);
t1=sqrt((real(b1)^2)+(imag(b1)^2));    %分子
t2=real(b1)-imag(b1)*1i;           %分母
phi=asin(imag(b1)/t2);          %求角phi,未用到
tan=(2*t1/(b2-b3));
thet=atan(tan);            %求角2*theta
theta=thet/2;
Y(n,n)=cos(theta);
Y(n,m)=-sin(theta);
Y(m,n)=sin(theta)*(t2/t1);
Y(m,m)=cos(theta)*(t2/t1); %Y即U(p,k)
dds=Y'*G_j;
dds1=dds*Y;
G_j=Y'*G_j*Y;     %An
P_j=P_j*Y;
       end
    end
 if (2*q-y_j*y_j+y_j)==0
     break;       %通过q值来判断是否跳出循环
 end
end
T_j=real(diag(G_j));
[T_sort_j,ss_j]=sort(T_j,'descend'); %对特征值进行排序并返回结果
E_j=P_j(:,ss_j(size(ss_j,1)));%
fd_jr(k)=atan(abs(E_j(2,1)/E_j(1,1)));%计算极化幅度信息
fd_j(k)=fd_jr(k)/radian;
xw_jr(k)=angle(E_j(2,1)/E_j(1,1));%计算极化相位信息
xw_j(k)=xw_jr(k)/radian;
end

结果展示:
在这里插入图片描述

基于正交偶极子的四元数MUSIC算法

四元数的阵列接受模型

假设空间有一个无限远处的单一频率TEM信号入射到阵列上,承载信号的复基带信号为s(t),载波频率为f0,其空间到达角为(θ,φ ),且假设该信号为完全极化波,极化信号的两个正交方向的信号幅度比和相位差为(γ,η),对于如图2.2摆放的电磁偶极子阵列,其两个相互垂直的阵元分量的极化导向矢量可以表示为
在这里插入图片描述
两个相互垂直的阵元分量接收信号的两个量可以表示为
在这里插入图片描述
为了保持两路极化信号的分量之间稳定的正交关系(因为是两个正交方向的信号幅度比和相位差稳定的信号),用一个四元数来表示两个相互垂直的正交偶极子阵元的接收信号,如下:
在这里插入图片描述
式中,P为极化导向矢量,式中的数全是以四元数形式存在。通过以上推导,运用以四元数形式存在的接收信号模型可以得出正交偶极子均匀圆阵的接收信号矩阵如下:
在这里插入图片描述
式中,as为正交偶极子均匀圆阵的空间导向矢量,φ表示接收信号入射至两个相邻的正交偶极子阵元的到达时间,也称作空间相移因子;xt表示正交偶极子均匀放置的圆阵的接收信号的四元数矢量矩阵。当空间有K个信号源且仅考虑高斯白噪声的情况下:
在这里插入图片描述
式中,dk为以四元数形式存在,由极化导向矢量和空间导向矢量组成,被称为极化域-空域联合导向矢量;D为极化域-空域联合导向矩阵;st为入射信号复基带矩阵;et为以四元数形式存在的高斯白噪声分量,e1t为方向上的复数形式的噪声矢量,e2t为方向上的复数形式的噪声矢量。
雷达阵列的入射电磁波的相关矩阵可表示为
在这里插入图片描述
式中,三角符号的形式代表了共轭转置矩阵;Re表示雷达阵列接收的总噪声的相关系数矩阵;Rs表示输入信号的自相关系数矩阵。可见自相关系数矩阵R的秩与Rs的秩有很大的关系,被Rs的秩所约束。

部分代码(完整代码见文末):

delay=ones(M,Num);%定义延迟矩阵
As=ones(M,Num);%定义阵列流型矢量矩阵
for m=1:M      %阵列流型矢量矩阵赋值
    for n=1:Num  
        delay(m,n)=(cos(rfw(n)-(m-1)*pi/4)*r*cos(rfy(n)))/c;%列向量延迟赋值
        As(m,n)=exp((-2*pi*f*1i).*delay(m,n));%阵列流型矢量赋值
    end      
end
A=ones(2*M,Num);%定义空间极化导向矢量
for n=1:Num   %空间极化导向矢量赋值
wfw=rfw(n);
wfy=rfy(n);
V=[-sin(wfw) cos(wfw)*cos(wfy);cos(wfw) cos(wfy)*sin(wfw)];%导向矢量
wfd=rfd(n);
wxw=rxw(n);
E=[cos(wfd);sin(wfd)*exp(1i*wxw)];%定义极化矢量
Ap=V*E;%极化导向矢量
A(:,n)=kron(As(:,n),Ap);%柯洛内特积
end
AH=zeros(2*M,1);
for m=1:2*M
for n=1:Num
AH(m,1)=AH(m,1)+A(m,n);
end
end

四元数MUSIC算法

对四元数模型下阵列接收信号的协方差矩阵进行四元数特征值分解:
在这里插入图片描述
由空间谱估计理论可知,噪声的全部信息都保存在特征向量UN之中,同时不含有入射信号的信息,接收信号的全部信息包含在特征向量US之中。因此,可以通过UN估计出入射信号的全部信息。可得,空间谱估计函数为
在这里插入图片描述
可以通过四维谱峰搜索得到接收信号的空间位置信息,但是四维谱峰搜索算法所需运算量过大,工程可实现性有限。因此,需要对其进行降维。
定义
在这里插入图片描述

在这里插入图片描述
,可以明显地发现T中包含入射电磁波的空间位置和极化信息,而C中只有入射电磁波的空间位置信息。此外,γ∈[0,pi/2]时,P满秩,则此时C=0。
因此,信号的空间位置信息的空间谱估计函数为
在这里插入图片描述
此时,通过二维谱峰搜索即可求得接收信号的空间位置信息。
但是,在四元数模型下极化导向矢量由复数域内的复数矢量变为四元数域的四元数矢量,极化导向矢量被信号矢量吸收,之后才进行了四元数矩阵分解,因此不能通过此方法求得极化信息。但是可以通过构建长矢量MUSIC算法的空间谱估计函数来求得极化信息,将接收信号的空间位置参数带入空间谱估计函数,进行二维谱峰搜索便可以得到极化信息。该算法利用了不同电场方向的正交特性,相比于长矢量MUSIC算法提升了估计性能。

部分代码(完整代码见文末):

Xa=A*s+w;   %接受信号模型
%XX=sr+wr
Xx=ones(M,kp);
Xy=ones(M,kp);
for n=1:M
Xx(n,:)=Xa(2*n-1,:);
Xy(n,:)=Xa(2*n,:);
end
X=zeros(2*M,2);
Rx=X*X';%协方差矩阵
Rx_p=zeros(size(Rx,1),size(Rx,2));%定义协方差矩阵的和
for n=1:kp
    X=[Xx(:,n),Xy(:,n);-conj(Xy(:,n)),conj(Xx(:,n))];
    Rx=X*X';  %求一次的协方差矩阵  
    Rx_p=Rx_p+Rx;      %协方差矩阵求和
end
Rx_j=Rx_p/kp;  %求协方差矩阵除以快拍数的均值
y=size(Rx_j,1);%协方差矩阵的行数
P=eye(y);   %产生y阶单位阵
%计算A中上半对角线零的个数,确定是否跳出循环
for x=1:1:1000     %1000为循环足够大的次数
q=0;
    for n=1:1:y-1      %按照论文方法进行循环
        for m=n+1:1:y  
            if round(Rx_j(n,m))==0;%判断A(n,m)是否为零
                q=q+1;
            end
Y = eye(y);        %生成一个y阶对角矩阵,为U(p,k)做准备
B=Rx_j([n m],[n m]);   %取主子阵
b1=B(1,2);           
b2=B(1,1);
b3=B(2,2);
t1=sqrt((real(b1)^2)+(imag(b1)^2));    %分子
t2=real(b1)-imag(b1)*1i;           %分母
phi=asin(imag(b1)/t2);          %求角phi,未用到
tan=(2*t1/(b2-b3));
thet=atan(tan);            %求角2*theta
theta=thet/2;
Y(n,n)=cos(theta);
Y(n,m)=-sin(theta);
Y(m,n)=sin(theta)*(t2/t1);
Y(m,m)=cos(theta)*(t2/t1); %Y即U(p,k)
dds=Y'*Rx_j;
dds1=dds*Y;
Rx_j=Y'*Rx_j*Y;     %An
P=P*Y;          %特征向量
       end
    end
 if (2*q-y*y+y)==0
     break;       %通过q值来判断是否跳出循环
 end
end
T=real(diag(Rx_j));%取协方差矩阵的特征值
[T_sort,ss_T]=sort(T,'descend'); %对特征值进行排序并返回结果

结果展示:
在这里插入图片描述

完整代码分为多个文件,数量较多,无法放在文章中。完整代码在公众号(沸腾的火锅资源号)中自取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/236036.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于ssm电脑配件销售系统的设计与实现论文

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于电脑配件销售系统当然也不能排除在外,随着网络技术的不断成熟,带动了电脑配件销售系统,它彻底改变了过…

Django 模型操作-分页(七)

一、连接MySql数据库 1、先安装MySQL 2、再安装MySQL驱动 使用mysqlclient pip install mysqlclient 如果上面的命令安装失败, 则尝试使用国内豆瓣源安装: pip install -i https://pypi.douban.com/simple mysqlclient 二、在settings.py中配置 三、 book表的数据…

多模态AI产业链全景梳理

当前AI模型从单模态向多模态演进,有望实现认知智能,是AI未来发展的明确趋势。近期 AI 多模态模型不断取得突破性进展。OpenAI 于11 月发布了 GPT-4 Turbo 且开放了 GPTs再次颠覆行业,GPTs短期上线数量已超3万,揭开AIGC应用生态序幕…

CSS 实现无缝滚动

效果展示 CSS 知识点 animation 综合运用 页面整体布局 <div class"scroll" style"--t: 20s"><div><span>HTML</span><span>CSS</span><span>JavaScript</span><span>React</span><spa…

WEB 3D技术 以vue3+vite环境为例 讲解vue项目中使用three

上文 WEB 3D 技术&#xff0c;通过node环境创建一个three案例 中 我们打造了自己的第一个Web 3D界面 那么 今天 我们就来结合vue来开发我们的3D界面 这里 我们先创建一个文件夹 作为文件目录 千万不要放C盘 我们 依旧是在终端执行命令 npm init vitelatest输入一下项目名称 …

自动驾驶学习笔记(十七)——视觉感知

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 分类 目标检测 语义分割 实例分割 …

uniapp中使用 unicloud

一、新建一个带有unicloud 二、创建一个服务空间 1. 右键uniCloud&#xff0c;关联云服务空间 我当前没有服务空间&#xff0c;需要新建一个服务空间&#xff0c;之后将其关联。初始化服务空间需要的时间有点长 服务空间初始化成功后&#xff0c;刷新HBuilder&#xff0c;勾选…

数字图像处理(实践篇)二十 人脸特征提取

目录 1 安装face_recognition 2 涉及的函数 3 实践 使用face_recognition进行人脸特征提取. 1 安装face_recognition pip install face_recognition 或者 pip --default-timeout100 install face_recognition -i http://pypi.douban.com/simple --trusted-host pypi.dou…

【51单片机系列】矩阵按键扩展实验

本文对矩阵按键的一个扩展&#xff0c;利用矩阵按键和动态数码管设计一个简易计算器。代码参考&#xff1a;https://blog.csdn.net/weixin_47060099/article/details/106664393 实现功能&#xff1a;使用矩阵按键&#xff0c;实现一个简易计算器&#xff0c;将计算数据及计算结…

15Linux、GIT及相关相似面试题、PostMan

Linux和git相似是命令相关的层次结构相似 Linux Linux Linux常用操作_linux操作-CSDN博客 程序员常用的10个Linux命令_简介linux系统中的10个常用命令及功能-CSDN博客 help help 命令 &#xff1a;获得 shell 内置命令的帮助信息&#xff0c;常用形式 help cd ls --help …

SPI 通信-stm32入门

本节我们将继续学习下一个通信协议 SPI&#xff0c;SPI 通信和我们刚学完的 I2C 通信差不多。两个协议的设计目的都一样&#xff0c;都是实现主控芯片和各种外挂芯片之间的数据交流&#xff0c;有了数据交流的能力&#xff0c;我们主控芯片就可以挂载并操纵各式各样的外部芯片&…

SpringBoot+Netty+Websocket实现消息推送

这样一个需求&#xff1a;把设备异常的状态每10秒推送到页面并且以弹窗弹出来&#xff0c;这个时候用Websocket最为合适&#xff0c;今天主要是后端代码展示。 添加依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifact…

【SpringSecurity】-- 认证、授权

文章目录 SpringSecurity简介快速入门1.准备工作1.2引入SpringSecurity 认证1.登录校验流程2.原理2.1SpringSecurity完整流程2.2认证流程详解 3.解决问题3.1思路分析3.2准备工作3.3.实现3.3.1数据库校验用户3.3.2密码加密存储3.3.3登录接口3.3.4认证过滤器3.3.5退出登录 授权1.…

YOLOv8改进 | Neck篇 | Slim-Neck替换特征融合层实现超级涨点 (又轻量又超级涨点)

一、本文介绍 本文给大家带来的改进机制是Slim-neck提出的Neck部分&#xff0c;Slim-neck是一种设计用于优化卷积神经网络中neck部分的结构。在我们YOLOv8中&#xff0c;neck是连接主干网络&#xff08;backbone&#xff09;和头部网络&#xff08;head&#xff09;的部分&…

Tair(2):Tair安装部署

1 安装相关依赖库 yum install -y gcc gcc-c make m4 libtool boost-devel zlib-devel openssl-devel libcurl-devel yum&#xff1a;是yellowdog updater modified 的缩写&#xff0c;Linux中的包管理工具gcc&#xff1a;一开始称为GNU C Compiler&#xff0c;也就是一个C编…

本地如何使用PHP搭建简单Imagewheel云图床,结合内网穿透实现在外远程访问?

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

vue3使用Mars3D写区块地图

效果图 引入相关文件 因为我也是第一次使用&#xff0c;所以我是把插件和源文件都引入了&#xff0c;能使用启动 源文件 下载地址&#xff1a; http://mars3d.cn/download.html 放入位置 在index.html中引入 <!--引入cesium基础lib--><link href"/static/C…

Stable diffusion 简介

Stable diffusion 是 CompVis、Stability AI、LAION、Runway 等公司研发的一个文生图模型&#xff0c;将 AI 图像生成提高到了全新高度&#xff0c;其效果和影响不亚于 Open AI 发布 ChatGPT。Stable diffusion 没有单独发布论文&#xff0c;而是基于 CVPR 2022 Oral —— 潜扩…

爆肝整理,Java接口自动化测试实战-rest-assured(详细总结)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、关于rest-assu…

聊个开心的敏捷话题——40小时工作制

近年来&#xff0c;加班现象在很多行业已经普遍制度化&#xff0c;甚至“996”已成为一些行业标签。企业高强度的压榨让员工不堪重负&#xff0c;且时常由此引发的各种悲剧也并不鲜见。 所以&#xff0c;今天我们一起来聊一个开心轻松的话题——极限编程的40h工作制原则。 40…