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

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

1.算法概述

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

1.png

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

2.png

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

3.png

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

4.png

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

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

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

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

2.仿真效果预览
matlab2022a仿真结果如下:

5.png
6.png
7.png

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

相关文章
|
21天前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
11天前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
11天前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
21天前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
349 5
|
22天前
|
机器学习/深度学习 传感器 算法
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
【裂纹检测】检测和标记图片中的裂缝(Matlab代码实现)
125 5
|
17天前
|
机器学习/深度学习 边缘计算 算法
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
【无人机】无人机群在三维环境中的碰撞和静态避障仿真(Matlab代码实现)
107 0
|
22天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
|
22天前
|
机器学习/深度学习 传感器 算法
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
【高创新】基于优化的自适应差分导纳算法的改进最大功率点跟踪研究(Matlab代码实现)
139 14
|
17天前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
|
17天前
|
机器学习/深度学习 算法 安全
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)
【图像处理】使用四树分割和直方图移动的可逆图像数据隐藏(Matlab代码实现)

热门文章

最新文章

下一篇
oss教程