通过MATLAB实现雷达数字化正交解调、数字脉冲处理、固定目标对消、动目标检测MTD、恒虚警CFAR处理

简介: 通过MATLAB实现雷达数字化正交解调、数字脉冲处理、固定目标对消、动目标检测MTD、恒虚警CFAR处理

1.算法描述

   发射信号为13位巴克码和线性调频混合调制的信号,线性调频的中心频率为30MHz,调频带宽为4MHz,每一位码宽为10微秒,发射信号的帧周期为1毫秒.该雷达具有数字化正交解调、数字脉冲处理、固定目标对消、动目标检测(MTD)、和恒虚警(CFAR)处理等功能.

  CFAR,全称是Constant False Alarm Rate Detector,恒定虚警概率下的检测器,是雷达目标检测的一种常见的手段.但是不论名字怎么起,检测器功能都在于判断目标存在的有和无。因此检测器的作用就变成了在含有噪声的情况下确定信号存在还是不存在。在我们不知道目标是否存在的情况下,目标检测就变成了根据两种可能的假设来做出判决,此时这个问题我们称为二元假设检验问题。来复习一下学过的课程,二元假设检验问题。

动目标检测(MTD)

   MTD (moving targets detection)是带通滤波器组,也就是多个输入多个输出,可以用FIR 组实现,但是一般用FFT 实现,即对不同脉冲组回波信号的相同距离单元做FFT 处理,N 个输入得到N 个输出,CACFAR 既是对这N 个输出进行检测和判断目标!若存在目标,这N 个输出中比出现一个峰值最大的数,则这个可能就是目标的位置信息,根据位置信息,即可以得到运动目标的多普勒值。MTD雷达系统中区分运动目标和杂波在于它们速度上的差别。由于速度不同而引起回波信号的多普勒频率不相等,所以可以通过多普勒频率的不同将杂波和运动目标区分开来。动目标检测(MTD)不仅能滤除杂波,而且还可以将不同运动速度的目标区分开来,从而大大改善了在杂波背景下检测运动目标的能力。

1.png

相位检波器混频:将上述混频得到的中频信号再混频得到。

恒虚警(CFAR)

    恒虚警率CFAR是Constant False-Alarm Rate的缩写。在雷达信号检测中,当外界干扰强度变化时,雷达能自动调整其灵敏度,使雷达的虚警概率保持不变,这种特性称为恒虚警率特性。恒虚警率的获得方法有两种:参量法和非参量法。

    恒虚警率检测是雷达目标自动检测的一个重要组成部分,可以作为从SAR图像中提取目标的第一步,是进一步识别目标的基础。虚警率是指侦察设备在单位时间内将噪声或其他干扰信号误判为威胁辐射源信号的概率。而恒虚警率检测则证明了检测算法的稳定性和可靠性。

    雷达信号恒虚警率检测就是要求虚警概率保持恒定,这主要是因为在雷达信号检测中,信号的最佳检测通常采用奈曼-皮尔逊准则,即在保持恒定的虚警概率的条件下,使正确检测的概率达到最大值。在雷达信号的检测过程中,如果虚警目标太多。使计算机的处理能力达到饱和,势必影响正常目标的检测,保持雷达信号的恒虚警率检测可以有效地解决这个问题,所以恒虚警率检测具有很大的实际意义。但遗憾的是:在雷达信号检测中,由于各种干扰强度是随机的,如果采用固定门限,将难以保证信号的恒虚警概率检测。

2.png

2.matlab算法仿真效果
matlab2022a仿真结果如下:

3.png
4.png
5.png
6.png
7.png
8.png
9.png

3.MATLAB核心程序

n=0:N-1;
s1=s(1:N);
local_oscillator_i=cos(2*pi*f0/fs*n);    % I路本振信号
local_oscillator_q=sin(2*pi*f0/fs*n);    % Q路本振信号
fbb_i = local_oscillator_i.*s1;          % I路解调
fbb_q = local_oscillator_q.*s1;          % Q路解调
window=chebwin(51,40);         % 50阶cheby窗的FIR低通滤波器
[b,a]=fir1(50,2*B/fs,window);
fbb_i=[fbb_i,zeros(1,25)];     % 因为该FIR滤波器有25个采样周期的延迟,为了保证
                               % 所有有效信息全部通过滤波器,故在信号后补25个0
