《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > dPMR接收機(jī)定時估計算法及FPGA實現(xiàn)
dPMR接收機(jī)定時估計算法及FPGA實現(xiàn)
2019年電子技術(shù)應(yīng)用第5期
朱子文1,張 濤1,關(guān)漢興2
1. 武漢科技大學(xué) 冶金自動化與檢測技術(shù)教育部工程研究中心,湖北 武漢430081; 2. 長飛光纖光纜有限公司,湖北 武漢430000
摘要: 符號定時同步的準(zhǔn)確度對數(shù)字通信系統(tǒng)解調(diào)性能有極大影響,dPMR通信系統(tǒng)要求接收機(jī)的符號同步具有快速捕獲和良好跟蹤性能的特點。針對該要求,提出一種定時估計算法。該算法結(jié)合前導(dǎo)碼定時算法和數(shù)字平方濾波算法的優(yōu)點,首先捕捉突發(fā)信息的前導(dǎo)碼,使用前導(dǎo)碼定時算法實現(xiàn)高精度快速定時估計,之后以384個符號為間隔,使用數(shù)字平方濾波算法實現(xiàn)定時估計的跟蹤校正。同時提出一種結(jié)構(gòu)簡單的FPGA實現(xiàn)方案,相對于經(jīng)典的同步波形匹配濾波定時算法,不僅提升了接收機(jī)的解調(diào)性能且節(jié)約了硬件資源。
中圖分類號: TN929.5
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.182590
中文引用格式: 朱子文,張濤,關(guān)漢興. dPMR接收機(jī)定時估計算法及FPGA實現(xiàn)[J].電子技術(shù)應(yīng)用,2019,45(5):27-30.
英文引用格式: Zhu Ziwen,Zhang Tao,Guan Hanxing. A timing estimation algorithm for dPMR receiver based on FPGA and its implementation[J]. Application of Electronic Technique,2019,45(5):27-30.
A timing estimation algorithm for dPMR receiver based on FPGA and its implementation
Zhu Ziwen1,Zhang Tao1,Guan Hanxing2
1. Engineering Research Center of Metallurgical Automation and Measurement Technology, Wuhan University of Science and Technology,Wuhan 430081,China; 2.Yangtze Optical Fibre and Cable Joint Stock Limited Company,Wuhan 430000,China
Abstract: The accuracy of symbol timing synchronization has a great impact on the demodulation performance of digital communication systems. The dPMR communication system requires the symbol synchronization of the receiver to have fast acquisition and good tracking performance. A timing estimation algorithm is proposed for this requirement. The algorithm combines the advantages of preamble timing algorithm and digital square filtering algorithm. Firstly, when the preamble of the burst information is captured, the preamble timing algorithm is used to implement high-precision fast timing estimation. Then, a digital square filtering algorithm is used to implement tracking correction for timing estimation at intervals of 384 symbols. At the same time, a simple FPGA implementation scheme is proposed. Compared with the classical matching filter timing algorithm based on synchronous waveform, it not only improves the demodulation performance of the receiver but also saves hardware resources.
Key words : timing estimation;fast acquisition;timing tracking;FPGA

0 引言

    dPMR(digital Private Mobile Radio)協(xié)議[1]是歐洲電信標(biāo)準(zhǔn)協(xié)會(ESTI)最新發(fā)布的數(shù)字集群通信標(biāo)準(zhǔn),其具有頻譜利用率高、通信距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點,廣泛應(yīng)用于公共安全、交通運輸?shù)葘S脽o線網(wǎng)絡(luò)。

    dPMR協(xié)議采用連續(xù)相位頻率調(diào)制,對dPMR信號的解調(diào)常用鑒頻解調(diào)法[2],雖然該法易于硬件實現(xiàn),但對定時誤差極為敏感,符號同步的準(zhǔn)確度會極大地影響接收機(jī)的解調(diào)性能。因此,準(zhǔn)確實現(xiàn)符號同步十分重要。

    文獻(xiàn)[3]提出一種前導(dǎo)碼定時算法,該算法能夠快速進(jìn)行定時誤差估計且估計精度高,但依賴前導(dǎo)碼序列,長時間的語音/數(shù)據(jù)通信會使時鐘誤差不斷積累,可能會導(dǎo)致碼元失步。文獻(xiàn)[4]提出一種數(shù)字平方濾波算法,該算法不依賴特殊序列,具有良好的跟蹤性能,但需要存儲大量的基帶信號完成統(tǒng)計估計,導(dǎo)致用時久且需要消耗大量的存儲資源,當(dāng)接收機(jī)接收到特定控制信號時,不能在協(xié)議規(guī)定的時間內(nèi)完成解調(diào)并及時應(yīng)答。文獻(xiàn)[5]中提出一種經(jīng)典的同步碼匹配濾波算法,利用dPMR標(biāo)準(zhǔn)幀中同步碼波形具有良好互相關(guān)性的特點,使用本地緩存的四種同步碼波形與輸入波形進(jìn)行互相關(guān)操作,通過匹配同步碼波形以恢復(fù)最佳采樣點,該算法能夠避免上述算法的問題,適用于dPMR協(xié)議,但是定時估計精度不高,且實現(xiàn)互相關(guān)操作需要消耗大量的硬件資源。

    本文結(jié)合前導(dǎo)碼定時算法和數(shù)字平方濾波算法的優(yōu)點,提出一種適用于dPMR協(xié)議的高精度的聯(lián)合定時估計算法,并基于FPGA,提出了低資源消耗的實現(xiàn)方案。相對于經(jīng)典的同步碼匹配濾波算法,不僅提高了接收機(jī)解調(diào)性能,還降低了資源消耗。

