常规雷达信号软件仿真平台设计

常规雷达信号软件仿真平台设计

雷达仿真技术经过三十多年的发展和研究,已经成为雷达研究和使用中必备的基础工具。雷达信号仿真是电子战威胁环境仿真的关键技术之一。本课题主要讨论的是雷达信号仿真部分,并结合一些常见的雷达信号处理系统的实例来说明Matlab软件在雷达信号处理系统仿真中的应用。

一、课题研究现状

计算机辅助分析和设计技术发展十分迅速,出现了大量实用仿真软件与工具,并应用于信号调制建模,分析和设计,使得信号调制仿真发展很快。计算机辅助技术基本上有两大类,一是基于公式的方法,用计算机计算复杂的公式;二是用计算机仿真系统的信号波形,即波形级仿真。
现代计算机软硬件技术的快速发展,新一代的可视化的仿真软件的使用使得信号调制仿真的设计和分析过程变得相对直观和便捷,推动了信号调制仿真的快速发展。

二、课题目的及意义

在硬件实验系统中,用各种电子元器件制作出信号调制中的理论模型所规定的各个模块,再把它们通过导线或电缆等接在一起,然后再用示波器、频谱议、误码仪等信号调制仪表做各种测量,最后分析测量结果。在软件实验中我们也是这样做,只不过所有信号调制模块及信号调制仪表的功能都是用程序来实现的,信号调制的全过程在计算机中仿真运行。
与硬件实验相比,软件实验具有如下一些优点:

  • 软件实验具有广泛的适应性和极好的灵活性。在硬件实验中改变系统参数也许意味着要重做硬件,而在软件实验中则是改一、两个数据,甚至只是在屏幕上按几下鼠标。
  • 软件实验更有助于我们较为全面地研究信号调制。有许多问题,通过硬件实验来研究可能非常困难,但在软件实验中却易于解决。
  • 硬件实验的精确度取决于元器件及工艺水平,软件实验的精度取决于CPU的运算速度或者说是程序的运算量。
  • 软件实验建设开发周期短,成本低。

三、课题任务

课题在研究了信号调制原理的基础上,结合战场上更复杂的环境,使用matlab编程软件编写了AM、FM、LFM、QPSK信号生成代码。模拟战场对雷达信号进行了加噪以及调制信号的相互混合处理,在实验过程中使用matlab编写了一个GUI界面展示对应的仿真结果。
该仿真设计基本满足以下设计要求:

  • 设计一个GUI界面,能仿真出一些常见的雷达信号,可以在界面上设置参数来仿真不同类型的信号。
  • 能够把任意的信号进行混合叠加,得到它们对应的时域图。
  • 可以在界面上加入白噪声,设计出不同信噪比下的信号以及相应的时域图。
  • 设计不同的脉冲间隔方式,包括固定间隔、逐步递进、正弦间隔等三种间隔方式。

四、课题问题及解决方案

  • 设计出任意条件的雷达信号参数:
    本课题以matlab的GUI界面展现,通过获取可编辑文本框的相关参数,以此生成任意参数的雷达信号,同时由于普通笔记本电脑内存有限,故生成的信号频率与采样时间不能过大。
  • 任意信号的叠加:
    在信号处理中经常需要把两信号相叠加以生成新的信号供实验使用,但是在叠加时两信号的采样频率可能会不一样,因此需要在两信号相加之前进行信号维度的校准,同时再叠加噪声时因为matlab在进行信号叠加时会有对于两信号采样频率之积要小于2^31的要求,同时雷达的信号采样频率一般较高,因此在直接进行采样频率校准时需将两信号采样频率拆成多个频率相乘即可。
  • 不同的PRI及不同抖动范围:
    本课题的PRI采用线性及正弦波形式,线性采用三角波形式,因为是以其抽样幅值为PRI,因相对于脉冲长度幅值较小,故在幅值后乘以基波的抽样频率。同时为了更加符合真实战场情况,加上一定的抖动范围,该抖动范围是可编辑文本框中读取,后在三角波或者正弦波抽样幅值进行更改。

五、雷达信号

matlab及仿真平台简介

