APP下载

基于虚拟仪器与FPGA的多类型信号模拟器设计

2019-03-19,,

计算机测量与控制 2019年3期
关键词:杂波模拟器雷达

,, ,

(西南电子技术研究所,成都 610036)

0 引言

信号模拟器在接收机研发、生产、测试过程中均发挥着重要的作用,一款可靠而优秀的信号模拟器既能准确而全面地对接收机进行测试,也能客观而真实地评价接收机的理论设计与实际性能。当前雷达回波信号模拟器[1-3]、塔康地面信标信号发生器[4]、水下目标回波发生器[5]等各类专用的信号模拟/发生器层出不穷。然而由于各类信号体制不一、生成方式各异,同时考虑到灵活性、成本等因素,难以通过对各类专用信号模拟/发生器进行简单叠加,从而得到普遍适用于各类接收机测试的多类型信号模拟器。为解决这一问题,一些学者对信号的软件模拟方法进行了研究[6-8],取得了一些成果。然而完成信号在软件中的生成后,普遍使用信号源、USB+FPGA或美国国家仪器公司(National Instruments, NI)的数据采集卡输出模拟信号。前者提高了系统成本,且一体化程度不高;后两者采集速率一般为1~10 MS/s,速率过低。因此开展兼具灵活性、低成本和高采集速率等特性的信号模拟器研究具有十分重要的意义。

基于虚拟仪器技术的系统开发平台可采用编程语言对各类信号的产生进行软件实现,其人机界面简单友好,参数设置灵活,具备一定的扩展性,对设计开发多类型信号模拟器的软件部分具有极大的优势。使用现场可编程门阵列(Field Programmable Gate Array, FPGA)平台进行处理,通过数模转换器(Digital Analog Converter, DAC)输出信号,具有成本较低与系统集成度高的优势。

本文以接收机测试常用的雷达、通信、杂波、干扰、噪声、回波等信号为对象,以LabWindows/CVI与Vivado为主要开发平台,基于虚拟仪器技术与FPGA技术,开展多类型信号模拟器的软硬件设计,实现多种类型信号的生成与输出。

1 系统总体方案设计

模拟器系统的结构如图1所示,使用单板机中的多类型信号模拟软件,通过设置各类参数,生成模拟信号数据,其中信号数据可导出为数据文件。同样,满足格式要求的外部数据文件可读取到模拟软件中。软件模拟箔条干扰信号时,需调用Matlab软件以提高计算速度。单板机通过外部控制器接口传输(Peripheral Component Interconnect Express, PCIE)总线与搭载FPGA的信号处理板相连,从而实现从多类型信号模拟软件到模拟器硬件的数据下载。

用户通过软件与FPGA,控制信号数据的数据下载、停止传输、断开连接。最终通过DAC模块输出低频、高频两路信号。

图1 系统结构框图

2 硬件电路设计

系统硬件集中在两块板卡上,其中单板机负责运行多类型信号模拟软件和Matlab软件。信号处理板负责对收到的信号进行存储与数模转换。两块板卡的载体为PXIe/PCIe机箱,通过背板上的PCIE总线实现两板卡之间的高速通信。

单板机系统为Windows7专业版,处理器为i7-2710QE,主频为2.1 GHz。满足LabWindows/CVI与Matlab对系统的要求。

信号处理板主要由FPGA、PCIE模块、DAC模块和第三代双倍数据速率(Double Data Rate 3 Gen, DDR3)存储器组成。

2.1 信号处理板设计

信号处理板的组成如图2所示,主要由FPGA单元和管理单元组成。其中管理单元负责板卡内电源管理、FPGA接口电平转换、时钟电源控制和配置。前面板配置有多路RS422和调试接口,支持外部参考时钟输入。背板连接8路吉比特收发器(Gigabyte Transceiver, GTx)接口、4路串行高速输入输出(Serial RapidIO, SRIO)接口和多路低压差分信号(Low Voltage Differential Signaling, LVDS)接口。

图2 信号处理板组成框图

信号处理板选用Xilinx Virtex-7系列的高性能FPGA xc7vx690tffg1761作为主控处理器,板卡上挂载了两片DDR3同步动态随机存取存储器(Synchronous Dynamic Random Access Memory, SDRAM)。

2.2 硬件接口设计

硬件接口包括存储接口、FMC接口、背板接口。

存储接口主要由一片闪存Flash、两组DDR3存储器组成。Flash容量为256 MB,用于加载FPGA软件。每组DDR3存储器容量为2 GB,用于数据缓冲。

FMC接口包括80组LVDS和8组GTx,其中GTx支持PCIE。

背板接口由4组SRIO(支持PCIE),多组LVDS和8组GTx组成。

2.3 DAC模块设计

