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