基于FPGA的FSE-CMA盲均衡器设计与实现

2019-11-26 07:29郭业才万逸儒
实验室研究与探索 2019年10期
关键词:均衡器低通滤波器环路

郭业才, 李 峰, 万逸儒, 胡 峥

(1. 南京信息工程大学 电子与信息工程学院, 南京 210044; 2. 南京信息工程大学 滨江学院, 江苏 无锡 214105)

0 引 言

近年来,随着无线通信技术的快速发展,盲自适应均衡器的设计与实现研究成为重点关注的课题[1]。文献[2]中设计的盲均衡器实现了Bussgang类算法中的B-G算法,文献[3]中设计的盲均衡器成功地用于数字有线电视(Digital Video Broadcasting-C,DVB-C)全数字正交幅度调制(Quadrature Amplitude Modulation,QAM)接收机,文献[4]中在深入分析Bussgang盲均衡算法及其特例基础上,给出了盲均衡系统的一种硬件并行实现结构并总结了硬件设计和实现中的重要问题,文献[5]中研究了分数间隔常模均衡器(Fractionally Spaced Equalization-Constant Modulus Algorithm,FSE-CMA)的现场可编程门阵列(Field Prograrnmable Cate Array, FPGA)实现问题。上述盲均衡器硬件实现成本高、占用逻辑资源多,难以用FPGA直接进行硬件实现[6]。为了克服所述不足,设计一款具有信号解调功能的盲均衡器硬件实现方法是十分必要的。

本文采用1 kHz~20 MHz的差分移相键控(Differrential Phase Shift Keying, DPSK)信号作为输入信号,通过加入信号解调模块、改进分数间隔盲均衡(FSE-CMA)结构,以利FPGA硬件实现。在盲均衡器的FPGA硬件实现过程中,通过Matlab和modelsim仿真验证可行性。最后,通过搭建硬件测试平台进行级联测试,验证均衡效果。

1 FSE-CMA盲均衡器的总体设计

FSE-CMA盲均衡器的实现方法有多种,如基于软件平台的实现和基于硬件平台的实现。本文采用基于FPGA硬件平台来实现FSE-CMA盲均衡器。基于该平台的系统框架结构,如图1所示。

图1 FSE-CMA盲均衡器总体系统框架图

加噪后的AD模拟信号由AD9236采样,将得到12位的数字信号输入至FPGA中[7];在FPGA芯片内部对信号进行数字下变频处理,通过解调后得到基带信号;再由FSE-CMA盲均衡模块对基带信号进行运算,运算结果通过DA芯片AD9744[8]输出。Nios II嵌入式平台由QSYS工具搭建,其外部扩展了256 MB同步动态原储器(Synchronous dynamic random access memory, SDRAM)、64 MB串行FLASH芯片EPCS64。SDRAM用来临时存放数据[9],EPCS64用来存储本设计的所有算法程序[10]。

2 硬件电路设计

FSE-CMA盲均衡器的硬件电路主要由电源、FPGA、A/D转换、D/A转换等模块等构成,如图2所示。

考虑到价格因素[11],选用Cyclone系列的EP3C16Q240C8N芯片。该芯片共有15 408个逻辑单元,0.5 MB的RAM,160个I/O控制引脚,20个全局时钟域,4个锁相环,56个乘法器,具有低成本、低功耗、高性能的特点[12]。FPGA模块有以下配置:系统时钟由50 MHz的有源晶振提供;存储模块分为带电可擦可编程只读存储器(Electrically Erasable Programmable Fead only memory, EEPROM)模块和SDRAM模块,EEPROM芯片采用的是64 MB的EPCS64I16N串行Flash,用于存储程序;SDRAM芯片采用的是64 MB的 MT48LC4M16A2,用于临时存储图片、字符等数据,方便FPGA调用;FPGA程序下载接口采用JTAG+PS配置两种模式,与JTAG+AS配置模式相比,省去了一个程序下载接口,节约了PCB空间;程序下载接口与EPCS64I16N上的专用引脚连接,SDRAM的时钟引脚与FPGA芯片的全局时钟引脚连接,由PLL核产生时钟信号,其余引脚均与I/O引脚连接。

图2 硬件电路模块连接图

