├── ArraryAntenna ├── Array_antenna.m └── Array_antenna_osinr.m ├── EchoProcess ├── CFAR.m ├── Monopulse.m ├── PDProcessing.m ├── PulseCompression.m └── Radar_DDC.m ├── Filter_Fusion ├── ExtendedKalmanFilter_EKF.m ├── Filtering.m ├── KalmanFilter.m ├── TrackFusion_EKF.m └── TrackFusion_Kalman.m └── README.md /ArraryAntenna/Array_antenna.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/ArraryAntenna/Array_antenna.m -------------------------------------------------------------------------------- /ArraryAntenna/Array_antenna_osinr.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/ArraryAntenna/Array_antenna_osinr.m -------------------------------------------------------------------------------- /EchoProcess/CFAR.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/EchoProcess/CFAR.m -------------------------------------------------------------------------------- /EchoProcess/Monopulse.m: -------------------------------------------------------------------------------- 1 | 2 | angle = -5:0.001:5; 3 | phi=0.1;%squint angle, o 4 | y1 = sinc(angle - phi); 5 | y2 = sinc(angle + phi); 6 | ysum = y1 + y2; 7 | ydif = y1 - y2; 8 | 9 | figure(1);hold on;grid on; 10 | plot(angle,y1); 11 | plot(angle,y2); 12 | xlabel('Angle/^o');ylabel('Amplitude'); 13 | title('Squinted patterns'); 14 | figure(2);grid on; 15 | subplot(211);plot(angle,ysum); 16 | xlabel('Angle/rad');ylabel('Amplitude'); 17 | title('Sum pattern'); 18 | subplot(212);plot(angle,ydif); 19 | xlabel('Angle/rad');ylabel('Amplitude'); 20 | title('Difference pattern'); 21 | 22 | dovrs = ydif./ysum; 23 | figure(3);grid on; 24 | plot(angle,dovrs);xlim([-1, 1]);ylim([-3, 3]); 25 | xlabel('Angle/rad');ylabel('Amplitude'); 26 | title('difference-to-sum ratio'); 27 | 28 | %% squint angle change 29 | angle = -5:0.001:5; 30 | phi=0.1:0.2:0.9;%squint angle, o 31 | for m=1:length(phi) 32 | y1 = sinc(angle - phi(m)); 33 | y2 = sinc(angle + phi(m)); 34 | ysum = y1 + y2; 35 | ydif = y1 - y2; 36 | 37 | dovrs = ydif./ysum; 38 | plot(angle,dovrs); 39 | hold on; 40 | end 41 | xlim([-1, 1]);ylim([-3, 3]);grid on; 42 | xlabel('Angle/rad');ylabel('Amplitude'); 43 | title('difference-to-sum ratio'); -------------------------------------------------------------------------------- /EchoProcess/PDProcessing.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/EchoProcess/PDProcessing.m -------------------------------------------------------------------------------- /EchoProcess/PulseCompression.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/EchoProcess/PulseCompression.m -------------------------------------------------------------------------------- /EchoProcess/Radar_DDC.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/EchoProcess/Radar_DDC.m -------------------------------------------------------------------------------- /Filter_Fusion/ExtendedKalmanFilter_EKF.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/Filter_Fusion/ExtendedKalmanFilter_EKF.m -------------------------------------------------------------------------------- /Filter_Fusion/Filtering.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/Filter_Fusion/Filtering.m -------------------------------------------------------------------------------- /Filter_Fusion/KalmanFilter.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/Filter_Fusion/KalmanFilter.m -------------------------------------------------------------------------------- /Filter_Fusion/TrackFusion_EKF.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/Filter_Fusion/TrackFusion_EKF.m -------------------------------------------------------------------------------- /Filter_Fusion/TrackFusion_Kalman.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/flappyimi/Radar-Basic-Algorithm/8905aa5c275d7464c1463f1ee954d98a42df05a5/Filter_Fusion/TrackFusion_Kalman.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Radar-Basic-Algorithm 2 | 一些可以在MATLAB中使用的基础雷达数据处理算法,目前可以分为以下三个部分: 3 | 4 | ## 回波数据处理 5 | 脉冲压缩、CA-CFAR恒虚警检测、PD测速、单脉冲测角等算法 6 | 7 | ## 滤波及数据融合 8 | 滤波包括了常增益滤波、卡尔曼(Kalman)滤波和扩展卡尔曼滤波(EKF) 9 | 数据融合采用BC和CC两种,基于KF和EKF实现 10 | 11 | ## 阵列信号处理 12 | 比较了不同设计准则下的输出信干噪比(OSINR),包括MPDR、SMI、RMI、对角加载(DL)、子空间投影(SISP) 13 | --------------------------------------------------------------------------------