文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182590
中文引用格式: 朱子文,張濤,關漢興. dPMR接收機定時估計算法及FPGA實現[J].電子技術應用,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]是歐洲電信標準協(xié)會(ESTI)最新發(fā)布的數字集群通信標準,其具有頻譜利用率高、通信距離遠、抗干擾能力強等優(yōu)點,廣泛應用于公共安全、交通運輸等專用無線網絡。
dPMR協(xié)議采用連續(xù)相位頻率調制,對dPMR信號的解調常用鑒頻解調法[2],雖然該法易于硬件實現,但對定時誤差極為敏感,符號同步的準確度會極大地影響接收機的解調性能。因此,準確實現符號同步十分重要。
文獻[3]提出一種前導碼定時算法,該算法能夠快速進行定時誤差估計且估計精度高,但依賴前導碼序列,長時間的語音/數據通信會使時鐘誤差不斷積累,可能會導致碼元失步。文獻[4]提出一種數字平方濾波算法,該算法不依賴特殊序列,具有良好的跟蹤性能,但需要存儲大量的基帶信號完成統(tǒng)計估計,導致用時久且需要消耗大量的存儲資源,當接收機接收到特定控制信號時,不能在協(xié)議規(guī)定的時間內完成解調并及時應答。文獻[5]中提出一種經典的同步碼匹配濾波算法,利用dPMR標準幀中同步碼波形具有良好互相關性的特點,使用本地緩存的四種同步碼波形與輸入波形進行互相關操作,通過匹配同步碼波形以恢復最佳采樣點,該算法能夠避免上述算法的問題,適用于dPMR協(xié)議,但是定時估計精度不高,且實現互相關操作需要消耗大量的硬件資源。
本文結合前導碼定時算法和數字平方濾波算法的優(yōu)點,提出一種適用于dPMR協(xié)議的高精度的聯合定時估計算法,并基于FPGA,提出了低資源消耗的實現方案。相對于經典的同步碼匹配濾波算法,不僅提高了接收機解調性能,還降低了資源消耗。
1 聯合定時估計算法
設基帶信號采樣后的離散信號為m(i),N為符號過采樣率。前導碼定時估計算法是利用dPMR突發(fā)數據前有一段特殊的前導碼進行定時估計。由于前導碼序列以[+3 +3 -3 -3]重復9次,則其基帶信號是一段以4N為周期的周期信號。則可以利用前導碼進行定時誤差估計:
式(1)中,L為觀測訓練序列的符號長度,為了避免前導碼前后符號對上述的周期基帶波形產生影響,一般取前導碼中間的16個符號進行定時誤差估計。
數字平方濾波算法是對基帶信號進行平方處理后的信號v(i)進行處理,提取其穩(wěn)態(tài)波頻率信息得到定時誤差估計:
數字平方濾波算法需要對足夠長基帶信號進行信號處理(L一般大于128個符號),才能準確地提取穩(wěn)態(tài)波的頻率信息[6],但無需依靠任何特殊序列,便能進行高精度的定時誤差估計。
結合前導碼定時估計算法和數字平方濾波算法的優(yōu)點,提出一種能夠適用于dPMR協(xié)議的高精度、快速捕獲且具有良好跟蹤性能的聯合定時估計算法,流程如下:
(1)當RSSI(Received Signal Strength Indication)捕捉到輸入信號為有效信號時,對輸入的復包絡信號進行鑒頻和匹配濾波得到基帶信號;
(2)使用延時相關算法捕捉前導碼基帶波形;
(3)使用前導碼定時估計算法,對前導碼基帶信號進行快速高精度定時誤差估計;
(4)如果經過192個符號長度后,RSSI仍判定輸入信號有效時,使用數字濾波平方算法對后續(xù)的192個符號進行統(tǒng)計估計來校正定時誤差估計;
(5)重復第(4)步直至RSSI判決接收信號無效。
2 聯合定時估計算法的硬件實現及仿真
本文以Terasic(友晶)公司的DE0開發(fā)板構建的數字收發(fā)機平臺為依托,對dPMR接收機數字基帶系統(tǒng)進行硬件實現。AD采樣分辨率為16 bit,采樣頻率為19.2 kHz(過采樣率N=8)。本文提出的聯合估計算法需要分階段使用兩種定時算法,若分開實現兩種算法,會消耗較多的硬件資源。根據兩種算法均需要進行DFT運算的共同點,提出如圖1所示的實現結構,由前導碼檢測模塊、定時估計狀態(tài)控制器和定時誤差計算模塊組成,并對各模塊進行優(yōu)化設計。
2.1 前導碼檢測模塊
前導碼檢測模塊用于捕捉前導碼波形,本文利用前導碼模塊的周期性,使用差分延時相關算法[7]實現對前導碼的檢測,該模塊由數據緩存、延時相關計算和前導碼判決三個子模塊組成,如圖2所示。
數據緩存使用移位寄存器實現對檢測數據的滑動存儲。寄存器D1~D32實現32級延時(前導碼周期為32個采樣時鐘),用于產生延時相關的輸入信號;寄存器D33~D64用于信號緩存,防止前導碼波形的大量丟失影響后續(xù)的定時估計。
延時相關計算子模塊用于計算輸入信號的延時相關系數,為了減小載波頻偏導致基帶信號產生了直流偏移的影響,使用輸入信號的差分結果d(n)進行延時相關計算。相關長度為32點的延時相關系數可表示為:
基于式(4),延時相關計算硬件實現圖如圖3所示,以移位寄存器實現滑動窗口累加計算,僅使用一個乘法器便可以計算出相關系數,節(jié)省了大量資源。
前導碼判決模塊采用長度保持算法進行判決,即僅在相關系數保持連續(xù)8個符號長度以上均大于閾值時判定檢測到前導碼。使用這種長度保持算法能極大地降低誤判的概率,提高檢測算法的可靠性。
2.2 定時估計狀態(tài)控制器
定時估計狀態(tài)控制器用于控制定時估計算法的選擇和使能,其實現結構由一個狀態(tài)機構成,狀態(tài)轉移圖如圖4所示,包括休眠態(tài)、前導碼搜索態(tài)、前導碼定時估計態(tài)、空閑態(tài)和數字平方濾波定時估計態(tài)。
定時估計狀態(tài)控制器僅在處于前導碼定時估計態(tài)和數字平方濾波定時估計態(tài)時,產生定時誤差計算模塊的使能信號以及兩種不同的模式選擇信號,控制定時誤差計算模塊進行定時誤差估計。
2.3 定時誤差計算模塊
定時誤差計算模塊是本設計的關鍵模塊,由于兩種算法均是通過DFT運算得到定時誤差,因此硬件實現具有較大共性,以更少的資源消耗完成定時誤差提取是本文考慮的重點。根據式(1)和式(2),對硬件實現進行結構劃分如圖5所示。
由式(1)和式(2)可知,兩種算法處理的數據并不相同。前導碼定時算法是對基帶信號直接進行處理,而數字平方濾波算法是對基帶信號的平方信號進行處理。數據準備子模塊是根據不同的定時算法,選取基帶信號或者其平方信號進行后續(xù)處理。
頻率信息提取子模塊實現對輸入的數據的DFT運算,提取所需頻率點的信息。值得注意的是,兩種算法所需計算的頻率點以及DFT長度不同。
DFT展開式可表示為:
若直接使用式(5)進行計算,則需要將不同的旋轉因子存入FPGA的ROM中,然后通過地址尋址等控制邏輯選取不同的旋轉因子,以累積乘加的方式完成頻率信息提取。由于兩種算法的旋轉因子較多且不相同,這會消耗較多的存儲單元和邏輯資源。本文對式(5)進行變換:
基于式(6),本文以迭代乘加的結構完成頻域信息提取子模塊的設計,如圖6所示。圖中的乘法器為復數乘法器,通過模式選擇信號選擇旋轉因子。在計算過程中無需更換旋轉因子,便可完成頻率信息計算,節(jié)約了大量的邏輯和存儲資源。
當頻率信息提取子模塊完成計算后,使能角度計算子模塊完成角度計算。角度計算子模塊使用CORDIC算法[8],僅使用移位和累加就可以完成反正切運算。本文采用循環(huán)結構以節(jié)省資源,僅使用一個CORDIC運算單元,以迭代的方式完成計算,迭代13次后,角度計算精度達到0.006 994°。
定時誤差計算子模塊根據當前算法模式,選擇根據式(1)或者式(2)進行定時誤差計算,將系數存入ROM中,使用乘法器和加法器計算出定時誤差值。
2.4 符號定時估計模塊仿真
使用MATLAB產生經過匹配濾波器的基帶波形作為測試數據,測試數據信噪比為20 dB,其含有理論延遲0.4 Ts(Ts為符號周期)。Modelsim的功能仿真結果如圖7所示,可以看到,狀態(tài)機的跳轉與設計的一致,首先符號定時估計模塊捕獲到前導碼后會立即進行前導碼定時估計,192個符號延時后會進行數字平方濾波定時估計,完成定時估計修正。所得到的定時估計值均在5 530(0.4Ts)附近,估計方差小于10-4。仿真結果表明,設計的符號定時估計模塊功能正確。
3 聯合定時估計算法FPGA實現的性能分析
搭建如圖8所示的驗證平臺,使用兩塊DE0開發(fā)板構建驗證平臺,分別作為發(fā)射機和接收機,PC通過USB Blaster與發(fā)射機和接收機相連接,在傳輸過程中使用信號發(fā)生器產生不同功率的高斯白噪聲與調制信號相加后送入接收機進行解調。在接收機選用不同的符號同步算法的情況下,利用SignalTap工具導出解調符號,分別計算不同信噪比下的誤碼率。
接收機分別使用經典的同步碼匹配濾波算法與本文算法的解調誤比特率曲線如圖9所示。由圖可知,相對于經典的同步算法,本文同步算法對解調性能具有提升,在信噪比為14 dB時,解調性能提升2個數量級。
表1是分別使用本文同步算法和經典算法的接收機數字基帶(不包含幀處理)FPGA資源消耗比較。雖然對經典算法進行了優(yōu)化設計,降低了進行相關計算的輸入信號和本地系數的位寬,但其仍消耗了較多的邏輯資源,占用總邏輯資源42%,而使用本文算法僅占用總邏輯資源25%。通過上述分析可知,本文算法相對于同步濾波算法不僅提高了接收機的解調性能而且節(jié)省了資源消耗。
4 結論
本文提出一種聯合定時估計算法,結合前導碼定時算法與數字平方濾波算法的優(yōu)點,具有高精度、快速捕獲和良好跟蹤性能的特點,適用于dPMR協(xié)議。并基于FPGA提出一種結構簡單的實現方案,首先以滑動窗口的方式實現前導碼定位,然后以定時估計狀態(tài)控制器控制定時估計算法的選擇和使能,最后以迭代乘加的結構完成定時誤差提取。實驗結果表明,本文算法相對于經典的同步碼匹配濾波算法,不僅提升了接收機的解調性能且節(jié)省了硬件資源,對高性能低成本dPMR標準的ASIC芯片研發(fā)有一定指導意義。
參考文獻
[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)