Filtering in three-dimensional space, integrating radar observation data and the target’s motion model. Each radar observes three measurements: slant range + azimuth angle + elevation angle.
Table of Contents
- Program Explanation
- Results
- MATLAB Source Code
Program Explanation
In three-dimensional space, each radar observes three measurements: slant range + azimuth angle + elevation angle. Additionally, the target model is: constant velocity motion.
Using UKF (Unscented Kalman Filter), the nine measurements from the three radars are fused with the constant velocity motion model to obtain the UKF-related curves and results shown in the image above.
Results
3D Trajectory Comparison:

Error Curve:

Error Output:

MATLAB Source Code
Part of the code is as follows:
% 3 Radar 3D Target Tracking Filtering System - UKF Implementation
% Constant linear motion, customizable number of radars
% Input: Radar observation data (slant range, elevation angle, azimuth angle)
% Output: Target state estimation (position, velocity)
% 2025-11-09/Ver1, Author: matlabfilter (VX same number, for code customization and explanation)
clc; clear; close all;
% rng(0);
%% == System Parameter Configuration ===
% 【Modifiable】 Basic parameters
config.T =0.1;% Sampling period (s) - modifiable
config.total_time =60;% Total simulation time (s) - modifiable
config.num_steps = config.total_time / config.T;
% 【Modifiable】 Radar position configuration [x, y, z] (m) - fixed position, modifiable if needed
radar_positions =[
400,0,0;% Radar 1 position
200,0,0;% Radar 2 position
400,100,0];% Radar 3 position
% 【Modifiable】 Measurement noise standard deviation - adjust according to actual radar accuracy
config.sigma_range =0.01;% Slant range measurement noise standard deviation (m)
config.sigma_elevation =0.01;% Elevation angle measurement noise standard deviation (rad)
config.sigma_azimuth =0.01;% Azimuth angle measurement noise standard deviation (rad)
% 【Modifiable】 Process noise standard deviation - affects the filter's tracking capability
config.sigma_acc =1e-1;% Linear acceleration process noise standard deviation (m/s²)
config.sigma_omega =1e-1;% Angular velocity process noise standard deviation (rad/s)
% 【UKF Parameters】 Unscented transformation parameters
config.alpha =1e-2;% Controls sigma point distribution, typically between 0.001-1
config.beta =2;% Optimal value is 2 (Gaussian distribution)
config.kappa =3-6;% Typically 0 or 3-n
Download the complete code:
https://mall.bilibili.com/neul-next/detailuniversal/detail.html?isMerchant=1&page=detailuniversal_detail&saleType=10&itemsId=13525852&loadingShow=1&noTitleBar=1&msource=merchant_share
Or click on the “Read the original text” at the end of the article to jump
<span>If you need help or have custom code requirements related to navigation and positioning filtering, you can contact the author via WeChat below</span>