电源模块与其余各个模块息息相关。A/D芯片AD9236采用3.3 V电压供电;D/A芯片AD9744采用3.3V电压供电,参考值电压1.2 V;FPGA芯片采用3.3、2.5、1.2 V 3种电压供电。因此,电源模块使用AMS1117-3.3、AMS1117-2.5、AMS1117-1.2 3块稳压芯片分别输出3.3、2.5和1.2 V电压。

3 软件设计

该盲均衡器的程序由数字下变频、DPSK信号解调、FSE-CMA盲均衡算法3部分组成。

3.1 数字下变频

数字下变频采用级联多阶CIC滤波器的方式来处理。根据CIC滤波器原理,其实现结构可分为无反馈有限脉冲响应(Finite Impulse Response, FIR)结构及有反馈的无限脉冲响应(Infinite Impulse Response, IIR)结构。采用Noble恒等式原理,变换多级CIC滤波器结构需要采用IIR滤波器结构[13],如图3所示。

图3 多级CIC滤波器结构

在FPGA上设计抽取倍数为5的抽取系统,采用5阶3级CIC滤波器,并对抽取系统进行仿真测试,系统输入数据位宽为10 bit,系统时钟与数据频率相同。在设计该滤波器之前,还需解决滤波器运算过程中的字长问题。估算运算过程字长为

WI=Win+Nlb(MD)

(1)

式中:WI为CIC滤波器的中间字长;Win为输入数据位宽;N为CIC滤波器的阶数;M为系统抽取因子;D为滤波器的级数。

本设计中,滤波器阶数N=5,系统抽取因子M=5,滤波器级数D=3,则中间字长需要39 bit。

3.2 DPSK信号解调

本设计采用Costas环解调DPSK信号。Costas环解调DPSK信号原理,如图4所示,它是由输入信号分别乘以同相和正交两路载波信号而得名。输入信号的上、下支路分别乘以同相和正交载波后,分别通过低通滤波器;两个低通滤波器输出再相乘,就完成了鉴相功能;最后,环路滤波器输出控制本地振荡器的误差电压。

图4 Costas环解调DPSK信号原理

在设计Costas环之前,需要设计低通滤波器、数字鉴相器和环路滤波器。

3.2.1 低通滤波器设计

低通滤波器的设计是载波同步环中的一个重点,关键在于如何确定滤波器的过渡带及截止频率。过渡带带宽的选择原则:必须确保滤除相邻的A/D镜像频率成分;需要滤除数字下变频引入的倍频分量[14]。根据采样定理,A/D镜像频率的最小间隔公式为

Δfad=min[2f1-kfs,(k+1)fs-2fh]

(2)

式中:f1为输入信号的下边缘频率;fh为输入信号的上边缘频率;fs为采样频率; min[ ]表示取小操作。本设计中, Δfad=4.8 MHz。

数字下变频引入倍频分量的最低频率为

fcddc=

min[-2f0+(m+1)fs,2f0-mfs]-Bf/2

(3)

式中:f0为载波频率,Bf为输入信号处理带宽。本设计中,fcddc=8.4 MHz。

低通滤波器的截止频率为

fc=min[fcddc,Bf/2+Δfad]

(4)

本设计中,式(4)中Bf=7.2 MHz,故fc=8.4 MHz。

由Matlab提供的凯撒窗函数进行设计,得到低通滤波器的频率特性,如图5所示。

3.2.2 数字鉴相器设计

数字鉴相器实际上是同相支路与正交支路的相乘运算,在FPGA实现过程中,乘法运算需要消耗大量的硬件资源,而且运算速度也会受限制。若只取同相支路的符号位作为过零检测脉冲,并与正交支路进行异或运算,则会大大减少对硬件资源的消耗并提高运算速度。其实现如图6所示。

图6 数字鉴相器设计图

3.2.3 环路滤波器设计

环路滤波器在Costas环中,不仅能低通滤波,而且对环路参数调整起着决定作用[15]。其结构如图7所示。

图7 环路滤波器结构

由图7可得,数字化系统函数为:

(5)

对于载波同步环路来说,环路中最重要的参数有:自然角频率ωn、阻尼系数ξ、环路总增益K。工程设计中,ξ通常取0.707,K通常取接近于1的值,它们之间的关系为:

