FPGA Xilinx Zynq 系列(十三)应用和机会 之 软件自定义无线电(SDR)

2020-12-30 10:56:37 浏览数 (2)

大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。

今天给大侠带来FPGA Xilinx Zynq 系列第十三篇,本篇内容目录简介如下:

5. 应用和机会 (“ 拿它能做什么?”)

5.3 软件自定义无线电(SDR)

5.3.1 在无线通信中的趋势

5.3.2 介绍软件定义无线电 (SDR)

5.3.3 SDR 的实现和授权技术

5.3.4 认知无线电

5.4 智能系统和智能网络

5.4.1 什么是智能系统?

5.4.2 智能系统的例子

5.4.3 智能网络:智能系统的通信

5.4.4 相关概念

本系列分享来源于《The Zynq Book》,Louise H. Crockett, Ross A. Elliot,Martin A. Enderwitz, Robert W. Stewart. L. H. Crockett, R. A. Elliot, M. A. Enderwitz and R. W. Stewart, The Zynq Book: Embedded Processing with the ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable SoC, First Edition, Strathclyde Academic Media, 2016。

应用和机会(拿它能做什么?)

5.3. 通信:软件定义无线电 (SDR)

我们首先要考虑的第一个应用,是灵活无线电。无线通信的变化之快,使得能调整功能的系统变得非常有价值。Zynq 是一个能实现这样的灵活性的平台。

5.3.1. 在无线通信中的趋势

最近几年一个明显的趋势,就是对于无线连接的需求的快速扩张,以及相继而来的所使用的无线电标准的数量的急剧上升。比如,你的智能手机很可能对于不同的移动网络有不同的无线电芯片,要支持 2G、3G 还有现在的 4G,还要支持 Wi-Fi(这就有几种变种)、蓝牙和 GPS 接收。

每一种都会需要至少一片独立的集成电路。笔记本电脑、平板电脑、电子阅读器、电视机甚至汽车也装备了某些这样的功能。另外,除了普通消费者,运输、应急服务、军队和许多其他部门也需要多种标准的无线电装置。

在所有上面这些市场中,应该把各种标准用的无线电收发信机统一到一个单片 可编程芯片上。这样做能得到很多有用的好处:

  • 将所需的硬件从几个芯片降为可能只要一片,顺带能在无线电终端设备的成本、尺寸和功耗上有所收益。
  • 改进地理便携性,也就是能根据不同的位置来调整无线电的功能,在不同的地方实施不同的操作。
  • 实现对新标准的直接支持,不再需要更换硬件。SDR 是使得这些优势得以实现的技术。

5.3.2. 介绍软件定义无线电(SDR)

软件定义无线电的概念 —— 一个可以在工作中重新配置的电台 —— 并非新想法,在 1990 年代中期就已经以某些形式出现了 [29]。这个术语可以表达重配置的不同的方面,于是对于不同的人就有了不同的意思。不过,这里我们认为它是指在单一芯片上通过软件的控制来支持多种无线电标准的能力。因此,SDR 表示的就是前面所说的各种无线电功能统一的实现机制。

到今天,SDR 已经被大量地应用在军事上。特别是美国军队在 1998 年就开始了第一个 SDR 计划 —— 联合战术无线电系统(JTRS)(后来演变成了联合战术网络中心,JTNC[22]) ,基本的目标是降低战士在战斗中需要携带的无线电设备的数量。结果做出来的军用 SDR 电台还是典型的军用风格:又大又贵,这样的特性和大规模民用市场、商业和消费通信的需求是互不兼容的。在可接受的价格范围内,灵活的可用的硬件平台的情况已经有了很大的改变,在非军事领域中 SDR 的应用现在获得了很大的关注。与此同时,军用 SDR 还在继续发展,主要的目标集中在 SDR 的通用标准上,从而能支持和增强友军之间的通信 [62]。

5.3.3. SDR 的实现和授权技术