fbb_q=[fbb_q,zeros(1,25)];
fbb_i=filter(b,a,fbb_i);
fbb_q=filter(b,a,fbb_q);
fbb_i=fbb_i(26:end);           % 截取有效信息
fbb_q=fbb_q(26:end);           % 截取有效信息
fbb=fbb_i+j*fbb_q;
 
%-------- 产生理想线性调频脉冲压缩匹配系数 ---------%
D = B*tao;
match_filter_1=ts*fliplr(conj(fbb))*sqrt(D)*2/tao;
NFFT = 131126;%2^nextpow2(length(s));
match_filter_1_fft=fft(match_filter_1,NFFT);    % 第一次脉冲压缩处理匹配系数
figure;
subplot(2,1,1),plot(real(match_filter_1_fft)),title('脉冲压缩系数(实部)');
subplot(2,1,2),plot(imag(match_filter_1_fft)),title('脉冲压缩系数(虚部)');
 
N=length(s);
n=0:N-1;
local_oscillator_i=cos(2*pi*f0/fs*n);    % I路本振信号
local_oscillator_q=sin(2*pi*f0/fs*n);    % Q路本振信号
fbb_i = local_oscillator_i.*s;          % I路解调
fbb_q = local_oscillator_q.*s;          % Q路解调
window=chebwin(51,40);         % 50阶cheby窗的FIR低通滤波器
[b,a]=fir1(50,0.5,window);
fbb_i=[fbb_i,zeros(1,25)];     % 因为该FIR滤波器有25个采样周期的延迟,为了保证
                               % 所有有效信息全部通过滤波器,故在信号后补25个0
fbb_q=[fbb_q,zeros(1,25)];
fbb_i=filter(b,a,fbb_i);
fbb_q=filter(b,a,fbb_q);
fbb_i=fbb_i(26:end);           % 截取有效信息
fbb_q=fbb_q(26:end);           % 截取有效信息
signal=fbb_i+j*fbb_q;
clear fbb_i;clear fbb_q;clear local_oscillator_i;clear local_oscillator_q;
 
signal_fft=fft(signal,NFFT);
pc_result_fft=signal_fft.*match_filter_1_fft;
pc_result=ifft(pc_result_fft,NFFT);
figure,plot((0:ts:length(signal)*ts-ts),pc_result(1:length(signal)));
xlabel('t(单位:S)'),title('回波脉冲压缩处理结果');
 
t=tao*length(code);
match_filter_2=2*ts*fliplr(conj(pc_result))*2/t;
match_filter_2_fft=fft(match_filter_2,NFFT);    % 第二次脉冲压缩处理匹配系数
figure;
subplot(2,1,1),plot(real(match_filter_2_fft)),title('脉冲压缩系数(实部)');
subplot(2,1,2),plot(imag(match_filter_2_fft)),title('脉冲压缩系数(虚部)');
 
%%%%%%%%%%%%%%%%%%% 产生雷达回波 %%%%%%%%%%%%%%%%
f_frame=1e3;        % 雷达发射信号重复频率
T_frame=1/f_frame;
N_echo_frame=18;
 
f_doppler=3.5e3;    % 动目标的多普勒频率
t_frame=0:ts:T_frame-ts;
t_mobj=200e-6;      % 动目标位置
echo_mobj_pulse=[zeros(1,t_mobj/ts),s,zeros(1,(T_frame-t_mobj)/ts-length(s))];
echo_mobj=repmat(echo_mobj_pulse,1,N_echo_frame);
t_doppler=0:ts:N_echo_frame*T_frame-ts;
s_doppler=cos(2*pi*f_doppler*t_doppler);
s_echo_mobj=echo_mobj.*s_doppler;
 
t_fobj=450e-6;      % 固定目标位置
echo_fobj_pulse=[zeros(1,t_fobj/ts),s,zeros(1,(T_frame-t_fobj)/ts-length(s))];
echo_fobj=repmat(echo_fobj_pulse,1,N_echo_frame);
 
t_clutter=700e-6;   % 杂波位置
t_clutter_pulse=39e-6;
sigma=2;            % 杂波瑞利分布参数sigma
t1=0:ts:t_clutter_pulse-ts;
u=rand(1,length(t1));
echo_clutter=0.08*sqrt(2*log(1./u))*sigma;    % 产生瑞利分布信号
s_echo_clutter_pulse=[zeros(1,t_clutter/ts),echo_clutter,...
            zeros(1,round((T_frame-t_clutter)/ts-length(echo_clutter)))];