1 聯(lián)合定時估計算法

    設(shè)基帶信號采樣后的離散信號為m(i),N為符號過采樣率。前導(dǎo)碼定時估計算法是利用dPMR突發(fā)數(shù)據(jù)前有一段特殊的前導(dǎo)碼進(jìn)行定時估計。由于前導(dǎo)碼序列以[+3 +3 -3 -3]重復(fù)9次,則其基帶信號是一段以4N為周期的周期信號。則可以利用前導(dǎo)碼進(jìn)行定時誤差估計:

    wdz4-gs1.gif

    式(1)中,L為觀測訓(xùn)練序列的符號長度,為了避免前導(dǎo)碼前后符號對上述的周期基帶波形產(chǎn)生影響,一般取前導(dǎo)碼中間的16個符號進(jìn)行定時誤差估計。

    數(shù)字平方濾波算法是對基帶信號進(jìn)行平方處理后的信號v(i)進(jìn)行處理,提取其穩(wěn)態(tài)波頻率信息得到定時誤差估計:

    wdz4-gs2.gif

    數(shù)字平方濾波算法需要對足夠長基帶信號進(jìn)行信號處理(L一般大于128個符號),才能準(zhǔn)確地提取穩(wěn)態(tài)波的頻率信息[6],但無需依靠任何特殊序列,便能進(jìn)行高精度的定時誤差估計。

    結(jié)合前導(dǎo)碼定時估計算法和數(shù)字平方濾波算法的優(yōu)點,提出一種能夠適用于dPMR協(xié)議的高精度、快速捕獲且具有良好跟蹤性能的聯(lián)合定時估計算法,流程如下:

    (1)當(dāng)RSSI(Received Signal Strength Indication)捕捉到輸入信號為有效信號時,對輸入的復(fù)包絡(luò)信號進(jìn)行鑒頻和匹配濾波得到基帶信號;

    (2)使用延時相關(guān)算法捕捉前導(dǎo)碼基帶波形;

    (3)使用前導(dǎo)碼定時估計算法,對前導(dǎo)碼基帶信號進(jìn)行快速高精度定時誤差估計;

    (4)如果經(jīng)過192個符號長度后,RSSI仍判定輸入信號有效時,使用數(shù)字濾波平方算法對后續(xù)的192個符號進(jìn)行統(tǒng)計估計來校正定時誤差估計;

    (5)重復(fù)第(4)步直至RSSI判決接收信號無效。

2 聯(lián)合定時估計算法的硬件實現(xiàn)及仿真

    本文以Terasic(友晶)公司的DE0開發(fā)板構(gòu)建的數(shù)字收發(fā)機(jī)平臺為依托,對dPMR接收機(jī)數(shù)字基帶系統(tǒng)進(jìn)行硬件實現(xiàn)。AD采樣分辨率為16 bit,采樣頻率為19.2 kHz(過采樣率N=8)。本文提出的聯(lián)合估計算法需要分階段使用兩種定時算法,若分開實現(xiàn)兩種算法,會消耗較多的硬件資源。根據(jù)兩種算法均需要進(jìn)行DFT運算的共同點,提出如圖1所示的實現(xiàn)結(jié)構(gòu),由前導(dǎo)碼檢測模塊、定時估計狀態(tài)控制器和定時誤差計算模塊組成,并對各模塊進(jìn)行優(yōu)化設(shè)計。

wdz4-t1.gif

2.1 前導(dǎo)碼檢測模塊

    前導(dǎo)碼檢測模塊用于捕捉前導(dǎo)碼波形,本文利用前導(dǎo)碼模塊的周期性,使用差分延時相關(guān)算法[7]實現(xiàn)對前導(dǎo)碼的檢測,該模塊由數(shù)據(jù)緩存、延時相關(guān)計算和前導(dǎo)碼判決三個子模塊組成,如圖2所示。

