CN110741553B - 用于前向纠错解码的神经网络 - Google Patents

用于前向纠错解码的神经网络 Download PDF

Info

Publication number
CN110741553B
CN110741553B CN201880041413.0A CN201880041413A CN110741553B CN 110741553 B CN110741553 B CN 110741553B CN 201880041413 A CN201880041413 A CN 201880041413A CN 110741553 B CN110741553 B CN 110741553B
Authority
CN
China
Prior art keywords
codeword
representation
intermediate output
layer
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880041413.0A
Other languages
English (en)
Other versions
CN110741553A (zh
Inventor
N.阿拉瓦尔
H.图尔贝里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN110741553A publication Critical patent/CN110741553A/zh
Application granted granted Critical
Publication of CN110741553B publication Critical patent/CN110741553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6597Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Error Detection And Correction (AREA)

Abstract

公开了用于训练神经网络以恢复码字以及用于使用神经网络对接收信号进行解码的方法(100、200、300、400)和装置(500、900、1000)。根据所公开的方法的示例,在训练、测试和在线阶段(123、223、323、423)期间,在神经网络的偶数层处引入校正子校验,其中神经网络是深度神经网络解码器,其通过给Tanner图的边指配权重来推广和积解码算法。在训练期间,在满足校正子校验的偶数层处在优化之后,停止神经网络的可训练参数(即,权重)的优化(132、232)。用于训练神经网络的方法的示例可以经由所提出的损失函数(235)来实现。在测试和在线阶段期间,在满足校正子校验的层处停止通过神经网络的传播(325、425)。

Description

用于前向纠错解码的神经网络
技术领域
本公开涉及用于训练神经网络以恢复码字的方法,并且涉及用于使用神经网络对接收信号进行解码的方法。本公开还涉及用于训练神经网络以恢复码字的控制器、用于使用神经网络对接收信号进行解码的控制器、以及用于实施用于训练神经网络和用于对接收信号进行解码的方法的计算机程序。
背景技术
通常,除非明确给出不同的含义和/或从其中使用它的上下文中暗示不同的含义,否则本文使用的所有术语要根据它们在相关技术领域中的普通含义来解释。除非另有明确说明,否则对一/一个/该元件、装置、组件、部件、步骤等的所有引用要开放地解释为是指该元件、装置、组件、部件、步骤等的至少一个实例。本文公开的任何方法的步骤不必以公开的确切顺序执行,除非步骤明确地描述为在另一步骤之后或之前和/或其中隐含步骤必须在另一步骤之后或之前。在适当的情况下,本文所公开的任何实施例的任何特征可应用于任何其它实施例。同样,任何实施例的任何优点可应用于任何其它实施例,且反之亦然。从以下描述中,所附实施例的其它目的、特征和优点将是显而易见的。
深度神经网络可以用于诸如线性分组码(block code)之类的码的解码。用于训练对线性分组码进行解码的神经网络的现有方法的示例在下面的文献中陈述:EliyaNachmani、Yair Be'ery、以及David Burshttein的“Learning to Decode Linear CodesUsing Deep Learning”(2016),以及在Eliya Nachmani、Elad Marciano、DavidBurshtein、Yair Be'ery的“RNN Decoding of Linear Block Codes”(2017)。这些现有的方法实现了如F.R.Kschischang、B.J.Frey和H.A.Loeliger的“Factor graphs and thesum-product algorithm”(2001)中所讨论的基于因子图的和积算法(SPA)。对于具有小到中等长度(例如,~10或~100比特)的某些系列的码,诸如Bose-Chaudhuri-Hocquenghem(BCH)或极性码,由于代码图中存在许多圈(cycle)和陷阱(trapping)集,因此SPA的性能差。神经网络解码器(NND)对于这样的代码比SPA执行得更好。NND学习以通过对经过图的边(其形成圈)的消息应用互补权重来减少诸如图结构中的圈或陷阱集之类的伪像的影响。通过训练过程学习权重。诸如输入/目标变量、损失函数、正则化(regularization)和优化器之类的训练参数影响测试和使用期间的网络的性能。在现有方法中,使用“交叉熵损失/多重损失函数”来执行训练。
当前存在某些挑战,包括但不限于以下:
1. 现有的方法提出了导致误比特率(BER)降低的训练参数,但是没有提供任何用于降低误块率(BLER)的明确方法。通常,为了成功解码,需要对整个块正确解码。
2. 在现有方法中使用的神经网络是针对整个展开图进行端到端训练的。这种用于训练和测试的方法可能导致额外的计算和性能降级。
发明内容
本公开的某些方面及其实施例可以提供对这些或其他挑战的解决方案。根据某些实施例,公开了用于训练网络的新的损失度量(或损失函数)。所提出的损失度量训练网络以减少BLER而不是BER。所提出的损失度量还可以导致训练和测试过程两者中的更快的训练和更少的计算。损失度量的示例在神经网络(NN)的每个偶数层执行校正子校验,并且优化NN以仅针对不满足校正子校验的那些层减少损失。这样,当完整的块被正确解码时,NN不会被惩罚。
根据某些实施例,还公开了一种新颖的损失度量来使用SPA训练被设计用于解码的神经网络算法。与诸如上面提到的现有技术中描述的标准损失度量相比,该度量被设计成提高完整码字块的解码成功,即,减少BLER。
根据某些实施例,本文所提出的解决方案也可用于正确码字的早期检测,且因此用于解码的早期终止,这导致计算负荷减少。
本文提出了解决本文公开的一个或多个问题的各种实施例。本文提出的解决方案可以体现在任何无线电接收器,包括例如eNB、UE或云实现,特别是用于短消息通信。
根据本公开的第一方面,提供了一种用于训练神经网络NN以从接收信号中恢复前向纠错FEC码的码字的方法,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中接收信号包括传送码字和加性噪声。该方法包括:将从接收的有噪信号(noisy signal)获得的消息比特的表示输入到NN的输入层;通过NN传播所述表示;以及优化NN的可训练参数以使损失函数最小化。通过NN来传播所述表示包括在NN的偶数层:生成中间输出表示;从所述中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子(syndrome)校验。优化NN的可训练参数以使损失函数最小化包括:如果满足校正子校验,则在满足校正子校验的层处在优化之后停止可训练参数的优化。
根据本公开的示例,生成中间输出表示、生成中间输出码字以及执行校正子校验的步骤可在NN的每个偶数层处执行。根据本公开的示例,加性噪声可以是加性高斯白噪声,其可以被人工添加以模仿无线通信信道。
根据本发明的实例,对生成的中间输出码字执行校正子校验可包括:校验所生成的中间输出码字是否满足码字是训练码字所属的码本的成员的条件。根据本公开的示例,执行校正子校验可包括:将所生成的中间输出码字的向量乘以用于训练码字所属的码的奇偶校验矩阵,并校验所得向量是否为零向量(null vector)。如果所得向量是零向量,则满足校正子校验。
根据本公开的示例,优化NN的可训练参数以使损失函数最小化可以包括使基于至少一个中间输出表示计算的损失函数最小化,该至少一个中间输出表示选自包括多个层处可用的中间输出表示的集合,所述多个层直至并包括满足校正子校验的层。
根据本公开的示例,用于使损失函数最小化的示例优化方法可以包括随机梯度下降法。
根据本公开的示例,损失函数可以是基于满足校正子校验的层处的中间输出表示而计算的交叉熵损失函数。
根据本公开的示例,损失函数可以包括:
其中:N是传送码字中的比特数,
I{f}是指示符函数,
H是传送码字所属的码的奇偶校验矩阵,
o(i,v)是NN在网络的第i层处的对应于传送码字中的第v个比特的输出表示,
是第i层处的中间输出码字的向量,以及
tv是传送码字的第v个比特的目标值。
根据本公开的示例,损失函数可以是基于多个层处的所有中间输出表示而计算的交叉熵多重损失函数,所述多个层直至并且包括满足校正子校验的所述层。
根据本公开的示例,损失函数可包括:
其中:N是传送码字中的比特数,
o(i,v)是NN在网络的第i层处的对应于传送码字中的第v个比特的输出表示,
tv是传送码字的第v个比特的目标值,
2L是NN中的隐藏层的数量,以及
如果在偶数层k:0<k<2L处满足校正子校验,则2M = k,否则2M =2L。
根据本公开的示例,从输入到NN的输入层的接收的有噪信号获得的消息比特的表示可包括从接收的有噪信号获得的各个消息比特的对数似然比LLR的阵列。
根据本公开的示例,训练码字可包括二进制线性分组码的码字。
根据本公开的示例,被输入到NN的输入层的从接收的有噪信号获得的消息比特的表示可包括从接收的有噪信号获得的各个消息比特的对数似然比LLR的数组(array)。
根据本公开的示例,NN可包括神经网络解码器NND。
根据本公开的示例,该方法还可包括使用最优SNR范围来训练NN以实现所考虑的码和通信信道的最优性能。
根据本公开的另一方面,提供了一种用于使用神经网络NN对接收信号进行解码的方法,其中NN的层实现和积算法SPA的顺序迭代,并且其中接收信号包括前向纠错FEC码的传送码字和加性噪声。该方法包括:将从接收的有噪信号获得的消息比特的表示输入到NN的输入层;通过NN传播表示;以及从NN输出恢复后的码字。通过NN传播接收信号包括:在NN的偶数层:生成中间输出表示;从中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子校验。通过NN传播接收信号还包括:如果满足校正子校验,则:在满足校正子校验的层处停止通过NN传播所述表示,并且将满足校正子校验的所述中间输出码字标识为恢复后的码字以便从NN输出。
根据本公开的示例,对生成的中间输出码字执行校正子校验可包括:校验所生成的中间输出码字是否满足码字是传送码字所属的码本的成员的条件。根据本公开的示例,执行校正子校验可包括将所生成的中间输出码字的向量乘以用于训练码字所属的码的奇偶校验矩阵,并校验所得向量是否为零向量。如果所得向量是零向量,则满足校正子校验。
根据本公开的示例,传送码字可以包括二进制线性分组码的码字。
根据本公开的示例,被输入到NN的输入层的从接收的有噪信号获得的消息比特的所述表示可包括从接收的有噪信号获得的各个消息比特的对数似然比LLR的数组。
根据本公开的示例,NN可包括神经网络解码器NND。
根据本公开的示例,传送码字可包括在NN的测试阶段期间接收的测试码字和/或在NN的在线阶段期间接收的码字中的至少一个。
根据本公开的另一方面,提供了一种包括指令的计算机程序,所述指令当在至少一个处理器上执行时,使得至少一个处理器实施根据本公开的前述方面或示例中的任一个的方法。
根据本公开的另一方面,提供了一种包含根据本公开的前述方面的计算机程序的载体,其中所述载体包括电子信号、光信号、无线电信号或计算机可读存储介质之一。
根据本公开的另一方面,提供了一种计算机程序产品,包括非暂时性计算机可读介质,其上存储有根据本公开的前述方面的计算机程序。
根据本公开的另一方面,提供了一种用于训练神经网络NN以从接收信号中恢复前向纠错FEC码的码字的控制器,其中NN的层实现和积算法SPA的顺序迭代,并且其中接收信号包括传送码字和加性噪声。所述控制器包括处理器和存储器,所述存储器包含由所述处理器可执行的指令使得控制器可操作以将从接收的有噪信号获得的消息比特的表示输入到NN的输入层;通过NN传播表示;以及优化NN的可训练参数以使损失函数最小化。通过NN传播表示包括在NN的偶数层:生成中间输出表示;从所述中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子校验。优化NN的可训练参数以使损失函数最小化包括:如果满足校正子校验,则在满足校正子校验的层处在优化之后停止可训练参数的优化。
根据本公开的示例,控制器还可以可操作以实施根据本公开的前述方面或示例中的任一个的方法。
根据本公开的另一个方面,提供了一种用于训练神经网络NN以从接收信号中恢复前向纠错FEC码的码字的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括传送码字和加性噪声。所述控制器适合于将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;通过所述NN传播所述表示;以及优化NN的可训练参数以使损失函数最小化。通过NN传播表示包括在NN的偶数层:生成中间输出表示;从所述中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子校验。优化NN的可训练参数以使损失函数最小化包括:如果满足校正子校验,则在满足校正子校验的层处在优化之后停止可训练参数的优化。
根据本公开的示例,控制器可以进一步适合于执行根据本公开的前述方面或示例中的任一个的方法。
根据本公开的另一方面,提供了一种用于使用神经网络NN对接收信号进行解码的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括前向纠错FEC码的传送码字和加性噪声。所述控制器包括处理器和存储器,所述存储器包含由所述处理器可执行的指令使得所述控制器可操作以:将从所接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;通过NN传播所述表示;以及从NN输出恢复后的码字。通过NN传播表示包括在NN的偶数层:生成中间输出表示;从所述中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子校验。通过NN传播所述表示还包括,如果满足校正子校验,则:在满足所述校正子校验的层处停止所述表示通过所述NN的传播,并且将满足所述校正子校验的中间输出码字标识为所述恢复后的码字以便从所述NN输出。
根据本公开的示例,控制器还可操作以执行根据本公开的前述方面或示例中的任一个的方法。
根据本公开的另一方面,提供了一种用于使用神经网络NN对接收信号进行解码的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括前向纠错FEC码的传送码字和加性噪声。控制器适合于:将从所接收的有噪信号获得的消息比特的表示输入到NN的输入层;通过NN传播所述表示;以及从NN输出恢复后的码字。通过NN传播表示包括在NN的偶数层:生成中间输出表示;从所述中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子校验。通过NN传播接收信号还包括如果满足校正子校验,则:在满足校正子校验的层处停止所述表示通过所述NN的传播,并且将满足校正子校验的所述中间输出码字标识为用于从NN输出的恢复后的码字。
根据本公开的示例,控制器还可操作以执行根据本公开的前述方面或示例中的任一个的方法。
根据本公开的示例,控制器可以包括虚拟化网络功能。
根据本公开的另一方面,提供了一种基站,包括根据本公开的前述方面或示例中的任一个的控制器。
根据本公开的另一方面,提供了一种无线装置,包括根据本公开的前述方面或示例中的任一个的控制器。
根据本公开的另一方面,提供了一种包括多个网络节点的系统,所述多个网络节点被配置成:接收包括前向纠错FEC码的传送码字和加性噪声的信号;向神经网络NN的输入层输入从接收的有噪信号获得的消息比特的表示,其中所述NN的层实现和积算法SPA的顺序迭代;通过NN传播所述表示;以及从NN输出恢复后的码字。通过NN传播表示包括在NN的偶数层:生成中间输出表示;从所述中间输出表示生成中间输出码字;以及对所生成的中间输出码字执行校正子校验。通过NN传播所述表示还包括,如果满足校正子校验,则:在满足所述校正子校验的层处停止所述表示通过所述NN的传播,以及将满足所述校正子校验的所述中间输出码字标识为恢复后的码字以便从NN输出。
根据本公开的示例,该系统可包括基站节点和处理节点,并且其中基站节点被配置成接收信号,并且处理节点被配置成通过NN传播表示并从NN输出恢复后的码字。
根据本公开的示例,处理节点可以是云中的虚拟节点,并且基站可以将接收信号转发到处理节点以便解码,其中处理节点将恢复后的码字转发回到基站或另一节点。
某些实施例可以提供一个或多个以下技术优点。所提出的解决方案的示例通过在解码失败的情况下引入惩罚来提供针对减少BLER的学习的鲁棒性。所提出的解决方案的示例还通过推动网络提早学习正确的权重来改进训练过程。在测试阶段,网络可以在每次迭代时提供校正子值,其可以用作早期停止准则。还可以提供其他技术优点,并且某些实施例可以提供上面列出的优点中的一些、所有优点、或不提供上面列出的优点。
附图说明
为了更好地理解本发明,并且为了更清楚地示出如何实现本发明,现在将通过示例的方式参考以下附图,其中:
图1示出了通信系统模型;
图2示出汉明(7,4)码的奇偶校验矩阵和奇偶校验矩阵的Tanner图;
图3示出了图2的汉明(7,4)码的SPA-NND架构;
图4是示出根据本公开的示例用于训练神经网络的方法中的过程步骤的流程图;
图5是示出根据本公开的示例用于训练神经网络的方法的另一示例中的过程步骤的流程图;
图6是示出根据本公开的示例用于使用神经网络进行解码的方法中的过程步骤的流程图;
图7是示出根据本公开的示例用于使用神经网络进行解码的方法的另一示例中的过程步骤的流程图;
图8是比较极化[32,16]码的不同损失函数的误块率(BLER)的曲线图;
图9是示出根据本公开的示例的控制器中的功能单元的框图;
图10是示出根据本公开的示例的控制器的另一示例中的功能单元的框图;
图11是示出根据本公开的示例的控制器的另一示例中的功能单元的框图;
图12是示出根据本公开的示例的系统中的节点的框图;
图13是示出用于训练的不同SNR值的比较的曲线图;
图14是示出对不同网络参数的性能分析的曲线图;
图15是示出对于不同网络参数,每训练时期的损失的演变的图;
图16至20示出针对不同码的边上的习得权重分布;
图21至图27示出根据本公开的示例针对不同码获得的结果;
图28是示出无线网络的示意性框图;
图29是示出UE的示意性框图;
图30是示出虚拟化环境的示意性框图;
图31是示出经由中间网络连接到主机计算机的电信网络的示意性框图;
图32是示出了主机计算机通过部分无线连接经由基站与用户设备进行通信的示意性框图;
图33至36是示出通信系统中实现的方法的流程图;
图37是函数的因子图;
图38是图37的函数的二分图表示;
图39是函数的因子图;
图40示出了没有循环的Tanner图上的SPA;
图41示出了Tanner图上的SPA;
图42示出系统模型;
图43是解码器和相位估计器的因子图;
图44是恒定相位模型的因子图;
图45是随机游走相位模型的因子图;
图46示出因子图的消息更新调度;
图47示出使用循环神经网络的实现。
具体实施方式
现在将参照附图更全面地描述本文所设想的一些实施例。然而,其它实施例包含在本文所公开的主题的范围内,所公开的主题不应被解释为仅限于本文所阐述的实施例;相反,这些实施例是通过示例的方式提供的,以向本领域技术人员传达本主题的范围。
本文提出的解决方案可以体现在任何无线电接收器,包括例如eNB、UE或云实现。更具体地说,所提出的解决方案适用于任何通信信道和任何纠错码,虽然给出了加性高斯白噪声(AWGN)信道以及汉明码和极性码的示例。
下面描述示例通信系统和神经网络解码算法,接着描述根据实验设置训练示例神经网络解码器。然后,下面讨论根据本公开的示例的训练神经网络和使用神经网络进行解码的方法。然后提供实验结果的讨论。线性分组码、解码、和积算法和神经网络上的SPA的进一步讨论包括在详细描述结束时的附加信息部分中。
系统模型和算法描述
通信系统
本文描述的通信模型基于二进制加性高斯白噪声(BI-AWGN)信道和二进制相移键控(BPSK)调制。编码率被定义为R,码字和源长度分别被定义为(n,k),其中n>k。二进制消息m = [ m1,...,mk ]:mi∈{0,1}被编码为二进制码字s = [ s1,...,sn ]:si∈{0,1},并且BPSK调制为信号x = [(-1)s]:xi∈{ -1,1}。信道的噪声被给定为以分贝(dB)为单位的信噪比(SNR)。BPSK调制的AWGN信道中的高斯噪声的标准差(σ)通过以下公式获得。
解调之后接收比特的对数似然比(LLR)由下式给出:
其中xiyi分别是传送和接收信号x和y的第i个比特。因此,接收位的LLR提供了接收位为0而不是1的可能性,为了方便起见,在下面的讨论中,LLR(yi)被写为l i
如图1所示,信道将AWGN添加到传送信号。解码器使用线性分组码的结构来恢复错误接收的信息。
解码器设计
下文讨论用于通过解码过程恢复比特的方法。
代码的Tanner图表示
解码器将LLR值作为输入,并且返回关于已校正比特的判决。解码遵循著名的置信传播(Belief Propogation,BP)算法。通过在码的称为Tanner图的图表示的边上传递消息来更新消息(或置信度)。Tanner图是码的奇偶校验矩阵H的二分图,其中奇偶校验矩阵的列是变量节点v,并且行是图中的校验节点c。当在H中的(i,j)位置处存在1而不是0时,边将变量节点vj连接到校验节点ci。任何线性分组码可以表示为Tanner图。
例如,考虑具有奇偶校验矩阵H的[7,4]汉明码,如下所示并在图2的上部分示出。
该矩阵所给出的Tanner图在图2的下半部分示出,Tanner图的边可以从1到12编号,对应于按行计数的奇偶校验矩阵中的那些1。边{1,5;2,7}在变量节点{v0v2}和校验节点{c0c1}之间形成圈,并且边{1,5;6,9;2,7,10}在变量节点{v0、v1、v2}和校验节点{c0、 c1、c2}之间形成陷阱集。
和积算法(SPA)
解码器使用称为SPA的软迭代解码技术。SPA对和积半环进行操作以便迭代解码,这导致逐位最大后验概率(MAP)解码。消息在由Tanner图表示的因子图上传递,以更新似然比。通常,方法利用了这样的事实,即:在任何特定校验节点处,来自所有连接节点的比特值(0或1)之和(在GF(2)字段中)必须是0模2。即:
其中表示GF(2)字段上的二进制和,D g 是连接到c g 校验节点的所有变量节点的集合。
任何变量节点的LLR值都相信该节点是0而不是1。
考虑连接到校验节点c g 的变量节点v k ,令D g 表示连接到校验节点c g 的所有变量节点的集合。使用校验节点c g (等式1.4),我们可以找到P e (vk = 0,c g |li)∀ i∈(D g \v k )。(符号iD g \v k 表示i属于除v k 之外的集合D g 。)P e v k c G )被称为变量节点v k 的非本征(extrinsic)概率,该概率由在校验节点c g 处执行的校验给出。为了简化符号,在以下讨论中,v k c g 分别表示为kg。以具有3个伴随(incident)变量节点的校验节点为例(v 1 v 2 v 3 ):
通过归纳法可以证明,对于任何集合D g ,非本征信息E(kg)= P e (kg)由下式给出:
其中P e (kg)和P(ktg)分别是变量(比特)节点kk'为零的概率,E(kg)是从校验节点g传递到变量节点k的非本征信息(LLR)。
转换成LLR而不是概率,并使用该关系,
我们从1.7得到:
其中M(k',g)是由变量节点kt传递到校验节点g的信息(LLR),而没有已经存在于校验节点g处的信息E(ktg)。也就是说:
其中B k 是连接到变量节点k的所有校验节点的集合,l k' 是变量节点k'处的初始LLR值。
SPA算法
下面是SPA算法的一个例子:
初始化:
设置M(kg)= l k ∀ k,g
步骤1:
使用当前的LLR值校验奇偶校验是否满足硬判决。硬判决向量由下式给出:
校正子校验向量S由下式给出:
*校验⇒如果S = 0,则返回码字,该码字由解码器输出。否则,继续下一步骤。
步骤2:
将边上的信息从变量节点k传递到校验节点g
LLR值被传递到校验节点,其中如果对应的变量节点是0或1,我们则找到满足校验的概率。
按照等式1.9计算E(kg)。
步骤3:
更新变量节点
将非本征信息传递回到变量节点,并且将变量节点的LLR更新为:
其中B k 是连接到k个变量节点的所有校验节点的集合。在步骤2中由变量节点传递到校验节点的信息不包含在校验节点处已经可用的非本征信息。M(kg)的值使用等式1.10来更新。
循环:
移至步骤1
圈和陷阱集
SPA对于具有Tanner图的码工作得最优,Tanner图被表示为因子图时形成。在树结构因子图中,变量关系可以被精确地分解,因此通过联合概率的边缘化(marginalization)的迭代消息传递来产生最优解。然而,由无圈的图形表示的代码具有低的最小距离,并且因此表现得差。这可以通过以下理论来解释。
引理:码率为r并且Tanner图形成树的二进制线性码C包含汉明权重为2的至少个码字。
证明:C的图包含n个变量节点(对应于每个码字)和(1-r)n个校验节点。树中的节点总数是2n - nr。因此,连接到每个变量节点的边的平均数上限为2-r。每个内部变量节点(不是叶节点的变量节点)具有至少为2的度,由此得出,叶变量节点的数量必须大于nr x + 2(n-x)≤2n-nrxnr)。由于每个叶变量节点仅连接到一个校验节点,因此我们具有至少rn-(1-r)n = (2r-1) n个叶变量节点,叶变量节点连接到具有多个邻近变量节点的校验节点。这(2r-1) n个叶变量节点中的每个具有一对另一个叶变量节点,这对于大于二分之一的码率产生权重为2的码字。即使对于具有小于二分之一的码率的码,基于树结构Tanner图的码也包含低权重码字。
SPA,或更一般的置信传播(BP)算法,容易在较高SNR值下表现出性能上快速下降,定量为误码平层(error-floor)。码的这种特性是由于码或Tanner图的两个主要的伪像(artifact)造成的。一个是码的最小距离,另一个是陷阱集停止集。陷阱集T是变量节点V的子集,使得T的所有邻居,即连接到T的所有校验节点,至少两次连接到T。陷阱集导致SPA不能从其恢复的情况。码字的支持集(其中xi = 1,i∈1,...,n的位置集)是陷阱集。然而,陷阱集并不总是对应于码字的支持集。圈和陷阱集的一个示例在图2中示出。
因此,SPA提供了一种次优的方法来实现图1的解码器。由于在良好线性分组码的图形结构中存在圈,SPA的性能不令人满意。由无圈的图表示的码具有低的最小距离,因此表现得差。已经提出了基于深度神经网络的解决方案来提高SPA对于具有圈的码的性能。下面提供神经网络解码器实现的算法的简要描述。
神经网络解码器
下面的讨论提供了神经网络的工作以及基于SPA的神经网络解码器的工作的简要解释。
基于SPA的神经网络解码器
为了减轻Tanner图中的圈或陷阱集的影响,可以使用神经网络的判别数据驱动方法。基于迭代图的SPA算法是使用神经网络通过将神经网络的隐藏节点定义为tanner图的边来实现的。因此,神经网络中的每个隐藏层对应于从变量节点传递到校验节点(奇数层)或者从校验节点传递到变量节点(偶数层)的消息。消息在边上传递固定次数,其对应于SPA中的最大迭代次数。每个奇数隐藏层使用(1.9)计算非本征信息,并且每个偶数层分别使用(1.13)和(1.10)更新L和M值。根据本公开的示例,可以在偶数层执行校验以验证校正子匹配。
神经网络解码器(NND)以与SPA算法非常相似的方式工作,除了在Tanner图的边而不是节点上执行的操作之外。基本操作可以被分成在网络的奇数和偶数隐藏层的操作。在以下部分中,我们将讨论基于SPA的NND(SPA-NND)算法。SPA算法中使用的符号也在此继续。当使用它们时,将定义额外的符号。
SPA-NND架构
假定:奇偶校验矩阵H的大小为[n - k, n],其中nkI
D g :连接到校验节点g的所有变量节点的集合。
B k :连接到变量节点k的所有校验节点的集合。
E(S 1,S 2):元素S 1S 2之间的边集合。
V(E):连接到E的变量节点的集合
C(E):连接到E的校验节点集合。
层大小:
-输入层大小=变量节点的数量= n
-隐藏(奇数、偶数)层大小= H中的1的数量= n e =
-输出层大小=变量节点的数量= n
定义节点之间的连接的稀疏矩阵
输入到第一隐藏(偶数)层=大小为[ n,ne ]的W i2e
(将变量节点与第一隐藏层中的边节点连接,所述边节点对应于从与所述变量节点相邻的校验节点发出的、除了直接连接所述变量节点和所述校验节点的边之外的那些边。)
-隐藏(偶数)到(奇数)层=大小为[ nene]的W e2o (连接从校验节点发出的边,以及从变量节点发出的、除了直接连接校验节点和变量节点的边之外的与校验节点相邻的另一个边。)
-隐藏(奇数)到(偶数)层=大小为[ nene]的W o2e (连接从变量节点发出的边,以及从校验节点发出的、除了直接连接变量节点和校验节点的边之外的与变量节点相邻的另一边。)
-隐藏(偶数)到输出层=大小为[nen]的W e2x (连接从校验节点发出的边以及与校验节点相邻的变量节点)
-输入到隐藏(偶数)层-W i2h = 大小为[ n,ne ]的W T e2x
(连接变量输入节点以及从与变量节点相邻的校验节点发出的边)
在设置了用于设计NND的参数之后,下面描述神经网络中的操作。
在层m的第j节点处的奇数层输出:
其中v = V(j)。
在第m层的第j节点处的偶数层输出:
最终输出层操作由下式给出:
其中j、j'分别是连接变量节点i、i'的边。权重表示由神经网络训练的权重。
图3中示出了上述SPA-NND神经网络结构和(7,4)汉明码的设计的示例。神经网络具有九个隐藏层,其对应于SPA的五个完全迭代。第一隐藏层2在单个节点处应用奇数层和偶数层的操作。标记为4的隐藏层是奇数隐藏层,而标记为6的层是偶数隐藏层。除奇数层节点之外的粗体黑色矩形表示在此迭代处输入LLR的相加。
训练
训练神经网络以优化网络(权重)内的可训练参数以用于特定的代码和通信信道。下面简要讨论神经网络的训练参数。
SNR
信噪比(SNR)值定义了训练输入数据中的误差。如果SNR高,则训练数据将包含许多误差。使用高SNR数据训练的NND将无法识别和解决图伪像,因此将不会表现良好。另一方面,用具有非常低的SNR的数据训练的NND可能根本看不到任何误差,并且训练将不会导致任何学习。这意味着期望利用使用SNR值(或范围)设计的训练集来训练NND,使得NND在测试阶段期间在通常的SNR范围内给出最佳性能。
优化器
使用优化函数来更新可训练参数,以便使预定损失函数最小化(如下所述)。
训练长度
训练长度随着码的类型和长度而变化。
训练过的权重
只训练定义Tanner图形的结构的权重。权重的初始化可以是固定的(1.0)或者可以是随机的。
损失函数
交叉熵损失
交叉熵损失函数是应用于网络的损失度量,其给出二进制目标向量的概率。这种类型的损失函数基于目标比特的概率惩罚权重。
其中,t v ∈{0,1},v = [1,...,N ]是目标比特值,并且ov∈(0,1]是由网络的最后一层输出的概率。
交叉熵多重损失
该损失函数利用了下述事实,即:SPA算法在每次迭代之后提供校验。这里,网络在每次迭代时都会因错误输出而受到惩罚,因此推动网络提早学习权重。
其中,o i,v i = [1,3, ...,2L-1 ]是奇数层i处的输出,它是根据x i,e 使用下式计算的:
本公开的示例提供了用于训练神经网络和用于使用神经网络进行解码的方法,其中神经网络的层实现SPA的顺序迭代。在一些示例中,神经网络可以是诸如上面讨论的神经网络。
图4示出了用于训练神经网络(NN)以从接收信号中恢复前向纠错(FEC)码的码字的方法100的第一示例中的处理步骤。如上所述,NN的层实现SPA的顺序迭代。接收信号包括传送码字和加性噪声。在一些示例中,加性噪声可以是AWGN,在一些示例中,AWGN可以被人工添加以模仿无线通信信道。参考图4,在第一步骤110中,该方法包括将从接收的有噪信号获得的消息比特的表示输入到NN的输入层。然后,该方法包括:在步骤120通过NN传播该表示,以及在步骤130优化NN的可训练参数以使损失函数最小化。如图4中所示,通过NN传播该表示包括在120a所示的NN的偶数层:在步骤121生成中间输出表示,在步骤122从中间输出表示生成中间输出码字,以及在步骤123对所生成的中间输出码字执行校正子校验。优化NN的可训练参数以使损失函数最小化包括:如果在步骤131发现满足步骤123处的校正子校验,则在步骤132满足校正子校验的层处在优化之后停止可训练参数的优化。应当理解,在方法100的一些示例中,步骤121至123可在NN的每个偶数层执行。
因此,本公开的示例在训练阶段期间在神经网络的偶数层处引入了校正子校验,并且在满足校正子校验的层处在优化之后停止神经网络的可训练参数的优化。本发明的示例可以应用于神经网络的训练,以便从包括二进制和非二进制码的不同FEC码的范围中恢复码字。
图5是示出了用于训练神经网络(NN)以从接收信号中恢复前向纠错(FEC)码的码字的方法200的另一个示例的流程图。图5的方法200提供了可以如何实现和补充图4的方法100的步骤的一个示例。如上所述,图5的方法的NN的层实现SPA的顺序迭代。接收信号包括传送码字和加性噪声。在一些示例中,加性噪声可以是AWGN,在一些示例中,AWGN可以被人工添加以模仿无线通信信道。参考图5,在第一步骤210中,该方法包括将从接收的有噪信号获得的消息比特的表示输入到NN的输入层。如步骤211所示,接收的有噪信号可包括NN可被训练以恢复的二进制线性分组码的码字。如步骤212所示,从接收的有噪信号获得的消息比特的表示可以包括从接收的有噪信号获得的各个消息比特的对数似然比(LLR)的数组。如上所述,在二进制码的情况下,LLR提供特定传送比特曾是0的概率与其曾是1的概率之间的比的对数。如213所示,在一些示例中,NN可包括神经网络解码器,如上所述,神经网络解码器基于为二进制码获得的SPA的闭型解析表达式。对于一次需要在多个变化上同时操作的非二进制代码,到神经网络的转换尚未被记载,然而方法100和/或200的步骤同样适用于非二进制情况。
如步骤214所示,方法200可包括使用最优SNR范围来训练NND以实现所考虑的码和通信信道的最优性能。现代FEC往往具有SNR的“瀑布区域”,其中码性能显著改进,即,误差率从等同于猜测的情况迅速下降到几乎为零。最佳SNR范围取决于所使用的FEC码和在传送FEC码的通信信道。因此,根据本公开的方法可以使用最优SNR范围来训练NN,以实现所考虑的码和信道的最优性能。
方法200还包括在步骤220通过NN传播消息比特的表示,以及在步骤230优化NN的可训练参数以使损失函数最小化。如上所述,通过NN来传播表示可包括通过NN的层来转发表示(例如LLR),使得根据NN的不同层处执行的操作来更新表示。根据本公开,通过NN传播表示包括在NN的偶数层处执行步骤221至223,并且可包括在NN的每个偶数层处执行这些步骤。步骤221包括生成中间输出表示,并且步骤222包括从中间输出表示生成中间输出码字。在LLR表示二进制FEC的情况下,步骤222可以包括基于该层的LLR来组装硬判决向量。在步骤223中,对所生成的中间输出码字执行校正子校验。校正子校验包括校验所生成的中间输出码字是否满足作为相关码的码本的成员的条件。如上所述,这可以包括将中间输出码字的向量乘以所传送的码字所属的码的奇偶校验矩阵,并且校验所得到的向量是否是零向量。
如果在步骤231中发现不满足校正子校验,则码字尚未被恢复,并且优化NN的可训练参数以使损失函数最小化包括当该表示通过NN传播时,在步骤233以优化可训练参数继续。如果在步骤231发现满足校正子校验,则方法200在优化之后在满足校正子校验的层处停止可训练参数的优化,如步骤232所示。
如步骤234所示,优化NN的可训练参数以使损失函数最小化可包括使损失函数最小化,该损失函数是基于从多个层处可用的中间输出码字的集合中选择的至少一个中间输出码字计算的,所述多个层直到包括满足校正子校验的层。在一些示例中,损失函数可以是交叉熵损失函数或交叉熵多重损失函数,如235处所示。在交叉熵损失函数的情况下,损失函数可以基于满足校正子校验的层处的中间输出码字而被最小化。在交叉熵多重损失函数的情况下,损失函数可以基于直到包括满足校正子校验的层的所有中间输出码字而被最小化。
在方法200的一些示例中,被最小化以优化可训练参数的损失函数可以是如下所述的交叉熵损失函数:
其中N是所传送的码字中的比特数,
I{ f }是指示符函数,如果{ f }为真,则I{ f }的值为1,否则为0,
H是传送码字所属的码的奇偶校验矩阵,
o(i,v)是在网络的第i层的NN的输出表示,其对应于传送码字中的第v个比特,
是第i层的中间输出码字的向量,以及
tv是传送码字的第v位的目标值。
在具有LLR表示的二进制码的情况下,o(i,v)是在NN的第i层处的传送码字中的第v位的LLR,即,第v位是1而不是0的可能性,如由NN的第i层输出的。在这种情况下,是第i层的NN输出的硬判决向量。传送码字的第v比特的目标值tv是传送码字的第v比特的实际值(在二进制情况下为1或0)。在上述损失函数中,指示符函数实现根据本公开的示例引入的校正子校验。根据上述损失函数,如果满足校正子校验,则指示符函数的输出将为1,并且如果不满足校正子校验,则指示符函数的输出将为0,因此仅基于在满足校正子校验的层处的中间输出表示来计算损失。在本公开的一些示例中,可以省略指示符函数,并且可以经由神经网络训练算法来施加这样的限制:仅在满足校正子校验的层处计算损失函数。在这样的示例中,如上所述的第i层是满足校正子校验的层。
在方法200的另外的示例中,被最小化以优化可训练参数的损失函数可以是如下所述的交叉熵多重损失函数:
其中N是传送码字中的比特数,
o(i,v)是NND在网络的第i层处对应于传输码字中第v个比特的输出表示,tv是传送码字的第v比特的目标值,
2L是NND中隐藏层的数量,以及
如果在偶数层k:0<k<2L满足校正子校验,然后2M = k,否则2M =2L。
对于上述交叉熵损失函数,在具有LLR表示的二进制码的情况下,o(i,v)是在NN的第i层处在传输码字中的第v个比特的LLR,即第v个比特是1而不是0的可能性,如由NN的第i层输出的。传送码字的第v个比特的目标值tv是传送码字的第v个比特的实际值(在二进制情况下为1或0)。上述交叉熵多重损失函数包括来自所有偶数层的贡献,这些偶数层直到并包括满足校正子校验的层。
图6示出了用于使用神经网络(NN)对接收信号进行解码的方法300的第一示例中的处理步骤。NN的层实现SPA的顺序迭代,并且接收信号包括FEC码的传送码字和加性噪声。在一些示例中,加性噪声可以是AWGN,在一些示例中,AWGN可以被人工添加以模仿无线通信信道。参考图6,在第一步骤310中,该方法包括将从接收的有噪信号获得的消息比特的表示输入到NN的输入层。然后,该方法包括:在步骤320,通过NN传播该表示,以及在步骤330,从NN输出恢复后的码字。如图6所示,通过NN传播该表示包括:在320a所示的NN的偶数层,在步骤321生成中间输出表示,在步骤322从中间输出表示生成中间输出码字,以及在步骤323对所生成的中间输出码字执行校正子校验。如果在步骤324处满足步骤323处的校正子校验,则该方法包括在步骤325处通过NN在满足校正子校验的层处停止传播该表示,并且在步骤326处将满足校正子校验的中间输出码字标识为恢复后的码字以便从NN输出。应当理解,在方法300的一些示例中,步骤321至325可在NN的每个偶数层执行。传送码字可包括在NN的测试阶段期间接收的测试码字和/或在NND的在线阶段期间接收的码字。
因此,本公开的示例在在线解码阶段期间和/或在测试阶段期间在神经网络的偶数层处引入校正子校验,并且通过NN在满足校正子校验的层处停止传播消息比特的表示。本发明的示例可以应用于神经网络的操作以便从包括二进制和非二进制码的一系列不同FEC码中恢复码字。
图7是示出了用于使用神经网络(NN)对接收信号进行解码的方法400的另一个示例的流程图。图7的方法400提供了可以如何实现和补充图6的方法300的步骤的一个示例。如上所述,图7的方法的NN的层实现SPA的顺序迭代。接收信号包括FEC码的传送码字和加性噪声。在一些示例中,加性噪声可以是AWGN,在一些示例中,AWGN可以被人工添加以模仿无线通信信道。参考图7,在第一步骤410中,该方法包括将从接收的有噪信号获得的消息比特的表示输入到NN的输入层。如步骤411所示,接收的有噪信号可包括NN可被训练以恢复的二进制线性分组码的码字。如412所示,从接收的有噪信号获得的消息比特的表示可以包括从接收的有噪信号获得的各个消息比特的对数似然比(LLR)的数组。如上所述,在二进制码的情况下,LLR提供特定传送比特曾是0的概率与其曾是1的概率之间的比的对数。如413所示,在一些示例中,NN可包括神经网络解码器,如上所述,神经网络解码器基于为二进制码获得的SPA的闭式解析表达式。对于一次需要在多个变化上同时操作的非二进制代码,到神经网络的转换尚未被记载,然而方法300和/或400的步骤同样适用于非二进制情况。
方法400还包括在步骤420通过NN传播消息比特的表示,并在步骤430从NN输出恢复后的码字。如上所述,通过NN传播表示可包括通过NN的层来转发表示(例如LLR),使得根据在NN的不同层处执行的操作来更新表示。根据本公开,通过NN传播表示包括在NN的偶数层处执行步骤421至426,并且可包括在NN的每个偶数层处执行这些步骤。步骤421包括生成中间输出表示,并且步骤422包括从中间输出表示生成中间输出码字。在LLR表示二进制FEC的情况下,步骤422可包括基于该层的LLR来组装硬判决向量。在步骤423中,对所生成的中间输出码字执行校正子校验。校正子校验包括校验所生成的中间输出码字是否满足作为相关码的码本的成员的条件。如果不满足校正子校验,则码字尚未被恢复,并且在步骤427继续通过NN传播该表示。如果在步骤424处满足校正子校验,则方法400在步骤425在满足校正子校验的层处停止通过NN传播表示,并且在步骤426处将满足校正子校验的中间输出码字标识为恢复后的码字以便从NN输出。
图8是比较极化[32,16]码的不同损失函数的误块率(BLER)的曲线图。图8中的实曲线示出了SPA算法的性能。具有圆形图点的曲线示出了根据本公开的示例的利用具有校正子的损失函数训练的网络的性能。下列训练参数曾用于所示的测试:
架构:神经网络解码器
训练码字:零
重量初始化器:固定的
剪切(CLIP)大小:20
损失函数:具有校正子的交叉熵多重损失或交叉熵多重损失函数
优化器:RMSPropOptimizer
迭代次数:5
学习率:0.01
SNR训练:[1.0]
训练批次中的输入数:120
训练长度:262144
使用训练过的网络权重和架构执行了测试。图8中的结果示出了对于根据本公开的示例训练的网络,在[ -2,2]的低SNR范围中的BLER中存在改进,该网络是使用结合了校正子校验的方法训练的,在该示例中使用具有校正子的交叉熵多重损失函数来实现该校正子校验。
根据本公开的方法可以减少使用神经网络的训练、测试和解码中所需的计算。在训练阶段,本公开的示例训练网络以减少BLER,因为对于成功的解码,通常需要恢复完整的码字。在网络的偶数层引入校正子校验,并且在满足校正子校验的层处在优化之后停止可训练参数的优化,迫使网络针对完整码字的解码进行优化。如果如校正子校验所指示的那样,解码了整个码字,则不执行进一步的优化,从而减少了训练时间和训练计算负荷。在在线和测试阶段中,本公开的示例虑及经由校正子校验来提早检测正确的码字。通过在成功的校正子校验之后停止通过NN的传播,并且将满足校正子校验的中间输出码字标识为恢复后的码字,本公开的示例虑及在测试阶段和在线阶段中的解码的早期终止,从而减少计算负荷并提高解码速度。
方法100、200、300、400可以由控制器执行,该控制器可以被托管在基站或无线装置内。在一些示例中,控制器可以被虚拟化并且可以适当地以集中式或分布式方式被托管在云上。图9是示出了示例控制器300的框图,其可以例如在从计算机程序600接收到合适的指令时实现根据本公开的示例的方法100、200、300和/或400。参考图9,控制器包括处理器或处理电路502、存储器504和接口506。存储器504包含例如采取计算机程序600形式的指令,这些指令可由处理器502执行,使得控制器可操作以进行方法100、200、300和/或400的步骤。如图9所示,在一些示例中,控制器可以包括在基站700或无线装置(未示出)内。在其他示例中,控制器可以被托管在诸如处理节点的另一网络节点内和/或云上,并且可以可操作用于与基站800或无线装置(未示出)通信。在这样的示例中,基站或无线装置可以可操作以接收包括码字的信号,并且将所接收的信号转发到控制器。控制器可以可操作以执行方法100、200、300和/或400的步骤,以从所接收的信号中恢复码字,并将恢复后的码字转发到基站或无线装置或通信网络内的另一节点。
图10示出了控制器900的另一示例中的功能模块,其可以例如根据从计算机程序接收的计算机可读指令来执行本公开的方法100和/或200的示例。将理解,图10中所示的模块是功能模块,并且可以以硬件和/或软件的任何适当组合来实现。模块可以包括一个或多个处理器,并且可以在任何程度上被集成。
参考图10,控制器900包括输入模块,其用于将从接收的有噪信号获得的消息比特的表示输入到NN的输入层。控制器900还包括用于通过NN传播该表示的传播模块和用于优化NN的可训练参数以使损失函数最小化的优化模块。控制器900还包括接口908。传播模块用于通过NN传播该表示,这是通过下面的步骤进行的:在NN的偶数层处生成中间输出表示、从中间输出表示生成中间输出码字、对所生成的中间输出码字执行校正子校验、并且如果满足校正子校验则在满足校正子校验的层处在优化之后停止可训练参数的优化。
图11示出了控制器1000的另一示例中的功能模块,其可以例如根据从计算机程序接收的计算机可读指令来执行本公开的方法300和/或400的示例。将理解,图11中所示的模块是功能模块,并且可以用硬件和/或软件的任何适当组合来实现。模块可以包括一个或多个处理器,并且可以在任何程度上被集成。
参考图11,控制器1000包括输入模块,其用于将从接收的有噪信号获得的消息比特的表示输入到NN的输入层。控制器1000还包括用于通过NN传播该表示的传播模块和用于从NN输出恢复后的码字的输出模块1006。控制器1000还包括接口1008。传播模块用于通过NN来传播该表示,这是通过下面的步骤进行的:通过在NN的偶数层处生成中间输出表示、从中间输出表示生成中间输出码字、对所生成的中间输出码字执行校正子校验、并且如果满足校正子校验则在满足校正子校验的层处停止通过NN传播表示、并且将满足校正子校验的中间输出码字标识为恢复后的码字以便从NN输出。
图12示出了包括基站1102、处理节点1104和无线装置1106的系统1100。处理节点1104可以是物理或虚拟处理节点。基站1102、处理节点1104和/或无线装置1106中的任何一个或多个可以包括控制器,诸如如上所述的控制器500、900和/或1000。根据系统1100的示例,基站1102和/或无线装置1106可以可操作以接收包括码字的信号,并且将所接收的信号转发到处理节点。处理节点内的控制器可以可操作以执行方法100、200、300和/或400的步骤,以从所接收的信号中恢复码字,并将恢复后的码字转发到基站或无线装置或通信网络内的另一节点。
现在接着是对包括根据本公开的示例操作的多个神经网络的神经网络的实验训练和测试的更广泛的讨论。神经网络包括如本公开中描述的神经网络解码器(NND)。使用各种不同的码来训练NND,并且当实现本公开的示例时以及当实现其他训练和解码方法时,将NND的结果与实现与NND的层所实现的相同数量的迭代的置信传播解码器的结果进行比较。
训练和实验设置
针对各种不同的码-汉明(7,4)、极化码(32,16)、BCH (63,45)和LDPC (96,48)来训练网络。来自NND的结果与实现相同迭代次数的BP解码器相比较。
实验
环境
Tensorflow实现在Python2.7中被用于训练和测试NND。所使用的BP解码器实现是由Radford M.Neal开发的。该实现在C中。
资源
进行实验的资源由Ericsson提供。
训练参数
SNR
如上所述,SNR值定义了训练输入数据中的误差。如果SNR高,则训练数据将包含许多误差。使用高SNR数据训练的NND将无法识别和解决图伪像,因此将不会表现良好。另一方面,用具有非常低的SNR的数据训练的NND可能根本看不到任何误差,并且训练将不会导致任何学习。这意味着应利用使用SNR值(或范围)设计的训练集来训练NND,使得NND在测试阶段期间在通常的SNR范围内给出最佳性能。
为了定量地证明训练SNR值(或范围)的选择是正确的,使用了被称为标准化验证误差(NVE)的性能度量。
其中ν t v vi 是训练集和验证集的SNR值,并且BERNND和BERBP是分别利用给定的训练集和验证集针对NND和BP算法的SNR值计算的BER值。
图13是示出了用于训练的不同SNR值的比较的曲线图。实验结果已经表明,在训练期间,[1.0,6.0]的SNR值范围提供了最佳结果。
优化器
使用RMSPropOptimizer训练NND。使用的学习率为0.001。
训练长度
训练长度随着码的类型和长度而变化。然而,网络被训练固定数量的步长=262,144(= 218),这大于NND损失函数对于这里考虑的码收敛所需的步长数量。对于循环神经网络和使用校正子校验损失函数的网络,收敛更快。对批量输入数据执行训练。120的码字批量长度用于训练。
训练后的权重
只训练定义Tanner图形的结构的权重。权重的初始化可以是固定的(1.0)或者可以是随机的。对于固定的权重初始化,训练和测试期间的性能都更好。
损失函数
交叉熵损失
交叉熵损失函数是应用于网络的损失度量,其给出二进制目标向量的概率。这种类型的损失函数基于目标比特的概率惩罚权重。
其中t v ∈{0,1},v = [1,...,N ]是目标比特值,并且o v ∈(0,1]是由网络的最后一层输出的概率。
交叉熵多重损失
该损失函数利用了如下事实,即:SPA算法在每次迭代之后提供校验。这里,网络在每次迭代时都会因错误输出而受到惩罚,因此推动网络提早学习权重。
其中,o i,v i = [1,3, ...,2L-1 ]是奇数层i处的输出,它是根据x i,e 使用下式计算的:
具有校正子校验的交叉熵损失函数
根据本公开的示例,校正子校验被添加到多重损失函数以约束网络仅在存在解码失败时才学习,因此改进了误块率(BLER)而不是误比特率(BER)。
其中,当f为真时,I{ f }为一,否则为零,并且是第i层处的硬判决向量。
图14是示出根据不同参数设置的性能比较的曲线图。
图15示出了针对不同模型每训练时期损失的演变。强正则化导致快速学习,但不成熟地停止。使用RNN结构的适度正则化执行得更好。
结果
边权重分析
用于训练每个网络的公共训练参数如下:
网络架构:循环神经网络解码器
正则化-L2,权重衰减:0.01
训练码字:零码字
测试码字:随机二进制码字
权重数字量化器:Float 32
重量初始化器:固定的
剪切大小:20
损失函数:交叉熵多重损失函数
优化器:RMSPropOptimizer
迭代次数:5
学习率:0.001
SNR训练:[2.0]
训练批次中的输入数:120
训练长度:262144
学习以减少图伪像
汉明(7,4)码的边分析
图16示出了汉明[7,4] (参见(1.3))的边上的学习后的权重分布。通过将互补权重指配给形成圈的一组边,圈的影响被抵消。
图17示出了形成圈的节点[0,1,4,6]。如图16所示,网络通过将互补权重指配给形成圈的相邻边来学习以减小圈的影响。
树结构汉明(7,4)码的边分析
树结构汉明[7,4]在图18中示出。图19示出针对树结构汉明[7,4]的边上的学习权重分布。由于没有圈,所以网络不改变权重分布。
图20示出了由于该代码的树结构不具有任何圈,因此网络不改变边上的权重。
结果
极性(32,16)
图21示出了用RNN、218批、L2正则化(0.001)训练的结果。图22和23示出了Polar[32,16]码的学习后的权重分布。
BCH [63,45]
图24示出了用RNN网络训练218批的结果。
LDPC [96,48]
图25示出了用RNN网络训练218批的结果
极性(32,24)
图26示出了用RNN网络训练218批的结果。
极性(128,64)
图27示出了用RNN网络训练218批的结果。
因此,本公开的示例提供了可以将校正子校验添加到训练和解码的方法和装置。在训练期间,可以基于直到并且包括满足校正子校验的层来计算损失。可以将校正子校验结合到损失函数中。因此,本公开的示例还提供了要在神经网络解码器中使用的损失度量,以及实现损失度量的计算的装置。损失度量的计算可以在最合适的通信网络实体处执行,例如,在eNB中以便减少延迟,在云实现中以用于资源池化/共享,在UE中,或在具有无线电接收器的任何其他实体中,如下面更详细地解释的那样。
虽然本文描述的主题可以使用任何合适的组件在任何适当类型的系统中实现,但是本文公开的实施例是关于无线网络来描述的,无线网络诸如图28中示出的示例无线网络,图28示出了根据一些实施例的无线网络。为了简单起见,图28的无线网络仅示出了网络QQ106、网络节点QQ160和QQ160b以及WD QQ110、QQ110b和QQ110c。实际上,无线网络还可包括适合于支持无线装置之间或无线装置与另一通信装置之间的通信的任何附加元件,例如陆线电话、服务提供商或任何其它网络节点或终端装置。在所示组件中,网络节点QQ160和无线装置(WD) QQ110用附加细节来描述。无线网络可以向一个或多个无线装置提供通信和其它类型的服务,以便于无线装置接入和/或使用由无线网络或经由无线网络提供的服务。
无线网络可以包括任何类型的通信、电信、数据、蜂窝和/或无线电网络或其他类似类型的系统和/或与之接口。在一些实施例中,无线网络可以被配置成根据特定标准或其他类型的预定义规则或过程来操作。因此,无线网络的特定实施例可以实现通信标准,例如全球移动通信系统(GSM)、通用移动电信系统(UMTS)、长期演进(LTE)和/或其他合适的2G、3G、4G或5G标准;无线局域网(WLAN)标准,例如IEEE 802.11标准;和/或任何其它适当的无线通信标准,例如全球微波接入互操作性(WiMax)、蓝牙、Z-Wave和/或ZigBee标准。
网络QQ106可以包括一个或多个回程网络、核心网络、IP网络、公共交换电话网络(PSTN)、分组数据网络、光网络、广域网(WAN)、局域网(LAN)、无线局域网(WLAN)、有线网络、无线网络、城域网和其他网络,以实现装置之间的通信。
网络节点QQ160和WD QQ110包括下面更详细描述的各种组件。这些组件一起工作以便提供网络节点和/或无线装置功能性,诸如在无线网络中提供无线连接。在不同的实施例中,无线网络可以包括任何数量的有线或无线网络、网络节点、基站、控制器、无线装置、中继站和/或可以促进或参与数据和/或信号的通信的任何其他组件或系统,而无论是经由有线连接还是无线连接。
如本文所使用的,网络节点是指能够、被配置、被布置和/或可操作以直接或间接与无线装置和/或与无线网络中的其它网络节点或设备通信以实现和/或提供对无线装置的无线接入和/或执行无线网络中的其它功能(例如,管理)的设备。网络节点的示例包括但不限于接入点(AP)(例如,无线电接入点)、基站(BS) (例如,无线电基站、节点B和演进型节点B (eNB))。基站可以基于它们提供的覆盖量(或者,换句话说,它们的传送功率电平)来分类,并且然后还可以被称为毫微微基站、微微基站、微基站或宏基站。基站可以是中继节点或控制中继的中继施主节点。网络节点还可以包括分布式无线电基站的一个或多个(或全部)部分,例如集中式数字单元和/或远程无线电单元(RRU),有时称为远程无线电头端(RRH)。这样的远程无线电单元可以与天线集成或不与天线集成作为集成天线的无线电设备。分布式无线电基站的部分也可以称为分布式天线系统(DAS)中的节点。网络节点的另外示例包括多标准无线电(MSR)设备(例如MSR BS)、网络控制器(例如无线电网络控制器(RNC)或基站控制器(BSC))、基站收发台(BTS)、传输点、传输节点、多小区/多播协调实体(MCE)、核心网络节点(例如MSC、MME)、O&M节点、OSS节点、SON节点、定位节点(例如E-SMLC)和/或MDT。作为另一个示例,网络节点可以是如下面更详细描述的虚拟网络节点。然而,更一般地,网络节点可以表示能够、配置成、布置成和/或可操作以实现和/或向无线装置提供对无线网络的接入或者向已经接入无线网络的无线装置提供一些服务的任何适当装置(或装置群组)。
在图28中,网络节点QQ160包括处理电路QQ170、装置可读介质QQ180、接口QQ190、辅助设备QQ184、电源QQ186、功率电路QQ187和天线QQ162。虽然图28的示例无线网络中所示的网络节点QQ160可以表示包括所示硬件组件组合的设备,但是其他实施例可以包括具有不同组件组合的网络节点。应当理解,网络节点包括执行本文公开的任务、特征、功能和方法所需的硬件和/或软件的任何适当组合。此外,虽然网络节点QQ160的组件被描绘为位于更大框内或嵌套在多个框内的单个框,但是实际上,网络节点可以包括构成单个所示组件的多个不同物理组件(例如,装置可读介质QQ180可以包括多个单独的硬盘驱动器以及多个RAM模块)。
类似地,网络节点QQ160可以由多个物理上分离的组件组成(例如,节点B组件和RNC组件,或者BTS组件和BSC组件等),这些组件各自可以具有它们自己的相应组件。在网络节点QQ160包括多个单独组件(例如BTS和BSC组件)的某些情况下,一个或多个单独组件可以在几个网络节点之间共享。例如,单个RNC可以控制多个节点B。在这种情况下,在一些实例中,每个唯一的节点B和RNC对可以被认为是单个单独的网络节点。在一些实施例中,网络节点QQ160可以被配置成支持多种无线接入技术(RAT)。在这样的实施例中,一些组件可以是重复的(例如,针对不同RAT的单独的装置可读介质QQ180),并且一些组件可以被重用(例如,相同的天线QQ162可以由RAT共享)。例如,网络节点QQ160还可以包括集成到网络节点QQ160中的用于不同无线技术的各种所示组件的多个集合,所述无线技术诸如GSM、WCDMA、LTE、NR、WiFi或蓝牙无线技术。这些无线技术可以集成到网络节点QQ160内的相同或不同的芯片或芯片集以及其他组件中。
处理电路QQ170被配置成执行本文描述为由网络节点提供的任何确定、计算或类似操作(例如,某些获得操作)。由处理电路QQ170执行的这些操作可以包括处理由处理电路QQ170获得的信息,这例如通过以下步骤进行:将所获得的信息转换成其他信息、将所获得的信息或转换后的信息与存储在网络节点中的信息进行比较、和/或基于所获得的信息或转换后的信息执行一个或多个操作,并且作为所述处理的结果做出确定。
处理电路QQ170可以包括微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列或任何其他合适的计算装置、资源中的一个或多个的组合,或者可操作以单独地或与其他网络节点QQ160组件(诸如装置可读介质QQ180、网络节点QQ160功能性)结合提供的硬件、软件和/或编码逻辑的组合。例如,处理电路QQ170可以执行存储在装置可读介质QQ180中或处理电路QQ170内的存储器中的指令。这样的功能可以包括提供本文所讨论的各种无线特征、功能或益处中的任何一个。在一些实施例中,处理电路QQ170可包括片上系统(SOC)。
在一些实施例中,处理电路QQ170可以包括射频(RF)收发器电路QQ172和基带处理电路QQ174中的一个或多个。在一些实施例中,射频(RF)收发器电路QQ172和基带处理电路QQ174可以在单独的芯片(或芯片集)、板或单元(诸如无线电单元和数字单元)上。在备选实施例中,RF收发器电路QQ172和基带处理电路QQ174的部分或全部可以在相同的芯片或芯片集、板或单元上。
在某些实施例中,本文描述为由网络节点、基站、eNB或其它这种网络装置提供的一些或全部功能性可以由执行存储在装置可读介质QQ180或处理电路QQ170内的存储器上的指令的处理电路QQ170来执行。在备选实施例中,一些或所有功能性可以由处理电路QQ170诸如以硬连线方式提供,而无需执行存储在单独或分立装置可读介质上的指令。在这些实施例中的任何一个中,无论是否执行存储在装置可读存储介质上的指令,处理电路QQ170都可以被配置成执行所描述的功能性。由这种功能性提供的益处不限于单独的处理电路QQ170或网络节点QQ160的其他组件,而是由网络节点QQ160作为整体和/或一般由终端用户和无线网络享有。
装置可读介质QQ180可以包括任何形式的易失性或非易失性计算机可读存储器,包括但不限于永久性存储装置、固态存储器、远程安装的存储器、磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、大容量存储介质(例如,硬盘)、可移除存储介质(例如,闪速驱动器、致密盘(CD)或数字视频盘(DVD))和/或存储可由处理电路QQ170使用的信息、数据和/或指令的任何其他易失性或非易失性、非暂时性装置可读和/或计算机可执行存储器装置。装置可读介质QQ180可以存储任何合适的指令、数据或信息,包括计算机程序、软件、包括逻辑、规则、代码、表等中的一个或多个的应用和/或能够由处理电路QQ170执行并且由网络节点QQ160利用的其它指令。装置可读介质QQ180可以用于存储由处理电路QQ170进行的任何计算和/或经由接口QQ190接收的任何数据。在一些实施例中,处理电路QQ170和装置可读介质QQ180可以被认为是集成的。
接口QQ190用于网络节点QQ160、网络QQ106和/或WDS QQ110之间的信令和/或数据的有线或无线通信。如图所示,接口QQ190包括(一个或多个)端口/(一个或多个)终端QQ194,以便通过有线连接例如向和从网络QQ106传送和接收数据。接口QQ190还包括无线电前端电路QQ192,其可以耦合到天线QQ162或者在某些实施例中耦合到QQ162的一部分。无线电前端电路QQ192包括滤波器QQ198和放大器QQ196。无线电前端电路QQ192可以连接到天线QQ162和处理电路QQ170。无线电前端电路可以被配置成调节在天线QQ162和处理电路QQ170之间传递的信号。无线电前端电路QQ192可以接收将经由无线连接被发送出到其他网络节点或WD的数字数据。无线电前端电路QQ192可以使用滤波器QQ198和/或放大器QQ196的组合将数字数据转换成具有适当信道和带宽参数的无线电信号。然后,可以经由天线QQ162传送无线电信号。类似地,当接收数据时,天线QQ162可以收集无线电信号,然后由无线电前端电路QQ192将无线电信号转换成数字数据。数字数据可以被传递到处理电路QQ170。在其他实施例中,接口可以包括不同的组件和/或组件的不同组合。
在某些备选实施例中,网络节点QQ160可以不包括单独的无线电前端电路QQ192,处理电路QQ170可以改为包括无线电前端电路,并且可以在没有单独的无线电前端电路QQ192的情况下连接到天线QQ162。类似地,在一些实施例中,RF收发器电路QQ172中的全部或一些可以被认为是接口QQ190的一部分。在其他实施例中,接口QQ190可以包括一个或多个端口或端子QQ194、无线电前端电路QQ192和RF收发器电路QQ172作为无线电单元(未示出)的一部分,并且接口QQ190可以与作为数字单元(未示出)的一部分的基带处理电路QQ174通信。
天线QQ162可以包括一个或多个天线或天线阵列,其被配置成发送和/或接收无线信号。天线QQ162可以耦合到无线电前端电路QQ190,并且可以是能够无线地传送和接收数据和/或信号的任何类型的天线。在一些实施例中,天线QQ162可以包括一个或多个全向、扇形或平板天线,其可操作以传送/接收例如2GHz和66GHz之间的无线电信号。全向天线可用于在任何方向上传送/接收无线电信号,扇形天线可用于从特定区域内的装置传送/接收无线电信号,以及面板天线可以是用于在相对直线上传送/接收无线电信号的视线天线。在一些实例中,使用多于一个天线可以被称为MIMO。在某些实施例中,天线QQ162可以与网络节点QQ160分开,并且可以通过接口或端口连接到网络节点QQ160。
天线QQ162、接口QQ190和/或处理电路QQ170可以被配置成执行本文描述为由网络节点执行的任何接收操作和/或某些获得操作。可以从无线装置、另一网络节点和/或任何其它网络设备接收任何信息、数据和/或信号。类似地,天线QQ162、接口QQ190和/或处理电路QQ170可以被配置成执行本文描述为由网络节点执行的任何传送操作。任何信息、数据和/或信号可以被传送到无线装置、另一网络节点和/或任何其它网络设备。
功率电路QQ187可以包括或耦合到功率管理电路,并且被配置成向网络节点QQ160的组件供电以便执行本文所述的功能性。功率电路QQ187可以从电源QQ186接收电力。电源QQ186和/或功率电路QQ187可以被配置成以适合于相应组件的形式(例如,以每个相应组件所需的电压和电流水平)向网络节点QQ160的各个组件供电。电源QQ186可以包括在功率电路QQ187和/或网络节点QQ160中或在其外部。例如,网络节点QQ160可以经由输入电路或接口(例如电缆)可连接到外部电源(例如,电插座),由此外部电源向功率电路QQ187供电。作为另外的示例,电源QQ186可以包括电池或电池组形式的电源,其连接到或集成在功率电路QQ187中。电池可以在外部电源发生故障时提供备用电力。也可以使用其它类型的电源,例如光伏器件。
网络节点QQ160的备选实施例可包括图28所示之外的附加组件,这些组件可负责提供网络节点的功能性的某些方面,包括本文所述的任何功能性和/或支持本文描述的主题所必需的任何功能性。例如,网络节点QQ160可以包括用户接口设备,以允许将信息输入到网络节点QQ160中,并且允许从网络节点QQ160输出信息。这可以允许用户执行网络节点QQ160的诊断、维护、修理和其他管理功能。
如本文所使用的,无线装置(WD)是指能够、配置成、布置成和/或可操作以与网络节点和/或其它无线装置无线通信的装置。除非另有指出,术语WD在本文可以与用户设备(UE)互换使用。无线通信可以涉及使用电磁波、无线电波、红外波和/或适合于通过空气传送信息的其他类型的信号来传送和/或接收无线信号。在一些实施例中,WD可以被配置成在没有直接的人类交互的情况下传送和/或接收信息。例如,WD可以被设计成当由内部或外部事件触发时,或者响应于来自网络的请求,按照预定调度向网络传送信息。WD的示例包括但不限于智能电话、移动电话、蜂窝电话、IP语音(VoIP)电话、无线本地环路电话、台式计算机、个人数字助理(PDA)、无线相机、游戏控制台或装置、音乐存储装置、回放装置、可穿戴终端装置、无线端点、移动站、平板电脑、膝上型计算机、膝上型嵌入式设备(LEE)、膝上型安装设备(LME)、智能装置、无线客户端设备(CPE)。车载无线终端装置等。WD例如通过实现用于侧链路通信的3GPP标准,可以支持装置到装置(D2D)通信,并且在这种情况下可以被称为D2D通信装置。作为又一特定示例,在物联网(IoT)场景中,WD可以表示执行监测和/或测量的机器或其他装置,并且将这样的监测和/或测量的结果传送到另一WD和/或网络节点。在这种情况下,WD可以是机器对机器(M2M)装置,其在3GPP上下文中可被称为机器型通信(MTC)装置。作为一个特定示例,WD可以是实现3GPP窄带物联网(NB-IoT)标准的UE。这种机器或装置的特定示例是传感器、计量装置(诸如功率计)、工业机械、或家用或个人电器(例如,冰箱、电视等)、个人可穿戴设备(例如,手表、健身跟踪器等)。在其它情况下,WD可以表示能够监测和/或报告其操作状态或与其操作相关联的其它功能的车辆或其它设备。如上所述的WD可以表示无线连接的端点,在这种情况下,装置可以被称为无线终端。此外,如上所述的WD可以是移动的,在这种情况下,WD还可以被称为移动装置或移动终端。
如图所示,无线装置QQ110包括天线QQ111、接口QQ114、处理电路QQ120、装置可读介质QQ130、用户接口设备QQ132、辅助设备QQ134、电源QQ136和功率电路QQ137。WD QQ110可以包括用于WD QQ110所支持的不同无线技术的一个或多个所示组件的多个集合,所述无线技术例如是GSM、WCDMA、LTE、NR、WiFi、WiMAX或蓝牙无线技术,这里仅举几个示例。这些无线技术可以集成到与WD QQ110内的其它组件相同或不同的芯片或芯片集中。
天线QQ111可以包括一个或多个天线或天线阵列,其被配置成发送和/或接收无线信号,并且连接到接口QQ114。在某些备选实施例中,天线QQ111可以与WD QQ110分开,并且可以通过接口或端口可连接到WD QQ110。天线QQ111、接口QQ114和/或处理电路QQ120可以被配置成执行本文描述为由WD执行的任何接收或传送操作。可以从网络节点和/或另一个WD接收任何信息、数据和/或信号。在一些实施例中,无线电前端电路和/或天线QQ111可以被认为是接口。
如图所示,接口QQ114包括无线电前端电路QQ112和天线QQ111。无线电前端电路QQ112包括一个或多个滤波器QQ118和放大器QQ116。无线电前端电路QQ114连接到天线QQ111和处理电路QQ120,并且被配置成调节天线QQ111和处理电路QQ120之间传递的信号。无线电前端电路QQ112可以耦合到天线QQ111或其一部分。在一些实施例中,WD QQ110可以不包括单独的无线电前端电路QQ112;相反,处理电路QQ120可以包括无线电前端电路,并且可以连接到天线QQ111。类似地,在一些实施例中,RF收发器电路QQ122中的一些或全部可以被认为是接口QQ114的一部分。无线电前端电路QQ112可以接收要经由无线连接向其它网络节点或WD发出的数字数据。无线电前端电路QQ112可以使用滤波器QQ118和/或放大器QQ116的组合将数字数据转换成具有适当信道和带宽参数的无线电信号。然后,可以经由天线QQ111传送无线电信号。类似地,当接收数据时,天线QQ111可以收集无线电信号,然后由无线电前端电路QQ112将该无线电信号转换成数字数据。数字数据可以被传递到处理电路QQ120。在其他实施例中,接口可以包括不同的组件和/或组件的不同组合。
处理电路QQ120可以包括微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列或任何其他合适的计算装置、资源中的一个或多个的组合,或者可操作以单独地或与其他WD QQ110组件(例如装置可读介质QQ130、WD QQ110功能性)结合提供的硬件、软件和/或编码逻辑的组合。这种功能性可以包括提供本文讨论的各种无线特征或益处中的任何一种。例如,处理电路QQ120可以执行存储在装置可读介质QQ130中或处理电路QQ120内的存储器中的指令,以提供本文所公开的功能。
如图所示,处理电路QQ120包括RF收发器电路QQ122、基带处理电路QQ124和应用处理电路QQ126中的一个或多个。在其他实施例中,处理电路可以包括不同的组件和/或组件的不同组合。在某些实施例中,WD QQ110的处理电路QQ120可以包括SOC。在一些实施例中,RF收发器电路QQ122、基带处理电路QQ124和应用处理电路QQ126可以在单独的芯片或芯片集上。在备选实施例中,基带处理电路QQ124和应用处理电路QQ126的部分或全部可以被组合到一个芯片或芯片集中,并且RF收发器电路QQ122可以在单独的芯片或芯片集上。在又一备选实施例中,RF收发器电路QQ122和基带处理电路QQ124的部分或全部可以在相同的芯片或芯片集上,并且应用处理电路QQ126可以在单独的芯片或芯片集上。在其他备选实施例中,RF收发器电路QQ122、基带处理电路QQ124和应用处理电路QQ126中的部分或全部可以被组合在相同的芯片或芯片集中。在一些实施例中,RF收发器电路QQ122可以是接口QQ114的一部分。RF收发器电路QQ122可以调节用于处理电路QQ120的RF信号。
在某些实施例中,本文描述为由WD执行的一些或全部功能性可以由执行存储在装置可读介质QQ130上的指令的处理电路QQ120提供,在某些实施例中,装置可读介质QQ130可以是计算机可读存储介质。在备选实施例中,一些或所有功能性可以由处理电路QQ120诸如以硬连线方式提供,而无需执行存储在单独或分立装置可读存储介质上的指令。在那些特定实施例的任何一个中,无论是否执行存储在装置可读存储介质上的指令,处理电路QQ120都可以被配置成执行所描述的功能性。由这种功能提供的益处不限于单独的处理电路QQ120或WD QQ110的其他组件,而是由WD QQ110作为整体和/或一般由终端用户和无线网络享有。
处理电路QQ120可以被配置成执行本文描述为由WD执行的任何确定、计算或类似操作(例如,某些获得操作)。由处理电路QQ120执行的这些操作可以包括处理由处理电路QQ120获得的信息,这是通过例如以下操作进行的:将所获得的信息转换成其他信息、将所获得的信息或转换后的信息与WD QQ110所存储的信息进行比较、和/或基于所获得的信息或转换后的信息执行一个或多个操作,并且作为所述处理的结果做出确定。
装置可读介质QQ130可以可操作以存储计算机程序、软件、包括逻辑、规则、代码、表等中的一个或多个的应用和/或能够由处理电路QQ120执行的其他指令。装置可读介质QQ130可以包括计算机存储器(例如,随机存取存储器(RAM)或只读存储器(ROM))、大容量存储介质(例如,硬盘)、可移除存储介质(例如,致密盘(CD)或数字视频盘(DVD))和/或存储可以由处理电路QQ120使用的信息、数据和/或指令的任何其他易失性或非易失性、非暂时性装置可读和/或计算机可执行存储器装置。在一些实施例中,处理电路QQ120和装置可读介质QQ130可以被认为是集成的。
用户接口设备QQ132可以提供允许人类用户与WD QQ110交互的组件。这种交互可以具有多种形式,例如视觉、听觉、触觉等。用户接口设备QQ132可以可操作以向用户产生输出,并且允许用户向WD QQ110提供输入。交互的类型可以根据安装在WD QQ110中的用户接口设备QQ132的类型而变化。例如,如果WD QQ110是智能电话,则交互可以经由触摸屏;如果WD QQ110是智能仪表,则交互可以通过提供使用情况(例如,使用的加仑数)的屏幕或提供可听警报(例如,如果检测到烟雾)的扬声器。用户接口设备QQ132可以包括输入接口、装置和电路,以及输出接口、装置和电路。用户接口设备QQ132被配置成允许将信息输入到WDQQ110中,并且连接到处理电路QQ120以允许处理电路QQ120处理输入信息。用户接口设备QQ132可以包括例如麦克风、接近或其他传感器、按键/按钮、触摸显示器、一个或多个相机、USB端口或其他输入电路。用户接口设备QQ132还被配置成允许从WD QQ110输出信息,并且允许处理电路QQ120从WD QQ110输出信息。用户接口设备QQ132可以包括例如扬声器、显示器、振动电路、USB端口、耳机接口或其他输出电路。使用用户接口设备QQ132的一个或多个输入和输出接口、装置和电路,WD QQ110可以与终端用户和/或无线网络通信,并允许它们受益于本文描述的功能。
辅助设备QQ134可操作以提供通常可不由WD执行的更特定的功能性。这可以包括用于针对各种目的进行测量的专用传感器、用于诸如有线通信的附加类型的通信的接口等。辅助设备QQ134的组件的包含和类型可以根据实施例和/或场景而变化。
在一些实施例中,电源QQ136可以是电池或电池组的形式。也可以使用其它类型的电源,例如外部电源(例如,电插座)、光伏器件或电池。WD QQ110还可以包括功率电路QQ137,用于将电力从电源QQ136输送到WD QQ110的各个部分,所述各个部分需要来自电源QQ136的功率以执行本文描述或指示的任何功能性。在某些实施例中,功率电路QQ137可以包括电力管理电路。功率电路QQ137可另外或备选地可操作以从外部电源接收电力;在这种情况下,WD QQ110可以经由输入电路或诸如电力电缆的接口可连接到外部电源(诸如电插座)。在某些实施例中,功率电路QQ137也可以可操作以从外部电源向电源QQ136输送电力。这可以是例如用于电源QQ136的充电。功率电路QQ137可以对来自电源QQ136的功率进行任何格式化、转换或其它修改,以使功率适合于被供电的WD QQ110的相应组件。
图29示出了根据本文描述的各个方面的UE的一个实施例。如本文所使用的,用户设备或UE可以不必具有拥有和/或操作相关设备的人类用户意义上的用户。相反,UE可以表示旨在销售给人类用户或由人类用户操作的设备,但是该设备可以不与特定人类用户相关联或者最初可以不与特定人类用户相关联。UE还可以包括由第3代合作伙伴计划(3GPP)标识的任何UE,包括不预期出售给人类用户或由人类用户操作的NB-IoT UE。如图29所示,UEQQ200是WD的一个示例,该WD被配置用于根据由第3代合作伙伴计划(3GPP)发布的一个或多个通信标准(例如,3GPP的GSM、UMTS、LTE和/或5G标准)进行通信。如前所述,术语WD和UE可以可互换地使用。因此,虽然图29是UE,但是本文讨论的组件同样适用于WD,反之亦然。
在图29中,UE QQ200包括处理电路QQ201,其可操作地耦合到输入/输出接口QQ205、射频(RF)接口QQ209、网络连接接口QQ211、包括随机存取存储器(RAM) QQ217、只读存储器(ROM) QQ219以及存储介质QQ221等的存储器QQ215、通信子系统QQ231、电源QQ233、和/或任何其他组件、或其任何组合。存储介质QQ221包括操作系统QQ223、应用程序QQ225和数据QQ227。在其它实施例中,存储介质QQ221可包括其它类似类型的信息。某些UE可以利用图29中所示的所有组件,或者仅利用组件的子集。组件之间的集成度可以随UE而变。此外,某些UE可以包含组件的多个实例,诸如多个处理器、存储器、收发器、传送器、接收器等。
在图29中,处理电路QQ201可以被配置成处理计算机指令和数据。处理电路QQ201可以被配置成实现可操作以执行作为机器可读计算机程序存储在存储器中的机器指令的任何顺序状态机,诸如(例如,在分立逻辑、FPGA、ASIC等中的)一个或多个硬件实现的状态机;可编程逻辑连同适当的固件;一个或多个存储的程序、通用处理器,诸如微处理器或数字信号处理器(DSP)连同适当的软件;或上述的任意组合。例如,处理电路QQ201可以包括两个中央处理单元(CPU)。数据可以采取适合于供计算机使用的形式的信息。
在所描绘的实施例中,输入/输出接口QQ205可以被配置成向输入装置、输出装置或输入和输出装置提供通信接口。UE QQ200可以被配置成经由输入/输出接口QQ205使用输出装置。输出装置可以使用与输入装置相同类型的接口端口。例如,USB端口可用于向UEQQ200提供输入和从其输出。输出装置可以是扬声器、声卡、视频卡、显示器、监测器、打印机、致动器、发射器、智能卡、另一输出设备或其任何组合。UE QQ200可以被配置成经由输入/输出接口QQ205使用输入装置,以允许用户将信息捕获到UE QQ200中。输入装置可以包括触敏或存在敏感显示器、相机(例如,数字相机、数字摄像机、网络相机等)、麦克风、传感器、鼠标、跟踪球、方向垫、跟踪垫、滚轮、智能卡等。存在敏感显示器可以包括电容或电阻触摸传感器以感测来自用户的输入。传感器可以是例如加速度计、陀螺仪、倾斜传感器、力传感器、磁力计、光传感器、接近传感器、另一类似传感器或其任何组合。例如,输入装置可以是加速度计、磁力计、数字相机、麦克风和光传感器。
在图29中,RF接口QQ209可以被配置成向RF组件提供通信接口,所述RF组件诸如是传送器、接收器和天线。网络连接接口QQ211可配置成提供到网络QQ243a的通信接口。网络QQ243a可包括有线和/或无线网络,诸如局域网(LAN)、广域网(WAN)、计算机网络、无线网络、电信网络、另一类似网络或其任何组合。例如,网络QQ243a可包括Wi-Fi网络。网络连接接口QQ211可以被配置成包括接收器和传送器接口,用于根据一个或多个通信协议,例如以太网、TCP/IP、SONET、ATM等,通过通信网络与一个或多个其他装置进行通信。网络连接接口QQ211可以实现适合于通信网络链路(例如,光、电等)的接收器和传送器功能性。传送器和接收器功能性可以共享电路组件、软件或固件,或者可以单独实现。
RAM QQ217可以被配置成经由总线QQ202对接到处理电路QQ201,以在执行诸如操作系统、应用程序和装置驱动器之类的软件程序期间提供数据或计算机指令的存储或高速缓存。ROM QQ219可以被配置成向处理电路QQ201提供计算机指令或数据。例如,ROM QQ219可以被配置成存储用于基本系统功能的不变的低级系统代码或数据,所述基本系统功能诸如基本输入和输出(I/O)、启动或从键盘接收键击,其被存储在非易失性存储器中。存储介质QQ221可以被配置成包括存储器,例如RAM、ROM、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁盘、光盘、软盘、硬盘、可移除盒式磁带或闪速驱动器。在一个示例中,存储介质QQ221可被配置成包括操作系统QQ223、诸如web浏览器应用、窗口小部件或小工具引擎或另一应用的应用程序QQ225、以及数据文件QQ227。存储介质QQ221可以存储各种操作系统或操作系统的组合中的任何一个,以供UEQQ200使用。
存储介质QQ221可以被配置成包括多个物理驱动单元,例如独立盘冗余阵列(RAID)、软盘驱动器、闪存、USB闪速驱动器、外部硬盘驱动器、拇指驱动器、笔驱动器、键驱动器、高密度数字多功能盘(HD-DVD)光盘驱动器、内部硬盘驱动器、蓝光光盘驱动器、全息数字数据存储(HDDS)光盘驱动器、外部微型双列直插式存储器模块(DIMM)、同步动态随机存取存储器(SDRAM)、外部微型DIMM SDRAM、诸如用户身份模块或可移除用户身份(SIM/RUIM)模块的智能卡存储器、其他存储器、或其任意组合。存储介质QQ221可允许UE QQ200访问存储在暂时性或非暂时性存储介质上的计算机可执行指令、应用程序等,卸载数据或上传数据。诸如利用通信系统的制品之类的制品可以有形地体现在存储介质QQ221中,其可以包括装置可读介质。
在图29中,处理电路QQ201可被配置成使用通信子系统QQ231与网络QQ243b通信。网络QQ243a和网络QQ243b可以是相同的一个或多个网络或者不同的一个或多个网络。通信子系统QQ231可被配置成包括用于与网络QQ243b通信的一个或多个收发器。例如,通信子系统QQ231可以被配置成包括一个或多个收发器,所述一个或多个收发器用于根据一个或多个通信协议(例如IEEE802.QQ2、CDMA、WCDMA、GSM、LTE、UTRAN、WiMax等)与能够进行无线通信的另一装置(例如无线接入网(RAN)的另一WD、UE或基站)的一个或多个远程收发器进行通信。每个收发器可以包括传送器QQ233和/或接收器QQ235,以分别实现适合于RAN链路的传送器或接收器功能性(例如,频率分配等)。此外,每个收发器的传送器QQ233和接收器QQ235可以共享电路组件、软件或固件,或者备选地可以单独实现。
在所示实施例中,通信子系统QQ231的通信功能可以包括数据通信、语音通信、多媒体通信、诸如蓝牙的短距离通信、近场通信、诸如使用全球定位系统(GPS)来确定位置的基于位置的通信、另一类似的通信功能、或其任意组合。例如,通信子系统QQ231可以包括蜂窝通信、Wi-Fi通信、蓝牙通信和GPS通信。网络QQ243b可包括有线和/或无线网络,诸如局域网(LAN)、广域网(WAN)、计算机网络、无线网络、电信网络、另一类似网络或其任何组合。例如,网络QQ243b可以是蜂窝网络、Wi-Fi网络和/或近场网络。电源QQ213可以被配置成向UEQQ200的组件提供交流(AC)或直流(DC)电。
本文描述的特征、益处和/或功能可以在UE QQ200的组件之一中实现,或者可以在UE QQ200的多个组件之间划分。此外,本文所述的特征、益处和/或功能可以用硬件、软件或固件的任何组合来实现。在一个示例中,通信子系统QQ231可以被配置成包括本文描述的任何组件。此外,处理电路QQ201可以被配置成通过总线QQ202与任何这样的组件通信。在另一示例中,任何这样的组件可以由存储在存储器中的程序指令表示,程序指令当由处理电路QQ201执行时执行本文描述的相应功能。在另一示例中,任何这样的组件的功能性可以在处理电路QQ201和通信子系统QQ231之间划分。在另一示例中,任何这样的组件的非计算密集型功能可以在软件或固件中实现,并且计算密集型功能可以在硬件中实现。
图30是示出其中可以虚拟化由一些实施例实现的功能的虚拟化环境QQ300的示意性框图。在本上下文中,虚拟化意味着创建可以包括虚拟化硬件平台、存储装置和联网资源的装置或设备的虚拟版本。如本文所使用的,虚拟化可以应用于节点(例如,虚拟化基站或虚拟化无线电接入节点)或装置(例如,UE、无线装置或任何其他类型的通信装置)或其组件,并且涉及其中功能性的至少一部分被实现为一个或多个虚拟组件(例如,经由在一个或多个网络中的一个或多个物理处理节点上执行的一个或多个应用、组件、功能、虚拟机或容器)的实现。
在一些实施例中,本文所述的一些或全部功能可以实现为由一个或多个虚拟机执行的虚拟组件,所述虚拟机在由一个或多个硬件节点QQ330托管的一个或多个虚拟环境QQ300中实现。此外,在虚拟节点不是无线电接入节点或者不需要无线电连接性(例如,核心网络节点)的实施例中,则网络节点可以被完全虚拟化。
这些功能可以由一个或多个应用QQ320 (其可以备选地被称为软件实例、虚拟器具、网络功能、虚拟节点、虚拟网络功能等)来实现,该一个或多个应用QQ320可操作以实现本文公开的一些实施例的一些特征、功能和/或益处。应用QQ320在虚拟化环境QQ300中运行,该虚拟化环境QQ300提供包括处理电路QQ360和存储器QQ390的硬件QQ330。存储器QQ390包含可由处理电路QQ360执行的指令QQ395,由此应用QQ320可操作以提供本文公开的特征、益处和/或功能中的一个或多个。
虚拟化环境QQ300包括通用或专用网络硬件装置QQ330,其包括一个或多个处理器或处理电路QQ360的集合,其可以是商业现货供应(COTS)处理器、专用集成电路(ASIC)或包括数字或模拟硬件组件或专用处理器的任何其他类型的处理电路。每个硬件装置可以包括存储器QQ390-1,其可以是用于暂时存储指令QQ395或由处理电路QQ360执行的软件的非永久性存储器。每个硬件装置可以包括一个或多个网络接口控制器(NIC) QQ370,也称为网络接口卡,其包括物理网络接口QQ380。每个硬件装置还可以包括非暂时性、永久性、机器可读的存储介质QQ390-2,其中存储有软件QQ395和/或可由处理电路QQ360执行的指令。软件QQ395可以包括任何类型的软件,包括用于实例化一个或多个虚拟化层QQ350的软件(也称为管理程序)、用于执行虚拟机QQ340的软件以及允许其执行关于本文描述的一些实施例描述的功能、特征和/或益处的软件。
虚拟机QQ340包括虚拟处理、虚拟存储器、虚拟联网或接口以及虚拟存储,并且可以由对应的虚拟化层QQ350或管理程序运行。虚拟器具QQ320的实例的不同实施例可以在一个或多个虚拟机QQ340上实现,并且可以用不同方式进行实现。
在操作期间,处理电路QQ360执行软件QQ395以实例化有时可被称为虚拟机监测器(VMM)的管理程序或虚拟化层QQ350。虚拟化层QQ350可以向虚拟机QQ340呈现看似为联网硬件的虚拟操作平台。
如图30所示,硬件QQ330可以是具有通用或专用组件的独立网络节点。硬件QQ330可以包括天线QQ3225,并且可以经由虚拟化来实现一些功能。备选地,硬件QQ330可以是较大硬件集群(例如,诸如在数据中心或客户端设备(CPE)中)的一部分,其中许多硬件节点一起工作并且经由管理和协调(MANO) QQ3100来管理,其中,管理和协调监督应用QQ320的生命周期管理。
硬件的虚拟化在一些上下文中被称为网络功能虚拟化(NFV)。NFV可用于将许多网络设备类型合并到工业标准的大容量服务器硬件、物理交换机和物理存储装置以及客户端设备上,其中物理存储装置可位于数据中心中。
在NFV的上下文中,虚拟机QQ340可以是运行程序的物理机器的软件实现,就好像它们正在物理的非虚拟化机器上执行一样。虚拟机QQ340中的每个以及执行该虚拟机的硬件QQ330的一部分(其是专用于该虚拟机的硬件和/或由该虚拟机与其它虚拟机QQ340共享的硬件)形成单独的虚拟网络元件(VNE)。
仍然在NFV的上下文中,虚拟网络功能(VNF)负责处置在硬件联网基础设施QQ330之上的一个或多个虚拟机QQ340中运行的并且对应于图30中的应用QQ320的特定网络功能。
在一些实施例中,各自包括一个或多个传送器QQ3220和一个或多个接收器QQ3210的一个或多个无线电单元QQ3200可以耦合到一个或多个天线QQ3225。无线电单元QQ3200可以经由一个或多个适当的网络接口直接与硬件节点QQ330通信,并且可以与虚拟组件结合使用,以便为虚拟节点提供无线电能力,硬件节点QQ330例如无线电接入节点或基站。
在一些实施例中,一些信令可以通过使用控制系统QQ3230来实现,备选地,控制系统QQ3230可以用于硬件节点QQ330和无线电单元QQ3200之间的通信。
图31示出了根据一些实施例的经由中间网络连接到主机计算机的电信网络。参考图31,根据实施例,通信系统包括电信网络QQ410(例如3GPP类型的蜂窝网络)其包括接入网络QQ411(例如无线接入网络)以及核心网络QQ414。接入网QQ411包括多个基站QQ412a、QQ412b、QQ412c,例如NB、eNB、gNB或其它类型的无线接入点,每个基站定义相应的覆盖区域QQ413a、QQ413b、QQ413c。每个基站QQ412a、QQ412b、QQ412c可通过有线或无线连接QQ415连接到核心网络QQ414。位于覆盖区域QQ413c中的第一UE QQ491被配置成无线地连接到对应的基站QQ412c或由QQ412c寻呼。覆盖区域QQ413a中的第二UE QQ492可无线连接到对应基站QQ412a。虽然在该示例中示出了多个UE QQ491、QQ492,但是所公开的实施例同样适用于单个UE在覆盖区域中或者单个UE连接到对应的基站QQ412的情况。
电信网络QQ410本身连接到主机计算机QQ430,其可以体现在独立服务器、云实现的服务器、分布式服务器的硬件和/或软件中,或者体现为服务器场中的处理资源。主机计算机QQ430可以在服务提供商的所有权或控制之下,或者可以由服务提供商或代表服务提供商来操作。电信网络QQ410和主机计算机QQ430之间的连接QQ421和QQ422可以直接从核心网络QQ414延伸到主机计算机QQ430,或者可以经由可选的中间网络QQ420。中间网络QQ420可以是公共、专用或托管网络中的一个或多于一个的组合;中间网络QQ420,如果有的话,可以是骨干网或因特网;特别地,中间网络QQ420可以包括两个或更多个子网络(未示出)。
图31的通信系统作为整体实现了连接的UE QQ491、QQ492与主机计算机QQ430之间的连接。该连接性可以被描述为过顶(OTT)连接QQ450。主机计算机QQ430和连接的UEQQ491、QQ492被配置成使用接入网络QQ411、核心网络QQ414、任何中间网络QQ420和可能另外的基础设施(未示出)作为中介,经由OTT连接QQ450来传递数据和/或信令。OTT连接QQ450可以是透明的,这是因为OTT连接QQ450所经过的参与通信设备不知道上行链路和下行链路通信的路由。例如,可以不向基站QQ412通知或不需要通知具有源自主机计算机QQ430的要转发(例如,切换)到连接的UE QQ491的数据的进入下行链路通信的过去路由。类似地,基站QQ412不需要知道从UE QQ491向主机计算机QQ430发起的外出上行链路通信的未来路由。
图32示出了根据一些实施例的通过部分无线连接经由基站与用户设备通信的主机计算机。根据实施例,现在将参考图32描述在前面的段落中讨论的UE、基站和主机的示例实现。在通信系统QQ500中,主机计算机QQ510包括硬件QQ515,其包括被配置成建立和维持与通信系统QQ500的不同通信装置的接口的有线或无线连接的通信接口QQ516。主机计算机QQ510还包括处理电路QQ518,其可以具有存储和/或处理能力。特别地,处理电路QQ518可以包括适合于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或这些的组合(未示出)。主机计算机QQ510还包括软件QQ511,其存储在主机计算机QQ510中或可由其访问,并且可由处理电路QQ518执行。软件QQ511包括主机应用QQ512。主机应用QQ512可操作用以向远程用户提供服务,例如经由终止于UE QQ530和主机计算机QQ510的OTT连接QQ550连接的UE QQ530。在向远程用户提供服务时,主机应用QQ512可以提供使用OTT连接QQ550传送的用户数据。
通信系统QQ500还包括基站QQ520,其在电信系统中被提供并且包括使其能够与主机计算机QQ510和UE QQ530通信的硬件QQ525。硬件QQ525可以包括用于建立和维持与通信系统QQ500的不同通信装置的接口的有线或无线连接的通信接口QQ526,以及用于建立和维持至少与位于由基站QQ520服务的覆盖区域(图32中未示出)中的UE QQ530的无线连接QQ570的无线电接口QQ527。通信接口QQ526可以被配置成便于与主机计算机QQ510的连接QQ560。连接QQ560可以是直接的,或者它可以通过电信系统的核心网络(图32中未示出)和/或通过电信系统外部的一个或多个中间网络。在所示的实施例中,基站QQ520的硬件QQ525还包括处理电路QQ528,其可以包括适合于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或这些的组合(未示出)。基站QQ520还具有存储在内部或可经由外部连接可访问的软件QQ521。
通信系统QQ500还包括已经提到的UE QQ530。其硬件QQ535可以包括无线电接口QQ537,其被配置成建立和维持与服务UE QQ530当前所处的覆盖区域的基站的无线连接QQ570。UE QQ530的硬件QQ535还包括处理电路QQ538,其可以包括适合于执行指令的一个或多个可编程处理器、专用集成电路、现场可编程门阵列或这些的组合(未示出)。UE QQ530还包括软件QQ531,其存储在UE QQ530中或可由其访问,并且可由处理电路QQ538执行。软件QQ531包括客户端应用QQ532。客户端应用QQ532可操作以在主机QQ510的支持下经由UEQQ530向人类或非人类用户提供服务。在主机计算机QQ510中,执行中的主机应用QQ512可以经由终止于UE QQ530和主机计算机QQ510的OTT连接QQ550与执行中的客户端应用QQ532通信。在向用户提供服务时,客户端应用QQ532可以从主机应用QQ512接收请求数据,并且响应于该请求数据提供用户数据。OTT连接QQ550可以传递请求数据和用户数据两者。客户端应用QQ532可以与用户交互以生成其提供的用户数据。
注意,图32中所示的主机计算机QQ510、基站QQ520和UE QQ530可以分别与图31的主机计算机QQ430、基站QQ412a、QQ412b、QQ412c之一和UE QQ491、QQ492之一相似或相同。也就是说,这些实体的内部工作可以如图32所示,并且独立地,周围的网络拓扑可以是图31的网络拓扑。
在图32中,OTT连接QQ550被抽象地绘制以示出主机计算机QQ510和UE QQ530之间经由基站QQ520的通信,而没有明确地参考任何中间装置以及经由这些装置的消息的精确路由。网络基础设施可以确定路由,其可以被配置成对UE QQ530或对操作主机计算机QQ510的服务提供商或两者隐藏该路由。当OTT连接QQ550是活动的时,网络基础设施可以进一步做出如下决定:通过该决定,(例如,基于网络的负载平衡考虑或重新配置)它动态地改变路由。
UE QQ530和基站QQ520之间的无线连接QQ570是根据贯穿本公开所描述的实施例的教导。各种实施例中的一个或多个实施例使用OTT连接QQ550来改进提供给UE QQ530的OTT服务的性能,其中无线连接QQ570形成最后的分段。更准确地说,这些实施例的教导可以提高网络性能和数据准确性,并且由此提供诸如更好的响应性和减少的用户等待时间的益处。
可以提供测量过程,以便监测数据速率、时延和一个或多个实施例改进的其它因素。还可以存在可选的网络功能性以便响应于测量结果的变化,重新配置主机计算机QQ510和UE QQ530之间的OTT连接QQ550。用于重新配置OTT连接QQ550的测量过程和/或网络功能性可以在主机计算机QQ510的软件QQ511和硬件QQ515中或者在UE QQ530的软件QQ531和硬件QQ535中或者在这两者中实现。在实施例中,传感器(未示出)可以部署在OTT连接QQ550所经过的通信装置中或者与该通信装置相关联地部署;传感器可以通过提供上面举例说明的监测的量的值,或者提供软件QQ511、QQ531可以从其计算或估计监控量的其他物理量的值来参与测量过程。OTT连接QQ550的重新配置可以包括消息格式、重传设置、优选路由等;重新配置不需要影响基站QQ520,并且它对于基站QQ520可能是未知的或察觉不到的。这样的过程和功能可以是本领域已知的和实践的。在某些实施例中,测量可以涉及专用UE信令,其促进主机计算机QQ510的吞吐量、传播时间、时延等的测量。测量可以在该软件QQ511和QQ531使得在其监测传播时间、错误等的同时使用OTT连接QQ550来传送消息(特别是空或“伪”消息)时实现。
图33是示出根据一个实施例的在包括主机计算机、基站和用户设备的通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,它们可以是参考图31和32描述的那些,为了本公开的简化,在本部分中将仅包括参照图33的附图。在步骤QQ610中,主机计算机提供用户数据。在步骤QQ610的子步骤QQ611(其可以是可选的)中,主机计算机通过执行主机应用程序来提供用户数据。在步骤QQ620中,主机计算机向UE发起携带用户数据的传输。在步骤QQ630 (其可以是可选的)中,根据贯穿本公开描述的实施例的教导,基站向UE传送在主机计算机发起的传输中携带了的用户数据。在步骤QQ640 (其也可以是可选的)中,UE执行与由主机计算机执行的主机应用相关联的客户端应用。
图34是示出根据一个实施例的在包括主机计算机、基站和用户设备的通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,它们可以是参考图31和32描述的那些,为了本公开的简化,在该部分中将仅包括对图34的附图参考。在该方法的步骤QQ710中,主机计算机提供用户数据。在可选的子步骤(未示出)中,主机计算机通过执行主机应用来提供用户数据。在步骤QQ720中,主机计算机向UE发起携带用户数据的传输。根据本公开通篇描述的实施例的教导,传输可以经由基站传递。在步骤QQ730 (其可以是可选的)中,UE接收在传输中携带的用户数据。
图35是示出根据一个实施例的在包括主机计算机、基站和用户设备的通信系统中实现的方法的流程图。该通信系统包括主机、基站和UE,它们可以是参考图31和32描述的那些,为了本公开的简化,在本部分中将仅包括对图35的附图参考。在步骤QQ810 (其可以是可选的)中,UE接收由主机计算机提供的输入数据。另外地或备选地,在步骤QQ820中,UE提供用户数据。在步骤QQ820的子步骤QQ821 (其可以是可选的)中,UE通过执行客户端应用来提供用户数据。在步骤QQ810的子步骤QQ811 (其可以是可选的)中,UE执行客户端应用,该客户端应用响应于由主机计算机提供的接收输入数据而提供用户数据。在提供用户数据时,所执行的客户端应用还可以考虑从用户接收的用户输入。不管提供了用户数据所采用的具体方式如何,UE在子步骤QQ830 (其可以是可选的)中发起用户数据到主机计算机的传输。在该方法的步骤QQ840中,根据贯穿本公开描述的实施例的教导,主机计算机接收从UE传送的用户数据。
图36是示出根据一个实施例的在包括主机计算机、基站和用户设备的通信系统中实现的方法的流程图。该通信系统包括主机计算机、基站和UE,它们可以是参考图31和32描述的那些。为了本公开的简化,在该部分中将仅包括对图36的附图参考。在步骤QQ910 (其可以是可选的)中,根据贯穿本公开描述的实施例的教导,基站从UE接收用户数据。在步骤QQ920 (其可以是可选的)中,基站发起接收用户数据到主机计算机的传输。在步骤QQ930(其可以是可选的),主机计算机接收在由基站发起的传输中携带的用户数据。
本文公开的任何适当的步骤、方法、特征、功能或益处可以通过一个或多个虚拟装置的一个或多个功能单元或模块来执行。每个虚拟装置可以包括多个这些功能单元。这些功能单元可以经由处理电路来实现,该处理电路可以包括一个或多个微处理器或微控制器,以及其它数字硬件,该其它数字硬件可以包括数字信号处理器(DSP)、专用数字逻辑等。处理电路可以被配置成执行存储在存储器中的程序代码,存储器可以包括一种或多种类型的存储器,诸如只读存储器(ROM)、随机存取存储器(RAM)、高速缓冲存储器、闪存装置、光存储装置等。存储在存储器中的程序代码包括用于执行一个或多个电信和/或数据通信协议的程序指令以及用于执行本文描述的一个或多个技术的指令。在一些实现中,处理电路可以用于使相应的功能单元执行根据本公开的一个或多个实施例的对应功能。
附加信息
以下附加信息讨论FEC解码和信道估计中的机器智能,包括使用可以被训练并用于根据本公开的示例进行解码的神经网络。附加信息讨论如上所引入的示例通信系统和神经网络。
用于通信系统的分析模型和基于功能块的结构限制了其端到端性能。使用数据驱动方法从机器学习中学习用于通信系统的判别模型可以提高性能。基于机器学习的算法可以在通信系统设计中产生可靠性(低误码率)、生成性(generatility)、低时延(低复杂度)和能量效率。
所提出的方法是利用信息论和无线通信领域中已经获得的知识来设计用于专门任务的深度学习算法。FEC解码:通过线性分组码的因子图的和积算法(SPA)。相位估计:M-PSK调制的单载波AWGN信道中的相位误差的时间序列预测。通过信道参数和码约束的因子图的联合优化来解码。
解码器设计-编码理论、因子图和解码算法的引入
图1示出AWGN信道模型。是编码函数,并且/>定义元素/>上的码约束。
二进制字段F2上的线性分组码
长度为n、基数(cardinality)为M的二进制字段F2上的码C(n,M)是来自的M个元素的集合,即,总共2 n 个可能码字中的M个码字。
C(n,M)的码率是每个传输符号或码字比特的信息比特量的比率,即,
两个码字u、v之间的汉明距离d H uv的位置不同的数目。
码C的最小距离d min 是任何码字之间的最小汉明距离
可以使用码C纠正的最大错误数由下式给出:
F2上的线性分组码C是在n元组加法下定义的所有码字的闭集,即x-x'∈C、∀x,x'∈C。
长度为n且维数为k的线性码使用2 k 个码字跨越2 n 的子空间。线性码通常表示为C[n, k]。
线性码C的生成矩阵(generator matrix)包含C的k个线性独立行。
奇偶校验矩阵(parity matrix)形成对偶码(dual code)的基础
ML/MAP解码和复杂度
其中是指示符函数,如果f为真,则指示器函数为1,否则为0。这里,我们假设信道是无记忆的。
为了找到最佳码字y¯,必须检查所有可能的码字以找到满足等式2的码字。ML解码问题是完全NP的。对码C[n,k]进行ML解码的复杂度由下式给出:
其中c是实现相关常数。ML解码的复杂度是关于n的指数。迭代解码方法提供了用于以低复杂度进行解码的次优方法。
因子图(factor graph)
因子图提供了一种系统化方法,以应用分配律(ab + ac = a(b + c))来降低多变量函数上的边缘化的计算复杂度。
例如考虑具有因式分解形式的函数f
f(x1,x2,x3,x4,x5) = f1(x1,x5) f2(x1,x4) f3(x2,x3,x4) f4(x4)
f(x1)可以通过将其它变量边缘化来计算。
其中~x1表示含有除x1外的所有xi的集合。
图37示出函数f(x1,x2,x3,x4,x5)的因子图。
因子图是二分图,其中变量及其函数可以被堆叠到两列连接节点中。
图38示出了f的二分图表示。
经由消息传递的边缘化
因子图上的消息传递算法通过沿图的边发送消息(X的函数)来工作。消息表示函数的部分边缘,并且这些部分被组合以形成整个函数的边缘。
从变量(x)到本地函数(f)的消息,
从本地函数(f)到变量(x)的消息,
图39示出函数f(x1,x2,x3,x4,x5)的因子图。
由具有n-k个校验节点和n个变量节点的奇偶校验矩阵来确定码的二分图或Tanner图。如果H[i,j] = 1,则变量节点vi与校验节点cj连接,变量节点v发送消息作为由下式给出的似然比:
其中ln是以e为底的对数,引入它以获得求和而不是乘积的简化表达式。校验节点c通过对连接到c的除v之外的所有变量节点进行边缘化来计算所连接的变量节点v的置信度。
其中第二表达式是针对获得的并且使用表达式/>来简化。
变量节点v将从所有c∈C v 接收的LLR值与从接收信号初始设置的LLR值相加。在进一步的迭代中,由v发送到c的LLR值将不包含在前一步骤中cv计算的LLR值。
图2示出了所示出的汉明(7,4)码的奇偶校验矩阵的Tanner图。
带圈的Tanner图
无圈码的限制
具有无圈tanner图的码率r的任何二进制线性码C[n,k]由具有汉明权重2的至少个码字组成。低汉明权重导致小的d min ,并且因此导致表现差的码,因为可纠正的比特数为t∝d min
用于带圈的Tanner图的SPA
SPA不对带圈的Tanner图执行MAP解码。然而,SPA尽管不是最佳的,但对诸如LDPC码的某些系列的码提供了优异的性能,这些码是以减少小围长的圈的方式设计的。SPA算法的迭代性质增加了解码器的时延。对于具有许多小围长圈的码,例如BCH或极性代码,SPA表现得差。
图40示出了带圈的Tanner图上的SPA。节点v0和v2与c0和c1形成圈。节点v0接收的信息包含v2的信息,并且在下一次迭代中,v2将从v0接收回它自己的信息。对于v0或v2的边缘化将没有确切的表达式。
本讨论的相关工作包括使用SPA的迭代解码:二进制线性码的软迭代解码(Hagenauer等,二进制块和卷积码的迭代解码,1996),以及通过重新参数化来计算带圈的图中的近似边缘以获得备选树结构(Wainwright等人的Tree-based reparameterizationframework for analysis of sum-product and related algorithms,2003)。进一步的相关工作包括使用机器学习来对结构码进行解码:使用深度神经网络来学习线性码的结构(Nachmani等人的Learning to Decode Linear Codes Using Deep Learning,2016),并且使用该代码结构来设计用于实现SPA的深度神经网络(Gruber等人的On Deep Learning-Based Channel Decoding,2017)。
本公开提供了对用于对线性分组码解码的深度学习方法的分析、神经网络上的和积算法的实现以及对在训练基于神经网络的解码算法中使用的超参数的分析的贡献。
边缘上的和积算法
考虑Tanner图的展开版本,展开2L次对应于SPA的L次迭代。消息xi,e在将变量节点v连接到图的展开版本的第i(i = 1,2,...,2L)层中的校验节点c的边e = (v,c)上传递。最初,变量节点v将传递LLR值(参见(4))。对于i的奇数值(参见6),
对于i的偶数值(参见5),
在层2L的最终输出是通过将所有到达v的消息相加而获得的,
图41示出了Tanner图的边上的SPA。在任何第i(奇数)次迭代,使用等式8,从来自v0 (在图的左侧以粗体示出)上入射的所有边的信息计算在边e =(v0;c0)(在图的左侧以虚线示出)上发送的信息。在下一次迭代中,当i是偶数时,e =(v0;c0)(在图的右侧以虚线示出)上发送信息。
等式8、9、10可以被重写以便包括可以由神经网络学习的权重。在第一层,我们在一个步骤中执行等式8和9,
在任何奇数层i处,
在任何偶数层i处,
在最后一层处,
其中σ= (1 + e-x )-1是S形函数,其被相加以得到网络的输出作为比特的概率。可可学习的权重是:W i,v W i,e,e' W 2L +1,v W 2L +1,v,e'
图3示出了图2中给出的用于汉明(7,4)码的神经网络解码器架构,其中9个隐藏层对应于SPA算法的5次完全迭代。以绿色示出的第一隐藏层在单个节点处应用奇数层和偶数层的操作(参见(11))。以红色示出的隐藏层是奇数隐藏层(参见(12)),以蓝色示出的是偶数隐藏层(参见(13))。奇数隐藏层节点旁边的粗体黑色矩形表示输入LLR。
网络参数
损失函数:
交叉熵损失(最后一层的输出):
其中t v ∈{0,1},v = [1,...,N ]是目标比特值,并且ov∈(0,1]是由网络的最后一层输出的概率。
交叉熵多重损失(来自每个偶数层的输出的损失的和):
其中,o i,v i = [1,3, ...,2L-1 ]是奇数层i处的输出,它是根据x i,e 使用下式计算的:
具有校正子校验的交叉熵损失函数:
其中 oˆ i ,v 是第i层处的硬判决向量。
优化器:具有自适应学习率的随机梯度下降优化器:RMS-Prop优化器,学习率:0.001
网络架构
前馈:在每次迭代分别进行的训练权重
循环神经网络:每次迭代训练相同的权重
训练输入和目标
零码字:SPA的性能仅取决于接收比特中的错误模式,但与它们的实际值无关。
网络的输入是利用BPSK调制,即,,为AWGN信道计算的LLR值。
输出是使用损失函数与每个比特的目标值相比较的该比特的概率。
SPA迭代次数(2L)
每次迭代学习的权重的数目∝边的数目×迭代的数目。
权重初始化
固定权重初始化:对于连接边,权重= 1.0
随机权重初始化:在连接边上的随机正态权重初始化
训练集SNR
噪声信道的SNR在训练输入中造成随机错误模式。SNR的极值将导致太多或太少的错误,因此限制网络从码中的结构学习错误模式。训练数据可以使用以下来创建:
1)固定的SNR,
2)SNR的范围,
3)降低或增加整个训练的SNR。
测试的SNR值范围:[ -2;6)
正则化:
LLR值在输入处被剪切,并且偶数层在范围[-20;20]。这对于将数值保持在计算极限内是必要的。将权重正则化添加到损失函数将防止数据过拟合模型。
L1正则化:将权重推向零导致稀疏性。
L2正则化:保持权重的数值接近于零。
权重衰减系数:影响规则化强度的乘性因子。
通过对神经网络解码器(NND)和SPA的BER的比求平均,计算训练SNR值ρt的归一化验证分数,其中使用在SNR ρt下训练的网络在测试SNR值ρv的范围内评估所述BER比。
图13示出了训练的(Polar [32,16])SNR值的比较。
图14、图14是示出根据不同参数设置的性能比较的曲线图。
如上所述的图21至27示出了根据本公开的示例可以实现的结果。
结论
神经网络能够从线性分组码的结构中学习。通过学习在边上引入互补权重,减少诸如圈或陷阱集的Tanner图伪像的影响来提高性能。各种参数影响训练和测试性能。这些参数对于不同系列的码可能是不同的。
未来工作
超参数优化:为不同系列的码找出最佳的参数集。在具有多径衰落和相位噪声的更实际的信道中的神经网络解码器的性能。
信道同步
动机
深度学习算法可以学习和跟踪通信信道中的时变模式。相位误差同步在高频工作的系统中是关键的。将信道同步器和解码器加入到单个块中可以提高性能。
途径
用于信道同步的深度学习算法。一般的码辅助载波相位估计或码辅助信道估计。分析存在连续和离散随机变量的情况下用于联合优化的不同方法
图42示出了系统模型。相位噪声e 是由于振荡器中的噪声而添加的。振荡器中的相位噪声是累加器过程,其可以被建模为随机游走,即θ t = (θ t-1 + w k )mod2π,w k ~N(0,σ 2 w)。在单载波系统中,相位噪声导致复符号任意旋转θ,这导致解码符号时的错误。我们使用非偏移M-PSK调制方案。
相位误差:理论模型
振荡器输出通常受到短期和长期不稳定性的干扰。来自振荡器的相位噪声可以被分类为散粒噪声(S (f ) = 2qI)、热噪声(S (f ) = 4kT/R)和闪烁噪声(S (f ) 1/f )。
简化的启发式相位噪声模型。
恒定相位模型θt= θ 0(21)
其中θ 0∈[0,2π)。
随机游走相位模型θ t = (θ t-1 + w k )mod2π(22)
其中w k ~N(0,σ 2 w)。
其中正在强制执行码约束。
对于随机游走相位模型,
因子图表示
图43示出解码器和相位估计器的因子图。yi是接收信号,Z i = X i e jθi X i 是符号,B i (j) 是来自第i个符号的比特值。
相位模型
图44示出了恒定相位模型的因子图,即,(θt = θ 0)。同等节点跨连接节点复制相同的消息。
图45示出了随机游走相位模型的因子图,即,(θ t = θ t-1 + w t w t ~N(0,σ 2 w))。p(θ i|θi−1)由等式(23)给出。
调度
1通过将p(ri |zi ) 传给相位模型来初始化。
2在相位模型的曲线图中进行一次或多次迭代,以使用曲线图中的前向/后向扫描来更新p(θi) 的值。
3向映射器节点f发送p(yi |ri )。
4将符号概率p(yi)转换成对应比特的LLR。
5一次或多次解码器算法迭代以更新LLR值。
6从LLR计算符号概率。
7将更新后的p(yi |ri )发送回相位模型。
迭代步骤(2)至(7),直到收敛或可用时间结束。
图46示出了因子图的消息更新调度。
使用循环神经网络的实现
图47示出了使用循环神经网络(RNN)的实现。RNN将跟踪相位误差。当前相位误差估计将基于网络隐藏状态和先前相位误差估计。相位估计器p(θ)将边缘化消息 p(X;θ)以提供p(X)符号概率。解码器将更新符号概率并将该消息传送回边缘节点。基于新的p(θ),RNN将更新其隐藏状态以用于下一时间步骤。
缩略语
在本公开中可以使用以下缩略语中的至少一些。如果缩写之间存在不一致,则应当优先考虑如何使用它。如果在下面列出多次,首先列出的应该比任何随后的列出的优先考虑。
AWGN 加性高斯白噪声
BCH Bose–Chaudhuri–Hocquenghem(发明人命名的一类码)
BER 误比特率
BLER 误块率
DNN 深度神经网络
NN 神经网络
NND 神经网络解码器
LLR 对数似然比
SNR 信噪比
SPA 和积算法

