m基于matlab的雷达信号分选技术研究,包括PRI分选器以及SDIF法

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

       雷达信号分选是电子侦察的重要组成部分,主要包括预分选和主分选两个步骤。对于预分选包括已知雷达辐射源的匹配扣除,初步的信号分类等;其目的是为了稀释脉冲流,使得后续的处理更加简单。在预分选阶段,可使用DOA和载频进行聚类,对雷达信号进行初步的分选。

       在以pri(脉冲重复周期)为主要参数的主分选阶段,其实质是对于脉冲到达时间的二次处理,因此发展出了很多的信号分选算法,主要包括传统直方图算法、累计差值直方图算法(CDIF)、序列差值直方图算法(SDIF)、pri变换法等。

       首先对于传统直方图算法,其原理很简单,就是穷举两两脉冲之间的差值即脉冲重复周期,统计不同脉冲重复周期的个数,以pri为横坐标,不同pri的个数为纵坐标,在二维空间画图,纵坐标与门限相对比。对于门限的确立我们可以很清楚的看到,在一定的观测时间内,脉冲重复周期越大,则脉冲的个数越少,因此门限是与横坐标成反比的一条曲线。

      雷达信号分选的方法 在整个的发展的过程当中,可以分为三种

1. 基于通道时间TOA的重频分选(PRI)方法

a. PRI 、PW 时域多参数分选;

b. PRI 、PW 加 RF 多参数综合分选;

c. PRI 、PW 加 DOA 多参数综合分选;

d. PRI 、PW 加 RF 、DOA 多参数综合分选;

e.PRI 时域单参数分选;

        序列差直方图法(SDIF)是一种基于CDIF的改进算法。SDIF与CDIF的主要区别是:SDIF对不同阶的到达时间差直方图的统计结果不进行累积,其相应的检测门限也与CDIF不同。

        首选计算相邻两脉冲的TOA差构成第一级差直方图。如果差直方图中只有一个位置超过门限,则把该值当作可能的PRI进行序列搜索;如果有几个超过门限的PRI值,计算下一级差直方图,直到只有一个位置超过门限。如果能成功地分离出相应序列,那么从采样脉冲列中扣除,并对剩余脉冲列从第一级形成新的SDIF差直方图;若序列检索不能成功地分离出相应的序列,则计算下一级的SDIF直方图,重复上述过程。

2.仿真效果预览

matlab2022a仿真结果如下:

 

 

 

3.MATLAB核心程序

clc;
clear;
close all;
warning off;
 
load data.mat
ysort = sort(t); 
N     = length(ysort); 
K     = 1000; 
Tao1  = 0; 
Tao2  = 10; 
b     =(Tao2-Tao1)/K; 
Cv    = zeros(1,K); 
Dv    = zeros(1,K); 
for i=1:K 
    Tao_s(i)=(i-1/2)*(Tao2-Tao1)/K+Tao1; 
end 
 
n     = 2; 
while n<=N 
    m=n-1; 
    while m>=1 
        Tao = ysort(n)-ysort(m); 
        if Tao>Tao1 & Tao<=Tao2
           for k=1:K 
               if Tao>(Tao_s(k)-b/2) & Tao<=(Tao_s(k)+b/2)
                  Dv(k) = Dv(k)+exp(2*pi*ysort(n)*j/Tao); 
                  Cv(k) = Cv(k)+1; 
               end 
           end
        end
        if Tao>Tao2 
           m = m - 1; break; 
        end
        if Tao<=Tao1 
           n = n + 1; break; 
        end 
        m = m - 1; 
    end 
    n = n + 1; 
end 
 
figure;
plot(Tao_s*100,abs(Dv),'b-*') ;
hold on                                                          %??????? 
plot(Tao_s*100,225./Tao_s,'r-') 
xlabel('PRI/us');
ylabel('PRI累积统计值') 
title('PRI变换法');
ylim([0,500]);
 01_175m

4.完整MATLAB

V

  • 0
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
雷达信号分选是一种对雷达接收到的信号进行处理和分类的方,常用于雷达性能测试、目标识别与跟踪等应用中。下面是一个经典的MATLAB代码示例,展示了三种常用的雷达信号分选包括PRI变换、CDIF和SDIF。 ```matlab % 生成示例信号,假设接收到的雷达信号是一个周期信号 fs = 1000; % 采样率 t = 0:1/fs:10; % 时域范围 f = 25; % 信号频率 x = cos(2*pi*f*t); % 原始信号 % PRI变换 [pks, locs] = findpeaks(x, 'MinPeakProminence', 0.5, 'MinPeakDistance', 100); pri = diff(locs); % 计算信号PRI % CDIF cdif = zeros(1, length(x)); for i = 2:length(x) cdif(i) = abs(x(i) - x(i-1)); end % SDIF sdif = zeros(1, length(x)); for i = 3:length(x)-2 sdif(i) = abs(x(i-2) - 2*x(i-1) + x(i)); end % 绘制结果 subplot(3,1,1); plot(t, x); title('原始信号'); xlabel('Time'); ylabel('Amplitude'); subplot(3,1,2); stem(locs(1:end-1)/fs, pri); title('PRI变换'); xlabel('Time'); ylabel('PRI'); subplot(3,1,3); plot(cdif); hold on; plot(sdif); title('CDIF和SDIF'); xlabel('Time'); ylabel('Value'); legend('CDIF', 'SDIF'); ``` 以上代码生成了一个示例信号,并使用MATLAB函数`findpeaks`找到信号的峰值和位置,计算PRI的差异,以进行PRI变换。然后,使用循环计算信号的CDIF和SDIF,并绘制了原始信号PRI变换结果以及CDIF和SDIF的值。这个示例仅包含了基础的雷达信号分选,可根据需要进行进一步的调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我爱C编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值