《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 基于FPGA的时域数字脉冲压缩处理器的设计

基于FPGA的时域数字脉冲压缩处理器的设计

2008-07-03
作者:王小哲,秦轶炜,潘雨

    摘 要: 一种基于FPGA的适用于中小压缩比情况的时域数字脉冲压缩" title="脉冲压缩">脉冲压缩处理器的实现方案。该处理器具有使用灵活、便于功能扩展、成本低的特点,已用于某雷达信号处理机中,性能稳定。
    关键词: 脉冲压缩  自适应FIR滤波器  现场可编程逻辑门阵列

 

    在现代雷达系统中,数字脉冲压缩技术以其性能稳定、抗干扰能力强、控制方式灵活等优点而被广泛使用。基于现场可编程门阵列(FPGA)实现的数字脉冲压缩处理器受到了国内外学者的青睐[1][2]
    数字脉压系统实现算法有两种方案:频域法和时域法。频域法的优点是大时宽信号时可采用FFT(快速傅立叶转换)算法,从而大大减少运算量;但在小压缩比、距离单元数较大时,相对于时域法成本较高,运算过程较复杂。本文介绍一种基于时域的FPGA数字脉压处理器,能够完成四通道63位M序列二相" title="二相">二相编码数字脉压,具有使用灵活、便于功能扩展、成本低的特点。
1 设计原理
1.1 时域脉压算法原理
    时域匹配滤波法等效于求离散接收信号与发射信号波形离散样本之间的复相关运算,其输入输出关系可表示为[3]

   

    其中si、h和s0分别表示输入信号、权系数和输出信号(均为复数),*表示卷积运算。对于有限冲击响应的情况,式(1)可写为:

   

    对于M序列码,h(n)应为发射脉冲M序列的本原码,即发射脉冲码元。

1.2 FIR实现方法
    时域脉压算法结构清晰,其数字实现系统为FIR滤波器结构。本文设计的四通道63位M序列二相编码数字脉压处理器实质是要实现四个高速、高精度的64级数字式横向滤波器" title="横向滤波器">横向滤波器。该滤波器能够实现高速自适应滤波,其输入数据和系数均采用二进制补码形式,滤波系数能够修改,可以与不同的频率码相匹配,模块具有自检功能。
在处理器设计过程中,关键是充分考虑脉压算法特点和FPGA结构,减少硬件实现的资源开销,提高处理速度。为此,可考虑将两个32级的自适应数字横向滤波器通过级联的方式来实现64级自适应横向滤波器,然后通过“流水线”的设计思想,并行实现四个64级自适应横向滤波器。在实现32级自适应横向滤波器时,考虑了两种实现结构,一种是经典的横向滤波器结构,如图1所示;另一种是经过修改的具有相同功能的滤波器结构,称之为转置式FIR滤波器,如图2所示。

              

    通过分析发现,修改后的滤波器结构中,每个输入采样点数据都是同时送到32级的每一级。在每一级中,当前输入的样点与存储在存储器中的系数相乘,并与前一级的经一个时钟周期延时后的输出值相加,从而实现整个脉压过程。该结构的优点在于不需要给输入数据提供额外的移位寄存器,也不必为达到高吞吐量给乘积的加法器添加额外的流水线级。所以,在工程实现时采用修改后的结构。
