【开源代码 | MATLAB线性阵列仿真】

news2024/11/27 12:42:32

本文编辑:调皮哥的小助理

在这里插入图片描述

1、16阵元均匀线阵方向图

%8阵元均匀线阵方向图,来波方向为0度
clc;
clear all;
close all;
element_num=16;%阵元数为16
d_lamda=1/2;%阵元间距d与波长lamda的关系
theta=linspace(-pi/2,pi/2,200);
theta0=[0.2 0.1];%来波方向
w=exp(1i*2*pi*d_lamda*sin(theta0).*[0:element_num-1]'); %导向矢量
p =zeros(2,length(theta),1);
for  j=1:length(theta)
    a=exp(1i*2*pi*d_lamda*sin(theta(j)).*[0:element_num-1]');
    p(:,j)=w'*a;
end
figure(1);
plot(theta,abs(sum(p,1)));grid on 
xlabel('theta/radian')
ylabel('amplitude')
title('16阵元均匀线阵方向图')
figure(2);
dbabs = db(abs(sum(p,1))/max(abs(sum(p,1))));
plot(theta,dbabs),grid on
xlabel('theta/radian')
ylabel('amplitude')
title('16阵元均匀线阵方向图')

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

随着阵元数的增加,波束宽度变窄,分辨力提高,仿真图如下:

在这里插入图片描述

2、波束宽度与波达方向及阵元数的关系

在固定阵元数条件下,波束宽度随着角度的增大而增大,该现象满足角度分辨率随着角度增大而降低的理论推导。

clc
clear all 
close all

ima=sqrt(-1);
element_num1=16;     %阵元数
element_num2=128; 
element_num3=1024;   
lamda=0.03;          %波长为0.03米
d=1/2*lamda;        %阵元间距与波长的关系
theta=0:0.5:90;

for j=1:length(theta);
    fai(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num1*d));
    psi(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num2*d));
    beta(j)=theta(j)*pi/180-asin(sin(theta(j)*pi/180)-lamda/(element_num3*d));
end
figure;
plot(theta,fai,'r',theta,psi,'b',theta,beta,'g'),grid on
xlabel('theta');
ylabel('Width in radians')
title('波束宽度与波达方向及阵元数的关系')
legend([num2str(element_num1),'阵元'],[num2str(element_num2),'阵元'],[num2str(element_num3),'阵元'])

在这里插入图片描述

3、栅瓣

当阵元间距 d>λ/2时,会出现栅瓣,导致空间模糊。

