设计应用

dPMR接收机定时估计算法及FPGA实现

0 引言

    dPMR(digital Private Mobile Radio)协议[1]是欧洲电信标准协会(ESTI)最新发布的数字集群通信标准,其具有频谱利用率高、通信距离远、抗干扰能力强等优点,广泛应用于公共安全、交通运输等专用无线网络。

    dPMR协议采用连续相位频率调制,对dPMR信号的解调常用鉴频解调法[2],虽然该法易于硬件实现,但对定时误差极为敏感,符号同步的准确度会极大地影响接收机的解调性能。因此,准确实现符号同步十分重要。

    文献[3]提出一种前导码定时算法,该算法能够快速进行定时误差估计且估计精度高,但依赖前导码序列,长时间的语音/数据通信会使时钟误差不断积累,可能会导致码元失步。文献[4]提出一种数字平方滤波算法,该算法不依赖特殊序列,具有良好的跟踪性能,但需要存储大量的基带信号完成统计估计,导致用时久且需要消耗大量的存储资源,当接收机接收到特定控制信号时,不能在协议规定的时间内完成解调并及时应答。文献[5]中提出一种经典的同步码匹配滤波算法,利用dPMR标准帧中同步码波形具有良好互相关性的特点,使用本地缓存的四种同步码波形与输入波形进行互相关操作,通过匹配同步码波形以恢复最佳采样点,该算法能够避免上述算法的问题,适用于dPMR协议,但是定时估计精度不高,且实现互相关操作需要消耗大量的硬件资源。

    本文结合前导码定时算法和数字平方滤波算法的优点,提出一种适用于dPMR协议的高精度的联合定时估计算法,并基于FPGA,提出了低资源消耗的实现方案。相对于经典的同步码匹配滤波算法,不仅提高了接收机解调性能,还降低了资源消耗。

1 联合定时估计算法

    设基带信号采样后的离散信号为m(i),N为符号过采样率。前导码定时估计算法是利用dPMR突发数据前有一段特殊的前导码进行定时估计。由于前导码序列以[+3 +3 -3 -3]重复9次,则其基带信号是一段以4N为周期的周期信号。则可以利用前导码进行定时误差估计:

    wdz4-gs1.gif

    式(1)中,L为观测训练序列的符号长度,为了避免前导码前后符号对上述的周期基带波形产生影响,一般取前导码中间的16个符号进行定时误差估计。

    数字平方滤波算法是对基带信号进行平方处理后的信号v(i)进行处理,提取其稳态波频率信息得到定时误差估计:

    wdz4-gs2.gif

    数字平方滤波算法需要对足够长基带信号进行信号处理(L一般大于128个符号),才能准确地提取稳态波的频率信息[6],但无需依靠任何特殊序列,便能进行高精度的定时误差估计。

    结合前导码定时估计算法和数字平方滤波算法的优点,提出一种能够适用于dPMR协议的高精度、快速捕获且具有良好跟踪性能的联合定时估计算法,流程如下:

    (1)当RSSI(Received Signal Strength Indication)捕捉到输入信号为有效信号时,对输入的复包络信号进行鉴频和匹配滤波得到基带信号;

    (2)使用延时相关算法捕捉前导码基带波形;

    (3)使用前导码定时估计算法,对前导码基带信号进行快速高精度定时误差估计;

    (4)如果经过192个符号长度后,RSSI仍判定输入信号有效时,使用数字滤波平方算法对后续的192个符号进行统计估计来校正定时误差估计;

    (5)重复第(4)步直至RSSI判决接收信号无效。

2 联合定时估计算法的硬件实现及仿真

    本文以Terasic(友晶)公司的DE0开发板构建的数字收发机平台为依托,对dPMR接收机数字基带系统进行硬件实现。AD采样分辨率为16 bit,采样频率为19.2 kHz(过采样率N=8)。本文提出的联合估计算法需要分阶段使用两种定时算法,若分开实现两种算法,会消耗较多的硬件资源。根据两种算法均需要进行DFT运算的共同点,提出如图1所示的实现结构,由前导码检测模块、定时估计状态控制器和定时误差计算模块组成,并对各模块进行优化设计。

