一 软件无线电(SDR)概念
软件无线电,即Software Defined Radio,SDR。浅显来讲,SDR便是依据通用的硬件渠道上用软件来完结各种通讯模块。
概念中有两个关键词,“通用硬件渠道”和“软件”。“通用硬件渠道”便是说咱们能依据这个硬件渠道完结各式各样的通讯功用,而不是说一个硬件渠道只能完结一种通讯功用。“软件”来完结通讯模块是相对于传统的无线电技能来讲的,传统的无线电通讯模块都是用硬件电路来规划,一个通讯电路只能完结一种通讯功用,开发周期长,开发本钱高,并且一旦规划好后功用就无法改动。软件化能够加速通讯模块的开发速度,下降开发本钱,便于调试和保护。
咱们能够用图1来简略看看软件无线电基站与传统的无线电基站的差异。图片左面的是传统的大基站,图片右边的是依据软件无线电的小型化基站。传统的商用基站体积较大,需求规划许多专用的硬件电路;而SDR基站体积较小,大部分通讯功用由软件完结。
图1 商用基站与SDR基站
SDR技能被誉为通讯范畴的第三次革新。第一次革新是1G通讯体系,由有线通讯到无线通讯的革新;第2次革新是2G通讯体系,由模仿通讯到数字通讯的革新。SDR是未来通讯体系的发展趋势。
二 SDR体系分类
比较通用的SDR体系分类是以SDR的硬件渠道来分类。SDR体系分为三类:依据FPGA的SDR体系,依据DSP的是SDR体系和依据GPP的SDR体系。
2.1 FPGA-BasedSDR体系
依据FPGA渠道开发的SDR体系,实时处理才干强,可是开发难度大,开发本钱也高。这儿着重一下在SDR体系中对实时处理才干要求很高,咱们以LTE体系为例,LTE体系的子帧长1ms,也便是说咱们的SDR体系有必要在1ms内把这一子帧的数据悉数处理完并发送出去,不能有任何时延。通讯体系带宽越大,吞吐率越高,对体系的实时性要求就越高。
2.2 DSP-BasedSDR体系
依据DSP渠道开发的SDR体系,实时性比FPGA略差,并且相同的开发难度大,开发本钱也高。
2.3 GPP-BasedSDR体系
GPP即General Purpose Processor,通用处理器。咱们能够简略的把GPP了解为电脑,即咱们运用的台式机、笔记本等。依据GPP能高效地开发各种通讯模块、通讯体系,由于咱们能够很便利的依据各种高档编程言语、各种链接库来完结各种通讯功用,如编码、调制等。并且,依据GPP的SDR体系开发比较其他两种具有较低的开发门槛,较低的开发本钱,开发周期也较短、便于调试等。GPP-Based SDR体系是现在最为通用的一种SDR体系完结方法。
GPP-based SDR体系一般包括两部分,一部分是GPP,另一部分是外设。下一个章节咱们将介绍SDR外设的品种。
三 SDR体系外设
如图2所示,SDR基站/UE都各自包括一个GPP和一个外设。GPP即咱们往常所用的台式机或笔记本电脑。SDR的外设有许多品种,如USRP,bladeRF,HackRF,以及低端的RTLSDR等。下面咱们别离介绍各种外设的相关信息。
图2 SDR通讯体系
3.1 USRP
USRP是Ettus公司的产品,现在首要有B系列,E系列,N系列和X系列等,根本上系列字母越靠后价格越贵。由于USRP类型太多,咱们以B系列为例来介绍USRP。 B系列主打小型化,现在有USRP B200/B210、USRP mini系列等,其间mini系列更是只要一张手刺巨细。并且B系列都选用USB3.0接口与GPP通讯,直接选用USB供电,运用十分快捷。USRP B系列的产品大部分单价都在7000-8000块之间,可是假如加上税钱、运费等,差不多就得10000块了。USRP相关产品的介绍请链接官网https://www.ettus.com/product
图3 USRP设备
3.2 BladeRF
BladeRF首要有三种类型,BladeRF X40,BladeRF X115, BladeRF X115 Thermal。BladeRF X40 是低配版,便是咱们手机里边的芳华版,大约约$420,即3000块左右;BladeRF X115是高配版,FPGA比BladeRF X40好,价格约$650,即4500块左右;而BladeRF X115 Thermal则是顶配版,能够耐受极点环境,价格约$1500,即10000块左右。BladeRF的详细信息请查阅官网http://www.nuand.com/
图4 BladeRF设备
3.3 HackRF
HackRF,望文生义是黑客版的SDR外设,它主打性价比高,价格廉价。HackRF首要有两种版别,HackRF blue和HackRF one,其间HackRF blue是低配版,HackRF是高配版。留意的是HackRF只能支撑半双工。HackRF详细的信息请查阅官网http://greatscottgadgets.com/hackrf/
图5 HackRF设备
在国外网站上找到一篇介绍上述SDR外设的差异的博客,http://www.taylorkillian.com/2013/08/sdr-showdown-hackrf-vs-bladerf-vs-usrp.html
有空我给咱们翻译翻译。现在先给咱们预览一下里边的一个表格。
3.4
RTLSDR
假如说上述设备对学生党来说都太贵了,究竟动不动就好几千块钱,那么不得不盛大介绍下入门级的SDR外设,RTLSDR。淘宝一搜RTLSDR就能出来一大堆,并且都只需求几十块钱,博主现在就买了一个,正在研讨怎样运用。廉价就意味着功能的低,RTLSDR本来是用来接纳电视信号的,所以也称为电视棒。RTLSDR只能接纳信号,不能发射信号,并且只要2.8M/s的采样速率,依据奈奎斯特采样规律换算一下理论上最大支撑的带宽只要1.4M。但这仍然是一款十分合适用来入门的SDR外设。RTLSDR详细运用方法拜见http://sdr.osmocom.org/trac/wiki/rtl-sdr和http://www.rtl-sdr.com/。
图6 RTLSDR设备
四 SDR体系原理
下面正式开端解说SDR的体系原理。在上面的介绍中咱们知道GPP-Based SDR体系一般都是包括一个GPP和一个外设。咱们以一台笔记本电脑衔接一个USRP B200为例来给咱们解说SDR体系内部的完结原理。
4.1 发射机
首要咱们来看发射端的体系原理图,即图7。图的左面是一台笔记本的示意图,右边的一个USRP B200的发射示意图。
首要看笔记本结构最上面的SDR程序。这个程序便是咱们用软件来完结的通讯模块,在笔记本上咱们能够用各种高档编程言语来编写各种通讯模块,例如Turbo编码模块,OFDM模块等。鉴于SDR体系对实时性要求较高,所以咱们一般运用C或C++言语来编写SDR程序。SDR程序里边包括了通讯体系完好的协议栈,假如咱们写的是LTE体系,则包PHY、MAC、RLC、PDCP、RRC、NAS乃至MME等;而假如咱们的是WiFi体系,则包括PHY、MAC、LLC等。SDR程序的首要功用是处理体系的基带数据。
接下来UHD是USRP设备的驱动模块,不同的外设运用的驱动也不相同,由于咱们是以USRPB200为例,所以驱动模块是UHD。UHD驱动的装置方法能够拜见http://blog.csdn.net/jxwxg/article/details/53002311运用C或许C++调用UHD的库函数能够拜见http://blog.csdn.net/jxwxg/article/details/53142911。
接下来是体系的各种体系库和体系调用的接口以及内核。着重一点,大部分SDR程序都是依据Linux来开发的,很少依据Windows开发。由于Linux体系开源,并且实时性较好。这一块首要触及操作体系方面的常识,咱们不在这儿深化评论。
USRP B200与GPP的接口是USB3.0。外设接口的挑选也很重要,接口的传输速率有必要快,不能成为整个体系的瓶颈。USRP前期的产品的都是用的USB2.0接口,由于其时通讯体系的吞吐量较小,所以不会约束运用。现在大部分外设都是用USB3.0或许以太网网口作为外设接口。USB3.0的接口速度能够到达500MBps,根本能满意大部分通讯体系的需求。
接着笔记本电脑通过USB3.0把数据传输给USRP B200。USRP最底下的两个模块是发送操控模块和数字上变频模块(DUC)。这两个模块是用FPGA里边完结的,用FPGA完结的优点是处理速度快。发送操控模块好了解便是用来操控整个USRP的发送行为,例如什么时候发送等。DUC模块是为了把电脑发生的基带数据上变频到中频。之后数字信号通过USRP的DAC之后转化为模仿域的数据,数模转化之后需求过一个低通滤波器使信号变的愈加滑润。最终中频模仿域数据在与晶振发生的信号相乘把咱们的中频信号调制到拟定的射一再点上。
最终射频信号再通过功率放大器把信号发射出去。信号放大器里边也有许多常识能够学习。例如信号放大器分为A类,B类和C类等,详细每一类的特征本文就不详细解说了。咱们能够通过UHD供给的库函数来修正发射信号的发射增益,即tx_gain。tx_gain这个参数对信号的影响仍是挺大的,tx_gain设置的太小导致信号功率太小,而假如设置的过大或许会导致体系的低噪上升,也有或许会影响其他通讯体系的正常作业。
图7 SDR发射机原理图
4.2 接纳机
或许有人会问为什么要通过两次变频。咱们以SDR接纳机给咱们解说。如图8所示是SDR接纳机的原理图。相同的,左面是笔记本的示意图,与发射机的相同;右边是USRP的接纳示意图,USRP接纳示意图与发射示意图稍有不同。
首要接纳部分的放大器变成了低噪放,望文生义,低噪放便是低噪声的放大器,本质上仍是个放大器。由于接纳的信号里边包括了信道的噪声,接纳机不能把噪声放的过大。
信号通过低噪放后与USRP晶振发生的信号相乘把信号下变频到中频,相同地再通过一个低通滤波器把信号变得滑润。
之后中频信号通过ADC把模仿域的信号转到数据域。ADC是USRP里边很重要的一个部件。ADC首要由两个参数,采样精度和采样率。采样精度表明采样后的信号用多少bit来表明,例如USRP B200的ADC精度为12 bits,即采样后的每一个数据用12bits来表明。采样率便是体系的采样速率,USRP B200的采样速率为61.44MS/s。这也便是为什么大部分SDRLTE体系都选用USRP B系列作为外设的原因,61.44MS/s的采样率刚好是LTE体系最大采样速率30.72M的两倍。
相同的信号通过ADC之后,数字信号被送入FPGA模块处理。FPGA里边包括两个模块,数字下变频和接纳操控。接纳操控用来操控整个USRP体系的接纳流程,例如什么时候开端承受等。数字下变频即DDC,用于把信号从中频下变频到基带。
图8 SDR接纳机原理图
为什么要通过两次下变频呢?如图9所示,第一次变频是在模仿域通过晶振发生的信号与射频信号相乘把信号下变频到中频,这一次变频首要是为了后边做AD采样。咱们知道采样需求满意奈奎斯特采样规律,采样的频率有必要大于信号的最高频率的2倍,而射频信号的载波频率现已能都到达2.6GHz,乃至5GHz,底子无法做出载波频率两倍的采样速率的ADC。所以体系先把信号下变频到中频,然后再利用ADC对信号进行模数转化。由于USRP ADC的采样率为61.44MS/s,所以咱们能够推出USRP对应的中一再率应该低于30.72MHz。
接着中频的数字信号被DDC下变频到基带。有人或许会问为什么不直接把信号一次变频到基带呢,这样的接纳机叫做零中频接纳机。假如载波频率高了,零中频的接纳机规划会十分复杂,所以零中频接纳机一般用于载波频率较低的体系里边。
图9 下变频原理示意图
数字信号通过USB3.0接口传输到笔记本电脑上后,电脑再把数据传输给SDR程序处理。物理层处理完后再把数据交给上层。这样SDR接纳机的信号接纳进程便完结了。
SDR发射机/接纳机里边的每一个模块都对应一大片常识,常识的海洋是无量的,这儿的介绍只能起一个抛砖引玉的效果。假如咱们想深化学习的话,还得要多查阅材料。
五 SDR LTE体系
上一章节从SDR发射机和接纳机的视点别离介绍SDR体系的原理。下面咱们以SDR LTE体系为例给咱们介绍一个SDR体系的比方,有助于咱们了解实践项目的中SDR通讯体系。
现在国际上现已有好几个开源的SDR LTE体系,如OpenAirInterface,srsLTE,OpenLTE等,概况能够检查http://blog.csdn.net/jxwxg/article/details/53026659。开源的SDR LTE体系十分合适用来学习SDR和LTE的原理和常识。
下面以图10来介绍SDR LTE体系的作业流程。
首要LTE的上层有数据需求物理层发送,比方咱们要发送一个经典的字符串”Hello World”,上层把数据编码成Bit流自后交给物理层。上层或许选用的ASCII编码,把Hello World编码成对应的Bit流。即物理层收到的是一连串的100110等。
Bit流传到物理层后开端进行编码,LTE选用的是1/3 码率的Turbo编码,再通过加扰,加扰能够了解为将Bit流随机化,防止呈现一大串接连的0或许1。此外,在发送端用小区专用扰码序列进行加扰,接纳端再进行解扰,只要本小区内的UE才干依据本小区的ID构成的小区专用扰码序列对接纳到得本小区内的信息进行解扰,这样能够在必定程度上减小临小区间的搅扰。
接着Bit流通过调制模块后被调制成复数。LTE里边选用的是QPSK,16QAM和64QAM等调制方法,出来的数据方法如0.707+0.707j。然后对复数序列进行资源映射,把复数映射到LTE的时频资源上,最终再对这些信号进行OFDM把信号转化到时域。此刻,SDR程序的作业便完结了,生成了LTE体系的基带数据。
紧接着,GPP把基带数据通过USB3.0接口把数据传输给USRP,由USRP通过上一章叙述的流程把基带信号上变频到射频并发送出去。
图10 SDR LTE体系原理
LTE接纳机的进程根本与发射机相反。USRP把接纳到的射频信号下变频到基带后通过USB3.0接口传输给SDR程序。SDR程序把接纳到的一连串复数先做OFDM解调,接着信道估量/均衡。此刻的数据仍然是复数方法的。通过软解调之后数据变成Bit流,最终再进行解扰,解码恢复出 “Hello World” 的ASCII码,传输给UE的上层后,UE辨认出有人给它发送了一串信息,即“Hello World”。
至此,通讯的进程完结。