1.算法描述
随着现代信息对抗领域的发展,对雷达侦查系统的功用要求也越来越高,雷达信号分选技能在侦查系统中的应用也显得尤为重要。雷达信号分选首要是对接收到的脉冲序列进行去交错处理,并将提取的雷达信号特征信息进行调制方式辨认及威胁等级评估,为作战策略和作战方案供给重要情报。在信号分选技能的发展进程中,新体制雷达也不断涌现,导致雷达信号的种类繁多、调制方式杂乱,雷达信号分选难度不断晋级。雷达信号分选技能研讨,包含时域瞬时自相关法,频域复倒频剖析法,调制域过零检测法,时频小波变换法。
随着科技的不断发展,电子战在现代战争中的地位日渐升高,已然成为继“海、陆、空、天”之后的第五维战场。雷达在电子战中具有举足轻重的效果,广泛应用在飞机、导弹、战舰以及防空系统中。其功用首要体现在对敌方雷达的侦查、搅扰和摧毁,一起也要维护我方雷达免遭突击[1]。雷达信号分选不管在对敌雷达侦查还是在反辐射导弹中,都具有关键性的效果。雷达信号分选的功用直接影响到侦查情报的准确性和反辐射导弹的打击成功率。所以,雷达信号分选技能一直是雷达对抗的关键技能,也是很多学者的研讨热点。
频域剖析法是利用信号的频率域进行剖析的办法,倒谱剖析法是频域剖析法中的一种。
调制域剖析法是对测量得到的信号载波起伏、信号载波频率和信号相位等信息进行运算剖析,进而得到可以反映信号调制信息的特征参数的剖析办法。调制域剖析法可以对各种杂乱脉内调制信号进行有效剖析,而且对脉内无意调制信息也有必定的剖析才能。
时频剖析法是近来的一种很热门的研讨办法,它是处理非平稳信号的有力工具。时频剖析法的基本思想是:设计时刻和频率的联合函数,通过联合函数反映信号在不一起间和不同频率处的能量强度。
2.仿真效果预览
matlab2022a仿真结果如下:
3.MATLAB核心程序 `clc;
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`