wdz4-t1.gif

2.1 前导码检测模块

    前导码检测模块用于捕捉前导码波形,本文利用前导码模块的周期性,使用差分延时相关算法[7]实现对前导码的检测,该模块由数据缓存、延时相关计算和前导码判决三个子模块组成,如图2所示。

wdz4-t2.gif

    数据缓存使用移位寄存器实现对检测数据的滑动存储。寄存器D1~D32实现32级延时(前导码周期为32个采样时钟),用于产生延时相关的输入信号;寄存器D33~D64用于信号缓存,防止前导码波形的大量丢失影响后续的定时估计。

    延时相关计算子模块用于计算输入信号的延时相关系数,为了减小载波频偏导致基带信号产生了直流偏移的影响,使用输入信号的差分结果d(n)进行延时相关计算。相关长度为32点的延时相关系数可表示为:

     wdz4-gs3-4.gif

    基于式(4),延时相关计算硬件实现图如图3所示,以移位寄存器实现滑动窗口累加计算,仅使用一个乘法器便可以计算出相关系数,节省了大量资源。

wdz4-t3.gif

    前导码判决模块采用长度保持算法进行判决,即仅在相关系数保持连续8个符号长度以上均大于阈值时判定检测到前导码。使用这种长度保持算法能极大地降低误判的概率,提高检测算法的可靠性。

2.2 定时估计状态控制器

    定时估计状态控制器用于控制定时估计算法的选择和使能,其实现结构由一个状态机构成,状态转移图如图4所示,包括休眠态、前导码搜索态、前导码定时估计态、空闲态和数字平方滤波定时估计态。

wdz4-t4.gif

    定时估计状态控制器仅在处于前导码定时估计态和数字平方滤波定时估计态时,产生定时误差计算模块的使能信号以及两种不同的模式选择信号,控制定时误差计算模块进行定时误差估计。

2.3 定时误差计算模块

    定时误差计算模块是本设计的关键模块,由于两种算法均是通过DFT运算得到定时误差,因此硬件实现具有较大共性,以更少的资源消耗完成定时误差提取是本文考虑的重点。根据式(1)和式(2),对硬件实现进行结构划分如图5所示。

wdz4-t5.gif

    由式(1)和式(2)可知,两种算法处理的数据并不相同。前导码定时算法是对基带信号直接进行处理,而数字平方滤波算法是对基带信号的平方信号进行处理。数据准备子模块是根据不同的定时算法,选取基带信号或者其平方信号进行后续处理。

    频率信息提取子模块实现对输入的数据的DFT运算,提取所需频率点的信息。值得注意的是,两种算法所需计算的频率点以及DFT长度不同。

    DFT展开式可表示为:

    wdz4-gs5.gif

    若直接使用式(5)进行计算,则需要将不同的旋转因子存入FPGA的ROM中,然后通过地址寻址等控制逻辑选取不同的旋转因子,以累积乘加的方式完成频率信息提取。由于两种算法的旋转因子较多且不相同,这会消耗较多的存储单元和逻辑资源。本文对式(5)进行变换:

     wdz4-gs6.gif

    基于式(6),本文以迭代乘加的结构完成频域信息提取子模块的设计,如图6所示。图中的乘法器为复数乘法器,通过模式选择信号选择旋转因子。在计算过程中无需更换旋转因子,便可完成频率信息计算,节约了大量的逻辑和存储资源。

wdz4-t6.gif

    当频率信息提取子模块完成计算后,使能角度计算子模块完成角度计算。角度计算子模块使用CORDIC算法[8],仅使用移位和累加就可以完成反正切运算。本文采用循环结构以节省资源,仅使用一个CORDIC运算单元,以迭代的方式完成计算,迭代13次后,角度计算精度达到0.006 994°。

    定时误差计算子模块根据当前算法模式,选择根据式(1)或者式(2)进行定时误差计算,将系数存入ROM中,使用乘法器和加法器计算出定时误差值。