(6)

且要求ωn/fs<0.1、(S/N)L>6,i为输入。

设计中,由Bi=12,fs=16得,70.72 rad·kHz<ωn<1 053 rad·kHz。又根据ωn/fs<0.1,得,ωn<1.6×106rad/s=254.65 rad·kHz。为兼顾稳态相差及快捕带宽,本设计中ωn=150 rad·kHz、滤波器长度为38、系数绝对值之和为768,这时,滤波器输出需增加13 bit位宽。而锁相环路总增益为

(7)

可容易计算出,符合本设计的环路总增益为0.785 4。环路滤波器中C1、C2分别为

C1=2ξωnT/K

(8)

C2=(ωnT)2/K

(9)

代入已知量到式(8)、(9)中,计算得C1=0.002=2-9,C2=0.062 5=2-4。

3.2.4 Costas环的FPGA实现

Costas环的RTL图,如图8所示。图8表明,本设计Costas环有:DDS、2个乘法器、2个低通滤波器和一个鉴相及环路滤波器等模块组成。DDS模块由NCO核生成;乘法器模块由乘法器核直接生成,两路输入分别为8 bit和10 bit有符号数,输出保留所有有效位;低通滤波器由FIR核生成,其参数为上述设计的低通滤波器参数。

图8 Costas环的RTL图

3.3 FSE-CMA的FPGA实现

3.3.1 滤波器结构改进

常规型滤波器结构[16]如图9所示。图9中,粗线表示该滤波器的延迟路径,延迟路径上的运算单元包括1个乘法器和N-1个加法器,如8阶滤波器有1个乘法器和7个加法器。可见,常规滤波器结构的计算延迟随滤波器阶数的增加而增加,这严重影响均衡器效果。

图9 常规型滤波器结构

将常规型滤波器结构改造为具有流水线式高速结构,就除去了关键路径上的单位延时。改进后的8阶滤波器结构,如图10所示。图10表明,改进的8阶滤波器的延迟路径上有1个乘法器,但只有4个加法器;与8阶常规滤波器结构相比,减少了3个加法器。也就是说,对于N阶滤波器而言,改进后加法器数量为logN,大大缩短了计算所消耗的时间。

图10 改进后的8阶改进型滤波器结构

3.3.2 FSE-CMA的组成模块

FSE-CMA的组成模块,如图11所示。

(1) 总控模块。 该模块控制系统的工作状态,是系统的核心,主要为各模块提供全局控制信号、初始化各个模块并启动均衡器。

(2) 输入信号延时模块。 该模块对输入信号进行延时存储;在输入时钟上升沿将输入信号向量输入到输出计算模块和误差计算模块中。

图11 FSE-CMA的组成

(3) 输出计算模块。 该模块由乘法器、加法器、平方器和截位器组成,由其对输入信号向量与相应子均衡器的各个抽头系数进行乘法、加法、平方和截位运算,以得到均衡器输出信号z(n)。

(4) 误差计算模块。该模块用于计算FSE-CMA更新方程fn+1=fn-μz(n)r(n)(|z(n)|2-1)中误差信号向量μz(n)r(n)(|z(n)|2-1)。计算过程如下:

均衡器输出z(n)由平方器计算|z(n)|2并减1,得到|z(n)|2-1,同时均衡器输入信号向量r(n)通过乘法器与z(n)相乘得到向量z(n)r(n);再将|z(n)|2-1与向量z(n)r(n)相乘,得到z(n)r(n)(|z(n)|2-1)后乘以步长因子μ;最终,得到误差信号向量μz(n)r(n)(|z(n)|2-1)。该计算无须消耗时钟,简化了设计,提高了系统的处理速度。

(5) 抽头系数调整模块。 该模块完成均衡器抽头系数的更新运算。均衡器的抽头系数向量fn存储在寄存器中,误差计算模块输出误差向量信号μz(n)r(n)(|z(n)|2-1)与寄存器中当前抽头系数向量fn对应相减,得到新的均衡器抽头向量系数fn+1。待到下一个输入时钟上升沿被触发,fn+1与新的输入信号向量rn+1相乘,进行下一次迭代过程。

3.3.3 FSE-CMA的抽头系数更新过程

T/2分数间隔均衡器的实现框图,如图12所示。

