【雷达干扰】基于CFAR的FMCW雷达干扰抑制附Matlab代码

 ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab完整代码及仿真定制内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

🔥 内容介绍

1. 前言

随着雷达技术的发展,雷达干扰也变得越来越普遍。雷达干扰可以分为主动干扰和被动干扰。主动干扰是指干扰机主动向雷达发射干扰信号,以降低雷达的探测性能。被动干扰是指干扰机利用雷达发射的信号进行反射或散射,以产生虚假目标,从而干扰雷达的正常工作。

FMCW 雷达是一种新型的雷达,具有抗干扰能力强、分辨率高、测距精度高等优点。然而,FMCW 雷达也存在着一些弱点,例如容易受到连续波干扰的影响。连续波干扰是一种常见的主动干扰,它可以使 FMCW 雷达的接收机饱和,从而降低雷达的探测性能。

2. 基于 CFAR 的 FMCW 雷达干扰抑制方法

为了抑制连续波干扰,可以采用基于 CFAR(恒虚警率)的干扰抑制方法。CFAR 是一种自适应滤波技术,它可以根据雷达接收信号的统计特性,自动调整滤波器的参数,以抑制干扰信号,同时保持对目标信号的检测性能。

基于 CFAR 的 FMCW 雷达干扰抑制方法主要包括以下几个步骤:

  1. 信号预处理:对雷达接收信号进行预处理,包括滤波、去噪等。

  2. 背景噪声估计:估计雷达接收信号中的背景噪声功率。

  3. 门限计算:根据背景噪声功率和虚警率,计算干扰抑制的门限。

  4. 干扰信号检测:将雷达接收信号与门限进行比较,检测出干扰信号。

  5. 干扰信号抑制:对检测出的干扰信号进行抑制,可以采用滤波、抵消等方法。