Matlab简介:
MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,完善MATLAB产品以提高产品自身的竞争能力。
MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言一M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。
句柄图形及用户图形界面:
句柄图形(Handle Graphics)就是将一个图形的每一个组件都视为一个对象(0bject),每一个对象都有一个独一无二的句柄(handle),根据这个句柄,就可以找到这个对象(即图形组件)的各项属性,并进而更改这些属性,以产生不同的图形呈现效果。
图形用户界面GUI(Graphics User Interface)是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交流信息的工具和方法,在该界面内,用户可以根据界面提示完成整个工程,却不必去了解工程内部是如何工作的。GUI设计即可以基本的MATLAB程序设计为主,也可以鼠标为主利用GUIDE工具进行设计。
利用GUIDE设计图形用户界面时,可通过GUI应用属性设置编辑器来设置对句柄操作的响应,findobj命令可以获得所需对象的句柄。
GUIDE:
GUIDE(Graphics User Interface Design Environment)是一个专用于GUI程序设计的快速开发环境,使用者通过鼠标就能迅速地产生各种GUI控件,并随心所欲地改变它们的外形、大小及颜色等,从而帮助用户方便地设计出各种符合要求的图形用户界面。调用GUIDE的方法有2种,在MATLAB命令窗口中输入guide命令,或在MATLAB主菜单中点击File→New→GUI即可打开一个可编辑的新窗口。
GUI 设计工具简介
GUI 设计面板是上述GUI设计工具应用的平台,如图所示,面板上部提供了菜单和常用工具按钮,左边提供了多种GUI控件,如按钮、单选按钮、复选框、文本框等。进行GUI设计时,首先单击GUI面板左边所需的控件,然后在右边的图形界面编辑区中再次单击某一恰当的位置,这时将在该位置上为图形界面添加一相应的控件,接下来,通过属性编辑器和对齐编辑器对各控件设置相关属性和进行界面布置,以完善界面功能。