可配置的处理器平台的使用支撑了现代 SDR 的发展。早期的 SDR 部分地通过元 件冗余来实现功能切换,而现在的 SDR 由于可适配的无线电能利用像 FPGA 和 Zynq这样的芯片的能力,从而大大增强了其应用能力和可能性。要理解为何如此,我们必须首先考虑 SDR的定义(根据 IEEE和 SDR论坛,[55])。这些组织联合定义 SDR为:

“ 部分或全部物理层功能可以软件定义的无线电。”

这个定义确定了软件定义的层面是在物理层(PHY),也就是直接和射频(Radio Frequency,RF)电路及空中接口直接打交道的部分。PHY 是计算密集型的,它要实现高速滤波和其他基于算术的 DSP 算法,并与 DAC 和 ADC 交换数据。由于 PHY 层的某些部分具有非常高的计算复杂度,因此软件只能用来定义这些部件的行为 —— 软件自行实现处理过程是不合适的。不那么复杂的计算,比如调制和编码,既可以用软件做也可以用硬件做。SDR 因此就需要运行软件来控制 PHY 功能的处理器和从事 PHY 运算的高速计算并行资源之间的紧密集成。

FPGA 类型的可编程逻辑用来实现PHY 是很理想的,特别是它能做动态重配置(5.6 节会进一步讨论),而 ARM 处理器正好为 SDR 软件提供了合适的平台。将 SDR 构架的这两个重要的部分结合到一个单个芯片,就像 Zynq,可以被认为是一个完美的解决方案,而且实际上市场上已经出现了基于 Zynq 的 SDR 产品 [60]。正如第 4 章讨论过的,相比两芯片的配置,Zynq的好处是降低了材料花费,更低的功耗和更紧密的集成。所有这些特性都和 SDR 的目标高度一致。

在 [23] 中有过总结,无线标准可以在 PHY 计算中有几个层面的变化,包括帧格 式、位速率、纠错编码、调制方式、脉冲形状和载波频率。读者请参考 [17],那是一个极佳的关于通信架构、SDR 以及为什么要开发这些更具适配性和互操作性的无线电的教程。实现一个能支持多种标准的架构是一个有趣的问题,特别是当位速率和所涉及的其他参数不能直接相关的时候。但是现代的 FPGA 和 Zynq 芯片的能力是可以实现这样的系统的。

图 5.5: 中频载波频率可编程的 SDR 的例子

图 5.5 给出了 SDR 的一个简单的例子,其中发射机的中频 (Intermediate Frequency,IF)载波频率可以由软件设置寄存器来编程。寄存器按照步进数输入到数控振荡器(Numerically Controlled Oscillator,NCO),从而控制振荡的频率。

前面提过,无线电的很多方面也都可以重配置,比如调制模式可以从预先定义 的模式组中动态选择,而脉冲形状可以通过对滤波器因数的重新编程来改变。而无线标准的改变需要的是计算的基础性结构的不同 (比如从基于码分多址 (CodeDivision Multiple Access,CDMA)的标准改变为频分多址(Orthogonal Frequency Division Multiplexing,OFDM)标准),改变这样的功能最好是通过 FPGA 硬件的部分重新配置来实现。这可以用动态部分重配置 (Dynamic Partial Reconfiguration,DPR)技术,在 5.6 节会提到的。

5.3.4. 认知无线电

我们普遍看到 SDR 自然演进成了认知无线电(Cognitive Radio),在这种系统 中,利用了电台的适应性来增强对射频频谱的使用 [23][41][54]。当前,大多数频谱是被授权而且还在使用中的,即使频率波段对使用中的特定族类的支持还受到相当大的压力。动态频谱访问,也就是让无线电设备能感知局部环境并作出相应响应,是一个有吸引力的建议,因为这最终能促使频谱更好的利用。但是,认知无线电的实现需要解决它固有的各种风险,尤其需要保护已经得到频谱授权的用户。