📣 部分代码

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CFAR-based interference suppression%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all; clear;  clc;oldpath = path;addpath('./Util_CFAR_IM/','./Util_FMCW/','./Util_plot/')flag_plot = 0;  % boolean flag that turns on/off the figure plotting:                  %        flag_plot=1, plot figure;                %        flag_plot=0, do not plot.Ftsz = 12;fig_dir = './figs/';%% FMCW radarii = sqrt(-1);c      = 3e8;f_c    = 77e9; %3e9;             % center frequency 3GHzT_sw   = 100e-6;%500e-6;          % Sweep time 200 usBW     = 600e6;%40e6;Num    = 1;6, real(sig_CFAR_Burg(ind_inset_cfar)),'g-.')grid onylim([-3.2 3.2])if flag_plot == 1    set(gcf, 'PaperUnits', 'inches', 'PaperSize', [4 3], 'PaperPosition', [0 0 4 3])    print(hf, '-dpdf', '-r300', [fig_dir 'pt_RawSig_RealPart_AftSup_' num2str(SNR) 'dB_Recv.pdf'])    print(hf, '-dpng', '-r300', [fig_dir 'pt_RawSig_RealPart_AftSup_' num2str(SNR) 'dB_Recv.png'])    saveas(hf, [fig_dir 'pt_RawSig_RealPart_AftSup_' num2str(SNR) 'dB_Recv.fig'])end%% Range profilen_ft = 2^(nextpow2(length(sig_wd)) + 2);r_axis_Aft = f_s/n_ft*(0:n_ft-1)/abs(sweep_slope)*c/2;%================ANC=================[rp_ANC, sig_fft_pos,sig_fft_neg] ...    = AdaptiveNoiseCanceller(sig_full, 10, 80, 1.8, n_ft);%rp_CFAR_Z  = fft(sig_CFAR_Z, n_ft);rp_CFAR_AC = fft(sig_CFAR_AC, n_ft);rp_CFAR_Burg = fft(sig_CFAR_Burg, n_ft);rp_wd      = fft(sig_wd, n_ft);max_rp = max(abs( [ rp_CFAR_Z; rp_CFAR_AC; rp_wd ; rp_ANC] ));rp_CFAR_Z_norm  = db( abs(rp_CFAR_Z) / max_rp );rp_CFAR_AC_norm = db( abs(rp_CFAR_AC) / max_rp );rp_wd_norm      = db( abs(rp_wd) / max_rp ); rp_ANC_norm     = db( abs(rp_ANC) / max_rp);rp_CFAR_Burg_norm = db( abs(rp_CFAR_Burg) / max_rp);hf = figureplot(r_axis_Aft(1:n_ft/2), rp_ANC_norm, 'g--',...     r_axis_Aft, rp_wd_norm,'k-',...        r_axis_Aft, rp_CFAR_Z_norm,'r--',...     r_axis_Aft, rp_CFAR_AC_norm,'b-.',...     r_axis_Aft, rp_CFAR_Burg_norm,'m:')axis([0 250 -50 10]);grid onlegend('ANC','WD','CFAR-Z','CFAR-AC','CFAR-Burg','Location','south','NumColumns',2)xlabel('Range [km]', 'fontsize', Ftsz)ylabel('Normalized amplitude [dB]', 'fontsize', Ftsz)title('RP after IM', 'fontsize', Ftsz)ind_inset = r_axis_Aft>=29 & r_axis_Aft<=31;r_axis_inset = r_axis_Aft(ind_inset);axes('position', [0.3 0.65 0.25 0.25])plot(r_axis_inset, rp_ANC_norm(ind_inset),'g--',...     r_axis_inset, rp_wd_norm(ind_inset),'k-',...     r_axis_inset, rp_CFAR_Z_norm(ind_inset),'r--',...     r_axis_inset, rp_CFAR_AC_norm(ind_inset),'b-.',...     r_axis_inset, rp_CFAR_Burg_norm(ind_inset),'m:')grid onylim([-20 2])ind_inset = r_axis_Aft>=148.5 & r_axis_Aft<=154.5;r_axis_inset = r_axis_Aft(ind_inset);axes('position', [0.66 0.65 0.23 0.25])plot(r_axis_inset, rp_ANC_norm(ind_inset),'g--',...     r_axis_inset, rp_wd_norm(ind_inset),'k-',...     r_axis_inset, rp_CFAR_Z_norm(ind_inset),'r--',...     r_axis_inset, rp_CFAR_AC_norm(ind_inset),'b-.',...     r_axis_inset, rp_CFAR_Burg_norm(ind_inset),'m:')grid onylim([-25 0])if flag_plot==1    set(gcf, 'PaperUnits', 'inches', 'PaperSize', [4 3], 'PaperPosition', [0 0 4 3])    print(hf, '-dpdf', '-r300', [fig_dir 'pt_RP_AftSup_' num2str(SNR) 'dB.pdf'])    print(hf, '-dpng', '-r300', [fig_dir 'pt_RP_AftSup_' num2str(SNR) 'dB.png'])    saveas(hf, [fig_dir 'pt_RP_AftSup_' num2str(SNR) 'dB.fig'])end%% Performance evaluationlen_cfar_z = length(sig_CFAR_Z);% SINRSINR_cfar_z = db(norm(sig_Rx_trc(1:len_cfar_z)) ...                 / norm(sig_CFAR_Z - sig_Rx_trc(1:len_cfar_z).' ) );SINR_cfar_ac = db( norm(sig_Rx_trc(1:len_cfar_z) ...                 / norm(sig_CFAR_AC - sig_Rx_trc(1:len_cfar_z).' ) ) );SINR_cfar_burg = db( norm(sig_Rx_trc(1:len_cfar_z) ...                 / norm(sig_CFAR_Burg - sig_Rx_trc(1:len_cfar_z).' ) ) );             SINR_wd = db( norm(sig_Rx_trc) / norm(sig_wd - sig_Rx_trc.') );sig_ANC = ifft(rp_ANC, n_ft);sig_ANC = sig_ANC(1:N_sig);SINR_anc = db( norm(sig_Rx_trc) / norm(sig_ANC - sig_Rx_trc.' ) );% correlation coefficientrho_cfar_z = sig_CFAR_Z' * sig_Rx_trc(1:len_cfar_z).'/norm(sig_CFAR_Z)/norm(sig_Rx_trc(1:len_cfar_z));rho_cfar_ac = sig_CFAR_AC' * sig_Rx_trc(1:len_cfar_z).'/norm(sig_CFAR_AC) /norm(sig_Rx_trc(1:len_cfar_z));rho_cfar_burg = sig_CFAR_Burg' * sig_Rx_trc(1:len_cfar_z).'/norm(sig_CFAR_Burg) /norm(sig_Rx_trc(1:len_cfar_z));rho_wd      = sig_wd' * sig_Rx_trc.'/norm(sig_wd) / norm(sig_Rx_trc);rho_anc     = sig_ANC' * sig_Rx_trc.' / norm(sig_ANC) / norm(sig_Rx_trc);[SINR_cfar_z, SINR_cfar_ac,SINR_cfar_burg, SINR_wd, SINR_anc]rho =[rho_cfar_z, rho_cfar_ac, rho_cfar_burg, rho_wd, rho_anc];rho_amp = abs(rho)rho_phase = angle(rho)% rho = rho_amp .* exp(ii*rho_phase)%close allhf = figureplot(t*1e6, real(sig_ANC));grid onaxis tight% ylim([-2.5 2.5])xlabel('Time [\mus]', 'fontsize', Ftsz)ylabel('Amplitude', 'fontsize', Ftsz)title('Beat signal recovered with ANC', 'fontsize', Ftsz)if flag_plot == 1    set(gcf, 'PaperUnits', 'inches', 'PaperSize', [4 3], 'PaperPosition', [0 0 4 3])    print(hf, '-dpdf', '-r300', [fig_dir 'pt_RawSig_RealPart_AftSup_' num2str(SNR) 'dB_ANC.pdf'])    print(hf, '-dpng', '-r300', [fig_dir 'pt_RawSig_RealPart_AftSup_' num2str(SNR) 'dB_ANC.png'])    saveas(hf, [fig_dir 'pt_RawSig_RealPart_AftSup_' num2str(SNR) 'dB_ANC.fig'])endif flag_plot==1save([fig_dir 'simu_pt_data_' num2str(SNR) '.mat'],...    'sig_Rx_trc','sig_CFAR_AC','sig_CFAR_Z', 'sig_ANC','sig_wd',...    'SINR_cfar_ac','SINR_cfar_z','SINR_anc','SINR_wd',...    'rho_cfar_ac', 'rho_cfar_z', 'rho_anc', 'rho_wd',...    'rp_CFAR_AC', 'rp_CFAR_Z', 'rp_ANC', 'rp_wd',...    'SNR', 'SINR_0', 'r_axis_Aft', 'n_ft', 't');end%% restore the search directorypath = oldpath;

⛳️ 运行结果

3. 仿真结果

为了验证基于 CFAR 的 FMCW 雷达干扰抑制方法的有效性,进行了仿真实验。仿真实验中,雷达接收信号由目标信号、干扰信号和背景噪声组成。目标信号为点目标,干扰信号为连续波干扰,背景噪声为高斯白噪声。

仿真结果表明,基于 CFAR 的 FMCW 雷达干扰抑制方法能够有效地抑制连续波干扰,同时保持对目标信号的检测性能。

4. 结论

基于 CFAR 的 FMCW 雷达干扰抑制方法是一种有效的干扰抑制方法。该方法能够根据雷达接收信号的统计特性,自动调整滤波器的参数,以抑制干扰信号,同时保持对目标信号的检测性能。仿真结果表明,该方法能够有效地抑制连续波干扰,为 FMCW 雷达的抗干扰性能提供了保障。

🔗 参考文献

[1] 魏力,石丹,崔强,等.基于波形设计的车载FMCW雷达干扰抑制方案[J].[2024-02-11].

[2] 肖泽龙,李凡奇,胡泰洋,等.针对脉冲体制强辐射源干扰的FMCW雷达干扰抑制方法:CN202110715070.5[P].CN202110715070.5[2024-02-11].

🎈 部分理论引用网络文献,若有侵权联系博主删除
🎁  关注我领取海量matlab电子书和数学建模资料

👇  私信完整代码和数据获取及论文数模仿真定制

1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化、背包问题、 风电场布局、时隙分配优化、 最佳分布式发电单元分配、多阶段管道维修、 工厂-中心-需求点三级选址问题、 应急生活物质配送中心选址、 基站选址、 道路灯柱布置、 枢纽节点部署、 输电线路台风监测装置、 集装箱船配载优化、 机组优化、 投资优化组合、云服务器组合优化、 天线线性阵列分布优化
2 机器学习和深度学习方面

2.1 bp时序、回归预测和分类

2.2 ENS声神经网络时序、回归预测和分类

2.3 SVM/CNN-SVM/LSSVM/RVM支持向量机系列时序、回归预测和分类

2.4 CNN/TCN卷积神经网络系列时序、回归预测和分类

2.5 ELM/KELM/RELM/DELM极限学习机系列时序、回归预测和分类
2.6 GRU/Bi-GRU/CNN-GRU/CNN-BiGRU门控神经网络时序、回归预测和分类

2.7 ELMAN递归神经网络时序、回归\预测和分类

2.8 LSTM/BiLSTM/CNN-LSTM/CNN-BiLSTM/长短记忆神经网络系列时序、回归预测和分类

2.9 RBF径向基神经网络时序、回归预测和分类

2.10 DBN深度置信网络时序、回归预测和分类
2.11 FNN模糊神经网络时序、回归预测
2.12 RF随机森林时序、回归预测和分类
2.13 BLS宽度学习时序、回归预测和分类
2.14 PNN脉冲神经网络分类
2.15 模糊小波神经网络预测和分类
2.16 时序、回归预测和分类
2.17 时序、回归预测预测和分类
2.18 XGBOOST集成学习时序、回归预测预测和分类
方向涵盖风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、用电量预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、 充电车辆路径规划(EVRP)、 双层车辆路径规划(2E-VRP)、 油电混合车辆路径规划、 船舶航迹规划、 全路径规划规划、 仓储巡逻
4 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配、无人机安全通信轨迹在线优化、车辆协同无人机路径规划
5 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
6 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
7 电力系统方面
微电网优化、无功优化、配电网重构、储能配置、有序充电
8 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长 金属腐蚀
9 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值