软件定义的无线电(Software Defined Radio,SDR) 是一种无线电广播通信技术,它基于软件定义的无线通信协议而非通过硬连线实现。换言之,频带、空中接口协议和功能可通过软件下载和更新来升级,而不用完全更换硬件。
SDR 针对构建多模式、多频和多功能无线通信设备的问题提供有效而安全的解决方案。SDR 能够重新编程或重新配置,从而通过动态加载新的波形和协议可使用不同的波形和协议操作。这些波形和协议包含各种不同的部分,包括调制技术、在软件中定义为波形本身的一部分的安全和性能特性。
近来,基于硬件设备USRP和PC端的无线电信号处理软件GNU Radio构建SDR来进行无线电信号处理和研究成为热点。本文用通俗的语言对此平台进行介绍。
一、软件无线电(Software Defined Radio,SDR)
首先,我们从一个图看起。如下图1,数字通信系统模型。
在数字通信系统模型中信号源产生某种需要发送的信号或消息(必须是数字信号,比如0,1序列),经过编码、加密、调制等一系列处理(不同的通信模式下,这些步骤不都是必须的,目前也无需管这些处理具体是什么)将处理过的信号送入信道。通过信道到达接收端。再对接收到的信号经过一系列逆处理,还原出信源的发送信号。我们强调信号在送入信道之前,信源信号和之后的一系列处理都是在数字模式下进行(信号流为数字流),后面的逆处理过程也是如此。如果我们选择的信道为有线信道,则数字信号可以直接送入信道进行传输。但本实验进行的是无线通信,即信道选择为无线信道。如此,数字信号是无法直接进行发送的。数字信号必须转换为模拟信号才能在空间中传播。同样接收端也需要接收此模拟信号,然后转化为数字信号进行逆处理。那将数字信号转化为模拟信号,并发送;接收模拟信号,并转化为数字信号这一过程就需要具体的设备来完成,这个设备我们选取的就是USRP。USRP其实可以简单理解为一个信号转换器和收发器,对USRP如何具体完成此功能的我们后面详述。
现在我们回到数字信号的处理流程上来。数字信号的产生和一系列处理、逆处理,除了上图中提到的步骤外,还可以细分和丰富出更多步骤。我们可以将每一步的处理(实现某单一功能)称为一个“block”。一定有一个起始的block(head)来产生数据,再将数据传送给下一个block继续处理,如此传递下去一定有最后一个block(end)完成并结束数据在单个通信端的处理过程。在本实验的发送端就是:数据从block(head)产生到最终block