软件无线电(SDR)技术原理深入解析
013/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主要由两个参数,采样精度和采样率。采样精度表示
软件无线电 相关文章:
- 软件无线电技术与可重配置计算体系结构(12-05)
- 软件无线电技术解决无线通信的兼容问题(03-27)
- 软件无线电及其在移动通信中的应用(05-07)
- 软件无线电及其短波应用示例(12-23)
- NS基于模数转换器系列的软件无线电应用(12-11)
- 软件无线电:未来无线设备的DNA(12-16)