本文提出了一种在Windows渠道上根据USRP的数字对讲机收发体系设的计计划。首要扼要介绍USRP及其开发渠道,经过各种比照挑选在Windows渠道上运用VC来完结,然后描绘了USRP驱动装置,详细分析了UHD重组的API函数接口,最终树立数字对讲机收发体系,选用DMR数字通讯协议,运用USRP作为收发前端,在PC上经过串口RS232衔接AMBE-1000语音板,经过实践测验验证了体系的各项功用,证明了USRP在Windows渠道上开发简略便利可行。
0导言
跟着信息化年代的开展,人们日益火急地要求对讲机具有比如话音加密、数据传输、长途监控、联网调度等功用,而且要求进一步进步无线频谱的运用率(信道距离由曩昔的25kHz到现在的12.5kHz以及6.25kHz),数字通讯技能在对讲机及转信台等相关产品中的运用也就火烧眉毛了[1][2].
数字对讲机选用数字技能进行规划,将语音信号数字化,以数字编码方法传达。数字对讲机与模仿对讲机比较,语音明晰、接纳通话信号安稳,数字对讲机不仅能完结模仿对讲机根本事务:单呼、组呼等功用,还具有调度台核对呼叫、区域挑选、接入优先、优先呼叫、迟后进入、预占优先呼叫、侦听、动态重组、监听等弥补事务[2].数字对讲机是我国的移动通讯体系和设备中的最终一个由模仿转向数字的设备和体系。
本文提出了一种根据USRP的数字对讲机收发体系规划计划。该计划在Windows渠道上,运用USRP作为收发前端,在PC机上经过串口RS232衔接语音板,上层选用DMR数字通讯协议,完结了数字对讲机体系的各项功用。
1 USRP介绍及体系开发渠道选取
1.1USRP介绍
USRP(Universal Software Radio Peripheral,通用软件无线电外设)旨在使一般核算机能像高带宽的软件无线电设备相同作业。USRP是一个十分灵敏的USB设备,包含一个小的母板,母板包含4个12bit/64M抽样率的ADC,4个14bit/128M DAC,一个百万门的FPGA芯片和一个可编程的USB2.0操控器。每个USRP母板支撑4个子板,2个接纳,2个发射[3].它的结构框图如图1所示。
如图1所示,USRP经过USB2.0与处理器相连。接纳器链从高度灵敏、可接受细小信号的模仿前端开端,然后运用直接下变频将它们数字化为同相(I)和正交(Q)基带信号。下变频后有高速模数转化器和一个DDC,用以下降采样率并将I和Q打包传输到主机。发射器链从主机开端,生成I和Q并经过USB2.0输到USRP硬件,DUC为DAC预备信号,然后I-Q进行混合,直接上变频信号以发生一个RF频率信号,然后进行信号扩大与传输。
1.2开发渠道选取
现在开发USRP的东西有四种,分别是Linux品台下的GNUradio,还有Windows渠道下的VC,Simulink,Labview.
GNU Radio是Linux上一个软件无线电软件,经过最小程度地结合硬件USRP,用软件来界说无线电波发射和接纳的方法,树立无线电通讯体系的开源软件体系[3].Labview是由NI提出的一款开发USRP的东西,用户可以开发自界说的无线通讯协议而且完结实时运转的物理层数字链路。可是现在Labview只支撑USRP-292x.MATLAB和Simulink衔接Ettus Reseach公司的USRP,可以供给无线电回路规划和建模环境。它是由德国KIT大学开发的,只支撑USRP2,还不是很完善。各个渠道之间比照:
经过表1可知,相对于Linux渠道而言,Windows渠道开发更便利有以下几个长处:榜首,Linux的操作比较复杂,Windows的比较简略,快速开发;第二,Windows可视化的界面编辑器,便利开发对讲机的界面对话框;第三,Windows是微软的东西,VC也是,天然会比其他公司的开发东西在兼容性等各方面要好;第四,Linux速度比较快,安全性比Windows好,可是有许多软件只能在Windows里运转,与Linux兼容的软件正在开发中,不便利调用PC里边的API和外面接口。
而用VC开发通讯协议程序比较便利,USRP的通用驱动UHD也是用VC开发的,比较较与Simulink和Labview,在VC上开发,更具优势,更适合本项意图开发。而且Simulink和Labview都只支撑USRP2,开发还不是很老练,东西也不便利[4][5].本次验证体系选用的是USRP1,USRP1选用的是USB2.0接口,相对于USRP2以太网接口简略便利,母版上选用的是Altera的FPGA芯片,简单开发,而且价格便宜。所以,选用USRP1在Windows上用VC进行开发。
2 USRP在Windows上开发接口
UHD是由Ettus Resarch开发的,为其产品供给宿主驱动(host driver)和API.本次规划在Windows渠道下,选用UHD驱动。在装置UHD驱动时,需求装置cmake,Boost,libUSB等插件,然后解压UHD源码,经过cmake穿插编译完结,可以得到UHD下面的各个项目工程。Boost和libUSB这两个库在cmake编译中都需求进行装备,不然编译过不去。这些插件首要效果便是将UHD下面的Linux源代码经过cmake等穿插编译生成Windows下面的C代码。
装置好后可以衔接上USRP,经过里边的测验实例,可以看到USRP是否正确连上。正确连上会显现如下信息:图中的参数是可装备的。
然后,咱们就可以调用UHD下面的一些API函数,在本次项目中首要参阅的便是底层的send()和recv()。里边的程序满是经过类来完结的。在Windows渠道上,USRP供给的可配参数首要如表2所示。
可是send()和recv()收发不满意DMR规则的要求,而且在进行收发转化时,时序处理不过来。为了便利上层调用,将装备分为三部分,对UHD下面的接口函数进行了从头封装,如表3所示。
在configure()里边首要是创建了一个USRP,它花时较长,需求回来一些USRP的子板和母版信息,还要导入一些映像文件,所以选用独自分隔装备,在程序调用之前装备一次就可以。configure_recv()和configure_send()首要是装备一些收发的详细参数,便是上面介绍的首要参数。这样将装备分隔,是为收发转化预备的,便利上层调用。Mod_send()首要担任将上层来的数据进行调制然后调用底层send()将数据发送出去,Demod_recv()首要担任调用底层recv()并将接纳的数据解调回来给上层。
3收发体系完结及测验
3.1体系渠道树立
体系渠道根据软件无线电的架构,基带处理部分依照DMR协议由软件模块来完结,包含组帧、同步、信道接入、BPTC信道编码等,这部分首要在PC机上完结。射频部分由硬件模块USRP完结,选用400M的射频子板,与PC之间经过USB2.0进行通讯。语音模块由AMBE-1000来完结,本次体系中语音板是插在一个51最小体系上,51最小体系首要担任AMBE-1000语音板的驱动和它与PC机之间的串口通讯。详细体系架构如图3。
3.2DMR协议栈收发时序
在PC上首要首要完结的便是DMR通讯协议,首要分为三层,物理层首要功用是:比特与符号界说、树立频率同步和符号同步、构成突发、对基带信号进行调制解调、完结收发转化等;数据链路层的首要功用是:突发和参数界说、组帧和帧同步、信道编码、承认和重传机制、与两层之间的接口等;呼叫操控层的首要功用是:BS激活与去激活、语音事务下的呼叫树立、呼叫坚持、呼叫停止、单呼和群呼的发送与接纳等[6].在本文中严厉依照DMR协议规则的帧结构和突发时序进行了规划,突发结构如图4所示。
每个burst长30ms,包含两个108比特有效载荷和一个48比特同步或信令域,其间27.5ms承载264比特内容,在传输语音时,可以运用两个有效载荷共216比特承载60ms的紧缩语音信息。别的2.5s散布在左右两头,各占1.25s,这样两个突发就距离2.5ms.在上行信道上,2.5ms距离是维护距离,作传达时延和功率扩大器的上升时刻;鄙人信道上,2.5ms距离用作CACH信道,用于传送事务信道办理信息和低速信令。TDMA frame由两个burst构成,语音搜集器每60ms搜集一帧数据。基带处理模块进行基带处理和中频调制,处理时刻小于60ms,其间包含数据搜集和写入缓存的时刻。USRP每30ms时刻发送一帧数据,与基带模块和中频调制并行进行,接纳端作相似的处理。收发的时序转化如图5所示。
3.3体系测验
本次开发的数字对讲机收发体系经过实践测验,可以正常进行单呼,组呼语音通话,通话质量较好。测验中体系采纳首要参数在表2中现已阐明,收发体系实物图如图6所示。
本文中对发送端得波形进行了测验,图7是一个突发的数据波形,图8是一个TDMA帧的数据波形。可以看出,实践的测验波形比27.5ms多一点,这个是由USRP不安稳带来的,但一帧数据在上层严厉操控在60ms,30ms进行一次收发转化,满意DMR协议规则的格局。
4定论
本文经过对USRP的研讨,选取在Windows渠道上,运用软件无线电架构树立数字对讲机收发体系。经过实践测验标明,USRP在Windows下开发很便利,树立的数字对讲机收发体系可以进行明晰的单呼和组呼功用。