Claims (31)

1.一种用于训练神经网络NN以从接收信号中恢复前向纠错FEC码的码字的方法,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括传送码字和加性噪声,所述方法包括:
将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;
通过所述NN传播所述表示;以及
优化所述NN的可训练参数以使损失函数最小化;
其中通过所述NN传播所述表示包括:在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;以及
对所生成的中间输出码字执行校正子校验;
以及其中,优化所述NN的可训练参数以使损失函数最小化包括:
如果满足所述校正子校验,则在满足所述校正子校验的层处在优化之后停止所述可训练参数的优化。
2.如权利要求1中所述的方法,其中对生成的中间输出码字执行校正子校验包括校验所生成的中间输出码字是否满足码字是所述训练码字所属的码本的成员的条件。
3.如权利要求1中所述的方法,其中优化所述NN的可训练参数以使损失函数最小化包括:使基于至少一个中间输出表示计算的所述损失函数最小化,所述至少一个中间输出表示选自包括多个层处可用的中间输出表示的集合,所述多个层直至并包括满足所述校正子校验的所述层。
4.如权利要求1中所述的方法,其中所述损失函数是基于满足所述校正子校验的所述层处的中间输出表示而计算的交叉熵损失函数。
5.如权利要求1中所述的方法,其中所述损失函数包括:
其中:N是传送码字中的比特数,
I{f}是指示符函数,
H是所述传送码字所属的码的奇偶校验矩阵,
o(i,v)是所述NN在网络的第i层处的对应于所述传送码字中的第v个比特的输出表示,
是所述第i层处的所述中间输出码字的向量,以及
tv是所述传送码字的所述第v个比特的目标值。
6.如权利要求1至3中的任一项中所述的方法,其中所述损失函数是基于多个层处的所有中间输出表示而计算的交叉熵多重损失函数,所述多个层直至并且包括满足所述校正子校验的所述层。
7.如权利要求1至3中的任一项中所述的方法,其中所述损失函数包括:
其中:N是所述传送码字中的所述比特数,
o(i,v)是所述NN在网络的第i层处的对应于所述传送码字中的第v个比特的输出表示,
tv是所述传送码字的所述第v个比特的目标值,
2L是所述NN中的隐藏层的数量,以及
如果在偶数层k:0<k<2L处满足所述校正子校验,则2M=k,否则2M=2L。
8.如权利要求1中所述的方法,其中所述训练码字包括二进制线性分组码的码字。
9.如权利要求1中所述的方法,其中被输入到所述NN的所述输入层的从接收的有噪信号获得的消息比特的所述表示包括从所述接收的有噪信号获得的各个消息比特的对数似然比LLR的数组。
10.如权利要求1中所述的方法,其中所述NN包括神经网络解码器NND。
11.如权利要求1中所述的方法,还包括使用最优SNR范围来训练所述NN以实现所考虑的码和通信信道的最优性能。
12.一种用于使用神经网络NN对接收信号进行解码的方法,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括前向纠错FEC码的传送码字和加性噪声,所述方法包括:
将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;
通过所述NN传播所述表示;以及
从所述NN输出恢复后的码字;
其中通过所述NN传播所述接收信号包括:在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;
对所生成的中间输出码字执行校正子校验;以及
如果满足所述校正子校验,则:
在满足所述校正子校验的层处停止通过所述NN传播所述表示,以及
将满足所述校正子校验的所述中间输出码字标识为所述恢复后的码字以便从所述NN输出。
13.如权利要求12中所述的方法,其中对生成的中间输出码字执行校正子校验包括:校验所生成的中间输出码字是否满足码字是所述传送码字所属的码本的成员的条件。
14.如权利要求12中所述的方法,其中所述传送码字包括二进制线性分组码的码字。
15.如权利要求12至14中的任一项中所述的方法,其中被输入到所述NN的所述输入层的从接收的有噪信号获得的消息比特的所述表示包括从所述接收的有噪信号获得的各个消息比特的对数似然比LLR的数组。
16.如权利要求12至14中的任一项中所述的方法,其中所述NN包括神经网络解码器NND。
17.如权利要求12中所述的方法,其中所述传送码字包括以下中的至少一个:
在所述NN的测试阶段期间接收的测试码字;
在所述NN的在线阶段期间接收的码字。
18.一种其上存储有计算机程序的非暂时性计算机可读介质,所述计算机程序包括指令,所述指令当在至少一个处理器上执行时,使得所述至少一个处理器执行根据权利要求1至17中的任一项的方法。
19.一种用于训练神经网络NN以从接收信号中恢复前向纠错FEC码的码字的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括传送码字和加性噪声,所述控制器包括处理器和存储器,所述存储器包含由所述处理器可执行的指令使得所述控制器可操作以:
将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层
通过所述NN传播所述表示;以及
优化所述NN的可训练参数以使损失函数最小化;
其中通过所述NN传播所述表示包括在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;以及
对所生成的中间输出码字执行校正子校验;
以及其中,优化所述NN的可训练参数以使损失函数最小化包括:
如果满足所述校正子校验,则在满足所述校正子校验的层处在优化之后停止所述可训练参数的优化。
20.如权利要求19中所述的控制器,其中所述控制器还可操作以执行如权利要求1至11中的任一项中的方法。
21.一种用于训练神经网络NN以从接收信号中恢复前向纠错FEC码的码字的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括传送码字和加性噪声,所述控制器适合于:
将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;
通过所述NN传播所述表示;以及
优化所述NN的可训练参数以使损失函数最小化;
其中通过所述NN传播所述表示包括在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;以及
对所生成的中间输出码字执行校正子校验;
以及其中,优化所述NN的可训练参数以使损失函数最小化包括:
如果满足所述校正子校验,则在满足所述校正子校验的层处在优化之后停止所述可训练参数的优化。
22.如权利要求21中所述的控制器,其中所述控制器还适合于执行如权利要求1至11中的任一项中的方法。
23.一种用于使用神经网络NN对接收信号进行解码的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括前向纠错FEC码的传送码字和加性噪声,所述控制器包括处理器和存储器,所述存储器包含由所述处理器可执行的指令使得所述控制器可操作以:
将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;
通过所述NN传播所述表示;以及
从所述NN输出恢复后的码字;
其中通过所述NN传播所述表示包括:在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;
对所生成的中间输出码字执行校正子校验;以及
如果满足所述校正子校验,则:
在满足所述校正子校验的层处停止通过所述NN传播所述表示,以及
将满足所述校正子校验的所述中间输出码字标识为所述恢复后的码字以便从所述NN输出。
24.如权利要求23中所述的控制器,其中所述控制器还可操作以执行如权利要求12至17中的任一项中的方法。
25.一种用于使用神经网络NN对接收信号进行解码的控制器,其中所述NN的层实现和积算法SPA的顺序迭代,并且其中所述接收信号包括前向纠错FEC码的传送码字和加性噪声,所述控制器适合于:
将从接收的有噪信号获得的消息比特的表示输入到所述NN的输入层;
通过所述NN传播所述表示;以及
从所述NN输出恢复后的码字;
其中通过所述NN传播所述表示包括:在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;
对所生成的中间输出码字执行校正子校验;以及
如果满足所述校正子校验,则:在满足所述校正子校验的层处停止通过所述NN传播所述表示,以及
将满足所述校正子校验的所述中间输出码字标识为所述恢复后的码字以便从所述NN输出。
26.如权利要求25中所述的控制器,其中所述控制器还可操作以执行如权利要求12至17中的任一项中的方法。
27.如权利要求19至26中的任一项中所述的控制器,其中所述控制器包括虚拟化网络功能。
28.一种基站,包括如权利要求19至26中的任一项中所述的控制器。
29.一种无线装置,包括如权利要求19至26中的任一项中所述的控制器。
30.一种包括多个网络节点的系统,所述多个网络节点被配置成:
接收包括前向纠错FEC码的传送码字和加性噪声的信号;
向神经网络NN的输入层输入从接收的有噪信号获得的消息比特的表示,其中所述NN的层实现和积算法SPA的顺序迭代;
通过所述NN传播所述表示;以及
从所述NN输出恢复后的码字;
其中通过所述NN传播所述表示包括在所述NN的偶数层处:
生成中间输出表示;
从所述中间输出表示生成中间输出码字;
对所生成的中间输出码字执行校正子校验;以及
如果满足所述校正子校验,则:
在满足所述校正子校验的层处停止通过所述NN传播所述表示,以及
将满足所述校正子校验的所述中间输出码字标识为所述恢复后的码字以便从所述NN输出。
31.如权利要求30中所述的系统,其中所述系统包括基站节点和处理节点,并且其中所述基站节点被配置成接收所述信号,并且所述处理节点被配置成通过所述NN传播所述表示并从所述NN输出恢复后的码字。
CN201880041413.0A 2017-06-22 2018-06-22 用于前向纠错解码的神经网络 Active CN110741553B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762523354P 2017-06-22 2017-06-22
US62/523354 2017-06-22
PCT/IB2018/054627 WO2018235050A1 (en) 2017-06-22 2018-06-22 NEURAL NETWORKS FOR RECOVERY CORRECTION DECODING OF ERRORS