%8阵元均匀线阵方向图,来波方向为0度
clc;
clear all;
close all;
imag=sqrt(-1);
element_num=8;%阵元数为8
d_lamda=1;%阵元间距d与波长lamda的关系
theta=linspace(-pi/2,pi/2,200);
theta0=0;%来波方向
w=exp(imag*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');
for  j=1:length(theta)
    a=exp(imag*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');
   p(j)=w'*a;
end
figure;
plot(theta,db(abs(p))/max(abs(p))),grid on
xlabel('theta/radian')
ylabel('amplitude')
title('8阵元均匀线阵方向图')

仿真图如下:

在这里插入图片描述

4、天线方向图

类似于时域滤波(空域滤波),天线方向图是最优权的傅立叶变换。仿真程序和仿真图如下:

clc
clear all 
close all
ima=sqrt(-1);
element_num=32;      %阵元数
source_num=1;       %信源数
d_lamda=1/2;        %阵元间距与波长的关系
theta=linspace(-pi/2,pi/2,200);
theta0=0;        %来波方向

w=exp(ima*2*pi*d_lamda*sin(theta0)*[0:element_num-1]');
for j=1:length(theta);
    a=exp(ima*2*pi*d_lamda*sin(theta(j))*[0:element_num-1]');
    p(j)=w'*a;
end 

figure;
subplot(1,2,1)
plot(theta,abs(p)),grid on
xlabel('theta/radian')
ylabel('amplitude')
title('按定义的方向图')

pfft=fftshift(fft(w,128));
subplot(1,2,2)
plot(linspace(-pi/2,pi/2,128),abs(pfft)),grid on
xlabel('theta/radian')
ylabel('FFT_amplitude')
title('最优权的傅里叶变换')

在这里插入图片描述

5、最大信噪比准则方向图和功率谱

clc;
clear all;
close all;
ima=sqrt(-1);
element_num=8;      %阵元数为8
d_lamda=1/2;        %间距为半波长
theta=-90:0.5:90;   %范围
theta0=0;           %来波方向
theta1=20;          %干扰方向
L=512;             %采样单元数

for i=1:L
    amp0=10*randn(1);
    amp1=200*randn(1);
    ampn=1;
    s(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]');
    j(:,i)=amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]');
    n(:,i)=ampn*(randn(element_num,1)+ima*randn(element_num,1));
end
Rs=1/L*s*s';           %信号自相关矩阵
Rnj=1/L*(j*j'+n*n');     %干扰+噪声的自相关矩阵
[V,D]=eig(Rs,Rnj);      %(Rs,Rnj)的广义特征值和特征向量
[D,I]=sort(diag(D));      %排序

Wopt=V(:,I(8));         %最优权矢量

for j=1:length(theta)
    a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]');
    f(j)=Wopt'*a;
    p(j)=a'*Rs*a+a'*Rnj*a;
end

F=20*log10(abs(f)/max(max(abs(f))));
P=20*log10(abs(p)/max(max(abs(p))));

subplot(121)
plot(theta,F);grid on;hold on
plot(theta0,-50:0,'.');plot(theta1,-50:0,'.')
xlabel('theta/0');ylabel('F in dB');
title('max-SNR 方向图');
axis([-90 90 -50 0]);
hold on

subplot(122)
plot(theta,P,'r');grid on
xlabel('theta/0');ylabel('功率 in dB');
title('max-SNR功率谱')

仿真图如下:

在这里插入图片描述

6、ASC旁瓣相消(MSE准则)

clc;close all;clear all
ima=sqrt(-1);
M=32;                %辅助天线的数目
d_lamda=.5;
theta0=-30;            %来波方向
theta1=60;            %干扰方向  
L=512;              %采样单元数
s=zeros(1,512);        %预划分一个区域
for ii=1:L;
    amp0=1*randn(1);  %信号的幅度随机产生,保证信号之间是不相关的
    amp1=200*randn(1);
    ampn=1;
    jam(:,ii)=amp1*exp(ima*2*pi*0.5*sin(theta1*pi/180)*[0:M-1]')+ampn*(randn(M,1)+ima*randn(M,1));      %干扰+噪声
    s(ii)=amp0*exp(ima*2*pi*0.5*sin(theta0*pi/180))+amp1*exp(ima*2*pi*0.5*sin(theta1*pi/180))+ampn*(randn(1,1)+ima*randn(1,1));%接收信号(信号+干扰+噪声)
    s0(ii)=amp0*exp(ima*2*pi*0.5*sin(theta0*pi/180));
end
Rx=1/L*jam*jam';       %噪声自相关矩阵,相当于X(t)
r_xd=1/L*jam*s';
Wopt=pinv(Rx)*r_xd;
delta=s0-(s-Wopt'*jam);
delta1=abs(mean(delta.^2)-(mean(delta)).^2)   %方差
theta=linspace(-pi/2,pi/2,200);

for jj=1:length(theta)
    a=exp(ima*2*pi*.5*sin(theta(jj))*[0:M-1]');
    f(jj)=Wopt'*a;
end

F=20*log10(abs(f)/(max(max(abs(f)))));
figure(1)
plot(theta*180/pi,F),grid on,hold on
plot(theta0,-50:0,'.')
plot(theta1,-50:0,'.')
xlabel('theta/o');
ylabel('F/dB');
title('MSE准则下的方向图')
axis([-90 90 -50 0]);%可为x轴和y轴设置一个极限范围

仿真图如下:

在这里插入图片描述

7、线性约束最小方差(LCMV)准则

clc;
clear all ;
close all;
ima=sqrt(-1);
element_num=8;       %阵元数
d_lamda=1/2;         %阵元间距与波长的关系
theta=-90:0.5:90-0.3;    %搜索范围
theta0=0;            %三个信号源的来波方向
theta1=30;           
theta2=60;
L=512;              %采样单元数

for i=1:L;
    amp0=10*randn(1);
    amp1=100*randn(1);
    amp2=10*randn(1);
    ampn=10;         
    x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+...
        amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+...
        amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+...
      ampn*(randn(element_num,1)+ima*randn(element_num,1));
end

Rx=1/L*x* x';
steer1=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')
steer2=exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')
steer3=exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')
C=[steer1 steer2 steer3];
F=[1 0 1]';            %把三个方向都作为来波方向
w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;

for j=1:length(theta);
    a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]');
    f(j)=w'*a;
    p(j)=1/(a'*inv(Rx)*a);
end

f=10*log10(abs(f)/(max(max(abs(f)))));
figure(1)
subplot(121)
plot(theta,f),grid on,hold on
plot(theta0,-20:0,'.')
plot(theta1,-20:0,'.')
plot(theta2,-20:0,'.')
xlabel('theta/o');
ylabel('F/dB');
title('Capon beamforming方向图')

axis([-90 90 -20 0]);%可为x轴和y轴设置一个极限范围
P=10*log10(abs(p)/(max(max(abs(p)))));

subplot(122)
plot(theta,P),grid on,hold on
plot(theta0,-20:0,'.')
plot(theta1,-20:0,'.')
plot(theta2,-20:0,'.')
xlabel('theta/o');
ylabel('功率/dB');
title('Capon beamforming功率谱')

仿真图如下:
在这里插入图片描述

8、Capon beamforming

clc;
clear all ;
close all;
ima=sqrt(-1);
element_num=8;       %阵元数
d_lamda=1/2;         %阵元间距与波长的关系
theta=-90:0.5:90;      %范围
theta0=0;            %来波方向
theta1=20;           %干扰方向
theta2=60;           %干扰方向
L=1000;              %采样单元数
for i=1:L;
    amp0=10*randn(1);%信号的幅度随机产生,保证信号之间是不相关的
    amp1=200*randn(1);
    amp2=200*randn(1);
    ampn=3;
    x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+...
      amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+...
      amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+...
      ampn*(randn(element_num,1)+ima*randn(element_num,1));
end
Rx=1/L*x* x';
R=inv(Rx);
steer=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]');
w=R*steer/(steer'*R*steer);%Capon最优权矢量
for j=1:length(theta);
    a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]');
    f(j)=w'*a;
    p(j)=1/(a'*R*a);
end
F=20*log10(abs(f)/(max(max(abs(f)))));
P=20*log10(abs(p)/(max(max(abs(p)))));%此处是功率的对数形式
figure;
subplot(121)
plot(theta,F),grid on,hold on
plot(theta0,-50:0,'.')
plot(theta1,-50:0,'.')
plot(theta2,-50:0,'.')
xlabel('theta/o');
ylabel('F/dB');
title('Capon beamforming方向图')
axis([-90 90 -50 0]);
subplot(122)
plot(theta,P),grid on
xlabel('theta/o');
ylabel('功率/dB');
title('Capon beamforming功率谱')


仿真图如下:

在这里插入图片描述

9、不同方法估计协方差矩阵的Capon波束形成

clc;
clear all;
close all;
ima=sqrt(-1);
element_num=8;       %阵元数为8
d_lamda=1/2;         %间距为半波长
theta=-90:0.5:90;       %范围
theta0=0;             %来波方向
theta1=50;            %干扰方向
L=512;%采样单元数
for i=1:L
    amp0=10*randn(1);
    amp1=50*randn(1);
    ampn=0.5;
    s(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]');
    j(:,i)=amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]');
    n(:,i)=ampn*exp(ima*2*pi*randn(1)*[0:element_num-1]');
end
Rx=1/L*(s+j+n)*(s+j+n)';%接收信号自相关矩阵
Rnj=1/L*(j+n)*(j+n)';%干拢+噪声的自相关矩阵
e=exp(ima*2*pi*d_lamda*sin(theta0*pi/180)*[0:element_num-1]');%来波方向信号
Wopt_Rx=inv(Rx)*e/(e'*inv(Rx)*e);%采用接收信号的权矢量
Wopt_Rnj=inv(Rnj)*e/(e'*inv(Rnj)*e);%采用干拢+噪声信号的权矢量
for j=1:length(theta)
    a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]');
    f1(j)=Wopt_Rx'*a;
    f2(j)=Wopt_Rnj'*a;
end
F1=20*log10(abs(f1)/max(max(abs(f1))));
F2=20*log10(abs(f2)/max(max(abs(f2))));
figure;
plot(theta,F1,theta,F2,'r'),grid on;
hold on
plot(theta0,-50:0,'.');
hold on
plot(theta1,-50:0,'.')
xlabel('theta/0');ylabel('F(1,2)/dB');
title('不同方法估计协方差矩阵的Capon波束形成');
axis([-90 90 -50 0]);
legend('接收信号的权矢量','干拢+噪声信号的权矢')

仿真图如下:
在这里插入图片描述

10、多点约束的Capon波束形成和方向图

clc;
clear all ;
close all;
ima=sqrt(-1);
element_num=8;     %阵元数
d_lamda=1/2;        %阵元间距与波长的关系
theta=-90:0.3:90;    %搜索范围
theta0=0;           %来波方向
theta1=20;          %干扰方向
theta2=50;         %干扰方向
L=512;              %采样单元数
Rx=zeros(element_num,element_num);%产生协方差矩阵
for i=1:L;
    amp0=10*randn(1);
    amp1=10*randn(1);
    amp2=50*randn(1);
    namp=0.5*randn(1);%噪声的幅度随机产生,保证噪声与信号之间是不相关的
    J(:,i)=amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+...
     amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+...   
    namp*exp(ima*2*pi*randn(1)*[0:element_num-1]');
    x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+...
      J(:,i);%表示接收信号
end
Rx=Rx+1/L*x*x';
R=inv(Rx);
w=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+...
amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+...
amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]');
for j=1:length(theta);
    a=exp(ima*2*pi*d_lamda*sin(theta(j)*pi/180)*[0:element_num-1]');
    f(j)=w'*a;
    p(j)=1/(a'*R*a);
end
F=10*log10(abs(f)/max(max(f)));%取对数的方向图
P=10*log10(abs(p)/max(max(p)));%取对数的功率谱估计
figure;
subplot(121)
plot(theta,F),grid on,hold on
plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');
xlabel('theta/o');
ylabel('F/dB');
title('capon beamforming方向图')
subplot(122)
plot(theta,P),grid on,hold on
plot(theta0,-50:0,'.');plot(theta1,-50:0,'.');plot(theta2,-50:0,'.');
xlabel('theta/o');
ylabel('P/dB');
title('capon beamforming功率谱')

仿真图如下:

在这里插入图片描述

11、自适应波束形成方向图

%自适应波束形成方向图
clc;
clear all; 
close all;
ima=sqrt(-1);
element_num=8;       %阵元数
c=3e8;
f=500e6;
lamda=c/f;
d=1/2*lamda;         %阵元间距与波长的关系
theta=-90:0.5:90;      %范围
theta0=0;            %来波方向
theta1=45;           %干扰方向
theta2=60;           %干扰方向
L=512;              %采样单元数
for i=1:L;
    amp0=10*randn(1);%信号的幅度随机产生,保证信号之间是不相关的
    amp1=100*randn(1);
    amp2=100*randn(1);
    ampn=10;
    x(:,i)=amp0*exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')+...
      amp1*exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')+...
      amp2*exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')+...
      ampn*(randn(element_num,1)+ima*randn(element_num,1));%产生阵列信号
end
Rx=1/L*x* x';
steer1=exp(ima*2*pi*1/2*sin(theta0*pi/180)*[0:element_num-1]')
steer2=exp(ima*2*pi*1/2*sin(theta1*pi/180)*[0:element_num-1]')
steer3=exp(ima*2*pi*1/2*sin(theta2*pi/180)*[0:element_num-1]')
C=[steer1 steer2 steer3];
F=[1 0 0]';%把0度方向作为来波方向
w=inv(Rx)*C*(inv(C'*inv(Rx)*C))*F;
for j=1:length(theta);
    a=exp(ima*2*pi*1/2*sin(theta(j)*pi/180)*[0:element_num-1]');
    f(j)=w'*a;
    p(j)=1/(a'*inv(Rx)*a);
end
F=20*log10(abs(f)/(max(max(abs(f)))));
P=20*log10(abs(p)/(max(max(abs(p)))));%此处是功率的对数形式
figure
subplot(121)
plot(theta,P),grid on,hold on
xlabel('theta/o');
ylabel('F/dB');
title('阵列信号方向图')
axis([-90 90 -50 0]);
subplot(122)
plot(theta,F),grid on,hold on;
plot(theta0,-50:0,'.')
plot(theta1,-50:0,'.')
plot(theta2,-50:0,'.')
xlabel('theta/o');
ylabel('功率/dB');axis([-90 90 -50 0]);
title('自适应波束形成方向图')

在这里插入图片描述

当采样数L=2048时仿真图如下:

在这里插入图片描述

当采样数L=2048时仿真图如下:

当L=512,幅度为

amp0=10*randn(1);

amp1=200*randn(1);

amp2=200*randn(1);

ampn=10;时仿真图如下:

在这里插入图片描述

当L=512,幅度为

amp0=100*randn(1);

amp1=200*randn(1);

amp2=200*randn(1);

ampn=10;时仿真图如下:

在这里插入图片描述

当L=512,幅度为

amp0=100*randn(1);

amp1=10*randn(1);

amp2=10*randn(1);

ampn=10;时仿真图如下:

在这里插入图片描述

当L=2048,幅度为

amp0=10*randn(1);

amp1=50*randn(1);

amp2=50*randn(1);

ampn=10;时仿真图如下:

在这里插入图片描述

当L=2048,幅度

amp0=10*randn(1);

amp1=500*randn(1);

amp2=500*randn(1);

ampn=10;时仿真图如下:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

systemd wsl 测试笔记

文章目录systemd 简介WSL systemdsystemctljournalctlhello serviceSleep 与 Timeout 测试Requires 测试After 测试systemd 简介 Linux 从关闭到运行, 完整的启动和启动过程有三个主要部分: 硬件启动(Hardware boot): 初始化系统硬件Linux 引导(Linux boot): 加载 Linux 内核&…

基于ERNIELayoutPDFplumber-UIEX的多方案学术论文信息抽取

本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/5196032?contributionType1 0.问题描述 可以参考issue: ERNIE-Layout在(人名和邮箱)信息抽取的诸多问题阐述#4031 ERNIE-Layout因为看到功能比较强大就尝试了一…

Linux安装mongodb集群整合SpringBoot

一、Mongodb集群安装 本文介绍基于mongodb的副本机制搭建集群 192.168.139.186CentOS Linux release 7.7.1908 (Core)192.168.139.187CentOS Linux release 7.7.1908 (Core)192.168.139.188CentOS Linux release 7.7.1908 (Core) 准备工作 关闭selinux,关闭防火墙…

近场通信到2027年将达到467.81亿美元

2020年,全球近场通信市场规模为178.75亿美元,预计到2027年将达到467.81亿美元,2021年至2027年的CAGR为14.8%。这是根据Market Statsville Group (MSG)的一份新报告得出的。 近场通信(NFC)是基于无线接口的一系列协议,使得通信设备…

Linux系统的优缺点

相比 Windows 系统,Linux 系统有更好的稳定性,那么除此之外,Linux 系统还有那些优点(或者不足)呢?一、大量的可用软件及免费软件Linux 系统上有着大量的可用软件,且绝大多数是免费的&#xff0c…

2021年第十二届蓝桥杯软件类省赛python组“回路计算“问题

说明 这一题我不会做,看了官方给出的标准答案之后才明白,我把我学到的思路写下来。 题目 蓝桥学院由21栋教学楼组成,教学楼编号1到21。对于两栋教学楼a和b,当a和b互质时,a和b之间有一条走廊直接相连,两个方向皆可通…

CRM之线索管理的demo搭建方法

1、简介 1.1、案例简介 本文将介绍,如何搭建CRM-线索管理。 1.2、应用场景 CRM-线索管理应用完整记录所有线索资料,合理的对线索进行领取、分配、退回、跟进,实现线索管理智能化。 2、设置方法 2.1、表单搭建 1)新建主表【新…

【日常系列】LeetCode《25·贪心2》

数据规模->时间复杂度 <10^4 &#x1f62e;(n^2) <10^7:o(nlogn) <10^8:o(n) 10^8<:o(logn),o(1) 内容 lc 976 &#xff1a;三角形的最大周长 https://leetcode.cn/problems/largest-perimeter-triangle/ 提示&#xff1a; 3 < nums.length < 10^4 1 &l…

Dubbo优雅启动(附源码分析)

Dubbo优雅启动 1. 启动有什么问题 我们知道&#xff0c;应用在运行了一段时间后&#xff0c;执行速度会比刚启动的时候要快。这是因为在 Java 里面&#xff0c;在运行过程中&#xff0c;JVM 虚拟机会把高频的代码编译成机器码&#xff0c;被加载过的类也会被缓存到 JVM 缓存中…

主数据和元数据、数据标准、数据质量有什么关系

企业数据治理涉及的工作很广&#xff0c;包括数据标准、数据质量、数据安全、数据共享机制、元数据管理、主数据管理等。主数据作为企业的黄金数据&#xff0c;对于企业信息化管理具有重要意义。本文将对主数据的概念及主数据与数据治理体系中的几个核心部分的关系和大家做一个…

oracle 查询到的结果在快捷地写入到excel过程中标题部分正确的处理方式

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤羌笛何须怨杨柳&#xff0c;春风不度玉门关。大家好&#xff0c;我是皮皮。一、前言前几天在Python最强王者交流群【粉丝】问了一个pandas数据处理的问题&…

一篇文章让你掌握HTML(上)

目录 前言 1. 基础认知 1.1 HTML概念 1.2 Web标准 2. HTML骨架结构 3. 开发工具的基本使用 4. 语法规范 4.1 HTML的注释 4.2 HTML标签的结构 4.3 HTML标签的关系 5. 排版标签 5.1 标题标签 5.2 段落标签 5.3 换行标签 5.4 水平线标签 6. 文本格式化标签…

清华教授极力推荐的三本入门学习Python书籍

目录 Python入门书&#xff08;适合初学者&#xff09; Python进阶书&#xff08;适合有基础的&#xff09; Python数据科学&#xff08;适合初学者&#xff09; Python入门书&#xff08;适合初学者&#xff09; 这应该是世界上最畅销的Python编程书&#xff0c;没有之一。…

实战|记一次2022某地HVV中的木马逆向分析

声明&#xff1a;本文仅限于技术讨论与分享&#xff0c;严禁用于非法途径。若读者因此作出任何危害网络安全行为后果自负&#xff0c;与本号及原作者无关。前言事情是这样的&#xff0c;国庆前期某地HVV&#xff0c;所以接到了客户通知他们收到了钓鱼邮件想要溯源直接下载文件逆…

电子模块|光照强度传感器模块 GY-302及其驱动(arduino、STC51、STM32)

电子模块|光照强度传感器模块 GY-302及其驱动&#xff08;arduino、STC51、STM32&#xff09;实物照片模块简介模块特点原理图驱动程序arduinoSTC51STM32实物照片 模块简介 BH1750是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据收集的光线强…

【Linux】文件操作、文件描述符和重定向

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;重新谈论文…

【数据结构】5.1 树和二叉树的定义

前言 数形结构的关系是 1 对 n 的&#xff0c;树的每个元素后面都可以有多个后继&#xff0c;但是只能有 1 个前趋。 树形结构&#xff08;非线性结构&#xff09; 结点之间有分支具有层次关系 5.1.1 数的定义 树&#xff08;Tree&#xff09;是 n &#xff08;n > 0&…

java中javaSE与javaEE的区别

javaSE是什么&#xff1f; 怎么说吧&#xff0c;可以理解为javaSE是java的基石&#xff0c;如果将java程序想象成一座高楼大厦&#xff0c;那么javaSE就是地基。 官方的解释&#xff1a; Java SE&#xff08;Java Platform&#xff0c;Standard Edition&#xff09; Java SE 以…

实验室设计基本原则SICOLAB

实验室设计基本原则SICOLAB实验室设计、实验室建设施工SICOLAB实验室布局必须符合实验流程的规律&#xff0c;从样品接收、样品暂存、试剂和耗材储存、前处理和准备、样品分析测试、清洗到废物回收和处理&#xff0c;都必须有一个清晰的流程。要区分人流和物流&#xff0c;以及…

SQL DELETE 语句

DELETE 语句用于删除表中的记录。 SQL DELETE 语句 DELETE 语句用于删除表中的行。 SQL DELETE 语法 DELETE FROM table_name WHERE condition; 参数说明&#xff1a; table_name&#xff1a;要删除的表名称。condition&#xff1a;删除条件&#xff0c;用于指定哪些数据要…