APP下载

基于Python 的雷达信号处理软件开发

2021-08-07李鹏利李兴成

火力与指挥控制 2021年7期
关键词:信号处理波形可视化

李鹏利,李兴成

(空军工程大学防空反导学院,西安 710051)

0 引言

随着雷达的多功能化,雷达系统的设计与实现也愈加复杂,由于对雷达多个处理过程的仿真与测试相对繁琐,软件化雷达开始受到重视。相比于单一、固定的测试手段,软件化雷达仿真测试的灵活性、集成性与简便性开始显现出来。把雷达信号处理算法写入软件,其处理过程与实际雷达处理过程相同,对各过程进行仿真分析,能够帮助相关人员更好地了解雷达系统的运作并协助研究。

1 软件原理分析

雷达信号处理是指在雷达接收目标所反射的射频回波,经一系列相关处理变为中频信号,所要进行的一系列处理过程[3]。主要包括下变频、脉冲压缩、动目标显示(MTI)、动目标检测(MTD)、恒虚警检测(CFAR)。雷达信号处理过程如图1 所示。

图1 雷达信号处理过程

信号下变频是关键的一步,在此过程中,计算机高效的计算性能将得到充分的利用,对信号进行DSP 处理。它将模拟信号通过中频直接采样,而后经正交处理与低通滤波处理,得到正交的基带数字信号。

脉冲压缩技术,即匹配滤波器。它能最大限度地提高信号的信噪比,提升雷达的探测性能。匹配滤波器的脉冲响应为:

匹配滤波器输出的峰值瞬时SNR 写为:

其中,在td时刻达到最大信噪比,白噪声功率谱密度为N0/2,S0(t)为滤波器输出,E 为输入端信号能量。

杂波处理是雷达信号处理的主要工作之一,杂波形式众多,如云、雨、地杂波等。动目标显示技术利用杂波集中于零频附近的特征,通过脉冲间的对消处理来消除杂波,使运动目标显示出来。N 脉冲对消器的响应为:

其中,T 为时延,即T=1/f 雷达脉冲重复间隔。

今天的第二张照片是我的家乡,嘉善姚庄的桃源新村。10年前,这里作为嘉兴市“两分两换”的首批试点,率先实施这项新的土地改革政策。所谓的“两分两换”,就是把农民的宅基地和承包地分开,搬迁和土地流转分开,以宅基地置换城镇房产,以土地承包经营权置换社会保障。

动目标检测技术是在动目标显示技术处理的基础上对杂波更进一步的处理,使信号通过多普勒滤波器组来对目标进行测速。在信号处理中可直接使用MTD 处理,也可先通过MTI,再作MTD,具体情况由实际来定。

恒虚警检测技术是经上述处理后需作的最后一步信号处理,在检测中需计算随噪声变化的虚警概率,求得门限因子,并最终得到检测门限。恒虚警检测技术有多种算法,根据实际情况来进行选择,最常用的有单元平均恒虚警检测(CA-CFAR)与选大单元平均恒虚警检测(GO-CFAR)[4]。

2 软件设计与实现

2.1 软件总体框架设计

根据软件的实际需求分析,以面向对象编程思想为设计方法,应用Python 自带库Tkinter 编写而成。雷达信号处理系统采用分级化管理的设计方法,即各层之间各自执行对应功能,系统由人机交互层、数据处理层、数据显示层3 个层面实现。软件框架与功能模块如图2 所示。

图2 软件框架与功能模块

1)人机交互层即人机交互界面,控制相关仿真模块与仿真参数。软件主界面有4 种菜单模块可供选择,雷达波形仿真模块、雷达信号处理过程仿真模块、数据保存模块与图像格式修改模块,各模块之间分级管理。雷达波形仿真模块主要包括雷达四大波形,即简单脉冲波形、线性调频波形、相参脉冲串波形与相位编码波形。根据每种波形的不同特征来输入不同的参数,如脉宽、带宽、脉冲重复周期等,实现了不同的分析功能,主要包括时频域波形分析、模糊函数分析、斜率、模糊函数图三维切割等功能。

