👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
任务的障碍是在 MATLAB/Simulink 提供的合成环境中开发和实现不同的传感器融合算法。提供的问题定义分为两个子部分。第一部分侧重于在具有各向同性干扰器行为的环境中开发某些传感器融合算法。本节重点介绍扩展卡尔曼、无迹卡尔曼和粒子滤波算法的实现,以估计非移动 GPS 干扰平台的位置。在第二部分中,干扰器模式在扩散过程中是各向异性的 行为。应使用先前开发的算法(扩展卡尔曼、无迹卡尔曼和粒子滤波器)来分析它们使用新干扰器模式的行为。作为任务的最后一部分,应该已经实现了新的 abd 未呈现的传感器融合算法。该算法的目标是改进各向异性干扰器行为情况下的位置估计
GPS干扰器定位方法
GPS干扰车的位置不能直接观察到,因此必须利用观测测量来观察。为了定位混淆GPS信号的目标,使用干扰信号的功率测量。这种方法称为接收信号强度(RSS)方法,通常用于能量发射源的定位。
无人机制导方法
用于无人机制导的制导方法是基于矢量场的路径跟踪。其中无人机首先遵循直线方法到达目标的估计位置。当无人机到达一定距离时,它开始沿着徘徊路径行驶。
传感器融合算法
该任务的目标是为各向同性和各向异性GPS干扰器模式开发和实现不同的传感器融合算法。实现了以下算法:
扩展卡尔曼滤波器
昂森特卡尔曼滤波器
粒子过滤器
扩展粒子过滤器
无厘头粒子过滤器
H-无限滤光片
自适应卡尔曼滤波
H-无限粒子过滤器
粒子过滤器重采样
已经采用了一套潜在的重新采样方法。该分析的目的是比较重采样方法在同一环境中的不同性能,并选择性能最佳的算法。已实施并调查了以下方法:
多项重采样
系统重采样
残余重采样
残差系统重采样
局部选择重采样
分层重采样
📚2 运行结果
2.1 UKF
2.2 PF
2.3 EKF
2.4 AEPF
2.5 AHINF
2.6 HIF
2.7 EPF
2.8 AKF
2.9 UPF
部分代码:
% ------------------------ Algorithm ------------------------------
% -----------------------------------------------------------------------
% The algorithm goes through: prompts & constants, simulation parameters,
% variable initialisation, main loop, error checking and plotting
% There are two distinct parts: the flyby section and the orbital
% adaptation main loop uses simple Euler integration to update the UAV
% dynamics and it updates filter parameters
% Matrices (or vectors) are in column form that is each new entry forms a
% new line i.e: A(k+1,:)=...
% WARNING: THE ONLY EXCEPTIONS are filters' states which are in line form
% i.e: A(:,k+)=...
% The floor function is used to get a integer out of a percentage of
% another integer e.g floor((5/100)*N_loops_fb): integer of 5/100 of total
% number of iterations of the simulation
% The rem (remainder) function is used to know if a number divided by
% another is an integer (Euclidian division)
% Workspace cleaning
clc; close all; clear all;
global d2r
% Constants (not to be modified)
d2r=pi/180; % Value in rad = Value in deg * d2r
r2d=1/d2r; % Value in deg = Value in rad * r2d
g_0=9.81; % Gravity acceleration assumd constant [m/s^2]
f_L1=1575.42*10^6; % L1 frequency [Hz]
c_0=299792458; % speed of light [m/s]
k_b=1.3806488*(10^(-23)); % Boltzmann constant
%%
% -----------------------------------------------------------------------
% -------------------- Simulation parameters ----------------------
% -----------------------------------------------------------------------
% Parameters (Simulation design): Change according to desired simulation
% Within the simulation, these are fixed
% Area parameters and number of iterations are global variables
global x_bnd y_bnd N_loops_fb
% Simulation parameters
D_T=1/2; % Sampling time of the simulation (for Euler integration) [s] - half a second is fine for filter accuracy and animation speed
t_0=0; % Initial time [s]
t_f_fb=4.5*60; % Final time for flyby [s] - Check with speed to know what distance will be travelled - 6 minutes at 30m/s is fine for straight flyby
t=(t_0:D_T:t_f_fb-t_0)'; % Time vector for flyby [s]
N_loops_fb=size(t,1); % Number of loops in the flyby simulation
t_f_vf=15*60; % Final time for the Vector field part. Note it is not its duration but the time at which it stops
t=(t_0:D_T:t_f_vf-t_0)'; % Time vector for whole simulation
N_loops_vf=size(t,1); % Total number of loops for the simulation
% Search Area parameters
x_bnd=12*10^3; % x area boundary [m]
y_bnd=12*10^3; % y area boundary [m]
A_area=x_bnd*y_bnd; % Area of search [m瞉
% Jammer parameters
% Static Jammer true location : located within a square centred
% inside the search area. These parameters are not known by the UAV
x_t_vec=place_jammer(); % See corresponding function. It places the jammer randomly in a square in the search area
% GPS jammer model for the simulation
P_t_min=1*(10^(-3)); % [W] - Generally around 1mW
P_t_max=650*(10^(-3)); % [W] - Generally 650mW
% Jammer power in the L1 band: to be adjusted for desired
% simulation. Assumed always constant (civil jammers)
% Jammer orientation
psi_jammer=0; % Degrees [0-360]
psi_jammer=psi_jammer*d2r; % In radians
% Jammer Gain distribution
% Load data: azimvals,elevvals and gainvals that are used in
% the simulink 'lookup' file
load('Ducati_jam2_LHCP.mat');
% Jammer power
P_t=(P_t_min+(P_t_max-P_t_min)*rand(1,1)); % Power [W] - Line to comment if the user wants to specify a given power within power bounds
% Display jammer power as it is an important simulation parameter
P_t_jammer_str=num2str(P_t*(10^3)); % convert to mW, then to string for display
disp('--> GPS jammer Power in L1 band for this simulation is :'); % display
disp([P_t_jammer_str,' mW']); % display
% Jammer gain
G_t=1; % Isotropic, lossless antenna []
% Jammer sweep range: [f_L1-f_min ; f_L1+f_max]
f_min=f_L1-30*10^6; % [Hz] - f_min and f_max around 10-20-30 MHz
f_max=f_L1+30*10^6; % [Hz]
% UAV parameters
% Initial position and heading
[x_vec psi_0]=place_uav(); % See corresponding function. It places the UAV randomly in a small square in the South-West area with a random heading
% Altitude-hold
h_0=125; % Constant altitude of the UAV [m]
% UAV airspeed
V_g=28.3; % Average Cruising Airspeed of the aerosonde [m/s]
V_min=15; % Minimum safe speed [m/s]
V_max=50; % Maximum safe speed [m/s]
% UAV minimum turn radius
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。