在学术界和产业界,认知无线电的研究都是活跃的领域 [20][32][52]。开发更 好的访问和管理射频频谱的方法会具有巨大的商业和社会影响,但是这个问题的复杂程度也是巨大的。就像 SDR,认知无线电的现实的解决方案会需要综合高速、并行和可重配置的硬件并具有能支持复杂软件算法的处理器,因此 Zynq显然是这个领域研究和开发的强有力的候选者。比如,在都柏林大学三一学院的研究人员已经为认知无线电开发了 Iris 软件框架 [45],并在 [49] 中考虑了在 Zynq 上实现这个框架。在写本书的时候,第一个商业认知无线电已经开始出现 [56],这可以被认为是一个非常激动人心的技术创新。

5.4. 智能系统和智能网络

还是在通信领域,“ 智能 ” 这个术语正在快要变成无处不在的了。在我们周 围添加智能系统可以提升我们的生活,同时还能实现成本的节约,并使环境受益。智能系统的实现就需要智能网络来支撑,因此下面几页我们来考虑这两个事情。

5.4.1. 什么是智能系统?

智能这个术语在很多应用领域都能找到,包括智能电网、智能建筑、智能家居、 智能交通、智能城市、智能农业等等。一个中肯的问题是,是什么造就了这些特殊的智能系统?

其实对于智能并没有单一的确定的定义。然而,值得注意的是经济合作与发展 组织 (OECD)给出了一个定义 [33],正好可以用于本章的讨论:

“ 一个应用或服务,能从之前的情况中学习,并能将这些情况综合告知其他设 备和用户。然后这些设备及用户可以改变自己的行为来更好地适应这个情况。这就意味着关于情况的数据需要被产生、发送、处理、纠错、解释、适配及以有意义的方式显示,然后据此作出动作。”

智能系统因此可以被解释为对它所观察到的环境做出最优化的响应。可是这样 的反应是什么?下面的小节选择了一些智能系统来阐述这个问题。

5.4.2. 智能系统的例子

这里给出的智能系统都是工业领域的例子 —— 并非只有这些智能系统,但是 在写本书的时候,他们可以被认为是一部分最为突出的。明白这些系统实现了什么,相应的收获是什么,是很有帮助的。

• 智能电网这个术语指的是用传感器、通信网络和自动化来增强电力配电网络(电网),使它能更有效地被管理。智能电网主要的潜在收益是:(一)提高能源效率,这样有助于改善环境并能降低成本;(二)提高网络的可靠性和对局部故障的响应能力;以及 (三)自动收集测量数据。

• 智能农业指的是通过使用监视和自动化系统来增强对农作物、土地和牲畜的管理。这可能包括温室控制来实现最佳的温度和湿度;针对局部气候条件的农田灌溉及排水系统的控制;以及监视牲畜的健康状况并及时报告和提醒农户 [9]。

• 智能交通指的是运输网络、基础设施、信号和乘客数据的集成和动态管理。智能交通系统可以涵盖公共和私人交通,包括货运和客运。智能交通的目的可以包括交通流量的管理(使拥堵最小化)、降低排放,及更快更可靠连接会带来的可观的经济效益 [40]。在大城市中,智能交通被认为是智能城市的重要方面 [6]。

• 智能建筑用传感器和动作器网络,根据监测到的情况和当前的人数来调整建筑的运作,比如灯光、暖气和通风系统。智能建筑消耗较少的能源,因此是“ 绿色 ” 的,运维成本低,同时还能为其中的住户提供更舒适的环境 [42]。智能建筑这个术语一般指的是非居住型的建筑,比如政府和私人办公室、学校、机场、商店和工厂。

• 智能家居用的是和智能建筑类似的原理,让民居也在成本和环境上受益。除了能管理暖气、灯光和电器的使用,智能家居可能还包括室内保安和娱乐方面的功能。图 5.6 是一个智能家居的展示。