Publications (2)

Publication Number Publication Date
CN110741553A CN110741553A (zh) 2020-01-31
CN110741553B true CN110741553B (zh) 2023-11-03

Family

ID=63077916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880041413.0A Active CN110741553B (zh) 2017-06-22 2018-06-22 用于前向纠错解码的神经网络

Country Status (4)

Country Link
US (1) US11522564B2 (zh)
EP (1) EP3642961A1 (zh)
CN (1) CN110741553B (zh)
WO (1) WO2018235050A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2576499A (en) * 2018-08-15 2020-02-26 Imperial College Sci Tech & Medicine Joint source channel coding for noisy channels using neural networks
CN109560846B (zh) * 2019-01-04 2021-03-23 东南大学 一种基于模型驱动深度学习的三维预编码方法
US11595155B2 (en) * 2019-01-09 2023-02-28 Lg Electronics Inc. Method for decoding low density parity check (LDPC)-coded signal, and terminal therefor
US11625610B2 (en) * 2019-03-12 2023-04-11 Samsung Electronics Co., Ltd Multiple-input multiple-output (MIMO) detector selection using neural network
US11146287B2 (en) * 2019-04-23 2021-10-12 Samsjung Electronics Co., Ltd. Apparatus and method for optimizing physical layer parameter
CN111836281B (zh) * 2019-04-23 2024-02-09 三星电子株式会社 用于优化物理层参数的设备和方法
CN113748626A (zh) * 2019-04-29 2021-12-03 诺基亚技术有限公司 通信系统中的迭代检测
GB2587008B (en) * 2019-09-12 2024-03-27 Airbus Defence & Space Ltd Soft-decision decoding
CN111313914B (zh) * 2019-11-05 2021-09-28 北京航空航天大学 一种基于神经网络分类器的scl简化译码方法
EP4046301A4 (en) 2019-11-22 2022-12-14 Samsung Electronics Co., Ltd. PACKET DECODING METHOD AND APPARATUS FOR CALCULATING A LOGARITHM OF THE LIKELIHOOD RATIO IN A WIRELESS NETWORK
KR20210064723A (ko) * 2019-11-26 2021-06-03 에스케이하이닉스 주식회사 전자 장치 및 이의 동작 방법
JP2021121068A (ja) * 2020-01-30 2021-08-19 キオクシア株式会社 学習装置
KR20210123476A (ko) * 2020-04-03 2021-10-14 에스케이하이닉스 주식회사 전자 장치
RU2020127200A (ru) * 2020-08-13 2022-02-14 Федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский Нижегородский государственный университет им. Н.И. Лобачевского" Способ обратимой коррекции систем искусственного интеллекта
US20230308317A1 (en) * 2020-08-20 2023-09-28 Nokia Technologies Oy Neural-Network-Based Receivers
CN112202510B (zh) * 2020-09-27 2022-09-16 广州大学 基于正则化流神经网络的信号检测方法
EP4329202A1 (en) * 2021-05-25 2024-02-28 Samsung Electronics Co., Ltd. Neural network-based self-correcting min-sum decoder and electronic device comprising same
CN114362884B (zh) * 2022-01-06 2024-03-12 东南大学 一种利用软信息反馈的单比特大规模mimo接收方法
CN114363218B (zh) * 2022-01-07 2023-07-28 合肥工业大学 一种基于端到端学习的通信可达速率检测方法
US11855657B2 (en) * 2022-03-25 2023-12-26 Samsung Electronics Co., Ltd. Method and apparatus for decoding data packets in communication network
CN114697183B (zh) * 2022-03-31 2023-11-17 中国人民解放军国防科技大学 一种基于深度学习的信道同步方法
US11983162B2 (en) 2022-04-26 2024-05-14 Truist Bank Change management process for identifying potential regulatory violations for improved processing efficiency
WO2023225416A1 (en) * 2022-05-19 2023-11-23 Qualcomm Incorporated Machine learning for wireless channel estimation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571832A (zh) * 2016-11-04 2017-04-19 华南理工大学 一种多进制ldpc码级联神经网络解码方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7992070B2 (en) * 2006-12-27 2011-08-02 Nec Laboratories America, Inc. Bit-interleaved LDPC-coded modulation for high-speed optical transmission
US11521069B2 (en) * 2016-10-31 2022-12-06 Oracle International Corporation When output units must obey hard constraints
US10491243B2 (en) * 2017-05-26 2019-11-26 SK Hynix Inc. Deep learning for low-density parity-check (LDPC) decoding
CN113169752B (zh) * 2018-11-22 2022-09-13 诺基亚技术有限公司 通信系统中的学习

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106571832A (zh) * 2016-11-04 2017-04-19 华南理工大学 一种多进制ldpc码级联神经网络解码方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ELIYA NACHMANI ET AL.Deep Learning Methods for Improved Decoding of Linear Codes.CORNELL UNIVERSITY LIBRARY.2017,第10卷(第10期),全文. *
LOREN LUGOSH ET AL.Neural offset Min-Sum Decoding.CORNELL UNIVERSITY LIBRARY.2007,第10卷(第10期),全文. *
NACHMANI. Learning to decode linear codes using deep learning.2016 54th ANNUAL ALLERTON CONFERENCE ON COMMUNICATION,CONTROL,AND COMPUTING,IEEEE.2016,第10卷(第10期),341-346. *
OHTSUKI T.LDPC CODES IN COMMUNICATIONS AND BROADCASTING.IEICE TRANSACTIONS ON COMMUNICATIONS.2007,第E00B卷(第E00B期),440-453. *