DAC模块为信号处理板上搭载的一片FMC230子卡,采用4DSP公司SD180,系统结构如图3所示。模块内含两枚AD9129芯片与一枚AD9517芯片,前者提供双通道数模(D/A)转换与输出(分别为D0与D1),分辨率可达14位,更新速率最高可达5.6 GSPS;后者提供最高可达12路的稳定时钟,集成了锁相环(Phase Locked Loop, PLL)和压控振荡器(Voltage-Controlled Oscillator, VCO)。由于设计输出信号频率最高达到5 GHz,故开启一枚AD9129芯片的混频模式,以正确输出高频信号。

图3 FMC230子卡结构图

2.4 PCIE接口设计

PCIE接口实现信号处理板和单板机的连接,自适应5 Gbps/lane和2.5 Gbps/lane线速率,最大数据带宽2 GB/s(5 Gbps/lane线速率)。支持对FPGA用户逻辑的IO访问和直接存储器读取(Direct Memory Access, DMA)传输。DMA模式下,数据从单板机内存传输到FPGA速度为1100 MB/s(5 Gbps/lane)。PCIE接口信号分布如图4所示。

图4 PCIE接口信号分布

直接使用Xilinx公司Virtex7系列FPGA提供的PCI-Express硬核实现PCIE接口的数据下发功能。PCIE硬核集成了PCIE的事务层、数据链路层、物理层和配置管理层,相当于将PCIE桥接芯片集成到FPGA中。开发者只需要在开发FPGA程序时,在开发平台中调用IP核并进行相应设置。

3 系统软件设计

系统软件设计包括单板机中的软件与片上系统软件设计。单板机软件为多类型信号模拟软件,片上系统软件为FPGA软件。

本章首先介绍信号产生的原理,再分别对多类型模拟软件与FPGA软件的设计进行介绍。

3.1 信号产生原理

多类型信号模拟软件能生成常用的雷达、通信、杂波、干扰、噪声等信号,还可根据输入的天线参数和目标参数,产生目标回波与雷达回波信号。

3.1.1 雷达信号

本文以包络为升余弦,脉内调制为线性调频的信号为例。其信号包络可用式(1)表示:

(1)

线性调频的复数表达式为:

(2)

3.1.2 通信信号

本文以幅度调制(Amplitude Modulate, AM)信号为例。AM信号可表示为式(3)。

s(t)=Ac(1+acos(2πf0t+p0))cos(2πfct+p0)

(3)

其中:Ac为载波信号幅度,a为基带信号幅度,f0为基带信号频率,fc为载波信号频率,p0为初相。

3.1.3杂波信号

信号模拟软件中的杂波信号通过设定统计特性参数得到,其幅度及功率谱服从一定分布。本文以幅度服从瑞利分布,功率谱服从高斯分布的杂波信号为例。

以x表示杂波回波的包络振幅,以σ2表示其功率,则x的概率密度函数为:

(4)

而高斯分布可表示为:

P(f) =S0exp( - (f-fd)2/(2σf2))

(5)

其中:S0是常数,fd为杂波的平均多普勒频移,σf为杂波的频谱标准差,代表频谱展宽的程度。

3.1.4干扰信号

干扰信号可按干扰源的存在与否,分为无源干扰与有源干扰。

根据文献[9],在不考虑时延因素的前提下,基于简化雷达入射波模型的箔条干扰信号可用下式表示:

(6)

其中:m表示箔条总根数,Re表示对括号内的复数取实部,f0表示雷达入射波的中心频率,fdr为箔条云平动引起的多普勒频移,fdi表示第i根箔条,其速度起伏引起的多普勒频移,可通过fdli=2vci/λ求得,其中vci为第i根箔条的速度,箔条速度vc是服从正态分布的随机变量,其均值为0,方差为σc,λ为入射波长。

有源干扰可分为压制干扰与欺骗干扰,限于篇幅不作赘述。

3.1.5 噪声信号

本文以通过噪声系数得到的噪声信号为例,其噪声功率可表示为:

N=kT0BnFn

(7)

其中:k=1.37×10-23J/K为波尔兹曼常数T0为开尔文温度,Bn为接收机带宽,Fn=1+Tc/T0是噪声系数,其中Tc为等效噪声温度。噪声信号数据服从正态分布,均值为0,方差为1.0。

3.1.6 回波信号

目标回波信号的参数根据雷达信号、天线和目标参数求出。天线主要涉及扫描方式与方向图的设置,目标主要涉及运动模型与起伏模型的设置。雷达回波则是在目标回波信号的基础上,额外考虑干扰、杂波以及噪声等影响因素,进行信号叠加所得。