2.4 符号定时估计模块仿真

    使用MATLAB产生经过匹配滤波器的基带波形作为测试数据,测试数据信噪比为20 dB,其含有理论延迟0.4 Ts(Ts为符号周期)。Modelsim的功能仿真结果如图7所示,可以看到,状态机的跳转与设计的一致,首先符号定时估计模块捕获到前导码后会立即进行前导码定时估计,192个符号延时后会进行数字平方滤波定时估计,完成定时估计修正。所得到的定时估计值均在5 530(0.4Ts)附近,估计方差小于10-4。仿真结果表明,设计的符号定时估计模块功能正确。

wdz4-t7.gif

3 联合定时估计算法FPGA实现的性能分析

    搭建如图8所示的验证平台,使用两块DE0开发板构建验证平台,分别作为发射机和接收机,PC通过USB Blaster与发射机和接收机相连接,在传输过程中使用信号发生器产生不同功率的高斯白噪声与调制信号相加后送入接收机进行解调。在接收机选用不同的符号同步算法的情况下,利用SignalTap工具导出解调符号,分别计算不同信噪比下的误码率。

wdz4-t8.gif

    接收机分别使用经典的同步码匹配滤波算法与本文算法的解调误比特率曲线如图9所示。由图可知,相对于经典的同步算法,本文同步算法对解调性能具有提升,在信噪比为14 dB时,解调性能提升2个数量级。

wdz4-t9.gif

    表1是分别使用本文同步算法和经典算法的接收机数字基带(不包含帧处理)FPGA资源消耗比较。虽然对经典算法进行了优化设计,降低了进行相关计算的输入信号和本地系数的位宽,但其仍消耗了较多的逻辑资源,占用总逻辑资源42%,而使用本文算法仅占用总逻辑资源25%。通过上述分析可知,本文算法相对于同步滤波算法不仅提高了接收机的解调性能而且节省了资源消耗。

4 结论

本文提出一种联合定时估计算法,结合前导码定时算法与数字平方滤波算法的优点,具有高精度、快速捕获和良好跟踪性能的特点,适用于dPMR协议。并基于FPGA提出一种结构简单的实现方案,首先以滑动窗口的方式实现前导码定位,然后以定时估计状态控制器控制定时估计算法的选择和使能,最后以迭代乘加的结构完成定时误差提取。实验结果表明,本文算法相对于经典的同步码匹配滤波算法,不仅提升了接收机的解调性能且节省了硬件资源,对高性能低成本dPMR标准的ASIC芯片研发有一定指导意义。

wdz4-b1.gif

参考文献

[1] ETSI TS 102 658 V2.5.1(2015-07).Digital Private Mobile Radio(dPMR) using FDMA with a channel spacing of 6,25 kHz[S].Sophia Antipolis Cedex:ETSI,2008.

[2] HUANG Y,FAN K,HUANG C.A fully digital noncoherent and coherent GMSK receiver architecture with joint symbol timing error and frequency offset estimation[J].IEEE Transactions on Vehicular Technology,2000,49(3):863-874.

[3] 沈文丽,张屹,赵民建,等.基于数据辅助的CPFSK信号的定时估计[J].浙江大学学报(工学版),2007(12):2026-2030.

[4] OERDER M,MEYR H.Digital filter and square timing recovery[J].IEEE Transactions on Communications,1988,36(5):605-612.

[5] 陈曦.基于匹配滤波的dPMR标准码元同步器设计与实现[J].电声技术,2013,37(11):56-58.

[6] 游顺.DMR终端符号同步实现技术[D].成都:电子科技大学,2012.

[7] LI X,GUO W.Efficient differential coherent accumulation algorithm for weak GPS signal bit synchronization[J].IEEE Communications Letters,2013,17(5):936-939.

[8] 王申卓,胡春林,胡广垠,等.基于CORDIC改进算法的NCO设计[J].电子技术应用,2017,43(3):43-47.



作者信息:

朱子文1,张  涛1,关汉兴2

(1. 武汉科技大学 冶金自动化与检测技术教育部工程研究中心,湖北 武汉430081;

2. 长飞光纤光缆有限公司,湖北 武汉430000)

定时估计 快速捕捉 定时跟踪 现场可编程门阵列