前言
Sionna是NVIDIA推出的面向6G无线通信物理层研究的开源库,为6G的技术研究(尤其是AI方面)提供了全新工具,非常有价值。下面对Sionna平台进行介绍。
Sionna:面向下一代物理层研究的开源库
Jakob Hoydis, Sebastian Cammerer, Fayçal Aït Aoudia, Avinash Vem, Nikolaus Binder, Guillermo Marcus, Alexander Keller
摘要——Sionna™ 是基于TensorFlow的GPU加速开源链路级仿真库。它支持快速构建复杂通信系统架构原型,并原生支持神经网络集成。该库实现了大量经过严格测试的先进算法,可用于基准测试和端到端性能评估。研究人员可专注于核心创新领域,提升研究影响力和可复现性,同时节省非专业领域组件的开发时间。本文简要介绍Sionna的设计原则、核心功能及未来扩展计划(如集成射线追踪与定制CUDA内核)。我们相信Sionna将成为6G等新一代通信系统研究的宝贵工具,并欢迎社区贡献。
I. 引言
当5G Advanced网络(Release 18)标准刚刚通过审批[1]之际,学术界与工业界已开始定义6G愿景与关键技术[2]。众多论文中反复出现的愿景是构建连接物理与生物实体的数字孪生世界,以支持元宇宙等混合现实新体验[3]。
当前6G热点研究方向包括:太赫兹频段通信[4]、无蜂窝/全息/超大孔径多输入多输出(MIMO)[5]、无人机与卫星通信[6]、基于机器学习的空口设计[7]、语义通信[8]、可重构智能表面(RIS)[9]、感知定位[10]、数字孪生[11]、无线计算机视觉[12]以及无线联邦学习[13]。值得注意的是,上述多数研究方向需满足以下至少一项需求:
特定无线环境数据:
- 传统随机信道模型[14]虽能描述某类环境的信道特性,但无法模拟特定场景(如优化某RIS配置)。雷达感知定位与计算机视觉辅助应用需保持空间位置与信道冲激响应(或视觉输入)的一致性,这需依赖射线追踪或大规模实测。
机器学习原生集成:
- 机器学习(尤其是神经网络)将在6G收发算法乃至空口设计中发挥关键作用[1][7][15]。相关研究不仅受益于ML与链路级仿真工具的深度集成[16][17],更需通过系统级自动梯度计算实现神经网络无缝融合。
高精度与大规模仿真:
- 6G链路级仿真需前所未有的建模精度与规模。无蜂窝/超大孔径MIMO需计算海量传播路径,太赫兹通信需复杂非线性损伤信道模型。此外,唯有高真实度仿真(包含既往因复杂度高而被简化的细节)才能充分释放ML增强算法的潜力。
基于上述背景,我们坚信6G的突破性进展需依托新型物理层研究工具。为此,我们开发了开源链路级仿真平台Sionna¹。
II. 开发动机与背景
A. 为何创建Sionna
Sionna²由通信领域研究者为研究者打造,旨在提升科研效率:
快速原型开发:
- 通过Python高层API快速建模端到端复杂通信系统,灵活调整创新模块。GPU加速实现极速交互式探索(如Jupyter笔记本[18])。
先进算法对标:
- 提供大量经过验证的标准模块与先进算法,减少非核心组件的重复开发时间。
工业级真实评估:
- 专家可轻松评估算法端到端性能(例如5G Polar码在3GPP信道模型下的误块率),支持多GPU扩展。
神经网络原生支持:
- 多数模块支持自动微分,梯度可反向传播至整个系统,助力AI定义空口的端到端学习。数据生成、训练与评估统一于同一平台。
应对6G研究需求:
- 支持射线追踪、数据集与生成模型替代随机信道模型,助力通信感知一体化、视觉辅助无线通信、智能反射面、语义通信等新方向。太赫兹信道模型正在开发中,欢迎社区贡献。
可复现性:
- 鼓励用户公开基于Sionna的代码与新增模块,便于算法公平对比与复用。
B. 相关开源软件
在Matlab[19]等商业软件之外,现有开源项目涵盖信道仿真[20][21]、链路仿真[22][24]、系统仿真[25]、网络仿真[26][27]与硬件实验[28][29]等领域。部分平台如美国PAWR[30]与欧洲OneLab[31]支持可控环境大规模实验。
Sionna定位为内置信道模型的链路级仿真工具,其特色在于端到端可微分性、GPU加速、神经网络原生支持与射线追踪能力,可扩展至多GPU大规模MIMO场景。
III. Sionna入门
Sionna基于TensorFlow[16]与Keras API[17]构建,部分功能(如定制CUDA内核与射线追踪)将在第IV节详述。
A. 设计原则
张量化并行计算:
- 所有算法采用高维张量(如形状[batch_size, num_tx,…, fft_size])实现,避免循环结构,充分利用GPU并行计算。无GPU时可运行于CPU。
模块化Keras层:
- 组件均以独立Keras层[17]形式实现,支持灵活系统搭建、神经网络替换与自动梯度计算。支持Keras顺序式与函数式API。
数据类型与执行模式:
- 默认复数精度tf.complex64,可选tf.complex128(内存需求翻倍)。支持即时编译(XLA[32])与TensorFlow的即时/图模式执行。
B. 功能特性
首版(v0.8.0)核心功能:
前向纠错(FEC):
- 5G LDPC/Polar码(含速率匹配[33])
- CRC[33]、Reed-Muller/卷积码
- 交织/加扰
- 置信传播(BP)译码器
- Polar码SC/SCL/SCL-CRC译码器
- 维特比译码器
- 带先验的解映射器
- EXIT图仿真
- 外部校验矩阵导入(alist格式)
信道模型:
- AWGN信道
- 平坦衰落信道(含天线相关性)
- 3GPP 38.901 TDL/CDL/UMa/UMi/RMa模型[14]
- 从数据集导入信道冲激响应
- 时域/频域信道输出计算
MIMO处理:
- 多用户/多小区MIMO
- 3GPP 38.901与自定义天线阵列/方向图
- 迫零(ZF)预编码
- MMSE均衡
OFDM:
- OFDM调制解调、循环前缀处理
- 灵活5G时隙结构、任意导频图案
- LS信道估计与最近邻插值
Sionna虽支持5G兼容信道编码与模型,但非严格遵循5G标准,旨在提供高灵活性的工业级仿真基准。
C. 示例代码
Sionna网页提供了一个详细的教程笔记本集(https://nvlabs.github.io/sionna/tutorials.html),详细介绍了使用该库的各种方式。为了让您对使用Sionna进行开发的感觉有一个初步印象,我们提供并讨论了一些简单的代码示例。
列表1显示了一个Sionna“Hello, World!”示例,其中模拟了使用16QAM调制的batch_size LDPC码字通过AWGN信道的传输。这个示例展示了Sionna层是如何实例化,然后立即应用于先前定义的张量的。例如,在第8行,LDPC5GEncoder使用参数n和k实例化,然后应用于包含随机生成信息位的张量b。这种编码风格遵循Keras的功能API。
在列表2中,我们使星座图可训练,并用NeuralDemapper替换了Demapper,NeuralDemapper在列表3中定义。幕后发生的事情是定义星座点的张量变成了一个可训练的TensorFlow变量。现在可以通过本机Python代码中的此类算法对其进行跟踪,并将其与NeuralDemapper的NN权重一起包装为TensorFlow的张量流自动微分功能,见[34]。然后可以定义一个适当的损失函数(第7行),例如总二进制交叉熵,并计算该损失相对于所有可训练变量的梯度。这个梯度然后可以用来通过随机梯度下降联合优化星座点和NeuralDemapper。这个概念有时被称为端到端学习[35],可以应用于非常复杂的系统模型。
列表3显示了一个NeuralDemapper作为Keras层的定义,它用于列表2中以替换传统的Demapper。这种NN组件和传统算法的简单组合以及自动梯度计算是Sionna在基于ML的研究中的主要优势之一。
示例1:基础链路仿真
batch_size = 1024
n = 1000 # 码字长度
k = 500 # 信息比特数
m = 4 # 符号比特数
snr = 10
c = Constellation("qam", m)
b = BinarySource()([batch_size, k])
u = LDPC5GEncoder(k, n)(b)
x = Mapper(constellation=c)(u)
y = AWGN()([x, 1/snr])
llr = Demapper("app", constellation=constellation)([y, 1/snr])
b_hat = LDPC5GDecoder(LDPC5GEncoder(k, n))(llr)
compute_ber(b, b_hat)
示例2:可训练组件与神经网络集成
c = Constellation("qam", m, trainable=True)
b = BinarySource()([batch_size, k])
u = LDPC5GEncoder(k, n)(b)
x = Mapper(constellation=c)(u)
y = AWGN()([x, 1/snr])
llr = NeuralDemapper()([y, 1/snr])
loss = BinaryCrossentropy(from_logits=True)(u, llr)
示例3:自定义神经网络解映射器
class NeuralDemapper(Layer):
def build(self, input_shape):
self._dense1 = Dense(16, activation="relu")
self._dense2 = Dense(m)
def call(self, inputs):
y, no = inputs
no = no * tf.ones(tf.shape(y))
llr = tf.stack([tf.math.real(y), tf.math.imag(y), no], axis=-1)
llr = self._dense1(llr)
llr = self._dense2(llr)
return tf.reshape(llr, [batch_size, -1])
D. 局限性
GPU内存限制:
- 批量仿真可能受限于GPU内存,可通过减小批量或分布式多GPU方案缓解。
复杂逻辑实现:
- 条件分支密集型算法需通过C++/CUDA定制算子实现。Python原生实现虽可行但效率较低。
E. 贡献指南
Sionna基于Apache 2.0协议开源,接受社区通过GitHub提交的贡献,要求开发者签署DCO证书[36]。
IV. 未来扩展
A. 定制CUDA内核
针对条件分支复杂或索引操作密集的算法(如Polar SCL译码、3GPP信道模型组件),将采用C++/CUDA定制TensorFlow算子[37][38],结合CUDA-X库[39]提升性能。
B. 射线追踪集成
许多6G主题,例如RIS或集成传感和通信,需要以基于物理的方式模拟特定的无线电环境,这是随机信道模型无法做到的。对于一些应用程序,还需要场景的视觉表示,见例如[40]。为了满足这些需求,Sionna RT将很快将这些功能带到Sionna,这样就可以渲染一个场景,获取所需的信道冲激响应,并立即将它们用于链路级模拟或其他应用程序。
列表4演示了从Jupyter笔记本内部调用高性能射线追踪的简单性。首先,加载一个集成场景。然后,计算所有发射器和接收器之间的传播路径。它们的配置在此列表中没有显示。接下来,在渲染场景中的传播路径(见图1)之前,生成一个覆盖图。最后,计算所有定义的发件人和收件人之间的信道冲激响应。这些可以直接用于链路级模拟,而不是随机信道模型。除此之外的简单性,还可以从Python内部操纵许多场景参数,例如材质属性。
图1展示了Sionna RT生成的信道覆盖图与射线追踪路径渲染效果,支持场景参数动态调整与物理级信道冲激响应生成。
V. 结论
Sionna作为可微分、GPU加速的开源链路仿真平台,为6G颠覆性技术研究提供了全新工具。其即将集成的射线追踪能力将进一步拓展应用场景。期待社区的广泛采用与共同建设。
参考文献
[1] X. Lin, “An Overview of 5G Advanced Evolution in 3GPP Release 18,” arXiv preprint arXiv:2201.01358, Jan. 2022.
[2] M. A. Uusitalo, M. Ericson, B. Richerzhagen, E. U. Soykan, P. Rugeland, G. Fettweis, D. Sabella, G. Wikstro¨m, M. Boldi, M.-H. Hamon et al., “Hexa-X the European 6G flagship project,” in Proc. Joint Europ. Conf. Netw. Commun. & 6G Summit (EuCNC/6G Summit), Porto, Portugal, Jun. 2021, pp. 580–585. [3] H. Viswanathan and P. E. Mogensen, “Communications in the 6G Era,” IEEE Access, vol. 8, pp. 57 063–57 074, Mar. 2020. [4] I. F. Akyildiz, C. Han, Z. Hu, S. Nie, and J. M. Jornet, “TeraHertz Band Communication: An Old Problem Revisited and Research Directions for the Next Decade,” arXiv preprint arXiv:2112.13187, Dec. 2021. [5] E. Bj¨ornson, L. Sanguinetti, H. Wymeersch, J. Hoydis, and T. L. Marzetta, “Massive MIMO is a reality—What is next?: Five promising research directions for antenna arrays,” Digital Signal Processing, vol. 94, pp. 3–20, Nov. 2019, special Issue on Source Localization in Massive MIMO. [Online]. Available: https: //www.sciencedirect.com/science/article/pii/S1051200419300776 [6] G. Geraci, A. Garcia-Rodriguez, M. M. Azari, A. Lozano, M. Mezzavilla, S. Chatzinotas, Y. Chen, S. Rangan, and M. Di Renzo, “What Will the Future of UAV Cellular Communications Be? A Flight from 5G to 6G,” arXiv preprint arXiv:2105.04842, May 2021. [7] J. Hoydis, F. A. Aoudia, A. Valcarce, and H. Viswanathan, “Toward a 6G AI-Native Air Interface,” IEEE Commun. Mag., vol. 59, no. 5, pp. 76–81, May 2021. [8] M. Kountouris and N. Pappas, “Semantics-Empowered Communication for Networked Intelligent Systems,” IEEE Commun. Mag., vol. 59, no. 6, pp. 96–102, Jun. 2021. [9] M. D. Renzo, M. Debbah, D.-T. Phan-Huy, A. Zappone, M.-S. Alouini, C. Yuen, V. Sciancalepore, G. C. Alexandropoulos, J. Hoydis, H. Gacanin, J. d. Rosny, A. Bounceur, G. Lerosey, and M. Fink, “Smart radio environments empowered by reconfigurable AI meta-surfaces: An idea whose time has come,” EURASIP J. Wireless Commun. Netw., vol. 2019, no. 1, p. 129, May 2019.
[10] A. Bourdoux, A. N. Barreto, B. van Liempd, C. de Lima, D. Dardari, D. Belot, E.-S. Lohan, G. Seco-Granados, H. Sarieddeen, H. Wymeersch, J. Suutala, J. Saloranta, M. Guillaud, M. Isomursu, M. Valkama, M. R. K. Aziz, R. Berkvens, T. Sanguanpuak, T. Svensson, and Y. Miao, “6G White Paper on Localization and Sensing,” University of Oulu: 6G Research Visions, Jun. 2020.
[11] P. Almasan, M. Ferriol-Galm´es, J. Paillisse, J. Su´arez-Varela, D. Perino, D. Lo´pez, A. A. P. Perales, P. Harvey, L. Ciavaglia, L. Wong et al., “Digital Twin Network: Opportunities and Challenges,” arXiv preprint arXiv:2201.01144, Jan. 2022.
[12] T. Nishio, Y. Koda, J. Park, M. Bennis, and K. Doppler, “When wireless communications meet computer vision in beyond 5G,” IEEE Commun. Standards Mag., vol. 5, no. 2, pp. 76–83, Jun. 2021.
[13] Y. Liu, X. Yuan, Z. Xiong, J. Kang, X. Wang, and D. Niyato, “Federated learning for 6G communications: Challenges, methods, and future directions,” China Communications, vol. 17, no. 9, pp. 105–118, Sep. 2020.
[14] ETSI, “ETSI TR 138 901 V16.1.0: Study on channel model for frequencies from 0.5 to 100 GHz,” ETSI, Tech. Rep., Nov. 2020. [Online]. Available: https://www.etsi.org/deliver/etsi tr/138900 138999/ 138901/16.01.00 60/tr 138901v160100p.pdf
[15] S. Ali, W. Saad, and D. Steinbach, Eds., White Paper on Machine Learning in 6G Wireless Communication Networks. University of Oulu, 2020, no. 7. [Online]. Available: http://urn.fi/urn:isbn:9789526226736
[16] M. Abadi, A. Agarwal, P. Barham, E. Brevdo, Z. Chen, C. Citro, G. S. Corrado, A. Davis, J. Dean, M. Devin, S. Ghemawat, I. Goodfellow, A. Harp, G. Irving, M. Isard, Y. Jia, R. Jozefowicz, L. Kaiser, M. Kudlur, J. Levenberg, D. Man´e, R. Monga, S. Moore, D. Murray, C. Olah, M. Schuster, J. Shlens, B. Steiner, I. Sutskever, K. Talwar, P. Tucker, V. Vanhoucke, V. Vasudevan, F. Vi´egas, O. Vinyals, P. Warden, M. Wattenberg, M. Wicke, Y. Yu, and X. Zheng, “TensorFlow: Largescale machine learning on heterogeneous systems,” 2015, accessed Jan. 2022. [Online]. Available: https://www.tensorflow.org/
[17] F. Chollet et al., “Keras,” https://keras.io, 2015, accessed Jan. 2022.
[18] T. Kluyver, B. Ragan-Kelley, F. P´erez, B. Granger, M. Bussonnier, J. Frederic, K. Kelley, J. Hamrick, J. Grout, S. Corlay, P. Ivanov, D. Avila, S. Abdalla, and C. Willing, “Jupyter Notebooks publishing format for reproducible computational workflows,” in Positioning and Power in Academic Publishing: Players, Agents and Agendas, F. Loizides and B. Schmidt, Eds. IOS Press, 2016, pp. 87–90. [Online]. Available: https://jupyter.org
[19] T. M. Inc., “Matlab,” https://www.mathworks.com/products/matlab.html, accessed Jan. 2022.
[21] S. Sun, G. R. MacCartney, and T. S. Rappaport, “A novel millimeter-wave channel simulator and applications for 5G wireless
[20] S. Jaeckel, L. Raschkowski, K. B¨orner, and L. Thiele, “QuaDRiGa: A 3-D multi-cell channel model with time evolution for enabling virtual field trials,” IEEE Trans. Antennas Propag., vol. 62, no. 6, pp. 3242–3256, 2014, accessed Jan. 2022. [Online]. Available: https://wireless.engineering.nyu.edu/nyusim/ communications,” in Proc. IEEE Int. Conf. Commun. (ICC), Paris, France, May 2017, accessed Jan. 2022. [Online]. Available: https: //quadriga-channel-model.de/
[22] S. Pratschner, B. Tahir, L. Marijanovic, M. Mussbah, K. Kirev, R. Nissel, S. Schwarz, and M. Rupp, “Versatile mobile communications simulation: the Vienna 5G Link Level Simulator,” EURASIP J. Wireless Commun. Netw., vol. 2018, no. 1, p. 226, Sep. 2018, accessed Jan. 2022. [Online]. Available: https://www.nt.tuwien.ac.at/research/ mobile-communications/vccs/vienna-5g-simulators/
[23] A. Cassagne, O. Hartmann, M. L´eonardon, K. He, C. Leroux, R. Tajan, O. Aumage, D. Barthou, T. Tonnellier, V. Pignoly, B. Le Gal, and C. J´ego, “AFF3CT: A Fast Forward Error Correction Toolbox!” Elsevier SoftwareX, vol. 10, p. 100345, Oct. 2019. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S2352711019300457
[24] Barkhausen-Institut, “HermesPy,” https://github.com/ Barkhausen-Institut/hermespy, 2022, accessed Jan. 2022.
[25] M. K. Mu¨ller, F. Ademaj, T. Dittrich, A. Fastenbauer, B. R. Elbal, A. Nabavi, L. Nagel, S. Schwarz, and M. Rupp, “Flexible multi-node simulation of cellular mobile communications: the Vienna 5G System Level Simulator,” EURASIP J. Wireless Commun. Netw., vol. 2018, no. 1, p. 17, Sep. 2018, accessed Jan. 2022. [Online]. Available: https://www.nt.tuwien.ac.at/research/ mobile-communications/vccs/vienna-5g-simulators/
[26] G. F. Riley and T. R. Henderson, The ns-3 Network Simulator. Berlin, Heidelberg: Springer Berlin Heidelberg, 2010, pp. 15–34, accessed Jan. 2022. [Online]. Available: https://www.nsnam.org
[27] A. Varga and R. Hornig, “An overview of the OMNeT
+
+
^{++}
++ simulation environment,” in Proc. SIMUTools, Marseille, France, Mar. 2008, pp. 1–10, accessed Jan. 2022. [Online]. Available: https://omnetpp.org
[28] GNU Radio Project, “GNU Radio – the Free and Open Software Radio Ecosystem,” https://www.gnuradio.org, accessed Jan. 2022.
[29] N. Nikaein, M. K. Marina, S. Manickam, A. Dawson, R. Knopp, and C. Bonnet, “OpenAirInterface: A flexible platform for 5G research,” ACM SIGCOMM Comput. Commun. Rev., vol. 44, no. 5, pp. 33–38, Oct. 2014, accessed Jan. 2022. [Online]. Available: https://openairinterface.org
[30] “Platforms for Advanced Wireless Research (PAWR),” accessed Jan. 2022. [Online]. Available: https://advancedwireless.org
[31] “OneLab - Future Internet Testbeds,” accessed Jan. 2022. [Online]. Available: http://www.onelab.eu
[32] “XLA: Optimizing Compiler for Machine Learning,” accessed Jan. 2022. [Online]. Available: https://www.tensorflow.org/xla
[33] ETSI, “ETSI TS 138 212 V16.2.0: Multiplexing and channel coding,” ETSI, Tech. Rep., Jul. 2020. [Online]. Available: https://www.etsi.org/deliver/etsi ts/138200 138299/138212/ 16.02.00 60/ts 138212v160200p.pdf
[34] “Introduction to gradients and automatic differentiation,” accessed Jan. 2022. [Online]. Available: https://www.tensorflow.org/guide/autodiff
[35] T. O’shea and J. Hoydis, “An introduction to deep learning for the physical layer,” IEEE Trans. on Cogn. Commun. Netw., vol. 3, no. 4, pp. 563–575, Dec. 2017.
[36] “Developer Certificate of Origin Version 1.1,” accessed Jan. 2022. [Online]. Available: https://developercertificate.org
[37] “Create an op,” accessed Jan. 2022. [Online]. Available: https: //www.tensorflow.org/guide/create op
[38] “CUDA Zone,” accessed Jan. 2022. [Online]. Available: https: //developer.nvidia.com/cuda-zone
[39] “NVIDIA CUDA-X: GPU-Accelerated Libraries,” accessed Jan. 2022. [Online]. Available: https://developer.nvidia.com/ gpu-accelerated-libraries
[40] M. Alrabeiah, A. Hredzak, Z. Liu, and A. Alkhateeb, “ViWi: A Deep Learning Dataset Framework for Vision-Aided Wireless Communications,” in IEEE Proc. Vehicular Technology Conf. (VTC2020-Spring), May 2020, pp. 1–5.