一種數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)的設(shè)計(jì)方案
本文提出了一種在Windows平臺(tái)上基于USRP的數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)設(shè)的計(jì)方案。首先簡(jiǎn)要介紹USRP及其開(kāi)發(fā)平臺(tái),通過(guò)各種對(duì)比選擇在Windows平臺(tái)上利用VC來(lái)實(shí)現(xiàn),然后描述了USRP驅(qū)動(dòng)安裝,詳細(xì)分析了UHD重組的API函數(shù)接口,最后搭建數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng),采用DMR數(shù)字通信協(xié)議,利用USRP作為收發(fā)前端,在PC上通過(guò)串口RS232連接AMBE-1000語(yǔ)音板,通過(guò)實(shí)際測(cè)試驗(yàn)證了系統(tǒng)的各項(xiàng)功能,證明了USRP在Windows平臺(tái)上開(kāi)發(fā)簡(jiǎn)單方便可行。
0引言
隨著信息化時(shí)代的發(fā)展,人們?nèi)找嫫惹械匾髮?duì)講機(jī)具有諸如話音加密、數(shù)據(jù)傳輸、遠(yuǎn)程監(jiān)控、聯(lián)網(wǎng)調(diào)度等功能,而且要求進(jìn)一步提高無(wú)線頻譜的利用率(信道間隔由過(guò)去的25kHz到現(xiàn)在的12.5kHz以及6.25kHz),數(shù)字通信技術(shù)在對(duì)講機(jī)及轉(zhuǎn)信臺(tái)等相關(guān)產(chǎn)品中的應(yīng)用也就迫在眉睫了[1][2].
數(shù)字對(duì)講機(jī)采用數(shù)字技術(shù)進(jìn)行設(shè)計(jì),將語(yǔ)音信號(hào)數(shù)字化,以數(shù)字編碼形式傳播。數(shù)字對(duì)講機(jī)與模擬對(duì)講機(jī)相比,語(yǔ)音清晰、接收通話信號(hào)穩(wěn)定,數(shù)字對(duì)講機(jī)不僅能實(shí)現(xiàn)模擬對(duì)講機(jī)基本業(yè)務(wù):?jiǎn)魏?、組呼等功能,還具有調(diào)度臺(tái)核查呼叫、區(qū)域選擇、接入優(yōu)先、優(yōu)先呼叫、遲后進(jìn)入、預(yù)占優(yōu)先呼叫、偵聽(tīng)、動(dòng)態(tài)重組、監(jiān)聽(tīng)等補(bǔ)充業(yè)務(wù)[2].數(shù)字對(duì)講機(jī)是我國(guó)的移動(dòng)通信系統(tǒng)和設(shè)備中的最后一個(gè)由模擬轉(zhuǎn)向數(shù)字的設(shè)備和系統(tǒng)。
本文提出了一種基于USRP的數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)設(shè)計(jì)方案。該方案在Windows平臺(tái)上,利用USRP作為收發(fā)前端,在PC機(jī)上通過(guò)串口RS232連接語(yǔ)音板,上層采用DMR數(shù)字通信協(xié)議,實(shí)現(xiàn)了數(shù)字對(duì)講機(jī)系統(tǒng)的各項(xiàng)功能。
1 USRP介紹及系統(tǒng)開(kāi)發(fā)平臺(tái)選取
1.1USRP介紹
USRP(Universal Software Radio Peripheral,通用軟件無(wú)線電外設(shè))旨在使普通計(jì)算機(jī)能像高帶寬的軟件無(wú)線電設(shè)備一樣工作。USRP是一個(gè)非常靈活的USB設(shè)備,包含一個(gè)小的母板,母板包含4個(gè)12bit/64M抽樣率的ADC,4個(gè)14bit/128M DAC,一個(gè)百萬(wàn)門的FPGA芯片和一個(gè)可編程的USB2.0控制器。每個(gè)USRP母板支持4個(gè)子板,2個(gè)接收,2個(gè)發(fā)射[3].它的結(jié)構(gòu)框圖如圖1所示。
如圖1所示,USRP通過(guò)USB2.0與處理器相連。接收器鏈從高度敏感、可接受微小信號(hào)的模擬前端開(kāi)始,然后使用直接下變頻將它們數(shù)字化為同相(I)和正交(Q)基帶信號(hào)。下變頻后有高速模數(shù)轉(zhuǎn)換器和一個(gè)DDC,用以降低采樣率并將I和Q打包傳輸?shù)街鳈C(jī)。發(fā)射器鏈從主機(jī)開(kāi)始,生成I和Q并通過(guò)USB2.0輸?shù)経SRP硬件,DUC為DAC準(zhǔn)備信號(hào),然后I-Q進(jìn)行混合,直接上變頻信號(hào)以產(chǎn)生一個(gè)RF頻率信號(hào),然后進(jìn)行信號(hào)放大與傳輸。
1.2開(kāi)發(fā)平臺(tái)選取
目前開(kāi)發(fā)USRP的工具有四種,分別是Linux品臺(tái)下的GNUradio,還有Windows平臺(tái)下的VC,Simulink,Labview.
GNU Radio是Linux上一個(gè)軟件無(wú)線電軟件,通過(guò)最小程度地結(jié)合硬件USRP,用軟件來(lái)定義無(wú)線電波發(fā)射和接收的方式,搭建無(wú)線電通信系統(tǒng)的開(kāi)源軟件系統(tǒng)[3].Labview是由NI提出的一款開(kāi)發(fā)USRP的工具,用戶可以開(kāi)發(fā)自定義的無(wú)線通信協(xié)議并且實(shí)現(xiàn)實(shí)時(shí)運(yùn)行的物理層數(shù)字鏈路。但是目前Labview只支持USRP-292x.MATLAB和Simulink連接Ettus Reseach公司的USRP,可以提供無(wú)線電回路設(shè)計(jì)和建模環(huán)境。它是由德國(guó)KIT大學(xué)開(kāi)發(fā)的,只支持USRP2,還不是很完善。各個(gè)平臺(tái)之間對(duì)比:
通過(guò)表1可知,相對(duì)于Linux平臺(tái)而言,Windows平臺(tái)開(kāi)發(fā)更方便有以下幾個(gè)優(yōu)點(diǎn):第一,Linux的操作比較復(fù)雜,Windows的比較簡(jiǎn)單,快速開(kāi)發(fā);第二,Windows可視化的界面編輯器,方便開(kāi)發(fā)對(duì)講機(jī)的界面對(duì)話框;第三,Windows是微軟的東西,VC也是,自然會(huì)比其他公司的開(kāi)發(fā)工具在兼容性等各方面要好;第四,Linux速度比較快,安全性比Windows好,但是有很多軟件只能在Windows里運(yùn)行,與Linux兼容的軟件正在開(kāi)發(fā)中,不方便調(diào)用PC里面的API和外面接口。
而用VC開(kāi)發(fā)通信協(xié)議程序比較方便,USRP的通用驅(qū)動(dòng)UHD也是用VC開(kāi)發(fā)的,相比較與Simulink和Labview,在VC上開(kāi)發(fā),更具優(yōu)勢(shì),更適合本項(xiàng)目的開(kāi)發(fā)。并且Simulink和Labview都只支持USRP2,開(kāi)發(fā)還不是很成熟,工具也不方便[4][5].本次驗(yàn)證系統(tǒng)采用的是USRP1,USRP1采用的是USB2.0接口,相對(duì)于USRP2以太網(wǎng)接口簡(jiǎn)單方便,母版上采用的是Altera的FPGA芯片,容易開(kāi)發(fā),并且價(jià)格便宜。所以,采用USRP1在Windows上用VC進(jìn)行開(kāi)發(fā)。
2 USRP在Windows上開(kāi)發(fā)接口
UHD是由Ettus Resarch開(kāi)發(fā)的,為其產(chǎn)品提供宿主驅(qū)動(dòng)(host driver)和API.本次設(shè)計(jì)在Windows平臺(tái)下,采用UHD驅(qū)動(dòng)。在安裝UHD驅(qū)動(dòng)時(shí),需要安裝cmake,Boost,libUSB等插件,然后解壓UHD源碼,通過(guò)cmake交叉編譯實(shí)現(xiàn),可以得到UHD下面的各個(gè)項(xiàng)目工程。Boost和libUSB這兩個(gè)庫(kù)在cmake編譯中都需要進(jìn)行配置,否則編譯過(guò)不去。這些插件主要作用就是將UHD下面的Linux源代碼通過(guò)cmake等交叉編譯生成Windows下面的C代碼。
安裝好后可以連接上USRP,通過(guò)里面的測(cè)試實(shí)例,可以看到USRP是否正確連上。正確連上會(huì)顯示如下信息:圖中的參數(shù)是可配置的。
然后,我們就可以調(diào)用UHD下面的一些API函數(shù),在本次項(xiàng)目中主要參考的就是底層的send()和recv()。里面的程序全是通過(guò)類來(lái)實(shí)現(xiàn)的。在Windows平臺(tái)上,USRP提供的可配參數(shù)主要如表2所示。
但是send()和recv()收發(fā)不滿足DMR規(guī)定的要求,并且在進(jìn)行收發(fā)轉(zhuǎn)換時(shí),時(shí)序處理不過(guò)來(lái)。為了方便上層調(diào)用,將配置分為三部分,對(duì)UHD下面的接口函數(shù)進(jìn)行了重新封裝,如表3所示。
在configure()里面主要是創(chuàng)建了一個(gè)USRP,它花時(shí)較長(zhǎng),需要返回一些USRP的子板和母版信息,還要導(dǎo)入一些映像文件,所以采用單獨(dú)分開(kāi)配置,在程序調(diào)用之前配置一次就可以。configure_recv()和configure_send()主要是配置一些收發(fā)的具體參數(shù),就是上面介紹的主要參數(shù)。這樣將配置分開(kāi),是為收發(fā)轉(zhuǎn)換準(zhǔn)備的,方便上層調(diào)用。Mod_send()主要負(fù)責(zé)將上層來(lái)的數(shù)據(jù)進(jìn)行調(diào)制然后調(diào)用底層send()將數(shù)據(jù)發(fā)送出去,Demod_recv()主要負(fù)責(zé)調(diào)用底層recv()并將接收的數(shù)據(jù)解調(diào)返回給上層。
3收發(fā)系統(tǒng)實(shí)現(xiàn)及測(cè)試
3.1系統(tǒng)平臺(tái)搭建
系統(tǒng)平臺(tái)基于軟件無(wú)線電的架構(gòu),基帶處理部分按照DMR協(xié)議由軟件模塊來(lái)實(shí)現(xiàn),包括組幀、同步、信道接入、BPTC信道編碼等,這部分主要在PC機(jī)上完成。射頻部分由硬件模塊USRP完成,采用400M的射頻子板,與PC之間通過(guò)USB2.0進(jìn)行通信。語(yǔ)音模塊由AMBE-1000來(lái)完成,本次系統(tǒng)中語(yǔ)音板是插在一個(gè)51最小系統(tǒng)上,51最小系統(tǒng)主要負(fù)責(zé)AMBE-1000語(yǔ)音板的驅(qū)動(dòng)和它與PC機(jī)之間的串口通信。具體系統(tǒng)架構(gòu)如圖3。
3.2DMR協(xié)議棧收發(fā)時(shí)序
在PC上主要主要完成的就是DMR通信協(xié)議,主要分為三層,物理層主要功能是:比特與符號(hào)定義、建立頻率同步和符號(hào)同步、構(gòu)成突發(fā)、對(duì)基帶信號(hào)進(jìn)行調(diào)制解調(diào)、實(shí)現(xiàn)收發(fā)轉(zhuǎn)換等;數(shù)據(jù)鏈路層的主要功能是:突發(fā)和參數(shù)定義、組幀和幀同步、信道編碼、確認(rèn)和重傳機(jī)制、與兩層之間的接口等;呼叫控制層的主要功能是:BS激活與去激活、語(yǔ)音業(yè)務(wù)下的呼叫建立、呼叫保持、呼叫終止、單呼和群呼的發(fā)送與接收等[6].在本文中嚴(yán)格按照DMR協(xié)議規(guī)定的幀結(jié)構(gòu)和突發(fā)時(shí)序進(jìn)行了設(shè)計(jì),突發(fā)結(jié)構(gòu)如圖4所示。
每個(gè)burst長(zhǎng)30ms,包含兩個(gè)108比特有效載荷和一個(gè)48比特同步或信令域,其中27.5ms承載264比特內(nèi)容,在傳輸語(yǔ)音時(shí),可以利用兩個(gè)有效載荷共216比特承載60ms的壓縮語(yǔ)音信息。另外2.5s分布在左右兩邊,各占1.25s,這樣兩個(gè)突發(fā)就間隔2.5ms.在上行信道上,2.5ms間隔是保護(hù)間隔,作傳播時(shí)延和功率放大器的上升時(shí)間;在下信道上,2.5ms間隔用作CACH信道,用于傳送業(yè)務(wù)信道管理信息和低速信令。TDMA frame由兩個(gè)burst構(gòu)成,語(yǔ)音采集器每60ms采集一幀數(shù)據(jù)。基帶處理模塊進(jìn)行基帶處理和中頻調(diào)制,處理時(shí)間小于60ms,其中包括數(shù)據(jù)收集和寫入緩存的時(shí)間。USRP每30ms時(shí)間發(fā)送一幀數(shù)據(jù),與基帶模塊和中頻調(diào)制并行進(jìn)行,接收端作類似的處理。收發(fā)的時(shí)序轉(zhuǎn)換如圖5所示。
3.3系統(tǒng)測(cè)試
本次開(kāi)發(fā)的數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)經(jīng)過(guò)實(shí)際測(cè)試,可以正常進(jìn)行單呼,組呼語(yǔ)音通話,通話質(zhì)量較好。測(cè)試中系統(tǒng)采取主要參數(shù)在表2中已經(jīng)說(shuō)明,收發(fā)系統(tǒng)實(shí)物圖如圖6所示。
本文中對(duì)發(fā)送端得波形進(jìn)行了測(cè)試,圖7是一個(gè)突發(fā)的數(shù)據(jù)波形,圖8是一個(gè)TDMA幀的數(shù)據(jù)波形。可以看出,實(shí)際的測(cè)試波形比27.5ms多一點(diǎn),這個(gè)是由USRP不穩(wěn)定帶來(lái)的,但一幀數(shù)據(jù)在上層嚴(yán)格控制在60ms,30ms進(jìn)行一次收發(fā)轉(zhuǎn)換,滿足DMR協(xié)議規(guī)定的格式。
4結(jié)論
本文通過(guò)對(duì)USRP的研究,選取在Windows平臺(tái)上,利用軟件無(wú)線電架構(gòu)搭建數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)。通過(guò)實(shí)際測(cè)試表明,USRP在Windows下開(kāi)發(fā)很方便,搭建的數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)能夠進(jìn)行清晰的單呼和組呼功能。
評(píng)論