1-bit Precoding Algorithm for Massive MIMO OFDM Downlink Systems with Deep Learning
-
摘要: 大规模多输入多输出(MIMO)系统中通过在基站端配备数百根天线,在提高频谱利用效率的同时,也带来了系统成本的增加。本课题组之前提出了一种适用于下行大规模MIMO正交频分复用(OFDM)系统的收敛保证的多载波1比特预编码算法(CG-MC1bit),能够获得较优的系统性能,但相应的计算复杂度较高,阻碍了其在实时系统中的应用。为进一步解决大规模MIMO系统中的成本和功耗问题,该文提出了一个模型驱动的神经网络,在CG-MC1bit算法的基础上迭代展开(Unfolding)得到了一种更加高效的CG-MC1bit-Net算法。具体而言,将迭代算法展开为一个神经网络,并引入可训练的参数来替代前向传播中的高复杂性操作。实验结果表明,该方法能够自动更新参数,与传统的预编码算法相比,收敛速度更快,计算复杂度更低。
-
关键词:
- 大规模多输入多输出 /
- 预编码 /
- 正交频分复用(OFDM) /
- 迭代展开 /
- 神经网络
Abstract: The base station of a massive Multiple-Input Multiple-Output (MIMO) system is equipped with hundreds of antennas, enhancing the spectral efficiency of the system and increasing the system costs. To address this problem, our research group proposed a Convergence-Guaranteed Multi-Carrier one-bit precoding (CG-MC1bit) iterative algorithm suitable for Orthogonal Frequency-Division Multiplexing (OFDM) downlink massive MIMO systems, which can ensure superior system performance. However, the corresponding computational complexity is high, hindering the practical application of the algorithm in real-time systems. To address this issue, we propose a model-driven, unfolding neural network, which is based on the CG-MC1bit iterative algorithm and introduces trainable parameters to replace high-complexity operations in forward propagation. In particular, we unfold the iterative algorithm into a neural network and introduce trainable parameters to replace high-complexity operations in forward propagation. Simulation results reveal that this method can automatically update parameters. In addition, compared with the traditional precoding algorithms, the proposed method has a higher convergence speed and lower computational complexity.-
Key words:
- Massive MIMO /
- Precoding /
- Orthogonal Frequency-Division Multiplexing(OFDM) /
- Unfolding /
- Neural Network
-
1. 引言
大规模多输入多输出(Multiple-Input Multiple-Output, MIMO)技术是第六代移动通信系统的关键技术,利用预编码技术在同一时频资源下与多个用户设备进行通信,从而显著提高频谱效率、能源效率和可靠性[1]。然而,随着天线数量的大量增加,大规模MIMO系统的信号处理成本和复杂度呈指数增长,因此降低系统的成本和功耗是当前亟待解决的问题[2]。
随着大规模MIMO系统天线数量的增加,功率放大器的平均功耗降低[3],射频链的功耗变得越来越重要。其中数模转换器(Digital-to-Analog Converter, DAC)是射频链中功耗的主要来源,使用大量高分辨率DAC的成本和功耗是不可接受的。因此,现在越来越多的研究关注于通过低成本和功耗高效的硬件来推进大规模MIMO技术的发展,其中使用1比特DAC被认为是一种有效的解决方案。
一般而言,1比特预编码技术可分为线性预编码和非线性预编码两类。线性预编码器在传统线性预编码后进行量化,在文献[4]中,分析了当发射天线数与用户数之比高时,1比特量化的迫零(Zero-Forcing, ZF)预编码的性能。文献[5]中,证明了在符号上添加随机扰动可以有效地减轻量化误差。线性预编码虽然有效地降低了计算复杂度,但代价是显著的误码率(Symbol Error Rate, SER)性能损失。
另一些工作转而研究1比特非线性预编码。相较于线性预编码,非线性预编码具有更出色的SER性能,但是实现需要更高的计算复杂度[6]。为了降低计算复杂度,一些研究提出了高效的1比特预编码算法[7,8],这些算法实现计算复杂度较低,同时也能够取得优异的性能表现。然而,适用于单载波系统的预编码算法无法直接应用于正交频分复用(Orthogonal Frequency Division Multiplexing, OFDM)系统中,这是由于OFDM系统中的预编码技术需要考虑到频域的特性和子载波之间的相互干扰。为了解决这一问题,文献[9]将算法扩展到了频率选择衰落信道,对非凸进行松弛,得到了恒定包络相位量化信号。文献[10]中采用的方法在系统中存在大量子载波,导致矩阵维数大幅增加。文献[11]提出了一种基于交替方向乘子法改进框架的高效算法,并保证了算法的收敛性。然而,这些1比特预编码算法的计算复杂度较高,阻碍了实时系统中的应用。
近年来,深度学习技术已被广泛应用于无线通信系统的物理层[12],包括信道状态信息反馈[13]和预编码器设计[14]等方面。尽管基于深度神经网络和卷积神经网络的预编码方法在某些应用场景下表现出色,但它们需要大量的训练数据,缺乏可解释性和泛化能力。与之相比,基于模型的展开技术(Unfolding)因其可解释的架构和快速的训练而越来越受欢迎,尤其是针对下行大规模MIMO系统预编码设计的问题。已有多项研究采用基于神经网络的展开技术解决这一问题,例如He等人[15]将迭代离散估计算法展开为一个神经网络,开发了一种基于深度学习的预编码方法。Balatsoukas-Stimming等人[16]将近似解决双凸松弛问题的预编码算法迭代展开,在低2倍复杂度的情况下实现了相近的SER性能。Hu等人[17]提出了一种高效的基于迭代展开的算法,用以解决多用户MIMO系统中预编码设计的和速率最大化问题。
目前,基于深度学习的预编码设计主要集中在单载波通信[15-17],而在多载波系统中的应用还未得到很好的研究。本文基于收敛保证的多载波1比特预编码算法(Convergence-Guaranteed Multi-Carrier One-Bit Precoding, CG-MC1bit) [11] 展开,提出了一种适用于下行大规模多用户MIMO OFDM系统的算法CG-MC1bit-Net。具体来说,将 CG-MC1bit算法展开为神经网络,用网络层数替代迭代次数,用双曲正切函数近似替代量化函数,并引入模型参数取代算法中的复杂性操作,从而将其展开为CG-MC1bit-Net,该算法能够在离线阶段通过大量样本的训练获得网络权重,在线应用时利用所得权重,用较低的计算复杂度即可获得优秀的性能。算法还具有对系数的更新更灵活的特点,能够进一步提升系统性能。在数据集上对该算法进行了评估,结果表明,该预编码算法得到的数据具有优秀的SER性能,计算复杂度低于现有的算法,收敛速度快,大大提升了运行速度,更加有利于实时系统中的应用。
2. 系统建模
2.1 系统模型
本节介绍了发射端采用1比特DAC的MIMO OFDM系统模型,并研究了频率选择信道下的OFDM系统,通过适当的系统配置,每个子载波可以有效地通过平坦衰落信道。
如图1所示的是发射机处使用1比特DAC的大规模多用户MIMO OFDM系统的下行链路结构。配备Na根天线的基站同时服务M个单天线用户,L表示OFDM系统的载波数。为简单起见,每个用户的模数转换器假设都是理想的。
在时域中,发射天线上的时域信号表示为xT[n]∈CNa×1,其取值范围属于一个有限的离散集X∈CNa×1,假设预编码向量满足功率约束‖。通过傅里叶变换,可以将时域信号转换为频域信号:
{{{\boldsymbol{X}}}_{\text{F}}} = {{{\boldsymbol{X}}}_{\text{T}}}{{{\boldsymbol{F}}}_L} (1) 其中,载波数为 L , {{{\boldsymbol{F}}}_L} \in {\mathbb{C}^{L \times L}} 是一个 L 点的DFT矩阵,在 (m,n) 点时, {({{{\boldsymbol{F}}}_L})_{mn}} = {{\text{e}}^{ - {\text{j}}\tfrac{{{{2\pi }}}}{L}(m - {\text{1}})(n - {\text{1}})}} , {{{\boldsymbol{X}}}_{\text{F}}}{\text{ = }}[{{\boldsymbol{x}}}[{\text{1}}],{{\boldsymbol{x}}}[{\text{2}}], \cdots ,{{\boldsymbol{x}}}[L]] 表示频域上的发射信号。
在频域中,当系统包含的载波数为 L 时,第 l 个子载波的接收信号数学模型可以表示为
{{\boldsymbol{y}}}[l]{\text{ = }}{{\boldsymbol{H}}}[l]{{\boldsymbol{x}}}[l]{\text{ + }}{{\boldsymbol{z}}}[l],l = {\text{1,2,}} \cdots ,L (2) 其中, {{{\boldsymbol{Y}}}_{\text{F}}}{\text{ = }}[{{\boldsymbol{y}}}[{\text{1}}],{{\boldsymbol{y}}}[{\text{2}}], \cdots ,{{\boldsymbol{y}}}[L]] 表示用户设备接收的信号, {{\boldsymbol{y}}}[l] \in {\mathbb{C}^{M \times {\text{1}}}} 是 {{{\boldsymbol{Y}}}_{\text{F}}} 的第 l 个子载波。 {{{\boldsymbol{Z}}}_{\text{F}}}{\text{=}} [{{\boldsymbol{z}}}[{\text{1}}],{{\boldsymbol{z}}}[{\text{2}}], \cdots ,{{\boldsymbol{z}}}[L]] 表示独立同分布的加性高斯白噪声,每个子载波的概率分布服从高斯分布,即 {{\boldsymbol{z}}}[l] \sim \mathcal{C}\mathcal{N}({\text{0,}}{\sigma ^2}{{\boldsymbol{I}}_M}) , {{\boldsymbol{I}}_M} 表示为维度为 M \times M 的单位矩阵。 {x}[l] 为发射信号 {{X}_{\text{F}}} 的第 l 个子载波。{{\boldsymbol{H}}}[l] \in {\mathbb{C}^{M \times {N_{\text{a}}}}}表示下行MIMO系统的第 l 个子载波的频域信道矩阵。
当大规模MIMO系统采用1比特预编码时,同相路径和正交路径都由1比特DAC提供,此时离散集 \mathcal{X}\text{=}\sqrt{\gamma }\left\{-\text{1}-\text{j},-\text{1}+\text{j},\text{1}+\text{j},\text{1}-\text{j}\right\} ,其中, \gamma 表示功率归一化因子。 {{\boldsymbol{s}}}[l] \in {\mathcal{J}^{M \times {\text{1}}}} 表示第l个子载波传输的数据符号,并映射到星座点 \mathcal{J} 上。
2.2 CG-MC1bit
为了评估量化输出系统的性能,可以通过评估输入与输出之间的均方误差(Mean Square Error, MSE),将模型化简成一个最小化所有子载波上的MSE优化问题:
{\text{MSE}} = \sum\limits_{l = {\text{0}}}^{L - 1} {\left\| {{{\boldsymbol{s}}}[l] - \alpha {{\boldsymbol{H}}}[l]{{\boldsymbol{x}}}[l]} \right\|_2^2} + MN{\sigma ^2}{\alpha ^2} (3) 其中, \alpha 表示预编码调整因子,设置适当的预编码调整因子能够获得较低的MSE。
文献[11]中采用了CG-MC1bit算法,在式(3)的基础上进一步化简,并通过在拉格朗日函数上增加惩罚项进行求解,使得原本的优化问题可以通过 {\boldsymbol{X}},{\boldsymbol{R}},{\boldsymbol{V}},\alpha 的迭代更新来解决,惩罚项的引入使得算法收敛更快。
其中, {{\boldsymbol{R}}} \in {\mathbb{C}^{{N_{\text{a}}} \times L}} 是引入的辅助变量, {{\boldsymbol{V}}} \in {\mathbb{C}^{{N_{\text{a}}} \times L}} 是引入的对偶变量,用k代表迭代次数, \Vert \cdot{\Vert }_{\text{F}} 简称F-范数,代表矩阵各项元素的绝对值平方的总和。
首先 {{{\boldsymbol{X}}}^{k + 1}} 的最优解可以通过最小二乘法求出,它的第l个子载波可以表示为
\begin{split} {{{\boldsymbol{x}}}^{k + 1}}[l]=& \frac{1}{\lambda }\left[ {{{\boldsymbol{I}}_{{N_{\text{a}}}}} - {{{\tilde {\boldsymbol{H}}}}^{\rm{H}}}[l]{{({\tilde {\boldsymbol{H}}}[l]{{{\tilde {\boldsymbol{H}}}}^{\text{H}}}[l] + \frac{\lambda }{2}{{\boldsymbol{I}}_M})}^{ - 1}}} {{\tilde {\boldsymbol{H}}}[l]} \right]\\ & \cdot\left( {2{{{\tilde {\boldsymbol{H}}}}^{\rm{H}}}[l]{{\boldsymbol{s}}}[l] + \lambda {{{\boldsymbol{R}}}^k}[l] - {{{\boldsymbol{V}}}^k}[l]} \right)\\[-1pt] \end{split} (4) 其中, {\tilde {\boldsymbol{H}}}[l] = \alpha _{}^k{{\boldsymbol{H}}}[l] , {{\boldsymbol{R}}}[l] , {{\boldsymbol{V}}}[l] 分别表示辅助变量 {{\boldsymbol{R}}} 和对偶变量 {{\boldsymbol{V}}} 的第 l 列, \lambda \in {\mathbb{R}^ + } 是惩罚因子。
辅助变量 {{\boldsymbol{R}}} 的更新可以表示为
{{{\boldsymbol{R}}}^{k + 1}} = \mathcal{P}\left[ {\frac{1}{L}\left({{{\boldsymbol{X}}}^{k + 1}} + \frac{{\text{1}}}{\lambda }{{{\boldsymbol{V}}}^k}\right){{\boldsymbol{F}}}_L^{\text{H}}} \right]{{{\boldsymbol{F}}}_L} (5) 式(5)中首先将时域信号投影到给定的有限离散集合 \mathcal{X} 上,然后转换到频域,投影表示为 \mathcal{P}(\cdot)={\rm{sign}}(\Re (\cdot))+ {\rm{jsign}}(\Im (\cdot)) 。
预编码因子 \alpha 可以通过最小二乘法求出, \alpha _{}^{k + {\text{1}}} 的定义如下:
\begin{split} & \alpha _{}^{k + {\text{1}}} \\ &= \frac{{\text{1}}}{M}\sum\limits_{i = {\text{0}}}^M {\frac{{\displaystyle\sum\nolimits_{l = {\text{0}}}^{L - {\text{1}}}{{({{{\boldsymbol{R}}}^{k + {\text{1}}}}[l])}^{\text{H}}} {{{\boldsymbol{h}}}_i}[l]{{{\boldsymbol{s}}}_i}[l]}}{{\displaystyle\sum\nolimits_{l = {\text{0}}}^{L - {\text{1}}}{{({{{\boldsymbol{R}}}^{k + {\text{1}}}}[l])}^{\text{H}}} {{{\boldsymbol{h}}}_i}[l]{{\boldsymbol{h}}}_i^{\text{H}}[l]{{{\boldsymbol{R}}}^{k + {\text{1}}}}[l] + N{\sigma ^2}}}} \end{split} (6) 其中, {{{\boldsymbol{h}}}_i}[l] \in {\mathbb{C}^{{N_{\text{a}}} \times {\text{1}}}} , {{\boldsymbol{h}}}_i^{\mathrm{T}}[l] 表示{{\boldsymbol{H}}}[l]的第i行, {{{\boldsymbol{s}}}_i}[l] \in {\mathbb{C}^{{\text{1}} \times {\text{1}}}} , {{\boldsymbol{s}}}_i^{\text{T}}[l] 表示{{\boldsymbol{s}}}[l]的第i行。
对偶变量 {{{\boldsymbol{V}}}^{k + 1}} 由式(7)进行更新:
{{{\boldsymbol{V}}}^{k + 1}} = {{{\boldsymbol{V}}}^k} + \lambda \left( {{{\boldsymbol{X}}}_{}^{k + 1} - {{{\boldsymbol{R}}}^{k + 1}}} \right) (7) 在进行 K 次迭代后,输出的 {{\boldsymbol{R}}} 记为 {{{\boldsymbol{R}}}_{{\text{out}}}} ,通过 {{{\boldsymbol{R}}}_{{\text{out}}}} 可以计算出信号 {{{\boldsymbol{X}}}_{\text{F}}} :
{{{\boldsymbol{X}}}_{\text{F}}} = \sqrt \gamma {{{\boldsymbol{R}}}_{{\text{out}}}} (8) 其中,功率归一化因子 \gamma = \dfrac{L}{{\left\| {{{\boldsymbol{R}}_{{\text{out}}}}} \right\|_{\text{F}}^{\text{2}}}} 。
CG-MC1bit算法将优化问题表述为MSE最小化问题,并在拉格朗日函数上增加惩罚项进行求解,可以减小1比特DAC带来的失真,然而 CG-MC1bit算法需要的迭代次数高,并且部分求解步骤的计算复杂度较高,大大增加了计算成本,这不利于其在实时系统中的应用。
3. 算法描述
本节针对下行大规模MIMO OFDM系统的应用场景,提出了一种基于迭代展开的1比特预编码算法,来降低系统中成本与功耗,解决实时系统中的应用问题。
3.1 迭代展开
迭代展开是一种深度学习中的优化方法,能够将优化算法的循环结构展开成多层神经网络。使得算法的迭代过程可以在神经网络的训练过程中进行,从而在一些应用领域中获得更好的性能,已经有研究人员对半二次分裂算法[18]、压缩感知图像重构算法[19]进行了展开。需要注意的是,展开的方法通常需要根据具体的算法和应用场景进行调整和优化,以充分利用神经网络的表达能力和训练算法的优化能力。因此,在使用展开方法时,需要根据具体的问题和资源进行合理的调整和选择。
CG-MC1bit算法结构上与神经网络有着相似之处,算法的每次迭代可以被看作神经网络的一层隐藏层,每次迭代中引入的非线性操作被视为激活函数,从而将CG-MC1bit算法展开成一个神经网络的形式。图2展示了CG-MC1bit算法展开后的数据流图,其中,输入 {{\boldsymbol{S}}} 代表传输信号矩阵, {{\boldsymbol{H}}} 代表信道矩阵, K 代表神经网络层数。
3.2 算法介绍
本文提出了CG-MC1bit-Net算法,具体的算法流程如算法1所示,算法具体描述为:首先初始化网络,在前向传播中,按照步骤(5)–步骤(13)计算出第 k 层预编码因子 {\alpha ^k} 和对偶变量 {{{\boldsymbol{V}}}^k} ,并将这两个值将作为第 k + 1 层神经网络的输入来参与运算,在最后 K 层处输出时域上的辅助变量 {{\boldsymbol{R}}}_{\text{T}}^K ,并计算 {\text{los}}{{\text{s}}_{{\text{MSE}}}} 。在反向传播中,根据损失函数的定义,计算各个模型参数的梯度,并利用Adamax优化器来更新每一层的训练参数,需要注意的是每层的训练参数的更新都是独立的。由于反向传播求取梯度时仅支持实值操作,在使用神经网络处理复数数据时,可以将复数矩阵的实部和虚部拆开拼成实矩阵,然后在实数域上进行前向传播和反向传播计算。
表 1 CG-MC1bit-Net算法已知:传输信号矩阵 {{\boldsymbol{S}}} ,信道矩阵 {{\boldsymbol{H}}} ,神经网络层数 K 1) 初始化 {\boldsymbol{X}}^{\text{0}}={{\bf{1}}},\;{\boldsymbol{R}}^{\text{0}}\text{=}{{\bf{1}}},\;{\boldsymbol{V}}^{\text{0}}={{ {\textit{0}}}},\;\alpha =\text{0}\text{.1} 2) for 数据集中的每个样本 do 3) 初始化k = {\text{0}} 4) while k < K do 5) {\tilde {\boldsymbol{H}}} = {\alpha ^k}{{\boldsymbol{H}}} 6) 初始化l = {\text{0}} 7) for l < L do 8) 根据式(4)更新 {{{\boldsymbol{x}}}^{k + 1}}[l] , l = l + {\text{1}} 9) end for 10) {{\boldsymbol{R}}}_{\text{T}}^{k + 1} = \eta \tanh \left[ {\delta \dfrac{1}{L}\left( {{{{\boldsymbol{X}}}^{k + 1}} + \dfrac{1}{\lambda }{{{\boldsymbol{V}}}^k}} \right){{\boldsymbol{F}}}_L^{\text{H}}} \right] 11) {{{\boldsymbol{R}}}^{k + 1}} = {{\boldsymbol{R}}}_{\text{T}}^{k + 1}{{{\boldsymbol{F}}}_L} 12) {{{\boldsymbol{V}}}^{k + 1}} = {{{\boldsymbol{V}}}^k} + \lambda \left( {{{\boldsymbol{X}}}_{\text{T}}^{k + 1} - {{{\boldsymbol{R}}}^{k + 1}}} \right) 13) k = k + {\text{1}} 14) end while 15) 输出 {{\boldsymbol{R}}}_{\text{T}}^K ,并根据式(11)计算损失函数 {\text{los}}{{\text{s}}_{{\text{MSE}}}} 16) 执行会话 17) for 隐藏层或输出层的每个神经元 do 18) 更新网络中的每一个权值和偏差 19) end for 20) end for 在CG-MC1bit算法中,由于每次迭代都使用了量化函数,会导致部分计算步骤不能正常微分,这对神经网络来说是不可忽视的,因为只有具有良好梯度的函数才能正常地进行反向传播,从而实现模型参数的更新。分析CG-MC1bit算法,发现式(5)中使用了投影函数\rho \text{(}\cdot\text{)} ,其中的符号函数会导致梯度消失,需要使用其他的函数进行近似替代。目前,有几种常用的近似符号函数的方法,并能解决梯度消失的问题。例如使用软符号函数[20]或剪切函数[21],由于它们只能在截断间隔内传递梯度信息,对于[–1,1]之外的参数,梯度被限制为 0,这一特性极大地限制了反向传播的更新能力。因此,在本文的研究中采用了文献[22]中提出的方法,该方法能够保证训练早期的更新能力,并逐渐将曲线演变到阶梯函数的形状,值得注意的是,算法中输出值最终会进行归一化,并将注意力集中于虚部和实部的正负关系,从而进一步减小了符号函数和近似函数之间的信息丢失问题。因此使用了 \sigma \mathrm{tanh}(\cdot\times \delta ) 去近似代替 {\mathcal{P}}{(}\cdot{)} ,其中 \sigma ,\;\delta 表示训练参数,为了更好地处理,将式(5)拆分为式(9)和式(10):
\quad {{\boldsymbol{R}}}_{\text{T}}^{k + 1} = \sigma \tanh \left[ {\delta \frac{1}{N}\left( {{{{\boldsymbol{X}}}^{k + 1}} + \frac{1}{\lambda }{{{\boldsymbol{V}}}^k}} \right){{\boldsymbol{F}}}_L^{\text{H}}} \right] (9) \quad {{{\boldsymbol{R}}}^{k + 1}} = {{\boldsymbol{R}}}_{\text{T}}^{k + 1}{{{\boldsymbol{F}}}_L} (10) 由式(6)可知,求取 \alpha 涉及不同载波数的求和,计算复杂度较高,特别是当载波数较大时,不仅会大大降低训练的效率,在反向传播时可能也容易导致梯度消失或者梯度爆炸。从训练时间和复杂度的方向考虑,可以将 \alpha 设置成神经网络中的一个模型参数,通过优化器进行自动更新,大大降低成本的同时还能保证其性能。
每次迭代过程中,由于近似替代了符号函数,需要对损失函数重新进行定义,让CG-MC1bit-Net最终输出时域上的辅助信号 {{\boldsymbol{R}}}_{\text{T}}^K ,结合式 (1)、式(8)和式(10)可知, {{\boldsymbol{R}}}_{\text{T}}^K 与时域上的发射信号 {{{\boldsymbol{X}}}_{\text{T}}} 矩阵中对应元素的正负关系是相同的,因此对网络输出值 {{\boldsymbol{R}}}_{\text{T}}^K 与实际值 {{{\boldsymbol{X}}}_{\text{T}}} 作如下处理,首先让 {{\boldsymbol{R}}}_{\text{T}}^K 通过激活函数 {\text{ReLU}} ,并使用min函数设置输出值不超过1,得到 {{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{R}}} }_{\text{T}}} = {\text{min}}({\text{ReLU(}}{{\boldsymbol{R}}}_{\text{T}}^K),1) ,对实际值 {{{\boldsymbol{X}}}_{\text{T}}} 进行如下处理, {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{X}}} } = {\text{0}}{\text{.5sign}}({{{\boldsymbol{X}}}_{\text{T}}}) + {\text{0}}{\text{.5}} ,将网络输出值和真实值映射到(0,1)之间,并计算每个子载波的误差,用 {\text{los}}{{\text{s}}_{{\text{MSE}}}} 作为训练过程中的损失函数,损失定义如下:
{\text{los}}{{\text{s}}_{{\text{MSE}}}}{\text{ = }}\frac{1}{L}\sum\limits_{l = 0}^{L - 1} {{{\left( {{{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{R}}} }}_{\text{T}}}[l] - {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{{\boldsymbol{X}}} }[l]} \right)}^2}} (11) 在反向传播中,根据损失函数计算梯度,并通过神经网络的训练过程来更新每个阶段的模型参数,以最小化 {\text{los}}{{\text{s}}_{{\text{MSE}}}} 。
4. 仿真结果
本节通过仿真分析了所提出的1比特非线性预编码算法的性能。
为了验证本文所采用的CG-MC1bit-Net算法在解决下行大规模多用户MIMO ODFM系统预编码的有效性,本文考虑了用户设备数M = {\text{8}}和载波数L = {\text{1024}}的系统,为每种不同参数的模型生成1000组训练样本的数据集,在仿真实验中,前700组数据为训练数据集,后300组数据为测试数据集,值得注意的是,网络模型中初始值的选择综合考虑了网络结构、收敛速度、稳定性等多个因素,通过实验验证,确保了神经网络的训练过程能够更稳定、高效地进行,并使模型能够在最终收敛到更好的结果。
将文献[9]和文献[10]中提出的非线性算法作为对比算法,分别为平方无穷范数道格拉斯-拉奇福德分裂算法(Squared-infinity-norm Douglas-Rachford Splitting, SQUID)、恒包络符号级预编码算法(Constant Envelope Symbol Level Precoding, CESLP)。文中提出的算法记为“CG-MC1bit-Net”,参考的算法记为“CG-MC1bit”。无限分辨率DAC的WF预编码记为“WF-inf”,1比特DAC的WF预编码记为“WF-1bit”,分别作为理想情况和最坏情况的基线。
4.1 收敛性
首先考虑一个具有{N_{\text{a}}} = {\text{128}}个天线的基站,此时选取的用于训练和测试的信道矩阵 {{\boldsymbol{H}}} 和传输信号 {{\boldsymbol{S}}} 的维度分别为 {\text{8}} \times {\text{128}} \times {\text{1024}} 和 {\text{128}} \times {\text{1}} \times {\text{1024}} 。
图3比较了CG-MC1bit和CG-MC1bit-Net算法在测试阶段的SER随迭代次数(或神经网络层数)的变化情况。设置初始参数 \sigma = {\text{3}}{\text{.0}},\alpha = {\text{0}}{\text{.1}},\lambda = {\text{3}}{\text{.0}}, \delta = {\text{2}}{\text{.2}} ,选取学习率 \eta = {\text{0}}{\text{.1}} ,SNR设置为2 dB。从图3可以看出,两种算法的性能损失均是随着迭代次数(神经网络层数)的增加而逐渐下降,但是CG-MC1bit-Net算法的收敛速度明显更快,仅仅使用了6层神经网络就达到了CG-MC1bit经过近20次迭代的误差水平。
在上述的对比中, CG-MC1bit算法本身是一个固定参数的计算过程,算法的最终性能依赖于设置参数的初始值;而CG-MC1bit-Net算法受益于神经网络内部权重更新,能够快速自动地更新模型参数,因此CG-MC1bit-Net算法收敛更快。
需要指出的是,CG-MC1bit-Net前向传播中的每一层的运算量比CG-MC1bit算法的1次迭代的运算量要少,这是由于将 \alpha 设置成神经网络中的一个训练参数,通过神经网络自动进行更新,从而减少不必要的计算。此外,将CG-MC1bit算法展开为神经网络后,可以加快收敛速度,大大减少所需的迭代次数,降低了整个算法的计算量。
表1是算法在运行一次蒙特卡罗迭代所需的时间,通过运行时间来测试算法的计算复杂度,采用3.60 GHz的双核CPU进行测试,表中的时间为平均运行时间,分别测试了发射天线数为128根和512根的情况,初始参数设置与上述相同,可以观察到,CG-MC1bit-Net运行一次蒙特卡罗迭代所需的时间更短,结果表明,本文提出的算法能够在大大降低计算复杂度的情况下取得与CG-MC1bit算法相近的性能。
表 1 运行速度对比预编码算法 天线数128 天线数512 CG-MC1bit-Net 0.429 s 2.127 s CG-MC1bitx 3.47 s 10.33 s 在网络训练过程中,不同学习率下的CG-MC1bit-Net算法的收敛速度随着训练数据批次数的变化如图4所示。其中,SNR以及初始参数的设置均与上述相同,每4组数据为一个批次,神经网络层数设置为6。可以看出,不同学习率下算法的SER性能随着训练批次的增加而逐渐下降,当学习率设置偏高时,可能导致模型参数在更新过程中跳过最优解,使模型在最优解附近波动,进而在图中呈现出误码率的交叉。相对地,当学习率较小时,优化算法可能需要更多迭代次数才能达到最优解,导致训练过程变得缓慢,同时还可能导致算法陷入局部最优解,进而增加误码率,并加大训练成本。因此,设定合适的学习率能够使模型更稳定、更快速地收敛,并获得更好的SER性能。
值得强调的是虽然对于CG-MC1bit仿真所得的数据集,CG-MC1bit-Net只需6层固定长度的神经网络就接近了CG-MC1bit算法的性能,但是对于不同的数据集,CG-MC1bit-Net需要的神经网络层数并不一定相同。尽管如此,CG-MC1bit-Net 算法的收敛性仍快于CG-MC1bit算法。
为了衡量算法的训练效果,在图5展示了损失函数 {\text{los}}{{\text{s}}_{{\text{MSE}}}} 的最小化过程,SNR以及初始参数的设置均与上述相同,学习率设置为0.10。图中显示了随着训练损失函数逐步降低的趋势,证明了所提出的CG-MC1bit-Net算法在训练过程中不断优化。
4.2 SER性能
下面从接收端误码率的角度给出了在基站采用不同预编码算法时的解调性能。能够直观地展示不同算法对性能的改善。
采用发射天线数 {N_{\text{a}}} = {\text{128}} ,用户数M = {\text{8}},载波数L = {\text{1024}}的数据集进行性能分析,学习率 \eta = {\text{0}}{\text{.1}} ,其他初始参数设置与上述相同。假设基站与所有用户之间的距离相近,即不同用户的信道具有相似的路径损耗。对QPSK调制信号和16QAM调制信号进行仿真,结果如图6所示。可以观察到,线性预编码WF-1bit性能最差,随着SNR的增大,SER并没有明显改善,这反映了线性预编码无法弥补1比特DAC造成的损失。与线性预编码方法相比,非线性预编码方法的SER随SNR的增大而减小,这一趋势与WF-inf相一致,表明非线性预编码在高SNR的情况下也能补偿1比特量化损失。
由于实验中的神经网络是以CG-MC1bit算法的仿真数据为样本来进行训练的,性能可能会比较接近原本算法。其中图6(a)采用QPSK调制, 图6(b)采用16QAM调制。图6(a)中,CG-MC1bit-Net算法表现出比QCESLP和SQUID更好的SER性能,并且与CG-MC1bit算法的性能十分相近,几种算法的SER最终都能收敛到{\text{1}}{{\text{0}}^{{{-5}}}}的水平。图6(b)中CG-MC1bit-Net算法的性能在高信噪比情况下略逊于CG-MC1bit算法,但比 SQUID性能更好,与QCESLP表现相近。值得注意的是,CG-MC1bit算法的计算复杂度与SQUID算法相近并且低于QCESLP算法,因此,根据表1的数据可知,相同设备的条件下,CG-MC1bit-Net运行一个蒙特卡罗迭代的速度更快,即CG-MC1bit-Net以最低的计算复杂度获得了具有竞争力的性能。
另外,本文研究了发射天线数对SER性能的影响,令天线数 {N_{\text{a}}} = {\text{512}} ,用户设备数和载波数与上述设置相同。此时信道矩阵 {{\boldsymbol{H}}} 和传输信号 {{\boldsymbol{S}}} 的维度分别为 {\text{8}} \times {\text{512}} \times {\text{1024}} 和 {\text{512}} \times {\text{1}} \times {\text{1024}} 。图7是天线数 {N_{\text{a}}} = {\text{512}} 时各算法的SER性能对比。在图7(a)中,CG-MC1bit-Net算法的性能十分接近CG-MC1bit,并且在某些SNR的情况下性能更优,明显好于QCESLP和SQUID算法的性能,在图7(b)中,CG-MC 1bit-Net算法的性能比图6(b)中表现得更好,优于其他两个对比算法,与CG-MC1bit性能比较接近。结果表明在基站处使用更多天线的系统在不同调制方案下的性能都会表现得更好。
本文还对于用户数量对SER性能的影响进行了研究。在此实验中,保持发射天线数、载波数不变,即 {N_{\text{a}}} = {\text{128}} ,L = {\text{1024}},选用QPSK调制方法,仅改变用户数量,探究用户数对系统性能的影响。图8展示了用户数M = {\text{4}}及M = {\text{8}}时算法的SER性能对比情况,在不同的用户数下,提出的算法CG-MC1bit-Net均能展现出优秀的SER性能,和原CG-MC1bit算法的SER性能十分接近,并好于QCESLP和SQUID算法的性能,特别是在用户数较大的情况下。这表明提出的算法具有鲁棒性,在不同用户数量场景下都能保持稳定的性能。
由上述对比可以看出,CG-MC1bit-Net算法计算复杂度最低,相同蒙特卡罗迭代的情况下运行时间更短,并且能够取得比QCESLP, SQUID算法更好的SER性能,当改变天线数、用户数量以及调制方式时,CG-MC1bit-Net算法都表现出了优秀的性能,特别是在天线数较大时,对QPSK,16QAM调制都表现较好,十分接近CG-MC1bit算法的性能,并且在部分SNR下的SER性能会表现得更好。
5. 结束语
本文针对现有MIMO OFDM下行系统的1比特预编码算法计算量大的问题以及无法在实时系统中运用的问题,提出了一种基于深度学习的预编码算法,并在数据集上对算法进行了评估和仿真。结果表明该算法能够自动更新模型参数,克服了现有优化算法对初始参数敏感以及收敛速度慢的问题,能够将优化问题变为离线的神经网络进行训练,在线使用时收敛速度更快,计算复杂度更低,并获得了优秀的SER性能,在运行一个蒙特卡罗迭代的平均时间降低至CG-MC1bit算法的20%左右,并且当天线数量、用户数量增加时,CG-MC1bit-Net算法能够获得更加优越的性能。
-
1 CG-MC1bit-Net算法
已知:传输信号矩阵 {{\boldsymbol{S}}} ,信道矩阵 {{\boldsymbol{H}}} ,神经网络层数 K 1) 初始化 {\boldsymbol{X}}^{\text{0}}={{\bf{1}}},\;{\boldsymbol{R}}^{\text{0}}\text{=}{{\bf{1}}},\;{\boldsymbol{V}}^{\text{0}}={{ {\textit{0}}}},\;\alpha =\text{0}\text{.1} 2) for 数据集中的每个样本 do 3) 初始化k = {\text{0}} 4) while k < K do 5) {\tilde {\boldsymbol{H}}} = {\alpha ^k}{{\boldsymbol{H}}} 6) 初始化l = {\text{0}} 7) for l < L do 8) 根据式(4)更新 {{{\boldsymbol{x}}}^{k + 1}}[l] , l = l + {\text{1}} 9) end for 10) {{\boldsymbol{R}}}_{\text{T}}^{k + 1} = \eta \tanh \left[ {\delta \dfrac{1}{L}\left( {{{{\boldsymbol{X}}}^{k + 1}} + \dfrac{1}{\lambda }{{{\boldsymbol{V}}}^k}} \right){{\boldsymbol{F}}}_L^{\text{H}}} \right] 11) {{{\boldsymbol{R}}}^{k + 1}} = {{\boldsymbol{R}}}_{\text{T}}^{k + 1}{{{\boldsymbol{F}}}_L} 12) {{{\boldsymbol{V}}}^{k + 1}} = {{{\boldsymbol{V}}}^k} + \lambda \left( {{{\boldsymbol{X}}}_{\text{T}}^{k + 1} - {{{\boldsymbol{R}}}^{k + 1}}} \right) 13) k = k + {\text{1}} 14) end while 15) 输出 {{\boldsymbol{R}}}_{\text{T}}^K ,并根据式(11)计算损失函数 {\text{los}}{{\text{s}}_{{\text{MSE}}}} 16) 执行会话 17) for 隐藏层或输出层的每个神经元 do 18) 更新网络中的每一个权值和偏差 19) end for 20) end for 表 1 运行速度对比
预编码算法 天线数128 天线数512 CG-MC1bit-Net 0.429 s 2.127 s CG-MC1bitx 3.47 s 10.33 s -
[1] BJÖRNSON E, SANGUINETTI L, HOYDIS J, et al. Optimal design of energy-efficient multi-user MIMO systems: Is massive MIMO the answer?[J]. IEEE Transactions on Wireless Communications, 2015, 14(6): 3059–3075. doi: 10.1109/TWC.2015.2400437. [2] LU Lu, LI G Y, SWINDLEHURST A L, et al. An overview of massive MIMO: Benefits and challenges[J]. IEEE Journal of Selected Topics in Signal Processing, 2014, 8(5): 742–758. doi: 10.1109/jstsp.2014.2317671. [3] RUSEK F, PERSSON D, LAU B K, et al. Scaling up MIMO: Opportunities and challenges with very large arrays[J]. IEEE Signal Processing Magazine, 2013, 30(1): 40–60. doi: 10.1109/msp.2011.2178495. [4] SAXENA A K, FIJALKOW I, MEZGHANI A, et al. Analysis of one-bit quantized ZF precoding for the multiuser massive MIMO downlink[C]. 2016 50th Asilomar Conference on Signals, Systems and Computers, Pacific Grove, USA, 2016: 758–762. doi: 10.1109/ACSSC.2016.7869148. [5] SWINDLEHURST A L, SAXENA K A, MEZGHANI A, et al. Minimum probability-of-error perturbation precoding for the one-bit massive MIMO downlink[C]. 2017 IEEE International Conference on Acoustics, Speech and Signal Processing, New Orleans, USA, 2017: 6483–6487. doi: 10.1109/ICASSP.2017.7953405. [6] CHU Lei, WEN Fei, LI L, et al. Efficient nonlinear precoding for massive MIMO downlink systems with 1-bit DACs[J]. IEEE Transactions on Wireless Communications, 2019, 18(9): 4213–4224. doi: 10.1109/TWC.2019.2920125. [7] CHEN Zhenhui, WANG Yajun, LIAN Zhuxian, et al. Low-complexity constant envelope precoding with one-bit DAC for massive MU-MIMO systems[J]. IEEE Wireless Communications Letters, 2021, 10(12): 2805–2809. doi: 10.1109/LWC.2021.3118202. [8] HAQIQATNEJAD A, KAYHAN F, SHAHBAZPANAHI S, et al. Finite-alphabet symbol-level multiuser precoding for massive MU-MIMO downlink[J]. IEEE Transactions on Signal Processing, 2021, 69: 5595–5610. doi: 10.1109/TSP.2021.3113803. [9] JACOBSSON S, CASTAÑEDA O, JEON C, et al. Nonlinear precoding for phase-quantized constant-envelope massive MU-MIMO-OFDM[C]. 2018 25th International Conference on Telecommunications (ICT), Saint-Malo, France, 2018: 367–372. doi: 10.1109/ICT.2018.8464896. [10] TSINOS C G, DOMOUCHTSIDIS S, CHATZINOTAS S, et al. Symbol level precoding with low resolution DACs for constant envelope OFDM MU-MIMO systems[J]. IEEE Access, 2020, 8: 12856–12866. doi: 10.1109/ACCESS.2019.2963857. [11] WEN Liyuan, QIAN Hua, HU Yunbo, et al. One-bit Downlink precoding for massive MIMO OFDM system[J]. IEEE Transactions on Wireless Communications, 2023, 22(9): 5914–5926. doi: 10.1109/TWC.2023.3238380. [12] ZHANG Shangwei, LIU Jiajia, RODRIGUES T K, et al. Deep learning techniques for advancing 6G communications in the physical layer[J]. IEEE Wireless Communications, 2021, 28(5): 141–147. doi: 10.1109/MWC.001.2000516. [13] LIU Zhenyu, DEL ROSARIO M, and DING Zhi. A Markovian model-driven deep learning framework for massive MIMO CSI feedback[J]. IEEE Transactions on Wireless Communications, 2022, 21(2): 1214–1228. doi: 10.1109/TWC.2021.3103120. [14] ZHANG Xinliang and VAEZI Mojtaba. Multi-objective DNN-based precoder for MIMO communications[J]. IEEE Transactions on Communications, 2021, 69(7): 4476–4488. doi: 10.1109/TCOMM.2021.3071536. [15] HE Hengtao, ZHANG Mengjiao, JIN Shi, et al. Model-driven deep learning for massive MU-MIMO with finite-alphabet precoding[J]. IEEE Communications Letters, 2020, 24(10): 2216–2220. doi: 10.1109/LCOMM.2020.3002082. [16] BALATSOUKAS-STIMMING A, CASTAÑEDA O, JACOBSSON S, et al. Neural-network optimized 1-bit precoding for massive MU-MIMO[C]. 2019 IEEE 20th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Cannes, France, 2019: 1–5. doi: 10.1109/SPAWC.2019.8815519. [17] HU Qiyu, CAI Yunlong, SHI Qingjiang, et al. Iterative algorithm induced deep-unfolding neural networks: Precoding design for multiuser MIMO systems[J]. IEEE Transactions on Wireless Communications, 2021, 20(2): 1394–1410. doi: 10.1109/TWC.2020.3033334. [18] 蒋伊琳, 尹子茹, 宋宇. 基于卷积神经网络的低截获概率雷达信号检测算法[J]. 电子与信息学报, 2022, 44(2): 718–725. doi: 10.11999/JEIT210132.JIANG Yilin, YIN Ziru, and SONG Yu. Low probability of intercept radar signal detection algorithm based on convolutional neural networks[J]. Journal of Electronics & Information Technology, 2022, 44(2): 718–725. doi: 10.11999/JEIT210132. [19] ZHANG Kai, VAN GOOL L, and TIMOFTE R. Deep unfolding network for image super-resolution[C]. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020: 3214–3223. doi: 10.1109/CVPR42600.2020.00328. [20] SAMUEL N, DISKIN T, and WIESEL A. Deep MIMO detection[C]. 2017 IEEE 18th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Sapporo, Japan, 2017: 1–5. doi: 10.1109/SPAWC.2017.8227772. [21] HUBARA I, COURBARIAUX M, SOUDRY D, et al. Binarized neural networks[C]. Proceedings of the 30th International Conference on Neural Information Processing Systems. Red Hook, USA, 2016: 4114–4122. [22] QIN Haotong, GONG Ruihao, LIU Xianglong, et al. Forward and backward information retention for accurate binary neural networks[C]. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, USA, 2020: 2247–2256. doi: 10.1109/CVPR42600.2020.00232. -