2 脉压处理器的FPGA实现
    脉压处理器完成的运算操作主要是:乘加运算、系数存取和自检验证。实现脉压处理器的硬件资源主要包括:RAM Blocks(块静态存储器)、MULT 18X18-bit(乘法器" title="乘法器">乘法器)等。Altera公司生产的Stratix系列芯片EP1S25是一种超大规模集成电路芯片, 该系列采用0.13微米和全铜SRAM工艺, 为需要高数据吞吐量的复杂应用进行优化,且片内资源丰富:其中包括25 660个逻辑门,1 944KB的RAM存储器,40个MULT 18X18-bit、10个数字时钟管理模块等。在实际工作中,4路信号采用1片EP1S25完成。图3给出了基于FPGA实现的数字脉压处理器的结构框图(单路)。

2.1 乘法器的FPGA实现
    由于所要设计的四通道63位M序列二相编码数字脉压处理器含有64×4个乘法器,如果设计不好就会导致资源的浪费和速度的下降。为此,在FPGA的快速阵列乘法器的树中引入流水线级的思想。FPGA的快速阵列乘法器为实现二叉树乘法器(并行)[4]提供了条件。二叉树乘法器的步骤总数为log2(N),表1显示了最大吞吐量所需要的流水线级的数量与位宽之间的关系。


    根据以上分析,结合实际输入数据为12位的二进制补码,滤波系数为4位二进制补码,因此需要构造含有两个流水线级的二进制补码乘法器。乘法器的带宽为:

   

    式中W1为输入数据位宽,W2为滤波系数位宽,L为滤波器的深度,log2L为采用无符号算法时乘积和(SOP)的保护位。当采用有符号算法时保护位个数为(log2L-1),此时,乘法器的带宽为:

   

    对于本滤波器,数据均采用有符号数,W1为12位,W2为4位,滤波器的深度为32级,所设计的乘法器带宽为20位。
为实现自适应滤波器,滤波器系数需随外部送来的频率码的变化而变化。为此,需要在复位信号(PT5)到来时,在雷达休止期进行系数的重新存储,以达到匹配滤波的效果。
2.2 自检码及脉压系数存储模块的设计
    由于自适应滤波系数是4位有符号数,可将两级相同滤波深度的系数值放到同一个地址单元里,规定高4位是第二级滤波器的系数值,低4位是第一级滤波器系数值,在输出到数据处理模块" title="处理模块">处理模块进行乘法运算时再将它们分开。由于自检码存的是8位有符号数,输出时也要进行4位符号位扩展。为抗干扰,规定每次在时钟的下降沿取地址位,存储器输出码值,在每次时钟的上升沿数据处理模块读存储器送过来的码值,以减少不确定性。

2.3 逻辑控制模块的设计
    脉压处理器的工作时序必须与整个雷达的工作时序和自适应滤波的时序相一致。为满足逻辑要求,设计一个有限状态机(FSM),把整个时序逻辑过程分为四个状态,分别是初始状态(S0)、置数状态(S1)、计数状态(S2)、保持状态(S3)。由于采取的是Mealy型状态机,故逻辑控制模块的输出依赖于数字处理模块的当前状态和输入的值。例如在S2状态时,当输入不同时,输出的值也会不同。采取Mealy型状态机能够有效减少一些状态变量,但带来的后果是描述难度增加。图4是整个脉压处理器的MDS图。


    为了提高抗干扰能力,增加了一些保护逻辑电路,例如在雷达休止期由于干扰而没有出现复位信号时,状态机就会做出判断,直接进入自检前的状态,等待自检信号的到来,避免进入不确定状态。

3 仿真测试
    对所设计的处理器进行了软件仿真,从图5中可以清楚地看到处理器的输入输出时序。其中x_in_I(Q)PH(L)为输入数据,pc_I(Q)PH(L)为输出数据,check_code为自检时的信号。从图6中可以看到,脉压数据在63位M序列码输完以后,延迟8个时钟周期,准确地计算出脉压值H07C(124),最大旁瓣-13dB,主副瓣比达到19.6dB,满足设计要求。完成仿真后,在QUARTUS编译后下载到Altera器件EP1S25中进行了调试,与仿真结果一致。

图5 处理器的仿真波形(一)

 

图6 处理器的仿真波形(二)   

 

    采用超大规模FPGA并结合流水线设计,降低了处理时间,减少了设计成本,取得了较好的效果。整个处理器共使用了22 405个逻辑单元(LC),占到了芯片总逻辑单元的87%,使用了99 840bit的内存,占到了芯片总内存的5%,以87.57MHz的Registered Performance运行,工作性能稳定。目前该处理器已应用于某信号处理机中。
参考文献
[1] LIU Zhenyu.Tracking radar digital matched-filter ASIC design and its error analysis.IEEE 5th International Conference on ASIC,Tsinghua University,2003:777-782.
[2] DAY R H,GERMON R,O NEILLl B C.A real time digital signal processing solution for radar pulse compression.IEE Colloquium on Digital Filters,1998,252:1-6.
[3] 马晓岩,向家彬,朱裕生,等.雷达信号处理[M].湖南:湖南科学技术出版社,1999.
[4] ARMSTRONG J R.Chip-level modeling with VHDL,Prentice Hall PTR,Englewood Cliffs,NJ,1999.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。