wdz4-t2.gif

    數(shù)據(jù)緩存使用移位寄存器實現(xiàn)對檢測數(shù)據(jù)的滑動存儲。寄存器D1~D32實現(xiàn)32級延時(前導(dǎo)碼周期為32個采樣時鐘),用于產(chǎn)生延時相關(guān)的輸入信號;寄存器D33~D64用于信號緩存,防止前導(dǎo)碼波形的大量丟失影響后續(xù)的定時估計。

    延時相關(guān)計算子模塊用于計算輸入信號的延時相關(guān)系數(shù),為了減小載波頻偏導(dǎo)致基帶信號產(chǎn)生了直流偏移的影響,使用輸入信號的差分結(jié)果d(n)進(jìn)行延時相關(guān)計算。相關(guān)長度為32點的延時相關(guān)系數(shù)可表示為:

     wdz4-gs3-4.gif

    基于式(4),延時相關(guān)計算硬件實現(xiàn)圖如圖3所示,以移位寄存器實現(xiàn)滑動窗口累加計算,僅使用一個乘法器便可以計算出相關(guān)系數(shù),節(jié)省了大量資源。

wdz4-t3.gif

    前導(dǎo)碼判決模塊采用長度保持算法進(jìn)行判決,即僅在相關(guān)系數(shù)保持連續(xù)8個符號長度以上均大于閾值時判定檢測到前導(dǎo)碼。使用這種長度保持算法能極大地降低誤判的概率,提高檢測算法的可靠性。

2.2 定時估計狀態(tài)控制器

    定時估計狀態(tài)控制器用于控制定時估計算法的選擇和使能,其實現(xiàn)結(jié)構(gòu)由一個狀態(tài)機(jī)構(gòu)成,狀態(tài)轉(zhuǎn)移圖如圖4所示,包括休眠態(tài)、前導(dǎo)碼搜索態(tài)、前導(dǎo)碼定時估計態(tài)、空閑態(tài)和數(shù)字平方濾波定時估計態(tài)。

wdz4-t4.gif

    定時估計狀態(tài)控制器僅在處于前導(dǎo)碼定時估計態(tài)和數(shù)字平方濾波定時估計態(tài)時,產(chǎn)生定時誤差計算模塊的使能信號以及兩種不同的模式選擇信號,控制定時誤差計算模塊進(jìn)行定時誤差估計。

2.3 定時誤差計算模塊

    定時誤差計算模塊是本設(shè)計的關(guān)鍵模塊,由于兩種算法均是通過DFT運算得到定時誤差,因此硬件實現(xiàn)具有較大共性,以更少的資源消耗完成定時誤差提取是本文考慮的重點。根據(jù)式(1)和式(2),對硬件實現(xiàn)進(jìn)行結(jié)構(gòu)劃分如圖5所示。

wdz4-t5.gif

    由式(1)和式(2)可知,兩種算法處理的數(shù)據(jù)并不相同。前導(dǎo)碼定時算法是對基帶信號直接進(jìn)行處理,而數(shù)字平方濾波算法是對基帶信號的平方信號進(jìn)行處理。數(shù)據(jù)準(zhǔn)備子模塊是根據(jù)不同的定時算法,選取基帶信號或者其平方信號進(jìn)行后續(xù)處理。

    頻率信息提取子模塊實現(xiàn)對輸入的數(shù)據(jù)的DFT運算,提取所需頻率點的信息。值得注意的是,兩種算法所需計算的頻率點以及DFT長度不同。

    DFT展開式可表示為:

    wdz4-gs5.gif

    若直接使用式(5)進(jìn)行計算,則需要將不同的旋轉(zhuǎn)因子存入FPGA的ROM中,然后通過地址尋址等控制邏輯選取不同的旋轉(zhuǎn)因子,以累積乘加的方式完成頻率信息提取。由于兩種算法的旋轉(zhuǎn)因子較多且不相同,這會消耗較多的存儲單元和邏輯資源。本文對式(5)進(jìn)行變換:

     wdz4-gs6.gif

    基于式(6),本文以迭代乘加的結(jié)構(gòu)完成頻域信息提取子模塊的設(shè)計,如圖6所示。圖中的乘法器為復(fù)數(shù)乘法器,通過模式選擇信號選擇旋轉(zhuǎn)因子。在計算過程中無需更換旋轉(zhuǎn)因子,便可完成頻率信息計算,節(jié)約了大量的邏輯和存儲資源。

wdz4-t6.gif

    當(dāng)頻率信息提取子模塊完成計算后,使能角度計算子模塊完成角度計算。角度計算子模塊使用CORDIC算法[8],僅使用移位和累加就可以完成反正切運算。本文采用循環(huán)結(jié)構(gòu)以節(jié)省資源,僅使用一個CORDIC運算單元,以迭代的方式完成計算,迭代13次后,角度計算精度達(dá)到0.006 994°。

    定時誤差計算子模塊根據(jù)當(dāng)前算法模式,選擇根據(jù)式(1)或者式(2)進(jìn)行定時誤差計算,將系數(shù)存入ROM中,使用乘法器和加法器計算出定時誤差值。

