【雷达信号检测】滑动式GRCR,用于脉冲雷达信号检测(Matlab实现)

“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现

💥1 概述

雷达信号是具有一定可配置占空比的脉冲信号。假设有一个旋转的雷达天线,则次级用户(SU)终端接收的信号具有突发模式,由于雷达信号的异步定时和感应间隔,该脉冲群内的脉冲数是随机的。可配置的系统参数包括次级用户接收机的数量、所有 SU 的平均信噪比 (SNR)、生成的接收机工作特性 (ROC) 曲线上的点数、蒙特卡洛事件的数量、每个 SU 收集的样本数、雷达信号占空比、每个雷达信号突发的脉冲数、 雷达信号的脉冲宽度、窗口大小、滑动传感窗口的步长、所有 SU 的平均噪声方差、噪声功率和接收信号的均值变化的分数、雷达-SU 信道的类型(加性高斯白噪声或平坦而缓慢的瑞利衰落),以及噪声功率和接收信号功率的变化模式(在所有仿真运行中固定或在运行)。

📚2 运行结果

主函数部分代码:


clear all; clc; % close all;

%% System parameters #############################################################

m = 5;          % Number of SU receivers.
SNRavg = -10;   % Signal-to-noise ratio averaged over all SUs, dB.
runs = 5000;    % Number of Monte Carlo runs for estimating Pd and Pfa.
Npt = 50;       % Number of points on the resulting ROC curve.
Sigma2avg = 1;  % Average noise power at the SUs' receivers.
FracN = 0.95;   % Fraction of noise power variations about the mean.
FracP = 0.95;   % Fraction of received power variations about the mean.
Channel = 1;    % Radar-SU channel: "0" = AWGN; "1" = flat and slow Rayleigh.
NoiseVar = 1;   % Noise variance: "0" = fixed variances over all runs; "1" = variable.
RxPower = 1;    % Received power: "0" = fixed powers over all runs; "1" = variable.
D = 0.05;       % Radar signal duty-cycle ratio (Wp/period).
N = 4;          % Number of pulses per radar signal burst. 
Wp = 20;        % Pulse width of the radar signal, in samples.
n = Wp*N/D;     % Total number of samples per sensing interval.
Sw = Wp;        % Window size (number of samples per sensing round).
Ss = Sw;        % Step size of the sliding sensing window (irrelevant if Sw=n).

%% ################################################################################

Sn = (n/Sw-1)/(Ss/Sw) + 1; % Number of steps (sensing rounds) during a sensing interval. 
PRxavg = Sigma2avg*(10^(SNRavg/10)); % Average received power
Ptx = PRxavg; % Radar signal power
SNRa=10*log10(((N+1)/2)*PRxavg/(Sigma2avg*N)); % Approximate SNR

disp( [ 'Number of SUs,              m  = ', num2str(m) ]);
disp( [ 'Number of samples per SU,   n  = ', num2str(n) ]);
disp( [ 'Radar signal duty-cycle,    D = ', num2str(D) ]);
disp( [ 'Radar signal pulse width,   Wp = ', num2str(Wp) ]);
disp( [ 'Number of pulses per burst, N = ', num2str(N) ]);
disp( [ 'Sliding window step size,   Ss = ', num2str(Ss) ]);
disp( [ 'Window size,                Sw = ', num2str(Sw) ]);
disp( [ 'Number of sensing rounds,   Sn = ', num2str(Sn) ]);
disp( [ 'Configured SNR in dB,       SNR = ', num2str(SNRavg) ]);
disp( [ 'Approx. actual SNR in dB    SNRa = ', num2str(SNRa) ]);


%% Noise variances (m x 1) when fixed over all sensing rounds (see main loop):
if NoiseVar==0  % Fixed noise variances
 Sigma2 = rand(m,1)*(2*FracN)+(1-FracN); Sigma2 = (Sigma2/mean(Sigma2))*Sigma2avg;
end
%% Received powers (m x 1) when fixed over all sensing rounds (see main loop):
if RxPower==0  % Fixed rx powers
   PRx = rand(m,1)*(2*FracP)+(1-FracP);   PRx = PRx/mean(PRx)*PRxavg;
end

%% Radar signal vector (n x 1) with N pulses:
S0 = [ones(Wp,1); zeros(Wp/D-Wp,1)];
for b = 1:N-1
    S0 = [S0; ones(Wp,1); zeros(Wp/D-Wp,1)];

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]邱益维,李晓峰,田浩.基于单光子激光雷达信号的快速恒虚警检测研究[J].应用激光,2024,44(05):122-128.DOI:10.14128/j.cnki.al.20244405.122.

[2]张汉伟,周秀珍.雷达、通信、干扰信号一体化检测识别技术研究[J].舰船电子对抗,2024,47(01):77-83+120.DOI:10.16426/j.cnki.jcdzdk.2024.01.013.

🌈4 Matlab代码实现

图片

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值