s_echo_clutter=repmat(s_echo_clutter_pulse,1,N_echo_frame);
 
s_noise=0.1*rand(1,round(N_echo_frame*T_frame/ts));
 
s_echo=s_echo_mobj+echo_fobj+s_echo_clutter+s_noise;
A82
相关文章
|
2月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
2月前
|
算法 5G 数据安全/隐私保护
MIMO系统中差分空间调制解调matlab误码率仿真
本项目展示了一种基于Matlab 2022a的差分空间调制(Differential Space Modulation, DMS)算法。DMS是一种应用于MIMO通信系统的信号传输技术,通过空间域的不同天线传输符号序列,并利用差分编码进行解调。项目包括算法运行效果图预览、核心代码及详细中文注释、理论概述等内容。在发送端,每次仅激活一个天线发送符号;在接收端,通过差分解调估计符号和天线选择。DMS在快速衰落信道中表现出色,尤其适用于高速移动和卫星通信系统。
|
4月前
|
Windows
基于MATLAB实现的OFDM仿真调制解调,BPSK、QPSK、4QAM、16QAM、32QAM,加性高斯白噪声信道、TDL瑞利衰落信道
本文通过MATLAB仿真实现了OFDM系统中BPSK、QPSK、4QAM、16QAM和32QAM调制解调过程,并在加性高斯白噪声信道及TDL瑞利衰落信道下计算了不同信噪比条件下的误比特率。
270 4
基于MATLAB实现的OFDM仿真调制解调,BPSK、QPSK、4QAM、16QAM、32QAM,加性高斯白噪声信道、TDL瑞利衰落信道
|
6月前
|
存储 算法
基于布谷鸟搜索的多目标优化matlab仿真
该程序运用布谷鸟搜索算法进行多目标优化,设置三个目标函数,生成三维优化曲面和收敛曲线。在MATLAB2022a中运行,显示了迭代过程中的优化结果图。算法基于布谷鸟的寄生繁殖和列维飞行行为,通过非支配排序和拥挤度计算处理多目标问题。迭代中,新解不断被评估、更新并加入帕累托前沿,最终输出帕累托前沿作为最优解集。
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的64QAM解调算法matlab性能仿真
**算法预览图省略** MATLAB 2022A版中,运用BP神经网络进行64QAM解调。64QAM通过6比特映射至64复数符号,提高数据速率。BP网络作为非线性解调器,学习失真信号到比特的映射,对抗信道噪声和多径效应。网络在处理非线性失真和复杂情况时展现高适应性和鲁棒性。核心代码部分未显示。
|
7月前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的32QAM解调算法matlab性能仿真
```markdown - 32QAM解调算法运用BP神经网络在matlab2022a中实现,适应复杂通信环境。 - 网络结构含输入、隐藏和输出层,利用梯度下降法优化,以交叉熵损失最小化为目标训练。 - 训练后,解调通过前向传播完成,提高在噪声和干扰中的数据恢复能力。 ``` 请注意,由于字符限制,部分详细信息(如具体图示和详细步骤)未能在摘要中包含。
|
7月前
|
机器学习/深度学习 算法
基于BP神经网络的QPSK解调算法matlab性能仿真
该文介绍了使用MATLAB2022a实现的QPSK信号BP神经网络解调算法。QPSK调制信号在复杂信道环境下受到干扰,BP网络能适应性地补偿失真,降低误码率。核心程序涉及数据分割、网络训练及性能评估,最终通过星座图和误码率曲线展示结果。
|
7月前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的16QAM解调算法matlab性能仿真
这是一个关于使用MATLAB2022a实现的16QAM解调算法的摘要。该算法基于BP神经网络,利用其非线性映射和学习能力从复数信号中估计16QAM符号,具有良好的抗噪性能。算法包括训练和测试两个阶段,通过反向传播调整网络参数以减小输出误差。核心程序涉及数据加载、可视化以及神经网络训练,评估指标为误码率(BER)和符号错误率(SER)。代码中还包含了星座图的绘制和训练曲线的展示。
|
7月前
|
算法 SoC
基于多目标粒子群算法的配电网储能选址定容(含MATLAB程序)
基于多目标粒子群算法的配电网储能选址定容(含MATLAB程序)
配电网多目标pareto重构+智能算法matlab
配电网多目标pareto重构+智能算法matlab

热门文章

最新文章