图12T/2间隔的FSE-CMA实现框图

计算步骤如下:

步骤2均衡器输出z(n)平方后和常数1相减,得中间变量A。与此同时,均衡器输入向量rn的每一个分量与z(n)相乘,得中间变量B;

步骤3A、B相乘后,再乘步长因子μ,得中间变量C,这里取2的整数次方;

步骤4C与抽头系数fn的每一个分量对应相减,得新抽头向量fn+1;

步骤5新抽头系数向量再与下一个均衡器输入向量重复进行步骤1~4操作,如此循环就实现了均衡过程。

3.3.4 FSE-CMA盲均衡器软件总体系统

该盲均衡器软件总体系统接口,如图13所示。图中,Clk表示模块时钟信号接口,与PLL提供的时钟信号相连接;Reset表示模块复位信号接口;Enable表示模块使能信号接口,因为该模块不间断工作,因此该接口维持高电平以持续工作;Data_in[13..0]表示输入信号接口,与DPSK信号解调模块的输出端相连;Data_out[13..0]表示输出信号接口,与D/A模块相连。

图13 盲均衡器总体系统接口图

4 测试平台与测试分析

4.1 测试平台

该盲均衡器的硬件平台,如图14所示。

图14 盲均衡器硬件平台

测试平台搭建效果,如图15所示。该平台由高阶调制信号发生器、卫星信道模拟器、盲均衡器和示波器组成。其中,高阶调制信号发生器、卫星信道模拟器均由本团队研发,示波器采用DS4052。

4.2 测试与结果

该盲均衡器编译报表,如图16所示。

图15 测试平台搭建

图16 盲均衡器编译报表

图16表明,FPGA完成FSE-CMA盲均衡器的计算需要消耗4 342个逻辑资源、占用2 877个寄存器、占用73 088 bit存储容量。

DPSK信号解调模块仿真,如图17所示。图中,df表示收敛情况,di为同相支路输出结果,dq为正交支路输出结果。

FSE-CMA盲均衡器模块仿真结果如图18所示。Xin为输入信号,clk为FPGA整体时钟信号,clk_data为FSE-CMA盲均衡模块时钟信号,rst为复位信号,Error为误差收敛信号。图19显示了FPGA仿真和Matlab仿真的误差收敛情况。该图表明,两种仿真的误差收敛速度基本相同。也就是说,基于FPGA的FSE-CMA实现结果能满足要求。

实际测试结果,如图20所示。使用信号发生器产生600 kHz的DPSK信号,如图20(a)所示,将此信号输入卫星信道模拟器。模拟器产生50 dB的高斯白噪声,如图20(b)所示,随后将信号输出至盲均衡器。盲均衡器经过解调和均衡后,得到输出波形,如图20(c)所示。

图17 DPSK信号解调模块仿真结果

图18 FSE-CMA模块仿真结果

图19 FPGA仿真与Matlab仿真误差收敛情况

图20 输入DPSK信号实际测试结果

5 结 语

本文研究了FSE-CMA盲均衡器的硬件实现问题。在研究中给出了DPSK信号解调模块和FSE-CMA盲均衡算法模块的设计思路。以1 kHz~20 MHz的DPSK信号作为输入信号,设计了盲均衡器硬件结构和PCB结构;利用Verilog HDL语言进行了实现,编译成功后得到了完成该实现所需占用的逻辑资源数和储存空间;将Matlab和modelsim仿真相结合,给出了两种仿真结果;通过高阶调制信号发生器、卫星信道模拟器以及示波器级联测试,验证了均衡效果。

猜你喜欢
均衡器低通滤波器环路
心情如曲调般平衡缤纷
基于Kalman滤波的水声混合双向迭代信道均衡算法
采用负电容结构的新型CTLE均衡器设计
外差式光锁相环延时对环路性能影响
切比雪夫Ⅱ型模拟高通滤波器的设计及实现*
基于切比雪夫I型低通滤波器设计IIR数字带通滤波器*
基于瞬时无功理论的谐波检测中低通滤波器的改进
选取环路切换策略的高动态载波跟踪算法研究*
单脉冲雷达导引头角度跟踪环路半实物仿真
莫斯科地铁计划于2019—2020年推出第三换乘环路