2.4 符號定時估計模塊仿真

    使用MATLAB產(chǎn)生經(jīng)過匹配濾波器的基帶波形作為測試數(shù)據(jù),測試數(shù)據(jù)信噪比為20 dB,其含有理論延遲0.4 Ts(Ts為符號周期)。Modelsim的功能仿真結(jié)果如圖7所示,可以看到,狀態(tài)機(jī)的跳轉(zhuǎn)與設(shè)計的一致,首先符號定時估計模塊捕獲到前導(dǎo)碼后會立即進(jìn)行前導(dǎo)碼定時估計,192個符號延時后會進(jìn)行數(shù)字平方濾波定時估計,完成定時估計修正。所得到的定時估計值均在5 530(0.4Ts)附近,估計方差小于10-4。仿真結(jié)果表明,設(shè)計的符號定時估計模塊功能正確。

wdz4-t7.gif

3 聯(lián)合定時估計算法FPGA實現(xiàn)的性能分析

    搭建如圖8所示的驗證平臺,使用兩塊DE0開發(fā)板構(gòu)建驗證平臺,分別作為發(fā)射機(jī)和接收機(jī),PC通過USB Blaster與發(fā)射機(jī)和接收機(jī)相連接,在傳輸過程中使用信號發(fā)生器產(chǎn)生不同功率的高斯白噪聲與調(diào)制信號相加后送入接收機(jī)進(jìn)行解調(diào)。在接收機(jī)選用不同的符號同步算法的情況下,利用SignalTap工具導(dǎo)出解調(diào)符號,分別計算不同信噪比下的誤碼率。

wdz4-t8.gif

    接收機(jī)分別使用經(jīng)典的同步碼匹配濾波算法與本文算法的解調(diào)誤比特率曲線如圖9所示。由圖可知,相對于經(jīng)典的同步算法,本文同步算法對解調(diào)性能具有提升,在信噪比為14 dB時,解調(diào)性能提升2個數(shù)量級。

wdz4-t9.gif

    表1是分別使用本文同步算法和經(jīng)典算法的接收機(jī)數(shù)字基帶(不包含幀處理)FPGA資源消耗比較。雖然對經(jīng)典算法進(jìn)行了優(yōu)化設(shè)計,降低了進(jìn)行相關(guān)計算的輸入信號和本地系數(shù)的位寬,但其仍消耗了較多的邏輯資源,占用總邏輯資源42%,而使用本文算法僅占用總邏輯資源25%。通過上述分析可知,本文算法相對于同步濾波算法不僅提高了接收機(jī)的解調(diào)性能而且節(jié)省了資源消耗。

4 結(jié)論

本文提出一種聯(lián)合定時估計算法,結(jié)合前導(dǎo)碼定時算法與數(shù)字平方濾波算法的優(yōu)點,具有高精度、快速捕獲和良好跟蹤性能的特點,適用于dPMR協(xié)議。并基于FPGA提出一種結(jié)構(gòu)簡單的實現(xiàn)方案,首先以滑動窗口的方式實現(xiàn)前導(dǎo)碼定位,然后以定時估計狀態(tài)控制器控制定時估計算法的選擇和使能,最后以迭代乘加的結(jié)構(gòu)完成定時誤差提取。實驗結(jié)果表明,本文算法相對于經(jīng)典的同步碼匹配濾波算法,不僅提升了接收機(jī)的解調(diào)性能且節(jié)省了硬件資源,對高性能低成本dPMR標(biāo)準(zhǔn)的ASIC芯片研發(fā)有一定指導(dǎo)意義。

wdz4-b1.gif

參考文獻(xiàn)

[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,F(xiàn)AN 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] 沈文麗,張屹,趙民建,等.基于數(shù)據(jù)輔助的CPFSK信號的定時估計[J].浙江大學(xué)學(xué)報(工學(xué)版),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標(biāo)準(zhǔn)碼元同步器設(shè)計與實現(xiàn)[J].電聲技術(shù),2013,37(11):56-58.

[6] 游順.DMR終端符號同步實現(xiàn)技術(shù)[D].成都:電子科技大學(xué),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改進(jìn)算法的NCO設(shè)計[J].電子技術(shù)應(yīng)用,2017,43(3):43-47.



作者信息:

朱子文1,張  濤1,關(guān)漢興2

(1. 武漢科技大學(xué) 冶金自動化與檢測技術(shù)教育部工程研究中心,湖北 武漢430081;

2. 長飛光纖光纜有限公司,湖北 武漢430000)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。