MATLAB实战(22):认知雷达自适应感知仿真

MATLAB实战(22):认知雷达自适应感知仿真

背景

传统雷达多采用固定参数进行信号发射与接收,在复杂环境中适应性有限。城市背景中的杂波、突发性干扰,以及汽车与行人并存的多目标场景,都会使检测性能下降。认知雷达(Cognitive Radar)依据环境反馈实时调整发射功率、信号带宽与驻留时间,将能量与分辨率分配到目标所在区域,从而在峰值功率不变的条件下改善检测与跟踪性能。

本文用 MATLAB 实现了一个完整的认知雷达感知仿真系统。程序为单文件、自包含,无需外部数据即可运行,包含仿真引擎、性能评测与 PASS/FAIL 自动判定,以及可视化输出。

在仿真引擎之外,本文新增了一套性能判据与自动判定模块,可依据预设指标自动输出PASS/FAIL,使仿真结果具备可量化的验收依据。


1 系统整体设计

1.1 参数配置

参数说明
距离单元数101Range bins
多普勒单元数64Doppler bins
扫描次数64帧数 / 时隙数
目标数2汽车 + 行人
CA-CFAR 训练单元6×6背景估计窗口
CA-CFAR 保护单元2×2防止目标污染参考
CFAR 系数k kk4.2阈值缩放因子
功率平滑系数α p \alpha_pαp0.08注意力功率更新
最小功率P min ⁡ P_{\min}Pmin0.12无目标区保底
总带宽B W total \mathrm{BW}_{\text{total}}BWtotal1.0聚焦前基准

1.2 检测场景

系统在一个动态 Range-Doppler 网格上同时感知两个运动目标:

  • 汽车:高信噪比(10 dB)、近似匀速运动,回波呈紧致高斯斑;
  • 行人:低信噪比(8 dB)、步态正弦微动(GaitFreq = 0.22)引入多普勒旁瓣,回波结构更复杂。

背景由三部分构成:均值噪声、Rayleigh 杂波,以及以概率InterfProb = 0.1每帧随机突发的带状干扰(距离向或多普勒向)。

Level-1(有/无目标)和 Level-2(区分车型)的判定可以通过合并对应检测单元得到,本文聚焦于"感知—检测—评测"的完整流程,不再展开简化层级。


2 核心算法

2.1 注意力功率图更新

认知雷达通过"功率图"(Power Map)实现发射能量的空间分配:检测到的目标区域获得更高的功率系数,未检测到目标的区域维持较低的基础系数。每完成一次扫描,依据检测结果平滑更新功率分配:

P new ( r , d ) = ( 1 − α p ) ⋅ P old ( r , d ) + α p ⋅ ( 1 + R ( r , d ) ) P_{\text{new}}(r,d) = (1-\alpha_p)\cdot P_{\text{old}}(r,d) + \alpha_p \cdot (1 + R(r,d))Pnew(r,d)=(1αp)Pold(r,d)+αp(1+R(r,d))

其中R ( r , d ) ∈ [ 0 , 1 ] R(r,d) \in [0,1]R(r,d)[0,1]为检测奖励(检测到目标取 1),P min ⁡ P_{\min}Pmin保证无目标区域仍维持基础探测能力。更新后做归一化,使功率系数落在[ P min ⁡ , 1 ] [P_{\min}, 1][Pmin,1]区间。

对应代码:

% 注意力功率图:以检测结果为奖励平滑更新Reward=mat2gray(double(Detections));% [0,1]PowerMapRD=(1-Alpha.power)*PowerMapRD+Alpha.power*(1+Reward);PowerMapRD=max(PowerMapRD,MinPower);PowerMapRD=PowerMapRD/max(PowerMapRD(:));PowerMapRD=MinPower+(1-MinPower)*PowerMapRD;

2.2 带宽聚焦与杂波抑制

总带宽固定为 1.0,有效带宽按"带宽聚焦图"(BW Focus Map)动态分配:

B W eff ( r , d ) = B W total ⋅ ( 0.5 + 0.5 ⋅ F ( r , d ) ) \mathrm{BW}_{\text{eff}}(r,d) = \mathrm{BW}_{\text{total}} \cdot \big(0.5 + 0.5 \cdot F(r,d)\big)BWeff(r,d)=BWtotal(0.5+0.5F(r,d))

Fraser 系数F ( r , d ) ∈ [ 0 , 1 ] F(r,d) \in [0,1]F(r,d)[0,1]由显著性(近期检测热力)经 Top-K 高斯融合得到。当B W eff > 0.5 \mathrm{BW}_{\text{eff}} > 0.5BWeff>0.5时,杂波方差被抑制:

σ clutter,new = σ clutter,old ⋅ ( 1 − G B W → C l u t t e r ⋅ ( B W eff − 0.5 ) ) \sigma_{\text{clutter,new}} = \sigma_{\text{clutter,old}} \cdot \big(1 - G_{\mathrm{BW\to Clutter}} \cdot (\mathrm{BW}_{\text{eff}} - 0.5)\big)σclutter,new=σclutter,old(1GBWClutter(BWeff0.5))

其中耦合系数G B W → C l u t t e r = 0.25 G_{\mathrm{BW\to Clutter}} = 0.25GBWClutter=0.25。该机制使有效带宽较高的区域(目标所在处)同时获得较低的杂波方差,从而在提升目标分辨率的同时抑制其周边干扰。

2.3 二维 CA-CFAR 检测

采用单元平均恒虚警率(Cell-Averaging CFAR)算法,在二维滑动窗口内用训练单元估计背景噪声均值,作为阈值基准:

μ ref = 1 N ref ( ∑ Total X − ∑ Guard X ) , T thr = μ ref ⋅ ( 1 + 0.25 k ) \mu_{\text{ref}} = \frac{1}{N_{\text{ref}}} \Big( \sum_{\text{Total}} X - \sum_{\text{Guard}} X \Big),\qquad T_{\text{thr}} = \mu_{\text{ref}} \cdot (1 + 0.25 k)μref=Nref1(TotalXGuardX),Tthr=μref(1+0.25k)

判决规则:若X test > T thr X_{\text{test}} > T_{\text{thr}}Xtest>Tthr,则判定为目标。

实现上,若对每个检测单元直接以双重循环求和背景窗口,计算量随网格规模平方增长。实际采用积分图(Integral Image)计算矩形区域和,将每帧 CFAR 的复杂度由O ( N 2 ⋅ W 2 ) O(N^2 \cdot W^2)O(N2W2)降至接近O ( N 2 ) O(N^2)O(N2)

functiondet=CA_CFAR_AP(X,CFAR,sz)Nr=sz(1);Nd=sz(2);det=false(Nr,Nd);Tr=CFAR.TrainR;Td=CFAR.TrainD;Gr=CFAR.GuardR;Gd=CFAR.GuardD;k=CFAR.k;Sp=zeros(Nr+1,Nd+1);Sp(2:end,2:end)=cumsum(cumsum(X,1),2);% 积分图rectsum=@(a,b,c,d)Sp(b+1,d+1)-Sp(a,d+1)-Sp(b+1,c)+Sp(a,c);forr=1:Nrford=1:Nd totSum=