基于FPGA的多路卫星信号处理系统的设计实现
2014-07-29曹晨唐灵丽
曹晨 唐灵丽
【摘要】 卫星通信是当前重要的通信手段之一。针对原有单路解调器的不足,本文提出利用软件无线电思想,通过FPGA构建一种多路卫星信号处理系统。论述了数字下变频(DDC)、解调、数据通路等关键点的设计思路。最终实现的系统可同时处理八路卫星信号,并通过实验验证,完全达到设计预期。并且该系统具有灵活性、可扩展性等多种优势,有良好的应用前景。
【关键词】 卫星通信 数字下变频 解调 FPGA
一、引言
在通信手段越来越丰富的今天,卫星通信因其具有通信距离远、覆盖范围广、通信线路多,容量大、安全性好等优点,在民用、军事通信系统中都占有相当重要的地位。随着通信技术的发展,卫星传输带宽不断增加,传统解调器已不能满足对卫星信号处理的要求。随着软件无线电思想(构建一个模块化程度高、开放性强的通用平台,将各种要实现的功能用软件编程来实现,并使A/D器件尽可能地靠近射频天线,让所有的信号处理都在数字域中进行)[1]思想的日益普及和电子器件的发展,越来越多的新型卫星信号处理系统涌现出来。
本文所述系统正是基于软件无线电思想,直接用ADC对70MHz中频,带宽40MHz的卫星信号进行整带采样,然后使用FPGA对带宽内任意8个符号速率为32kbps~1024kbps的调制信号进行实时DDC、解调处理,解调方式多种可选,并将数据通过PCIE总线输出至计算机进行后续处理或存储。
二、系统方案
整个系统由一块PCIE板卡和标准服务器组成,框图如图1所示。卫星信号首先经过ADC进行数字化,ADC的采样速率是180MSps,转换精度为16位,完全满足奈奎斯特准则[2]要求。PCIE板卡完成卫星信号的数字化和处理,并将数据通过PCIE接口输出到服务器进行后处理或存储。
整个系统的核心是FPGA,完成多路卫星信号的处理、数据的合路以及与服务器的PCIE接口。FPGA选择综合逻辑资源的使用情况、性能、价格等因素,最终选用XILINX公司的Virtex-5 SX系列实现。此系列FPGA提供了几百个专用的高性能信号处理资源DSP48E1。每个DSP48E1中包括一个25×18的二进制补码乘法器,一个预加法器和一个算术逻辑单元。乘法器带有可选的流水线寄存器,可以提高乘法运算的速率;算术逻辑单元可以配置成三输入的加/减法器或二输入的逻辑单元;DSP48E1 的专用层叠走线能够方便的和其他DSP48E1进行互连以实现宽位运算。
三、设计要点
FPGA中的各功能模块中,DDC模块、解调模块和数据合路模块是设计的要点,其设计的好坏直接影响卫星信号处理的效果和使用的资源情况。
3.1 变带宽窄带DDC的设计
DDC 是A/D 变换后首先要完成的处理工作,是系统中数字处理运算量最大的部分,也是最难完成的部分。其最重要的功能有两个: 第一,将包含所有信道的带宽信号进行信道分离,分别提取需要的窄带信号; 第二,对于分离后的窄带信号,可以大大地降低采样频率,这也就意味着可以大大降低数据量,以减轻基带处理部分对DSP 的计算需求压力。[3]DDC包括数字下变频、低通滤波、自动增益控制和采样速率变换。其实现框图如图2所示:
为了保证DDC的性能,在变频时采用16位高精度的DDS来产生相互正交的本振频率;频率分辨率达到0.2Hz,无杂散动态范围96dB。低通滤波采用CIC、可变带宽FIR和匹配FIR三级级联的方式实现,保证对带外干扰和镜像有足够的抑制。由于输入的中频信号带内信号分布情况复杂,单个信号带宽和功率变化范围也比较大,在处理时既要适应能量大的载波又要兼顾小载波。为了解决这个问题,在变频过程中设计两级AGC,保证各级处理的输入信号能量均衡。
此外采样速率变换上,一般的数字正交解调系统,在恢复码元时要求码元速率与DDC抽取系统的输出速率满足一定的整数倍关系,以4倍为例,DDC需要将180M时钟变换到32kbps~2048kbps范围内任意速率的4倍。若以常规先整数倍内插再整数倍抽取的方式来实现,不仅实现的复杂度相当高,甚至某些速率变换是无法实现的。这里我们设计一种由8相FIR滤波器加由数控单元控制的抽取器组成的多相抽取FIR多相滤波器,来实现任意速率抽取。这种滤波器经过NCU的精确控制不仅能够改变采样速率还可以用来调整定時误差,为后续的信号处理节省大量运算资源。
3.2 多制式通用解调环路设计
解调模块要实现BPSK、QPSK、8PSK、OQPSK、16QAM的解调功能,且每路解调方式灵活可变。对数字解调系统来说,实现解调的关键在于时钟同步和载波同步[4]。一般来说,对BPSK、QPSK、8PSK和OQPSK这类恒包络调制信号,定时误差检测一般采用Gardner、早迟门等,而16QAM这类调幅信号定时检测一般采用平方法。对载波恢复来说,这几种调制方式相对应的载波恢复环路就更加的复杂。常见的有平方环、逆调制环、松尾环、科斯塔斯环、判决反馈环等等。如果每种解调都采用一套定时和载波环路,那么其运算量将是单卡远远无法承受的。只有尽可能的采用相同的同步算法,才能在运算资源非常有限的情况下,满足系统要求。为此我们设计一种通用的同步环路,来适应多种调制方式,其原理如图3所示。
Gardner、早迟门和平方法这三种定时提取方法主要区别在于对输入速率的要求上。Gardner算法是1986年,由Gardner 等人在BPSK/QPSK 的基础上提出,每个符号需要两倍符号速率[5];早迟门需要三倍符号速率;而平方法要求最高,须4倍符号速率。从减少运算量的角度出发,输入样点速率越低越好,应该选择Gardner环,但是它对16QAM信号的提取效果较差,所以定时环路我们统一采用平方法来实现。在载波同步时,上述的环路里没有一种可以完全胜任系统所需的所有调制信号的载波误差提取,必须对环路算法进行改造。在设计时,我们将载波恢复统一采取判决反馈环,其物理意义在于将判决的基带星座点与实际的星座点相比较,得出当前的频差信息。为实现简单,一般将接收的I、Q路数据直接判决,这种办法对BPSK、QPSK、OQPSK三种调制信号是行之有效的;但对8PSK和16QAM信号则不太合适,因为他们的星座在同一象限内有多个星座点,判决后将有多个基准,造成频差检测错误,在低信噪比条件下将不能同步。解决的办法是对8PSK和16QAM信号进行多次判决,将象限内的奇异点扣除,使得判决后在同一象限内只有一个基准点,这样就解决了上述的问题,使所有的调制信号共用一个判决反馈环成为可能,大大降低了实现复杂度。
3.3 分级数据合路模块
根据系统要求,输出的数据形式多样,首先要能将速率180Msps、位宽16位的AD数据或者8路卫星信号处理后数据输出。其次,8路处理后数据可以是DDC后输出或者解调后输出。DDC数据速率为4倍符号速率;解调数据等于符号速率。传输数据的数量不定、种类繁多、速率不定,且要求灵活可配。而输出接口只有一个PCIE 8X总线接口,此总线接口的特点是突发传输的效率比较低而连续传输的速度快效率高,总线对数据配给的效率有比较高的要求。这种情况下,无论是对资源的调配、逻辑设计的灵活性还是传输通道的高效性都提出了很高的要求。为此,我们设计了两级的数据合路模块,设计框图如图4所示。
第一级数据合路用于将8路处理后的卫星数据合成一路数据流。首先每一路处理模块的输出数据进入一个二选一,根据控制信号選择输出的是DDC数据或者解调后数据。组帧模块用于对每路数据进行组帧用于在服务器端区分数据是哪一个处理模块输出的。设计中采用定长帧的方式,在帧头设置标识字段指定数据的来源通路,帧长设定综合考虑FPGA的RAM资源和PCIE的传输效率。后续传输都是以一帧作为基本单元。组帧后将数据输入一级FIFO。FIFO由FPGA的BRAM资源构成,用于将不同速率的处理数据统一到一个高速率的传输接口,同时保证在后续传输其他通路数据时,本通路数据不会丢失。数据选择模块用于整合所有通路的数据到一个数据流。当任一通路的一级FIFO中积累一帧数据时,触发该模块进行数据传输。该模块的输入和输出带宽都大于任一处理模块输出数据流的8倍,确保整个数据通路不存在带宽不足的问题。
第二级数据合路用于选择是AD数据或者处理后数据,并与PCIE接口对接。该部分由一个二选一和FIFO组成。FIFO用于将数据展宽至64位,并且为保证PCIE的传输效率,只有当第二级FIFO内的数据达到一定的阈值时才进行数据传输。阈值的设定值远大于PCIE的packet有效载荷,从而保证PCIE可进行连续的数据传输。
四、测试结果和分析
根据逻辑资源的使用情况,最终FPGA使用Virtex-5系列的XC5VSX95T实现。最终FPGA资源使用情况如表1所示。通过实际卫星信号对部分解调性能进行测试,具体结果见表2。均接近或达到原有解调器的性能指标。
经测试,整个系统的功能性能完全达到了设计要求,并且在FPGA资源的使用上还有余量,可以进一步优化,增加处理通路数量或者提高解调处理的性能。
五、结束语
本文利用软件无线电思想,提出了一种基于FPGA的多路卫星信号处理系统的实现方案,并进行了设计验证。最终实验结果表明该方案完全实现预期目标。并且由于FPGA设计的灵活性和可扩展性,使得该方案较传统单路解调器有较大优势。在卫星信号处理领域有一定的应用前景。