Software-Defined Radio for Engineers(译文)
第一章 SDR简介
几千年来,各种通信方式不断发展。口语可以从一个人传来,也可以被另一个人听到或接收。在现代,镇上的喊话者每年都会举办一次竞赛,以发现谁能在最远的地方喊出一个可以理解的信息。然而,尽管世界上最大声的叫喊声是112.8分贝,但只有在100米以内的地方才能听得懂。想要比喊话更有效地通信的需求,和说话一样古老。
随着计算技术、数字信号处理和数字通信算法、人工智能、射频硬件设计、 络拓扑和许多其他元素的现代进步,现代通信系统已经发展成为复杂、智能的,能够适应操作环境,以实时、无错误的方式传输大量信息的高性能平台。通信系统技术中最新的一步是软件无线电(software defined radio,简称SDR),它采用所有领域中最新的进展来产生最终的发射机和接收机。
1.1简要历史
鉴于与直接影响SDR的进步相关的激动人心的历史,图1.1提供了一个时间表,描述了过去四个世纪中的几个重要里程碑。这段历史主要是由不同的人提出想法或概念,公布结果,然后让他们的同行和同事在他们的工作基础上再接再厉。许多人把他们的工作变成了商业产品,名利双收;有些人则相反。有关SDR技术的主要里程碑的详细列表,请参阅附录A。
图1.1通信中几个关键里程碑
1.2是么是SDR
每个专业组织都试图定义一个通用的术语和定义框架,以便在从事类似研究或产品开发领域的专业人员之间进行轻松的沟通。无线通信和SDR也一样。电气与电子研究所工程师(IEEE)P1900.1工作组创建了以下定义以确保该领域的每个人都有共同的术语。
无线电(Radio)
1.无线发射或接收电磁辐射以促进信息传输的技术。
2.包含(1)中定义的技术的系统或装置。
3.应用于无线电波的一般术语。
无线电节点(Radio Node)
包含无线电发射器或接收器的无线电存在点。
软件(Software)
由可编程处理设备执行的可修改指令。
物理层(Physical Layer)
无线协议中的一层,其中处理射频、中频或基带信号,包括信道编码。它是适用于无线传输和接收的ISO 7层模型的最底层。
数据链路层(Data Link Layer)
该协议通过使用适当的错误检测和控制程序以及介质访问控制,负责在无线链路上可靠的帧传输。
软件控制(Software Controlled)
软件控制是指利用软件处理在无线电系统或设备内选择运行的参数。
软件定义(Software Defined)
软件定义是指在无线电系统或设备中使用软件处理来实现操作(但不是控制)功能。
软件无线电(Software-Defined Radio SDR)
部分或全部物理层功能由软件定义的无线电。
发射机(Transmitter)
为无线电通信而产生无线电频率能量的装置。
接收机(Receiver)
接收无线电信号并传送从中提取的信息的装置。
空中接口(Air Interface)
用于在两个无线终端之间建立通信的波形函数的子集。相当于无线物理层和无线数据链路层的波形。
波形(Waveform)
1.应用于要传送的信息的一组变换和相应的将接收到的信号转换回其信息内容一组变换。
2.空间信号的表示。
3.发射的射频信号加上可选的附加无线电功能的表示,包括所有 络层。
数字处理和模拟射频的组合成通信系统。在今天的现代系统中,信号处理已经发展到大多数基带功能都是用软件实现的程度。高度灵活性的重新配置射频硬件可以使一个无线电前端处理大多数射频系统。通常,射频前端由软件控制,而不是由软件定义。这种灵活的射频前端和软件中的信号处理的现代结合,已经导致软件无线电的诞生。
这可以在Analog Devices公司的AD7030等设备中看到,如图1.2所示。ADF7030是一款低功耗、高性能的集成无线电收发机,支持169.4MHz至169.6MHz ISM频段的窄带工作。它支持使用2GFSK调制的2.4kbps和4.8kbps的发送和接收操作,以及使用4GFSK调制的6.4kbps的发送操作。它包括一个ARM Cortex-M0处理器,可以执行无线电控制和校准以及数据包管理。这个器件和传感器一起应用于智能计量或资产跟踪管理方面的有源标签方面。这只是摩尔定律影响的一个方面——系统级集成。
图1.2 ADF7030原理框图
SDR系统是一个复杂的设备,它可以同时执行多个复杂的任务,以实现数据的无缝传输和接收。通常,数字通信系统由一系列相互依赖的操作序列组成,该操作序列负责获取某种类型的信息,无论是人类的语音、音乐或视频图像,并将其通过无线传输给接收器,以便处理和解码恢复成原始信息。如果原始信息是模拟的(如音频),则必须首先使用量化等技术对其进行数字化,以便我们获得该信息的二进制表示。一旦采用二进制格式,发射机将对该信息进行数字处理,并将其转换为电磁正弦波形,该波形由其物理特性(如信号幅度、载波频率和相位)唯一定义。在通信链路的另一端,接收器的任务是正确地识别通过潜在的噪声和失真信道传输的调制波形的物理特性,并最终将接收的信号恢复正确的二进制。数字通信系统的基本组成部分如图1.3所示。
图1.3现代数字通信系统组成框图
图1.3显示,发射机的输入和接收机的输出分别来自数字源和数字接收器。这两个块表示要在发射机和接收机之间通信的数字信息的源和目的地。一旦二进制信息被输入发射机,所执行的第一个任务是从信息中移除所有冗余/重复的二进制模式,以提高传输效率。这是通过使用信源编码模块来实现的,信源编码模块被设计为从信息中去掉所有冗余。注意,在接收处,信源解码模块重新引入冗余,以便将二进制信息返回到其原始形式。从发送器处的二进制信息中去除冗余后,进入信道编码器,向信息流引入一定的冗余,以保护其免受在通过噪声信道的传输过程中引入的潜在错误的影响。信道解码器用于消除这种受控冗余,并将二进制信息恢复其原始形式。发射机的下一步是将二进制信息转换成独特的电磁波形特性,如振幅、载波频率和相位。这是通过称为调制的映射过程来实现的。类似地,在接收端,解调过程将电磁波形转换回其各自的二进制表示形式。最后,在通信系统的射频(RF)前端处理并向上转换为RF载波频率之前,使用数模转换器(DAC)对调制输出的离散样本重新采样并转换为基带模拟波形。在接收端,执行逆向操作,其中接收的模拟信号在被模数转换器(ADC)采样和处理之前由RFFE下变频到基带频率。
鉴于SDR平台及其各个组件的复杂性,了解特定SDR平台的局限性以及各种设计决策可能如何影响所得到的原型的性能是很重要的。例如,对于频谱感知和具有高计算吞吐量和低延迟的灵活传输操作,具有实时基带处理是非常理想的。然而,如果SDR平台使用的微处理器不够支持数字通信系统的计算操作,则需要重新考虑收发器的总体设计或低延迟和高吞吐量的要求。否则,SDR实现将无法正常工作,产生传输错误和很差通信性能。
在设计基于SDR平台的数字通信系统时要考虑的设计因素包括。
? 在嵌入式处理器上通过实时协议实现的物理层和 络层的集成。注意,大多数通信系统被分层,以便更容易地进行通信系统的设计(见第1.3节)。然而,由于各层之间的相互依赖性很强,因此必须对每一层进行适当的设计。
? 确保无线电前端有足够带宽的,保证多个子信道上的敏捷性和可扩展的天线数量以用于空间处理。鉴于有许多先进的通信系统设计涉及使用多个天线和宽带传输,了解SDR硬件在这些方面的能力是很重要的。
? 许多采用数字通信系统的 络具有一个集总体系架构,用于控制整个 络的操作(例如,控制信道实现)。了解无线 络体系架构非常重要,因为它将决定一个数字收发器与另一个数字收发器通信所需的操作类型。
? 为了证明特定SDR实现的可靠性,在不同环境(如阴影和多径、室内和室外环境)中执行受控实验的能力非常重要。换言之,如果涉及SDR原型系统的实验在完全相同的环境中连续进行两次,且使用相同参数,则预期得到的输出和性能应该相同。因此,执行可控实验时,能够为SDR设计人员提供了健全的检查功能,。
? 通过对算法和协议软件设计流程化进行可重构和快速原型化描。
现在许多通信系统正在使用基于微电子技术的可变IF、数字信号处理器、可编程数字逻辑、加速器和其他类型的计算引擎来代替使用固定的模拟处理的固定电路。随着处理引擎的发展,我们使用了诸如Matlab?和Simulink之类的高级语言,而不是C语言或汇编语言。这种计算技术的转变影响了新的通信功能和能力,如先进的卫星通信、移动通信、数据调制解调器和数字电视广播。
1.3 络和SDR
随着数字通信系统变得高度复杂,为了使系统的设计和实现具有可行性和可管理性,需要一种分而治之的策略。因此,研究人员将数字通信系统划分为一组互补层,每一层执行特定的功能,作为发送和接收信息的整个过程的一部分。由于这种“分而治之”的策略,通信系统迅速发展成为能够执行多种操作的高性能平台,例如 上冲浪和通过电子邮件传输多媒体内容。事实上,这种将通信系统的操作划分为若干层的策略非常成功,以至于整个研究群体都只关注其中一层,而不关注其他层;他们理所当然地认为信息来自其上层和下层。
一般来说,将通信系统划分为两层的模型有:开放系统互连(OSI)7层模型和传输控制协议(TCP)/互联 协议(IP)5层模型,如图1.4所示。这两种模型具有大致相同的功能,但TCP/IP模型将前几层合并成单个功能层。以TCP/IP 5层模型为重点,从上到下分为以下几层:
? 应用层:通信系统的数据与用户的接口。例如,应用层将包括其实或到达web浏览器、电子邮件客户端和流媒体软件的数据。这些应用程序通常通过指定的套接字寻址。
? 传输层:负责在客户端和服务器之间传输应用层消息。这一层保证了可靠的数据传输。
? 络层:负责将 络层数据包从一台主机传输到另一台主机。定义数据 文的格式以及终端系统和路由器如何处理数据 文,并确定数据 文在源和目标之间的路由。
? 链路层:处理两个或多个直接连接的设备之间的数据交换问题。可靠性:包括错误检测和错误纠正,以及不同通信系统的寻址
? 物理层:从一个通信系统直接向另一个通信系统发送单个比特。它还包括数据传输设备和传输介质之间的物理接口。
图1.4 7层OSI模型与5层TCP/IP模型的比较
将SDR技术与软件定义 络(SDN)结合起来的兴趣越来越大,后者侧重于使通信的更高层更好地适应当前的操作环境。这使得诸如修改路由之类的事情可以探索地绑定到物理层。自愈 状 络就是这样一个实现。
链路层还将影响无线通信系统的物理层(PHY),如图1.5所示。例如,在802.11(WI-FI)中,PHY层(层1)实际上被进一步分解为物理层聚合协议(PLCP)和物理介质相关子层(PMD)。PMD子层通过无线介质在两个站之间提供物理层数据单元的传输和接收,并将其传递给PLCP,该PLCP与上层MAC层、各种管理层实体和通用管理单元连接,以最大化数据速率。
在PHY层,图1.4中所示的单位是位;然而,在无线和有线链路上,这些数据将被编码成更适合于被称为符号的模拟传输形式。在图1.5的第1层中表示的前导码很可能永远不会以符号形式在接收器处解调。这些序列仅被PHY层用来补偿链路中的非理想性,并且对上述层几乎没有意义。然而,对于使用SDR实现的那些人来说,这些部分是主要焦点,而帧的其余部分是任意数据。
图1.5包结构对SDR的影响,PLCP=物理层聚合协议
1.4 SDR的射频架构
下一代通信系统带来了新的挑战,需要的解决方案超出了单个设备优化所能实现的范围。将更多的软件控制和认知能力集成到无线电中需要更多的频率和带宽灵活的RF设计。为了实现这一目标,需要移除静态滤波器并用可调谐滤波器替换。同样,公共平台的概念将允许缩短开发时间,降低制造成本,并提供系统之间更大的互操作性。通用平台要求射频系统能够为传统上具有不同体系结构的应用提供完整的性能。最后,未来的平台正在将集成度和功耗推向一个新的极端。
手持式收音机越来越强大和复杂,但同时需要提高电池效率。小型无人机缺乏大型飞机的发电能力,射频系统消耗的每毫瓦都直接转化为电池载荷,从而缩短飞行时间。为了克服这些挑战,产生了下一代航空和国防解决方案,即正在开发一种新的无线电体系结构。
自诞生以来,超外差结构一直是无线电设计的支柱。无论是手持式无线电、无人机(UAV)数据链路还是信号智能接收机,单或双混合级超外差结构是常见的选择(见图1.6)。这种设计的好处是显而易见的:适当的频率规划可以允许非常低的杂散发射,信道带宽和选择性可以由中频(IF)滤波器设置,并且各个阶段的增益分布允许在优化噪声系数和线性度之间进行权衡。
经过100多年的使用(更多信息见附录),超外差在整个信号链中的性能有了显著的提高。微波和射频器件在降低功耗的同时提高了性能ADC和DAC提高了采样率、线性度和有效比特数(ENOB)。FPGA和DSP的处理能力遵循了摩尔定律,并随着时间的推移而增加,从而允许更高效的算法、数字校正和进一步的集成。封装技术在降低器件管脚密度的同时提高了热处理性能。
然而,这些针对设备的改进开始达到收益递减的程度。虽然RF组件遵循了尺寸、重量和功率(SWaP)减小的趋势,但高性能滤波器的物理尺寸仍然很大,而且通常是定制设计,增加了总体系统成本。此外,IF滤波器设置了平台的模拟信道带宽,这使得很难创建一个可以跨多个系统重用的通用平台设计。对于封装技术,大多数生产线不会低于0.65毫米或0.8毫米的球距,这意味着一个具有许多I/Q要求的复杂设备在物理上的小型化程度是有限制的。
替换超外差体系结构的另一种选择是零中频(ZIF)体系结构,该体系结构近年来重新成为一种潜在的解决方案。ZIF接收机(参见图1.7)利用单级混频,将本地振荡器(LO)直接设置到感兴趣的频带,将接收到的信号向下变频为基带相位(I)和正交(Q)信号。这种结构减轻了超外差滤波器的滤波要求,因为所有的模拟滤波都在基带进行,基带滤波器比定制的RF/IF滤波器更容易设计、成本更低。ADC和DAC现在在基带对I/Q数据进行操作,因此可以降低相对于转换带宽的采样率,从而节省大量的功率。对于许多设计方面,ZIF收发器提供了显著的SWaP(尺寸、重量和功率)减少,这是由于减少了模拟前端复杂度和组件数量。
图1.6多级超外差收发信号链架构
这种直接的基带频率转换引入载波泄漏和镜像频率成分。由于实际的因素,如过程变化和信号链路中的温度增加,不可能在I和Q信号之间保持完美的90°相位偏移,从而导致镜像抑制性能下降。此外,混频中的LO不完全的隔离引入了载波泄漏分量。未经校正时,镜频和载波泄漏会降低接收机灵敏度并产生不希望的发射频谱杂散。
过去,I/Q不平衡限制了适用于零中频(ZIF)体系结构的应用。这是由于两个原因:首先,零中频(ZIF)架构的离散器件的实现受器件和印刷电路板(PCB)失配的影响。除此之外,单个器件可以从不同的制造批次中提取,由于工艺的变化,使得精确匹配变得非常困难。离散器件的实现还将使处理器物理上与射频(RF)组件分离,使得正交校正算法很难跨频率、温度和带宽实现。
摩尔定律,或将ZIF架构集成到单片收发器件中,为下一代系统提供了前进的方向。通过将模拟和射频信号链放在一块硅片上,过程变化将保持在最小。数字信号处理(DSP)模块可以合并到收发器中,消除正交校准算法和信号链之间的边界。这种方法在SWaP方面提供了无可比拟的改进,而且还可以在性能指标方面与超外差体系结构相匹配。
如图1.8所示的Pluto SDR等设备将整个射频、模拟和数字信号链集成到单个CMOS设备上,并包括数字处理,以便在所有过程、频率和温度变化中实时运行正交和载波泄漏校正。像AD9361这样的器件侧重于中等性能规格和非常低的功率,如无人机数据链路、手持通信系统和小尺寸SDR应用。AD9371针对高性能规格和中等功率进行了优化。此外,该装置还具有精确的校准控制,以及用于功率放大器(PA)线性化的观测接收通道和用于信道检测的嗅探接收通道。这为不同的应用提供了新的设计潜力。使用宽带波形或占用非连续频谱的通信平台就可以以更小的形态实现。
图1.8 Pluto SDR中使用的集成ZIF架构
1.5 SDR的处理架构
在过去60年里,微电子技术的迅猛发展,导致微处理器系统取得了巨大进步,使我们的许多应用成为可能。随着时间的推移,这种演变的速度被著名的摩尔定律所描述,摩尔定律定义了可容纳在集成电路上的晶体管数量的长期趋势。特别地,摩尔定律指出集成电路的晶体管数量每2年大约翻倍,进一步影响微处理器系统的性能,例如处理速度和存储器。在过去的半个世纪里,微电子技术对数字通信系统领域产生了重大影响,在该领域,微处理器系统越来越多地应用于数字收发器的实现,产生了更多的通用性和功能性以及便携式通信系统平台,能够实现多种先进操作和功能。随着微电子和微处理器系统的最新进展,软件无线电(SDR)技术应运而生,其中基带无线电功能可以完全用数字逻辑和软件实现,如图1.3所示。SDR实现有几种不同类型的微处理器系统,包括:
? 通用微处理器在SDR实现和原型中经常使用,因为它们在可重构性方面具有高度的灵活性,以及由于它们对新设计的易实现性。另一方面,通用微处理器并不是专门用于数学计算的,它们可能是低效的。
? 数字信号处理器(DSP)专门用于执行数学计算,新的数字通信模块的实现可以相对容易地执行,并且该处理器具有相对较高的功率效率(例如,DSP用于蜂窝电话)。另一方面,DSP不太适合计算密集型的处理过程,且速度可能相当慢。
? 现场可编程门阵列(FPGA)是一种高效的数字信号处理应用,因为它们可以实现定制的、完全并行的算法。数字信号处理的应用可以使用可以在专用数字信号处理器片中的大量二进制乘法器和累加器实现,如图1.9所示。这包括25×18双补码乘法器、48位累加器、节省功耗的前置加法器、单指令、多数据(SIMD)运算单元,其中包括双24位或四个12位加法/减法/累加。像MathWorks HDL编码器这样的工具使得创建新模块和FPGA目标程序变得更加容易,因为它可以从MATLAB函数、Simulink模型和状态流图生成可移植的、可合成的Verilog和VHDL代码,并且非常适合将信号处理算法从概念到生产。
图1.9 DSP48E1片的基本功能
? 图形处理单元(GPU)在计算上非常强大,由于大型游戏对实时计算机图形的需求,这些处理器已经被驱动到非常高的性能和较低的价位。在过去的10年里,它们已经发展成为一个通用的可编程架构和支持生态系统,使得它们能够用于广泛的非图形应用。由NVIDIA等制造商提供的GPU加速库提供了高度优化的功能,比仅使用CPU执行速度快2到10倍。GPU加速的线性代数、信号处理和图像和视频处理库为未来的软件定义的无线电应用程序在这些类型的架构上运行奠定了基础。
? 近年来,ARM以其低成本、小体积、低功耗和计算能力受到了广泛的关注。这样的处理器与一个功能强大的RFFE相结合,使它们成为移动通信和计算的合适平台。为Arm Cortex-A系列和CortexR52处理器增加了新的SIMD指令,即NEON,提高了信号处理算法和功能执行速度,以加快软件定义的无线电应用。
对于算法开发人员来说,这是一个激动人心的时刻;在硬件上实现信号处理应用程序有许多新的和先进的方法。困难在于,无论选择哪种硬件来运行算法,硬件和开发方法都将在5年内得到支持。
1.6软件无线电环境
如第1.2节所述,在其最基本的层面上,大多数商用SDR平台将实时RF信号转换为数字基带上的样本,并使用软件定义的调制和解调技术机制来传输真实世界的数据。参考图1.3,通信系统的模拟部分和数字部分之间的边界位于模数转换器(ADC)和数模转换器(DAC),其中信号信息在连续信号和离散信号采样值之间转换。通常,无线电可以被配置成选择中心频率、采样率、带宽和其它参数来发送和接收感兴趣的信号。这就剩下了调制和解调技术,它们是使用两步开发过程开发的。
1.针对特定采样率、带宽和环境,开发、调整和优化调制和解调算法。这通常是在主机上完成的,在那里调试和可视化要容易得多。在这个发展阶段,在主机上执行RFFE的调制和解调,为实验和测试算法的思想提供了很大的灵活性。
2.将可以在浮点高级语言中实现的上述算法,在适合生产的环境中进行编码,以考虑产品的尺寸、重量、功率和成本(SWaP-C)的生产权衡。当硬件和嵌入式处理器被编程以执行特定于应用程序的数字通信和信号处理功能时,这些平台就成为真正的软件定义。
第一步需要一种方便的机制来捕获信号分析所需的数据,并开发处理这些信号的算法。这就使得基于PC电脑的软件高效、可靠地开发和测试无线通信系统中的数据传输和数字信号处理功能变得至关重要。
MathWorks提供的MATLAB软件环境满足了这一要求。MATLAB是一种专业的计算环境和编程语言,易用且有良好的可视化性能。其中的附加产品,通信系统工具箱,增加了物理层算法、信道模型、参考模型,以及与SDR硬件的连接,以发送和接收实时信号。MATLAB是跨平台(Windows、Linux、Mac)的,为许多流行的商业无线电前端提供支持。使用MATLAB可以实现SDR的增量和迭代开发工作流,包括:
? 算法开发和设计验证与链路级仿真;
? 使用连接到商用SDR硬件的实时信号验证算法。
MathWorks还提供了Simulink,它是一个用于实际系统仿真并且能够为硬件和软件实现自动生成代码的环境。它允许无线电开发人员继续进行第二阶段的产品开发。Simulink的这些功能提供了一条生产途径:
? 硬件精确模型的开发和验证;
? 采用自动生成HDL和C代码的方法,在SDR硬件上实现了一个原型系统。
? 原型与模型的对比验证;
? 将实现部署到可生产的SDR硬件。
虽然Simulink在本书中绝大部分会被省略,但是它能够提供非常强大的从概念到产品统一的环境,这对于那些试图制作一个真正的可生产的无线电的人来说不应该被忽略。
另一个SDR软件体系结构是流行的开源GNU无线电软件,它是一个自由软件(如在FREEDOM中)开发工具包,提供信号处理块来实现软件定义的无线电和信号处理系统。它可以与外部射频硬件一起使用来创建软件定义的无线电,或者无硬件的模拟环境中。它广泛应用于爱好者、学术界和商业环境,以支持无线通信研究和实际的无线电系统。
在GNU无线电中,各种不同的数字通信和数字信号处理算法的C++模型库,用Python和SWIG(一种软件开发工具,该软件开发工具将C和C++与包括Python在内的各种高级编程语言编写的程序连接起来)集成在一起。这些库是由开源社区创建的,可以与所有人自由共享。
这就是为什么本书选择了MATLAB。它是一个跨平台的环境,允许学生使用他们所熟悉的东西,所有的模块都是MATLAB脚本,没有什么可以隐藏的。如果学生想更好地理解一些东西,整个算法都是在MATLAB代码中定义的,没有任何东西可以混淆通信理论。
1.7附加读物
虽然本章简要介绍了SDR技术的扩展领域,但开放文献中有几本书可以提供关于这一主题的更详细的观点。例如,Reed的书广泛地涵盖了与SDR平台的软件架构相关的许多问题[10],而Kensington的书[11]则涵盖了用于构建SDR硬件原型及其RFFE的许多设计考虑和方法。Grayver写了一篇关于SDR系统的硬件实现的极好的参考文献[12]。此外,Machado和Wyglinski[13]的论文提供理解模拟数字分水岭的重要性以及SDR系统是如何连接这种分水岭的这个主题。最后,在IEEE通讯杂志[14,15]上发表了一系列优秀的论文,介绍了SDR技术的最新进展,并对20年前SDR技术的发展提出了一些看法。
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!