m基于matlab的超宽带MIMO雷达对目标的检测仿真,考虑时间反转

1.算法概述

(不加时间反转处理)参看框图1:天线阵A发送信号,经过目标场,在接收阵B端接收数据记为Y1,然后对所接收到的信号处理(匹配滤波等处理过程),得到回波的信噪比,目标的位置及成像;用图示表示如下:


不加时间反转处理的程序,其基本流程图如下所示:




(加上时间反转处理)在B端接收到信号Y1,对Y1做时间反转处理,能量归一化后再发射出去,经过同样的空间场,然后在A端接收数据记为Y2,对接收到的数据Y2再做处理(匹配滤波等),得到回波的信噪比(与第一步未加时间反转做对比),目标的位置信息及成像。用图示表示如下:




加时间反转处理的程序,其基本流程图如下所示:




发射天线数Nt个,接收天线数Nr个(Nt,Nr可以自由设置或确定设置为某一值,如Nt=2,Nr=3等等),空间中放置检测目标(目标个数可以自定,简化下,目标可看成是点目标),发射端发射信号为超宽带信号(高斯脉冲信号),并且Nt个发射信号为正交信号(即将前面的高斯脉冲信号进行处理,使信号正交),信号经过探测空间后,接收端对回波进行处理,得到空间中目标的位置及成像。


具体步骤:假设收发双方分别为天线阵A和天线阵B


第一步:(不加时间反转处理)参看框图1:天线阵A发送信号,经过目标场,在接收阵B端接收数据记为Y1,然后对所接收到的信号处理(匹配滤波等处理过程),得到回波的信噪比,目标的位置及成像;


第二步:(加上时间反转处理)在B端接收到信号Y1,对Y1做时间反转处理,能量归一化后再发射出去,经过同样的空间场,然后在A端接收数据记为Y2,对接收到的数据Y2再做处理(匹配滤波等),得到回波的信噪比(与第一步未加时间反转做对比),目标的位置信息及成像。


2.仿真效果预览

matlab2022a仿真结果如下:



3.MATLAB部分代码预览

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

figure;

color = ['b','g','r','k'];

for i   = 1:length(alpha)

[gt,f]  = func_UWB_gspluse(E0,fc,f1,f2,k,scale,alpha(i));

tmp     = color(i);

plot(f,gt,tmp);

hold on;

axis([898,902,-0.5,1.2]);

end

title('超宽带高斯脉冲信号');

legend('alpha = 0','alpha = 0.75','alpha = 1.5','alpha = 3');

% clear E0 alpha fc f1 f2 k scale color gt f

%进行传统算法

%下面开始实际的算法

%这里发送天线和接收天线设置为4和1,如果要修改

%%

%参数的初始化

Nt   = 3;

Nr   = 3;

L    = length(gt);

l    = 1:L;

T    = 1/(10^6);

ts   = T/L;

SNR  =-10:1:20;

times= 200;

Pfa  = 10e-5;%虚警概率

%%

%超带宽高斯脉冲信号

[gt,f]  = func_UWB_gspluse(E0,fc,f1,f2,k,scale,alpha(1));


%MIMO发送信号

X = func_MIMO_trans(gt,Nt,ts,T);

ind = 0;

for j = 1:length(SNR)

N0    = 10^(SNR(j)/10);

count = 0;

mui   = 1;

for i = 1:times%利用门特卡罗的设计仿真思想,计算不同信噪比下的检测概率

ind = ind + 1

%通过MIMO信道

[alpha,H]=func_MIMO_channel(Nt,N0);

%接收机接收到的信号

for l=1:L           

r(:,l)=H*X(:,l);

end


%将时间反转的信号通过信道发送回去

for l=1:L      

r2(:,l)=H*conj(r(:,l));

end         


%匹配滤波

[E,R] = func_match_filter(r2,X,L);

%目标检测

Theta_doa = func_MIMORadar_DOA(E,R);

%判断是否被检测到

threshold = 10000;

if(Theta_doa>threshold)

detected = 1;

count    = count + 1;

else

p = rand(1,1);

if p > 1-Pfa    %虚警概率

detected = 1;

count    = count + 1;

else

detected = 0;

end

end

end

pc(j) = count/times;

end

toc

figure;

plot(SNR,pc,'b-o');        

xlabel('SNR');

ylabel('Pmd');

grid on;

01_049_m

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容