• 智能城市的目标是集成并智慧地管理城市的各种系统,以实现可持续的发展和经济的增长,并保障市民的生活质量。这可能包括交通、建筑、设施等等,但是也包括在公共区域提供的互联网服务、基础设施的监测和维护、政府服务的提供、保安和疾病管理 [43][51]。

当然,这些只是智能系统的几个例子。还有很多其他的,而且 “ 智能 ” 的家 族还会在未来不断扩大。

图 5.6: 智能家居的某些功能

5.4.3. 智能网络:智能系统的通信

显然所有这些智能系统都会需要通信基础设施来支持它们。由于前面所描述的 这些场景的多样性,这些 “ 智能网络 ” 也会很不一样。比如,我们提到过家居和建筑的网络 (非常局部化,而且大多数是室内的)、农场的网络 (大面积、室外农业环境)和城市网络(非常大的区域、室内外都有、密集的、动态的)。因此 “ 智能网络 ” 这个术语并非指一个特定的技术,甚至都没有指定是有线或无线网络,而是指一种可适配、可扩展和有智慧的网络。智能网络的拓扑也是灵活的。智能系统可能运用至少是初级的分布式计算 (也就是在网络的各个结点上的计算),而不是所有的原始数据传输回一个中央结点的方式。

在所有引用的例子中,智能城市看起来是最有挑战的,但也是前景最诱人的。城市是复杂的,但也是经济的动力来源,教育、文化和创新的中心,也是数百万人的家。改善一座城市的经济、社会和环境表现的影响会是巨大的,从已经开展智能城市项目的城市的愿景中就能看出这点来 [16]。

智能化可以被渗透在城市生活的方方面面,但是不能一次性就把一座城市转换 成一座智能城市,而不去考虑将来的发展。智能网络是会进化的,因此网络基础设施也必须具有进化的能力。它们还应该能适应对特定事件的响应,比如紧急情况或对网络本身的损害,这些事件会需要网络的路由传输做出巨大的调整。支持智能系统的智能网络因此就必须具有智慧性、动态性和可扩展性。

考虑到这些因素,那么智能系统、智能网络和 Zynq 之间的关系就好理解了。Zynq 所提供的资源能实现智能的嵌入 (比如 PS 上运行的软件算法),支持数据的感知、计算和数据分析(PL 上的输入 / 输出功能),以及实现通信接口和网络支持[57]。Zynq 是可重配置的、集成的并具有各种尺寸的芯片,用以应对智能网络和系统的各种复杂状况。

5.4.4. 相关概念

智能城市和智能网络是和另外一些当下流行的技术话题紧密联系在一起的,包 括机器对机器 (Machine-to-Machine,M2M)通信,即具有独立功能的网络化结点(不需要人为干涉);以及物联网 (Internet of Things,IoT),即由这样的结点 组成的网络的一个集合名词。

智能网络所产生的数据,尤其是当存在大量这样的数据的时候,可以被称作大 数据。大数据意味着是非常大量而且 / 或复杂的数据的集合,而且对大数据的有效分析可能需要专业的计算和方法,但是它的预期结果可以形成比其他可能的手段更好的决策 [5]。

可能这些术语中最广为熟悉的是云计算,这是一种远程居驻的计算资源,可以从任何地方访问。通常云计算资源是非常灵活而且可伸缩的,因此大家对于在云中处理大数据是有很大兴趣的。想象一下,一个智能城市能够由智能的、基于 Zynq 的结点所构成的智能网络会产生大数据,在云中分析,然后再反馈给城市的控制室,从而由智能系统本身及监控其运作的人类共同来形成更好的决策。

第十三篇到此结束,下一篇将带来第十四篇,应用和机会(“ 拿它做什么?”) 之 图像和视频处理,及计算机视觉等相关内容。欢迎各位大侠一起交流学习,共同进步。

END

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

大侠们,江湖偌大,继续闯荡,愿一切安好,有缘再见!

0 人点赞