由于雷达与目标之间存在一定距离,所以接收到的目标回波相对于发射信号具有一定延迟,其数值为Δt=2R(t)/c,R(t)为目标距雷达之间的距离。入射波由于目标相对于辐射源的运动而产生中心频率的移动,因此目标回波相对发射信号,会产生一定的多普勒频移。频移取决于目标的运动方向,可正可负,频移的大小取决于目标速度在雷达方向上的径向分量,即径向速度。计算如式(8)所示:

Vr=Vxcosαt(t)cosβt(t)+Vysinαt(t)cosβt(t)+VZsinβt(t)

(8)

由目标相对于雷达的径向速度Vγ,可计算目标相对于雷达的多普勒频移fd=2Vγ/λ。回波幅度根据距离方程和目标散射截面(Radar Cross-Section, RCS)的变化计算产生,RCS依据5种起伏类型计算得到。

综上所述可以得到目标回波模型:

(9)

式中,Pt为雷达的发射功率;Gt(t),Gr(t)分别为t时刻天线的发射增益和接收增益;λ表示雷达的工作波长,λ=c/fc,c为光速,fc表示雷达的工作频率;σ为目标的RCS,与目标的起伏特性有关。

由上文,雷达回波可表示为式(10)。

echo(t)=u(t)+n(t)+jam(t)+clutter(t)

(10)

其中:u(t)表示目标回波信号,n(t)表示噪声,jam(t)表示干扰信号,clutter(t)表示杂波信号。

3.2 多类型信号模拟软件设计

多类型信号模拟软件使用美国国家仪器公司推出的LabWindows/CVI开发,可实现多种类型信号的生成、波形显示、文件读取/导出以及数据下发功能。用户使用ANSI C语言通过交互式方法进行软件开发,可调用软件内置的丰富功能面板与函数库,还可使用众多厂商的仪器驱动程序。

根据相关教程,使用LabWindows/CVI进行软件开发的一般步骤为[10]:

(1)根据测试任务的需求确定程序的基本框架、仪器面板与程序中需要的函数。

(2)根据制定的方案,创建新的工程,根据步骤(1)中提出的需求,设计软件用户界面(.uir文件),包括:面板、窗口、菜单、控件等,编写相应的函数,设置控件属性,关联回调函数。

(3)在程序中添加完成各种所需功能的源代码(.c文件与.h文件)。

(4)先对各模块进行独立调试,再对工程进行联合调试,完善功能,并消除可能引发软件崩溃的bug。

(5)生成可执行文件(.exe),打包并发布安装文件(.exe)。

多类型信号模拟软件的组成如图5所示,软件采用模块化结构,方便维护、后续升级与扩展。

图5 多类型信号模拟软件结构框图

由图5可知,软件可主要分为信号发生控制、显示控制、文件读写控制、数据下发控制四个模块。其中信号发生控制模块可再分为多个子模块,以分别控制各类信号所需的参数。下面对模块的功能进行简要介绍。

信号发生控制模块是软件核心的功能模块,共分为九个子模块。其中载波设置模块可设置采样率和载波频率;雷达信号发生模块实现不同包络、不同脉内调制方式的雷达信号发生功能;通信信号发生模块可生成调幅、调频、调相等多种类型类型的通信信号;杂波信号发生模块可生成基于统计特性的杂波信号,总计12种;干扰信号发生模块可生成箔条、压制、欺骗等主流干扰信号;噪声信号发生模块可根据信噪比与噪声系数两种设置模式,实现满足特定参数要求的噪声信号。另外,完成天线参数与目标参数进行设置后,还可对目标回波以及雷达回波进行模拟。每个子模块分别对应一个子面板,通过增删面板和对应代码,可便捷地对子模块进行添加与删除,利于维护。

显示控制模块可在正确读入外部数据文件,或软件生成信号数据后,对指定类型的信号,通过表格与波形示意图进行显示,并对其进行数据整形与归一化处理,传输给公共变量,用于文件导出或数据下发。

文件读写控制模块可读取特定格式的外部文件,也可经显示控制模块处理,将公共变量导出并保存为文件。

数据下发模块实现将公共变量数据通过PCIE传输给FPGA的功能。

软件主要基于LabWindows/CVI开发。在箔条干扰部分,由于涉及复数及向量运算。编写M脚本文件,调用Matlab2009,使用ActiveX服务实现混合编程,提高计算速度[11]。经测试,同样对50根箔条进行计算,使用自建函数运算耗时高达100 s,而使用混合编程方法仅耗时2 s。体现了混合编程在面对复杂运算量的优越性。

直接将经过以往多次验证的数据下发C++程序在Visual Studio中编译为动态链接库(Dynamic Link Library, DLL)文件,编写源文件(.c.h文件)在LabWindows/CVI中调用DLL文件。从而实现数据下发功能。

软件使用流程如图6所示。

图6 软件使用流程图

进入软件后,可选择是否从外部读入文件。若选择读入,则可通过“文件”菜单栏的“打开”选项选择目标文件,然后对其类型进行选择,然后在数据与波形显示界面进行保存操作,将信号数据存入公共变量,若选择导出文件,则可输出外部文件,否则,点击“数据下载”按钮,则可将数据下发至DAC模块中,实现信号的输出。

若不从外部读入数据,则可选择是否设置载波参数,若不设置,则使用默认参数,然后即可对雷达信号、通信信号等进行设置。需注意,完成雷达信号设置后,方可设置杂波、干扰、噪声、回波等信号。得到信号后,与上文相同,通过数据域波形显示界面进行导出文件或数据下发操作。

软件开发完毕后,系统性地对所有模块进行功能测试,并使用Matlab对软件生成的信号进行波形及频谱验证,测试与验证结果均满足要求。

3.3 FPGA软件设计

FPGA软件实现DAC中的数模转换,DDR的读写,以及通过PCIE传输数据功能。FPGA软件的开发平台为Vivado 2015.4,该平台可实现设计输入、代码编写、库管理、HDL综合、仿真、下载,从而完成FPGA全流程开发。本次开发所用的编程语言为VHDL与Verilog HDL,其中DAC模块使用VHDL,PCIE模块使用Verilog HDL,顶层使用VHDL编写。

在FPGA开发过程中,使用模块化思想对各子模块进行划分。先分别编写DAC模块与PCIE模块的FPGA代码,经过仿真验证后,使用相关仪器进行独立测试,而后编写顶层代码将两个模块进行融合,将两模块与DDR3进行连接。融合后的系统经仿真验证后,再进行联合测试,结果满足使用要求。

4 实验结果与分析

在实验室环境下对模拟器进行测试验证。器材使用Agilent N9030A频谱仪与Agilent DSO9054示波器。使用线缆分别将DAC模块的D1口(高频)与D0口(低频)与频谱仪、示波器进行连接,形成测试通道,从而分别对高频和低频输出信号进行测试。

测试环境实物图如图7所示。

图7 测试环境

限于文章篇幅,下文仅列出雷达信号、通信信号的测试结果。以软件面板上显示的参数为基准,对比使用频谱仪与示波器测出的输出信号参数,并记录输出信号的功率,以验证系统的基本功能与性能。根据硬件参数,信号的采样率统一设置为2.457 6 GHz。

信号1:雷达信号。包络类型为矩形,脉内调制为线性调频,载频为320 MHz,带宽为40 MHz。脉冲宽度为10 μs,脉冲重复间隔(Pulse Repetition Interval,PRI)为50 μs。

该信号在示波器上的显示结果如图8,在频谱仪上的显示结果如图9。

图8 信号1的波形图

图9 信号1的频谱图

由示波器可知,输出信号的脉冲宽度和脉冲重复间隔分别为10 μs和50 μs,与软件设置一致。由频谱仪可知,信号中心频率为320 MHz,LFM的带宽为40 MHz,与面板参数偏差均为0%,输出功率为13.634 dBm。测试结果满足要求。

信号2:AM通信信号。软件界面中,载波信号频率设置为1.8 GHz,基带信号频率设置为50 MHz,调制深度为50%。

该信号在示波器上的显示结果如图10,在频谱仪上的显示结果如图11。

图11 信号2的频谱图

由示波器可知信号满足AM信号的包络特征,由频谱仪可知载波信号频率为1 800.6 MHz,载波与两侧的频率差为50 MHz,与面板上参数的差距分别为0.03%与0%,输出功率为11.769 dBm。测试结果满足要求。

综上,测试结果表明输出信号参数与面板显示的参数之间的偏差较小,输出功率亦满足指标。信号模拟器满足使用要求。

5 结论

基于虚拟仪器与FPGA的多类型信号模拟器与传统的信号模拟器相比,采用软件生成信号数据,相比传统的硬件模拟器,极大丰富了信号类型;采用PCIE进行数据传输,使用FPGA处理并输出数据,相比传统的信号源、USB+FPGA或数据采集卡方案,降低了系统成本,提升了传输速度,具有扩展性强、成本低的优势。后续作者还将继续深入研究使用LabWindows/CVI与C++、Matlab进行混合编程的方法,并对部分运算量较大的模块进行改写,提升软件运行速度,从而优化用户体验,并使系统具有良好的应用前景。

猜你喜欢

杂波模拟器雷达
驾驶模拟器转向系统的设计与研究
了不起的安检模拟器
盲盒模拟器
划船模拟器
一种改进的基于背景自适应的杂波图算法
一种自适应双参数杂波图检测方法
某雷达杂波数据分析及杂波图技术研究
DLD-100C型雷达测试方法和应用
雷达欺骗干扰的现状与困惑
雷达