1.算法描述
随着现代信息对抗领域的发展,对雷达侦察系统的性能要求也越来越高,雷达信号分选技术在侦察系统中的应用也显得尤为重要。雷达信号分选主要是对接收到的脉冲序列进行去交错处理,并将提取的雷达信号特征信息进行调制方式识别及威胁等级评估,为作战策略和作战计划提供重要情报。在信号分选技术的发展进程中,新体制雷达也不断涌现,导致雷达信号的种类繁多、调制方式复杂,雷达信号分选难度不断升级。雷达信号分选技术研究,包括时域瞬时自相关法,频域复倒频分析法,调制域过零检测法,时频小波变换法。
随着科技的不断发展,电子战在现代战争中的地位日渐升高,已然成为继“海、陆、空、天”之后的第五维战场。雷达在电子战中具有举足轻重的作用,广泛应用在飞机、导弹、战舰以及防空系统中。其功能主要体现在对敌方雷达的侦察、干扰和摧毁,同时也要保护我方雷达免遭袭击[1]。雷达信号分选不论在对敌雷达侦察还是在反辐射导弹中,都具有关键性的作用。雷达信号分选的性能直接影响到侦察情报的准确性和反辐射导弹的打击成功率。所以,雷达信号分选技术一直是雷达对抗的关键技术,也是众多学者的研究热点。
频域分析法是利用信号的频率域进行分析的方法,倒谱分析法是频域分析法中的一种。
调制域分析法是对测量得到的信号载波幅度、信号载波频率和信号相位等信息进行运算分析,进而得到能够反映信号调制信息的特征参数的分析方法。调制域分析法可以对各种复杂脉内调制信号进行有效分析,并且对脉内无意调制信息也有一定的分析能力。
时频分析法是近来的一种很热门的研究方法,它是处理非平稳信号的有力工具。时频分析法的基本思想是:设计时间和频率的联合函数,通过联合函数反映信号在不同时间和不同频率处的能量强度。
2.仿真效果预览
matlab2022a仿真结果如下:
3.MATLAB核心程序
clear;
close all;
warning off;
%%
T = 5e-6;
B = 30e6;
SNR = 50;%加入噪声
%LFM信号的是一段正弦波形,
[St,t] = func_LPM(T,B);
% St = awgn(St,SNR,'measured');
tao = 200;
St_ = conj([St(end-tao+1:end),St(1:end-tao)]);
%瞬时自相关算法
for i = 1:length(St)
c(i) = St(i)*St_(i);
end
figure;
subplot(221)
plot(t*1e6,real(St));
xlabel('时间 t/s');ylabel('信号幅度');
title('LPM的实部');
grid on;axis tight;
ylim([-1.2,1.2]);
subplot(222)
plot(t*1e6,imag(St));
xlabel('时间 t/s');ylabel('信号幅度');
title('LPM的虚部');
grid on;axis tight;
ylim([-1.2,1.2]);
subplot(2,2,[3,4])
plot(real(c))
title('LPM的自相关分析——一段正弦波形');
xlabel('时间 t/s');ylabel('信号幅度');
%%
%PSK信号呈现为一条方波,
[St_psk,t]= func_psk(T,B);
% St_psk = awgn(St_psk,SNR,'measured');
St_psk_ = conj([St_psk(end-tao+1:end),St_psk(1:end-tao)]);
for i = 1:length(St_psk)
c_psk(i) = St_psk(i)*St_psk_(i);
end
figure;
subplot(221)
plot(t*1e6,real(St_psk));
xlabel('时间 t/s');ylabel('信号幅度');
title('PSK信号的实部');
grid on;axis tight;
xlim([-0.5,0.5]);
subplot(222)
plot(t*1e6,imag(St_psk));
xlabel('时间 t/s');ylabel('信号幅度');
title('PSK信号的虚部');
grid on;axis tight;
xlim([-0.5,0.5]);
subplot(2,2,[3,4])
plot(real(c_psk))
xlabel('时间 t/s');ylabel('信号幅度');
title('PSK的自相关分析——一条方波');
ylim([-1.2,1.2]);
%%
%FSK信号则为交变信号和直流信号的组合
[St_fsk,t]= func_fsk(T,B);
% St_fsk = awgn(St_fsk,SNR,'measured');
St_fsk_ = conj([St_fsk(end-tao+1:end),St_fsk(1:end-tao)]);
for i = 1:length(St_fsk)
c_fsk(i) = St_fsk(i)*St_fsk_(i);
end