雷达信号处理过程仿真模块包括目标仿真分析与其他信号处理过程分析,可自定义添加噪声与杂波,并输入相关参数如射频频率、中频频率、速度、目标RCS、目标位置、目标个数,同时可设置雷达实际环境参数,选择是否加入干扰等进行仿真,来分析存在误差情况下的雷达信号处理情况。根据不同波形的选择,另外添加了对目标回波特征的分析,如线性调频波形的多普勒失配现象、相位编码波形的速度敏感性分析等。

数据保存模块与图像格式修改模块考虑到实际需求,为系统设计添加,数据保存功能可对每一部分仿真分析所得数据进行保存,用于数据分析、示波器演示等;图像格式修改可直接对数据可视化分析后的图片进行格式转换,格式众多,可满足不同需求,为发表文章、PPT 演示等所要求不同格式情况提供便利。

2)数据处理层是系统的关键与核心所在,系统内部使用执行时序控制与系统效率控制对程序运行进行控制。在雷达波形分析模块中,基本处理步骤首先对输入参数判断,若不符合要求则报错,若符合要求则对参数进行读取、预处理、而后暂存,等待可视化分析或数据保存。

在雷达信号处理模块中,除了参数判断、读取、预处理外,还加入了算法匹配,即根据不同波形所要仿真内容的不同来自动匹配不同算法,预处理后加入数据反馈对比这一程序步骤,用于判断实际处理结果是否符合预期结果,来选择暂存还是报错。

3)数据显示层,即可视化分析模块,基于Python 第三方库matplotlib[5-6],它 功能强大是Python 最主要的绘图库之一,可根据不同模块选择进行二维或三维数据可视化[7]。

2.2 软件关键技术实现

本软件基于Python 的Tkinter 库中的各类控件来搭建软件框架,在程序实现过程中共用到其自身库与第三方库等16 种。

雷达信号处理算法的实现,主要使用科学计算Numpy 库、数据分析Pandas 库[8]与信号处理Scipy库,其内部丰富的函数为算法的编写提供了有力的帮助。

雷达信号处理仿真处理时,处理的数据量一般较大,其处理过程均可进行可视化分析,这就意味着每一步都可进行数据暂存,这无疑加重了计算机CPU 的负担,所以需对系统内存进行合理、有效的管理设计。Python 作为一种高级编程语言,使用者无法对其内存进行直接操作,本文设计了一种系统能够通过自动对比数据量大小来选择合理的数据结构[9]存储数据,并通过管理数据对象来管理内存的方法。数据对象管理内部结构设计如图3 所示。

图3 数据对象管理内部结构

Python 内存管理是通过管理对象与堆来实现的。在雷达信号处理系统中,仿真时参数输入的数据较小,采用Tuple 结构来接收参数,在Python 中Tuple 所占的字节数小于List;在雷达信号处理各过程产生数据的方式采用生成器,即调用yield 函数,生成器的运行机制比普通数据生成方式更快且接收内存,然后把生产的数据通过Numpy 库中的array()函数暂存,通过调用函数计算各部分字节数大小,如果大于256 K,则通过Dict()类型来集中存储,并释放回收[10-11]原有对象占用内存,即将多个对象变为一个对象。Dict()类型具有映射功能,后期的数据分析能根据key-value 的对应关系很快找到各部分对应数据。Dict()类型本身就是一个占内存较大的结构类型,其字节的大小由内部对象个数决定,而不是由内部对象字节大小决定,因为其内部存储的是对象的地址,而不是对象本身。所以只有当信号处理各部分数据量大时,采用这种方法来管理内存才更为合适。值得一提的是,Python 内部动态分配内存时的阈值也是256 K。

