MATLAB多目标多雷达跟踪融合软件开发(3)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

MATLAB多目标多雷达跟踪融合软件开发(3)

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)