常规雷达信号软件仿真平台设计
式中fc为载波频率,rect(t/T)为矩形信号,K=B/T是调频斜率,于是信号的瞬时频率为
常规雷达信号软件仿真平台设计0) (b)down-chirp(K
则up-chirp信号可写为:
常规雷达信号软件仿真平台设计
是信号s(t)的复包络。由傅立叶变换性质,S(t)与s(t)具有相同的幅频特性,只是中心频率不同而以,因此,Matlab仿真时,只需考虑S(t)。
如下图即为仿真波形
常规雷达信号软件仿真平台设计
在0到之间,i=1,2,3,4中取值。其中为四进制符号间隔,(i=1,2,3,4)为正弦载波的相位,有四种可能的状态。其产生框图如下:
常规雷达信号软件仿真平台设计

噪声信号
在现实的战场环境中,没有单一的、不变的雷达信号,由于环境的复杂性和干扰性,空间中充满着各种各样的噪声,以及传播着各式各样的信号,因此环境并不能简单地调制出雷达信号,还需要模拟出噪声,与目标雷达信号混合。然而
由于环境特殊性,还有必要将信号进行混合叠加,尽可能地还原真实战场环境。
由于高斯白噪声能够反映实际通信信道中的噪声情况,能够比较真实的反映信道噪声的一些特性,并且可以用具体的数学表达式表示,适合分析、计算系统的抗噪声性能,所以广泛应用于通信系统的理论分析。
高斯噪声指的是它的概率密度函数服从正态分布的噪声。高斯分布,记为N
(μ,),其中μ为高斯分布的均值(数学期望),为高斯分布的方差,当μ=0,=1时,该分布称为标准正态分布。高斯分布的一维概率密度可表示为式:

常规雷达信号软件仿真平台设计

不同脉冲间隔PRI信号产生
每秒种产生的触发脉冲数目,称为脉冲重复频率,以PRF(Pulse-Recurrence-Frequency) 表示。两个相邻脉冲之间的时间间隔,称为脉冲重复周期,用T表示,它等于脉冲重复频率的倒数,即PRI。

  • PRI以正弦函数为包络的可调抖动范围信号
    本实验采用以可调频率与幅度的正弦波的抽样幅值为脉冲重复周期,由于抽样幅值相对于脉冲宽度过小,因此在进行调整脉冲重复周期时采用乘以基波频率。由于周期不能为负值,因此对于普通正弦波要取绝对值。同时为了达到更接近真实战场环境,在进行以正弦波抽样幅值为脉冲抽样幅值时,添加可随机抖动的较小幅值,同时随机抖动的范围可调[3]。
    如下图为以幅值为0.5,频率为1000hz,抖动范围为0.1,基波为普通正弦波的仿真信号波形。
    常规雷达信号软件仿真平台设计

雷达信号叠加

简单信号叠加
在信号处理中经常需要把两信号相叠加以生成新的信号供实验使用,但是在叠加时两信号的维度一般不同,因此需要在两信号相加之前需要进行两信号维度的校准。如下图,是普通正弦波与线性调频信号叠加效果。

常规雷达信号软件仿真平台设计
常规雷达信号软件仿真平台设计

六、仿真实验

  • GUI仿真界面展示
    本文的实验环境为matlab,在实验过程中使用matlab编写了相应的调制代码来对实际的调制过程进行仿真,实验过程中还考虑了噪声对调制的影响。为了更好地展示论文中的学习成果,本文在编写好相应的调制的代码后设计了一个展示系统的GUI界面,该界面主要负责选择相应的调制方式并展示出对应的调制结果,GUI界面的部分代码如下:

常规雷达信号软件仿真平台设计
  • AM,FM生成
    如下图所示,从幅值与频率两个可编辑文本框中读取幅值频率。
    常规雷达信号软件仿真平台设计
  • QPSK信号生成
    如图4.6.5所示,从可编辑文本框中读取输入数值,其中主要代码如下:
    %————————-将信息源分成两路 ,分别对信号进行抽样————-
    data_1=zeros(1,N); %定义一个长度为N的空数据data_1
    for i1=1:Num/2
    data_1(sample*(i1-1)+1:samplei1)=data1(2i1-1); %对奇数码元进行采样
    end
    data_2=zeros(1,N);
    for i2=1:Num/2
    data_2(sample*(i2-1)+1:samplei2)=data1(2i2); %对偶数码元进行采样
    end

    for j1=1:N
    a(j1)=cos(2pif*(j1-1)Ts/Ns); %对余弦载波抽样每个周期采N个点
    b(j1)=-sin(2
    pif(j1-1)*Ts/Ns); %对正弦载波抽样每个周期采N个点
    End
    %—————————调制—————————
    data_a=data_1.*a; %a路用余弦调制
    data_b=data_2.*b; %b路用正弦调制
    常规雷达信号软件仿真平台设计
    主要代码如下:
    [filename1,pathname1]=uigetfile(’.wav’,‘请选择语音信号文件1:’);
    [X1,fs1]=audioread([pathname1 filename1]);
    T = 0.1;%采样时间
    f = fs1;%采样率
    t = 0:1/f:(T-1/f); % 采样点
    y = abs(A
    cos(2piF*t));%由于周期不能取负数,故取绝对值

    x = length(y);
    z1 = 1;
    wavin1 = [];%wavin1存储周变化的新的脉冲信号
    for i = 1:x
    z = fix(y(i)fs1/100); %代表周期以正弦波的形式存在
    k1 = k
    10000;
    k2 = rand(1,k1);
    k3 = k2/10000;
    z = fix((1-k3)*z);
    wavin1(z1:z1 + length(X1) – 1) = X1(1:length(X1));
    z1 = z + length(wavin1);
    wavin1((z1 – z):z1) = 0;
    end
  • PRI以三角波为包络的可调抖动范围信号
    如下图所示,从最大值与抖动范围可编辑文本框中读取输入数值
    常规雷达信号软件仿真平台设计
    主要代码如下:
    [filename,pathname]=uigetfile(’.wav’,‘请选择语音信号文件:’);
    [X,fs]=audioread([pathname filename]);
    t=(0:2/(2^5):2);
    y = (k1/2)sawtooth(pi(t),0.5)+k1/2+1;

    wavin1 = [];%wavin1存储周变化的新的脉冲信号
    for i = 1:x
    k11 = k2
    10000;
    k22 = rand(1,k11);
    k3 = k22/10000;
    z = fix(y(i)100(1-k3)); %代表周期以三角波的形式存在
    wavin1(z1:z1 + length(X) – 1) = X(1:length(X));
    z1 = z + length(wavin1);
    wavin1(z1 – z:z1) = 0;
    end
  • 普通信号叠加仿真
    两信号叠加主要代码如下:
    function [Y] = add(X,filepath_name,fs)%X:调制信号,filepath_name:叠加的信号,调制信号的采样频率
    wavin = [];
    [wavin,fs1]=audioread(filepath_name);
    if fs1~=fs
    a=resample(wavin,fix(fs/100),fix(fs1/100));
    wavin=resample(a,100,100);
    end
    nx=size(X,1);
    wavin=wavin(1:nx);
    Y = X + wavin;
  • 不同SNR信号叠加仿真
    不同SNR信号叠加与普通信号叠加相似,只是在输入信号的功率比上要手动设置,主要代码如下:
    function [Y,NOISE] = SNR(X,filepath_name,SNR,fs)%X:叠加前的信号,filepath_name:噪声信号,fs:叠加前信号的采样频率
    [wavin,fs11]=audioread(filepath_name);
    if fs11~=fs
    a=resample(wavin,fix(fs/100),fix(fs11/100));
    wavin=resample(a,100,100);
    end
    nx=size(X,1);
    NOISE=wavin(1:nx);
    NOISE=NOISE-mean(NOISE);
    signal_power = 1/nx*sum(X.*X);
    noise_variance = signal_power / ( 10^(SNR/10) );
    NOISE=sqrt(noise_variance)/std(NOISE)*NOISE;
    Y=X+NOISE;
  • 七、课题总结

    课题由matlab实现了雷达信号的仿真,加噪处理以及信号的相互混合叠加。
    通过设置信号参数来实现信号的仿真,达到尽可能模拟战场环境的目的。经过短暂的研究工作,我深深感到信号调制仿真这一领域要研究的内容还非常多,自己研究的内容在很多方面还需要不断改进,有以下几个方面是可以继续改进或深入的:

    • 课题在深刻理解信号调制理论的基础设计了大量的仿真模型,但是这些模型仅仅对雷达信号的调制进行了模拟,虽然能说明一定问题,但整体规划比较小,今后应该研究比较复杂的信号调制。
    • 课题在设计仿真模型时,主要是针对当前系统的信噪比发生变化时,系统性能变化状况。虽然信噪比是研究信号调制性能分析非常重要的参量,它对信号调制系统的影响是很大,但还可以拓宽思路,结合信号调制系统的其他重要参量,设计仿真模型,对系统性能进行更全面的分析。
    • 课题所使用的仿真软件是matlab,通过matlab编写相应的程序可以对信号进行各种叠加后仿真,还可以设计出相应的GUI界面,使得结果的展示变的更加直观,但还有其他仿真性能优异的仿真软件,比如在数字通信系统中常用的SystemView,它在数字通信系统中的应用非常广泛。所以,在今后的研究,设计仿真模型时,可利用多种仿真软件,发挥各种软件的特长。
    • 同时在进行某些信号生成时所用时间较长,归根到底还是未使用较好的算法,只用了较为简单的算法,所以在今后将学习更多的高效的算法以支撑起信号的快速生成。

    八、参考文献

    [1]肖冬荣.系统科学及其当前存在的问题[J].系统工程理论与实践,1990.
    [2]陈桂明等.应用MATLAB建模与仿真[M].北京:科学出版社,2001.
    [3]丁鹭飞,耿富录.雷达原理[M].西安:西安电子科技大学出版社,2002.
    [4]张葛祥,李娜.MATLAB仿真技术与应用[M].北京:清华大学出版社,2003.
    [5]赵树杰,赵建勋.信号检测与估计理论·[M].北京:清华大学出版社,2005.
    [6]Mahafza B R.雷达系统设计MATLAB仿真[M].北京:电子工业出版社,2009.

    九、搭建平台及代码

    相关代码
    GUI平台

    来源:爱学习滴好青年

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2020年1月2日
    下一篇 2020年1月2日

    相关推荐