数据对比分析是通过获取原有参数与结果比较,如在某个过程中在哪几个采样点应该出现预期的结果,这一步是很有必要的,如果使用此系统的人只是为了采集数据,而不进行可视化分析,那么就得保证得到的数据是正确的。在反馈结果正确与否部分,使用Python 的try-except 语法来进行控制。

3 软件测试和结果

3.1 软件运行测试

本软件设计了基于屏幕分辨率大小来显示界面,使界面显示更加人性化。由于仿真波形较多,以相参脉冲串波形为例进行仿真分析,系统参数已设置默认值,可自行修改。雷达波形仿真菜单界面与信号处理界面如图4 所示。

图4 雷达信号处理系统界面

雷达波形仿真界面参数较少,功能也较为简单,主要分析不同波形的相关性质,帮助理解与熟悉。图4(a)中波形相关参数为脉宽、脉冲重复周期与脉冲个数,可视化图形为模糊函数图像与时域波形。

雷达信号处理界面功能与参数较多,由目标位置参数计算时延,由目标速度参数计算多普勒频率。再结合其他目标信息与波形参数对目标进行仿真,即中频回波信号。图4(b)中可视化图形为经雷达信号处理后的恒虚警检测后的结果。具体参数信息如下页表1 所示。

表1 软件仿真参数(无干扰)

由最后的仿真结果可知,在系统存在一定虚警概率的情况下,所产生的数据是正确的,说明系统运行正常。

3.2 实验结果分析

雷达波形仿真模块在上文已基本提及,此处不再对其进行详细分析。基于表1 中的数据,主要对雷达信号处理系统实验结果按处理步骤进行可视化分析,如图5 所示。

图5 雷达信号处理

图5 中的可视化图形功能如图中标题所示,(a)中在加入噪声与杂波后,回波信号已无法分辨清楚,雷达信号处理就是从杂乱无章的信号中提取出目标信息;(b)中通过对中频信号进行下变频操作,使其降为基带信号,便于后期处理;(c)中脉冲压缩用来提高信噪比;(d)中动目标显示处理后,可以看出,目标的位置信息已显示出来,而具体速度却无法判断,即已经明确有运动目标;(e)中是经过MTI处理后进一步的处理,其具体速度信息已经明确,达到了测速的目的。

表1 中的参数不变,为雷达添加干扰信息与损耗,如下页表2 所示。

表2 干扰与损耗

图6 为添加压制性干扰与雷达、干扰器损耗后的恒虚警检测效果,当存在干扰时,雷达探测范围降低为10 km,检测到的目标的功率已明显降低,且较远目标未能检测到,造成目标丢失,并出现了较多的虚警。

图6 有干扰时的检测

图7 干扰下探测距离与检测概率关系

在多次改变目标距离参数其他参数不变的情况下,可得出探测距离与检测概率关系,随着目标距离的增大,检测概率会迅速降低,当目标距离超出干扰存在下雷达最大探测距离时,将不能够检测到目标(Pd<0.1),导致目标丢失。

4 结论

本文主要实现了基于雷达信号处理与软件设计相关理论知识的雷达信号处理系统,以Python 为设计开发语言,设计了一种多功能化同时兼具效率的雷达仿真系统,能够根据不同波形的不同特性进行直观、高效的可视化仿真分析,具有较强的实用性,可为相关人员提供实质性帮助。通过对软件的测试分析,从而证实了系统在设计与运行上的有效性。系统在干扰类型中只设计了压制性干扰中的自屏蔽干扰,后续还可对其进行拓展丰富。

猜你喜欢

信号处理波形可视化
正面碰撞车身加速度对乘员腿部损伤的影响
自然资源可视化决策系统
基于时域波形掩护的间歇采样干扰对抗研究
包装过程称量信号处理方法研究
极化正交编码波形雷达试验系统.
“雷达波形设计与运用专刊”编者按.
思维可视化
基于知识图谱的我国短道速滑研究可视化分析
复变函数级数展开的可视化实验教学
复变函数级数展开的可视化实验教学