Also Published As

Publication number Publication date
US20210142158A1 (en) 2021-05-13
WO2018235050A1 (en) 2018-12-27
CN110741553A (zh) 2020-01-31
EP3642961A1 (en) 2020-04-29
US11522564B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
CN110741553B (zh) 用于前向纠错解码的神经网络
US11568214B2 (en) Neural networks for decoding
CN112840600B (zh) 用于改进无线通信网络中的性能的方法、装置和介质
JP6817412B2 (ja) レート可変ポーラ符号の軟復号
CN112425103B (zh) 使用系统极化编码重传数据的方法和系统
JP6828190B2 (ja) レート適合qc−ldpcコードのための行直交性をもつパリティチェック行列を構成すること
EP3533147B1 (en) Iterative decoding of polar code with bit-flipping of unreliable bits
KR102374715B1 (ko) 채널 폴라리제이션 메커니즘으로 데이터를 인코딩 및 디코딩하는 시스템
US20230299872A1 (en) Neural Network-Based Communication Method and Related Apparatus
CN111448763B (zh) 用于极化码的简单奇偶校验比特计算
CN109804567A (zh) 针对ldpc码的改进的最小和解码器
US20230140205A1 (en) System and method for decoding encoded messages in a wireless communication system
KR20190117186A (ko) 학습 기반 채널코드 디코딩 방법 및 장치
Yang et al. LLDPC: A low-density parity-check coding scheme for LoRa networks
CN113273108A (zh) 使用神经网络检测帧中传输的控制信息
US10892783B2 (en) Apparatus and method for decoding polar codes
CN111373684B (zh) 在NB-IoT网络中发送和接收附加SIB1-NB子帧的方法
US11675658B2 (en) Method and apparatus for decoding signal in wireless communication system
WO2019240638A1 (en) Machine learning prediction of decoder performance
CN106375070B (zh) 一种用于移动通信系统中的重传方法和装置
WO2024131838A1 (zh) 译码的方法及装置
JP7452694B2 (ja) Polar符号の回帰的復号反復法を用いた通信方法および装置
WO2023146442A1 (en) Soft mimo detection using quantum annealing
US20230421287A1 (en) Method for multisite transmission using complementary codes
WO2023068973A1 (en) Iterative guessing random additive noise decoding (grand) in the presence of bursty channels

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant