文獻(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.
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)行定時誤差估計:
式(1)中,L為觀測訓(xùn)練序列的符號長度,為了避免前導(dǎo)碼前后符號對上述的周期基帶波形產(chǎn)生影響,一般取前導(dǎo)碼中間的16個符號進(jìn)行定時誤差估計。
數(shù)字平方濾波算法是對基帶信號進(jìn)行平方處理后的信號v(i)進(jìn)行處理,提取其穩(wěn)態(tài)波頻率信息得到定時誤差估計:
數(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è)計。
2.1 前導(dǎo)碼檢測模塊
前導(dǎo)碼檢測模塊用于捕捉前導(dǎo)碼波形,本文利用前導(dǎo)碼模塊的周期性,使用差分延時相關(guān)算法[7]實現(xiàn)對前導(dǎo)碼的檢測,該模塊由數(shù)據(jù)緩存、延時相關(guān)計算和前導(dǎo)碼判決三個子模塊組成,如圖2所示。
數(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ù)可表示為:
基于式(4),延時相關(guān)計算硬件實現(xiàn)圖如圖3所示,以移位寄存器實現(xiàn)滑動窗口累加計算,僅使用一個乘法器便可以計算出相關(guān)系數(shù),節(jié)省了大量資源。
前導(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)。
定時估計狀態(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所示。
由式(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展開式可表示為:
若直接使用式(5)進(jìn)行計算,則需要將不同的旋轉(zhuǎn)因子存入FPGA的ROM中,然后通過地址尋址等控制邏輯選取不同的旋轉(zhuǎn)因子,以累積乘加的方式完成頻率信息提取。由于兩種算法的旋轉(zhuǎn)因子較多且不相同,這會消耗較多的存儲單元和邏輯資源。本文對式(5)進(jìn)行變換:
基于式(6),本文以迭代乘加的結(jié)構(gòu)完成頻域信息提取子模塊的設(shè)計,如圖6所示。圖中的乘法器為復(fù)數(shù)乘法器,通過模式選擇信號選擇旋轉(zhuǎn)因子。在計算過程中無需更換旋轉(zhuǎn)因子,便可完成頻率信息計算,節(jié)約了大量的邏輯和存儲資源。
當(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è)計的符號定時估計模塊功能正確。
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)符號,分別計算不同信噪比下的誤碼率。
接收機(jī)分別使用經(jīng)典的同步碼匹配濾波算法與本文算法的解調(diào)誤比特率曲線如圖9所示。由圖可知,相對于經(jīng)典的同步算法,本文同步算法對解調(diào)性能具有提升,在信噪比為14 dB時,解調(diào)性能提升2個數(shù)量級。
表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)意義。
參考文獻(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)