MATLAB多目标多雷达跟踪融合软件开发(3)
时间:2022-03-06 20:03 来源:毕业论文 作者:毕业论文 点击:次
4 多目标雷达程序的实现 4。1 软件开发工具的介绍 根据选择,最适合用于开发多目标雷达软件的程序是MATLAB,MATLAB是相当实用的数据处理软件 开发公司:mathworks;发行年份:1984。优点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来; 2) 具有完备的图形处理功能,实现计算结果和编程的可视化; 3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握; 4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。缺点:循环运算效率较低,封装性不好。 4。2 需求分析 开发的应用软件为模拟实现雷达基本功能,可以同时追踪多个目标的软件程序,要求能在windows7。0版本及以上运行,能够较好的实现多目标追踪。具体功能需求如下: 1)实现模拟目标的生成。 2)实现杂波的产生。 3)能够设置一些雷达的基本参数。 4)可以处理数据之后将结果图像化的显示出来。 5)在实现以上功能的基础上,需要具备一些合理的人机交互。 4。3 界面 主界面展示图 4。4 功能模块 整个应用程序的设计主要分为以下三个模块,分别是目标产生、杂波生成、雷达仿真。功能模块图如图5。5所示: 功能模块图 4。5系统各模块功能 本项目的信号来源包括目标生成,杂波的产生,核心部分是雷达的模拟,其余功能还包括GUI颜色改变,一些参数的设置等。 1。目标的生成: 主要功能是生成可以被模拟的雷达系统感知到的目标,同时也是相当于实际应用中需要追踪的有意义目标,系统的主要作用就是发现并且追踪目标。代码如下: numMountains = get(handles。nMountains,'value')-1; for n =1: numMountains XY = ( rand(1,2)*1。8 - 0。9*ones(1,2) )*1e5; handles = placeClutter(handles,XY); end N = get(handles。nTargets,'value')-1; if N RCSc = cell(N,1); vc = cell(N,1); XYc = cell(N,1); ac = cell(N,1); maneuverability = cell(N,1); RCS = get(handles。RCS,'value'); temp = rand(1,N);文献综述 targetsRCS = (1+temp) * RCS; targetsCordinates = ( rand(N,2)*1。8 - 0。9*ones(N,2) )*1e5; %Targets X & Y initial cordinates targetsVelocity = randn(N,2)*1e2; % Targets initial velocity m/s for n=1:N RCSc{n} = targetsRCS(n); vc{n} = targetsVelocity(n,:); XYc{n} = targetsCordinates(n,:); ac{n} = [0 0]; maneuverability{n} = 1 + temp(n)*20; % small planes will perform more maneuvers end handles。Targets = struct('RCS',RCSc, 'XY',XYc, 'v', vc, 'a',ac, 'maneuverability',maneuverability); handles。targetManeuverTime = ones(N,1)*handles。currentTime; (责任编辑:qin) |