辛 升,朱嘉颖,辛增献,王雪博,马 超
(上海无线电设备研究所,上海 201109)
电子信息战在现代战场中占据的比重不断攀升,已逐渐发展成为其最重要的组成部分之一。随着各类无线电设备的快速发展,战场空间中的种类繁多且数量庞大的电磁波信号相互交叠,各类脉冲信号空前密集。如图1所示,作为电子对抗中举足轻重的角色,宽带侦察接收机必须具备接收并实时处理大带宽范围内多路同时到达信号的能力。信道化接收机技术可根据后续处理要求将接收机工作带宽划分为若干个信道,并将接收到的不同频率的信号经不同信道输出,从而实现对多路同时到达信号的实时截获。
图1 电子对抗信号处理Fig.1 Signal processing of electronic countermeasure
信道化接收技术主要分为频域信道化和时域信道化,频域信道化通过快速傅里叶变换(fast Fourier transform,FFT)处理将接收带宽均匀分为若干信道,从而实现对输入信号的信道化处理操作。但相邻信道间信号泄露严重,导致信道间的隔离度较低。而多相滤波信道化是应用最为广泛的一种时域信道化技术,采用优良的滤波器设计可明显降低处理后相邻信道间的串扰现象。此外,由于输出的是时域信号,保留了更多脉内信息可用于后续信号处理或射频干扰生成,以达到更好的识别干扰效果。为进一步提高信道化频域分辨率,50%信道交叠多相滤波算法被提出,同时也带来了消耗资源更多、算法实现更加复杂的问题。
Xilinx 公司针对当前基于硬件语言代码编写的FPGA 软件开发流程存在的修改调试过程繁琐、开发周期长、开发成本高等问题,推出了一种新的开发环境,即SysGen(system generator)。通过SysGen开发环境,可采用模块化搭建的方法进行算法快速仿真实现及验证,且支持在不降低软件可靠性的前提下将仿真模块自动转换成底层硬件代码模块,可极大提升FPGA 软件开发效率,特别对于主攻理论研究的算法设计师来说,是绝佳的算法快速实现及验证工具。
文本基于SysGen 开发环境,采用模块化、参数化的设计思路,完成了50%交叠多相滤波信道化软件的快速实现及验证,具备大带宽实时处理能力及多信号同时接收能力。此外,该软件设计方法可明显缩短开发周期,且提升了软件模块开发灵活性。
多相滤波信道化技术是由滤波器组信道化技术衍化发展而来的。信道划分即按照一定规则将信道化宽带接收机的工作频段划分为若干信道,是信道化接收机设计中最关键的步骤之一。信道划分的优劣直接影响数字接收机对不同信号的分辨及检测能力,此外,数字射频存储的信号质量同时也决定着最终的干扰效果。
为进一步提高频域分辨率,采用50%交叠的方式进行信道划分,如图2所示,图中:|(e)|表示频率响应函数,表示数字角频率,表示信道数。
图2 信道划分Fig.2 Channel division
基于离散傅里叶变换(discrete Fourier transform,DFT)的多相滤波信道化算法是由低通滤波器组信道化结构发展而来的,经低通滤波器组信道化处理的第个信道信号输出可表示为
式中:为输入信号;为原始低通滤波器系数;对应输入信号采样点;对应信道数据点;表示数据抽取率;ω表示第个信道中心频率;为输入信号长度;=0,1,…,-1。
为防止抽取导致的混叠现象,总的信道数与抽取率应满足:且≥2。为获得最大抽取率,通常取=2。
令=+′,=/,则=0,1,…,-1,′=0,1,…,-1,代入式(1)得
令x()=(-′),g()=(+′),可得
令
定义′()=[x()e]*b(),则上式可写为
对应图2 所示的信道划分,各信道中心频点为ω=2π/2,=0,1,…,2-1,代入式(6)中得
根据以上推导可得到实信号无混叠无盲区的高效信道化结构,如图3所示,首先对输入采样数据进行倍多相抽取,再作幂乘处理,然后经过多相滤波处理和FFT 后输出,提取其中个有效信道的数据进行后续数据处理。
图3 无混叠无盲区多相滤波信道化Fig.3 Polyphase filter channelization without aliasing and blind zone
仿真条件:采样频率=150 MHz,数字信道化信道个数为64,FIR 滤波器通带增益为1,阻带增益为1,通带截止频率为1.171 9 MHz,阻带截止频率为2.343 8 MHz。输入信号类型及参数如下。
1)单频点信号:
2)线性调频信号:
3)调幅信号:
式(8)~(11)中:=101 MHz;=94 MHz;=121 MHz;=109 MHz,=34 kHz;调频斜率=1.25×10。MATLAB 软件仿真结果如图4~9 所示,其中:各图横坐标为各信道采样点;图4~6 纵坐标为实部/虚部信号幅值,单位mV;图7~9 纵坐标为信号幅度,单位dBm。
图4 第40、41、43、44信道输出IQ信号Fig.4 IQ signals output from channels 40,41,43 and 44
图5 第46、47、51、52信道输出IQ信号Fig.5 IQ signals output from channels 46,47,51 and 52
图6 第53、54、55、56信道输出IQ信号Fig.6 IQ signals output from channels 53,54,55 and 56
图7 第40、41、43、44信道信号幅度Fig.7 Signal amplitude of channels 40,41,43 and 44
图8 第46、47、51、52信道信号幅度Fig.8 Signal amplitude of channels 46,47,51 and 52
图9 第53、54、55、56信道信号幅度Fig.9 Signal amplitude of channels 53,54,55 and 56
传统的数字信号处理系统开发,首先要研究算法,再使用仿真工具进行仿真,最后再利用FPGA 或者DSP 等来进行有效的硬件实现,仿真和硬件实现分开进行。然而,SysGen 提供了一种把仿真与FPGA 实现结合起来的工具,使仿真和FPGA 实现在一个可视化的界面同时完成。SysGen 是Xilinx 公司的FPGA 开发工具,与传统的HDL 代码开发不同,SysGen 是一种利用Simulink 来进行模块化开发的工具,使用Simulink 的XilinxBlockset 库中的模块来搭建数字信号处理系统,完成仿真之后还可把模型直接封装为IP 核,嵌入verilog 代码中完成硬件实现。
SysGen 可以自动生成testbench 文件来进行硬件逻辑仿真,testbench中的数据来源于SysGen的仿真数据,方便开发人员进行对比验证。同时,SysGen 也可以生成时序分析报告和资源分析报告,开发者可以设置各个模块的参数以采用各种生成策略,进一步优化资源的使用。
System Intergration Platform 允许RTL、Simulink、Matlab、C/C++等多个组件在一个单一的仿真和实现环境汇聚在一起,采用多种方法来进行FPGA 的开发,发挥各种开发方式的优点,可以使FPGA 的开发变得更加高效。
1)先使用XilinxBlockset中丰富的模型来进行DSP算法的模型化设计,对于一些复杂算法模块可以使用Mcode、BlackBox和VivadoHLS模块来自定义模型。
2)在系统搭建好后使用Simulink里的信号源给系统添加输入,还可使用示波器、频谱仪等来观察输出,或使用Waveform窗口来查看波形输出。输入输出连接好之后可以进行功能性仿真,也可以和FPGA协同仿真。
3)在打包生成IP 核之前需进行一系列设置,包括器件型号、实现语言(VHDL 或者VerilogHDL)、时钟频率、接口文档、testbench 文件等,之后将基于该模型生成的IP核嵌入FPGA系统软件中。
根据多相滤波数字信道化算法原理,设计如图10所示的SysGen 模型,包括多相抽取、幂乘、滤波及FFT 处理四个子模块。为完成对输入的信号进行32个有效信道的信道化处理功能,需先对信号进行32倍多相抽取,并分别进行幂乘操作,经过多相滤波处理,再经过64点FFT模块处理后输出。
图10 多相滤波信道化SysGen模型Fig.10 Polyphase filter channelized SysGen model
Time Division Demultiplexer 模块可以把串行输入的信号抽取后转为多路并行输出。为实现64 路无混叠无盲区的数字信道化功能,需先将单路信号速率降低,对信号进行32 倍抽取,把输入信号转换为32 路并行信号,单路信号速率降低32 倍。同时,利用两个32 倍抽取模块完成信号时域交叠抽取。为实现抽取输出信号同步,将第一个抽取器输出的32路并行信号均延时一拍,而将第二个抽取器使能信号延迟32拍。
在幂乘模块中,计数器Counter 模块输出数据位宽为7 bit,循环计数范围为0~127,ROM 模块中存储了128个要进行幂乘的数据,通过计数器给ROM模块输入地址来循环读取幂乘数据,Delay 模块使ROM 模块输出的数据和输入信号同步,幂乘数据和输入信号经过乘法器Mult模块后输出。
滤波模块是对64路信道信号分别进行滤波,添加64个Digital FIR Filter模块完成各单路滤波功能。根据信道划分关系,在MATLAB软件中运用FDATool生成原始低通滤波器系数,再对该系数序列进行64路多相抽取处理生成64组信道滤波系数,将64组系数分别关联到各单路滤波器模块即可完成滤波器序列的设置。
Xilinx 公司提供的FFT 模块可以进行复数64 点FFT计算处理。由于此FFT模块要求串行输入,需先将64 路并行数据转换成串行。Xilinx Blockset 里的Time Division Multiplexer 模块最多支持32 路并转串操作,所以用两个32 路并转串模块和一个2 路并转串模块级联完成64 路并转串功能。FFT 模块为了识别并转串后的64 个数据,在输入每64 个数据的第一个数据时start_frame_in 端口输入为1,输入其余63 个数据时start_frame_in 端口输入为0,以此作为64 点FFT 操作的时间戳标志。同样,输出端口也提供了start_frame_out端口,64 点FFT 操作后,第一个数据start_frame_out 输出为1,其余63 个数据start_frame_out 输出为0,以此作为64 点FFT 输出的时间戳标志。
基于SysGen 的设计仿真结果,利用生成的多相滤波IP核在嵌入式硬件平台上进行多相滤波信道化软件快速开发,并通过集成逻辑分析器(integrated logic analyzer,ILA)对信道化输出信号进行监测。利用信号源生成如式(8)~(11)所示的多种调制信号,经脉冲调制后的混合信号作为嵌入式硬件平台信号输入,经数字信道化处理后得到的输出波形如图11~12所示。对比理论仿真结果发现,基于SysGen 模型生成的多相滤波数字信道化IP 核具备多相滤波数字信道化功能,经信道化处理后的各信道信号与理论结果相同。
图11 多相滤波信道化输出信号实部Fig.11 Real part of multiphase filter channelized output signal
图12 多相滤波信道化输出信号虚部Fig.12 Imaginary part of multiphase filter channelized output signal
本文提出一种基于SysGen 的多相滤波信道化快速实现方法,基于该算法对宽带信号进行信道化处理不仅能满足后续各信道信号脉冲检测的需求,还保留了丰富的脉内信息为脉内识别及处理提供便利。从仿真结果来看,基于SysGen技术快速生成的多相滤波信道化IP 核,可满足对输入的宽带信号实现50%信道交叠的多相滤波信道化处理功能要求。同时,通过采用基于SysGen的开发模式,相较传统硬件语言编程开发模式,省去了反复综合实现等消耗的大量时间,宽带信号处理软件开发周期得到明显缩短,开发效率得到提升。