主要内容

训练和测试LLR估计的神经网络

这个例子展示了如何生成信号和信道障碍来训练神经网络,称为LLRNet,估计精确对数似然率(LLR)。

大多数现代通信系统,如5 g的新收音机(NR)和数字视频广播卫星、第二代(DVB-S.2)使用的前向纠错算法,受益于软解调的位的值。这些系统使用LLR方法计算软位的值。LLR定义的日志有点的概率是0比1或一点的概率

l 日志 ( P r ( c = 0 | 年代 ˆ ) P r ( c = 1 | 年代 ˆ ) ) , = 1 , , k

在哪里 年代 ˆ 是一个位收到象征, c t h 的象征。假设一个加性高斯白噪声(AWGN)信道,LLR表达的准确计算

l 日志 ( 年代 c 0 经验值 ( - - - - - - 年代 ˆ - - - - - - 年代 2 2 σ 2 ) 年代 c 1 经验值 ( - - - - - - 年代 ˆ - - - - - - 年代 2 2 σ 2 ) )

在哪里 σ 2 噪声方差。指数和对数计算非常昂贵的特别是在嵌入式系统。因此,最实用的系统使用max-log近似。对于一个给定的数组 x max-log近似

日志 ( j 经验值 ( - - - - - - x j 2 ) ) 马克斯 j ( - - - - - - x j 2 )

用这个确切的LLR max-log LLR近似表达式的结果[1]

l 1 σ 2 ( 最小值 年代 C 1 年代 ˆ - - - - - - 年代 2 2 - - - - - - 最小值 年代 C 0 年代 ˆ - - - - - - 年代 2 2 )

LLRNet使用神经网络估计准确的LLR值给出给定信噪比收到的基带复杂的符号价值。浅网络与少量的隐藏层的LLR值估计有可能类似于近似LLR算法的复杂性[1]

比较准确的LLR、Max-Log近似LLR和多状态LLRNet QAM

5 g NR使用多状态QAM调制。本节探讨了LLRNet精度估算的LLR值16 - 64,和256 - qam调制。假设一个多状态QAM系统在AWGN信道条件下运行。这种假设是有效的,即使信道是频率选择性但符号是平衡的。下面显示了以下三个LLR值计算算法:

  • 确切的LLR

  • Max-log近似LLR

  • LLRNet

16-QAM LLR估计性能

计算精确和近似LLR值符号值,覆盖了99.7% ( ± 3 σ 可能收到的符号。假设情况下,99.7% ( ± 3 σ )将接收的信号范围 ( 马克斯 年代 C ( R e ( 年代 ) + 3 σ ) 最小值 年代 C ( R e ( 年代 ) - - - - - - 3 σ ) ] + ( 马克斯 年代 C ( ( 年代 ) + 3 σ ) 最小值 年代 C ( ( 年代 ) - - - - - - 3 σ ) ] 。产生均匀分布的I / Q符号在这个空间和使用qamdemod函数来计算准确的LLR和近似LLR值。

M = 16;%调制顺序k = log2 (M);%比特/符号SNRValues = 5:5:5;在dB %numSymbols = 1 e4;numSNRValues =长度(SNRValues);symOrder = llrnetQAMSymbolMapping (M);const = qammod (symOrder 0:15, M,“UnitAveragePower”1);maxConstReal = max(真实(常量));maxConstImag = max(图像放大(常量));numBits = numSymbols * k;exactLLR = 0 (numBits numSNRValues);approxLLR = 0 (numBits numSNRValues);rxSym = 0 (numSymbols numSNRValues);snrIdx = 1: numSNRValues信噪比= SNRValues (snrIdx);noiseVariance = 10 ^(信噪比/ 10);σ=√noiseVariance);maxReal =σmaxConstReal + 3 *;minReal = -maxReal;maxImag =σmaxConstImag + 3 *;minImag = -maxImag;r =(兰德(numSymbols, 1) * (maxReal-minReal) + minReal) +1我*(兰德(numSymbols, 1) * (maxImag-minImag) + minImag);rxSym (:, snrIdx) = r;exactLLR (:, snrIdx) = qamdemod (r, M, symOrder,“UnitAveragePower”,1“OutputType”,“llr”,“NoiseVariance”,noiseVariance);approxLLR (:, snrIdx) = qamdemod (r, M, symOrder,“UnitAveragePower”,1“OutputType”,“approxllr”,“NoiseVariance”,noiseVariance);结束

建立和训练神经网络

建立一个浅神经网络与一个输入层、一个隐藏层和一个输出层。输入收到的符号网络和训练它估计准确的LLR值。自网络预计真正投入,创建两个列向量,第一列是收到的实际价值符号和第二列是虚值接收的象征。同时,必须是一个输出 k × N 向量, k 每个符号的比特数和吗 N 是符号的数量。

nnInput = 0 (numSymbols 2 numSNRValues);nnOutput = 0 (numSymbols k numSNRValues);snrIdx = 1: numSNRValues rxTemp = rxSym (:, snrIdx);rxTemp =[真实(rxTemp)图像放大(rxTemp)];nnInput (:,:, snrIdx) = rxTemp;llrTemp = exactLLR (:, snrIdx);nnOutput (:,:, snrIdx) =重塑(llrTemp k numSymbols)”;结束

16-QAM符号,隐藏层和输出层神经元有8有4个神经元,对应于每个符号的比特数。的llrnetNeuralNetwork函数返回预配置的神经网络。训练神经网络的三种不同信噪比的值。使用精确的LLR值计算使用qamdemod函数作为期望输出值。

hiddenLayerSize = 8;trainedNetworks =细胞(1、numSNRValues);snrIdx = 1: numSNRValues流(训练神经网络的信噪比= % 1.1身上\ n ',SNRValues (snrIdx)) x = nnInput (:,:, snrIdx)”;y = nnOutput (:,:, snrIdx) ';MSExactLLR =意味着(y (:)。^ 2);流(' \ tMean广场LLR = % 1.2 f \ n 'MSExactLLR)%训练网络。使用并行池,如果可用。火车的三倍%和选择最好的一个。mse =正;p = 1:3 netTemp = llrnetNeuralNetwork (hiddenLayerSize);如果parallelComputingLicenseExists () [netTemp, tr] =火车(netTemp, x, y,“useParallel”,“是的”);其他的[netTemp, tr] =火车(netTemp, x, y);结束%测试网络predictedLLRSNR = netTemp (x);mseTemp =执行(netTemp y predictedLLRSNR);流(' \ t \ tTrial % d: MSE = % 1.2 e \ n '、p mseTemp)如果mse > mseTemp mse = mseTemp;网= netTemp;结束结束%保存训练网络trainedNetworks {snrIdx} =净;流(' \结核病MSE = % 1.2 e \ n 'mse)结束
训练神经网络信噪比= -5.0 db
均方LLR = 4.42
试验1:MSE = 1.95 e-06试验2:MSE = 1.22 e-04试验3:MSE = 4.54 e-06
最好的MSE = 1.95 e-06
训练神经网络信噪比= 0.0 db
均方LLR = 15.63
试验1:MSE = 1.90 e 03试验2:MSE = 5.03 e 03试验3:MSE = 8.95 e-05
最好的MSE = 8.95 e-05
训练神经网络信噪比= 5.0 db
均方LLR = 59.29
试验1:MSE = 2.25 e-02试验2:MSE = 2.23 e-02试验3:MSE = 7.40 e-02
最好的MSE = 2.23 e-02

这个网络性能指标均方误差(MSE)。最后MSE值表明,该神经网络收敛于一个均方误差值至少40 dB小于均方确切LLR值。注意,随着信噪比的增加LLR值,从而导致MSE值较高。

结果16-QAM

比较准确的LLR估计的LLRNet LLR和近似LLR。模拟1 e4 16-QAM符号和使用这三种方法计算LLR值。不要使用生成的符号,我们在前一节中,以免给LLRNet一个不公平的优势,因为这些符号被用来训练LLRNet。

numBits = numSymbols * k;d =兰迪([0 1]numBits 1);txSym = qammod (d, M, symOrder,“InputType”,“一点”,“UnitAveragePower”1);exactLLR = 0 (numBits numSNRValues);approxLLR = 0 (numBits numSNRValues);predictedLLR = 0 (numBits numSNRValues);rxSym = 0(长度(txSym), numSNRValues);snrIdx = 1: numSNRValues信噪比= SNRValues (snrIdx);(= 10 ^(信噪比/ 10);r = awgn (txSym,信噪比);rxSym (:, snrIdx) = r;exactLLR (:, snrIdx) = qamdemod (r, M, symOrder,“UnitAveragePower”,1“OutputType”,“llr”,“NoiseVariance”(开关);approxLLR (:, snrIdx) = qamdemod (r, M, symOrder,“UnitAveragePower”,1“OutputType”,“approxllr”,“NoiseVariance”(开关);网= trainedNetworks {snrIdx};x =[真实(r)图像放大(r)) ';tempLLR =净(x);predictedLLR (:, snrIdx) =重塑(tempLLR numBits 1);结束qam16Results。exactLLR = exactLLR; qam16Results.approxLLR = approxLLR; qam16Results.predictedLLR = predictedLLR; qam16Results.RxSymbols = rxSym; qam16Results.M = M; qam16Results.SNRValues = SNRValues; qam16Results.HiddenLayerSize = hiddenLayerSize; qam16Results.NumSymbols = numSymbols;

下图显示了确切LLR、max-log近似LLR、和LLRNet估计LLR值与实际收到了奇数位标志的一部分。LLRNet匹配的LLR值甚至对于低信噪比的值。

llrnetPlotLLR (qam16Results“16-QAM LLR比较”)

64 - qam和256 - qam LLR估计性能

检查LLRNet可以估计的LLR值高阶QAM。重复相同的过程你跟着16-QAM 64 - qam和256 - qam使用llrnetQAMLLRhelper函数。以下数据显示准确的LLR、max-log近似LLR、和LLRNet估计LLR值与实际收到了奇数位标志的一部分。

trainNow =;如果trainNow% 64 - qam参数simParams (1)。M = 64;% #好< UNRCH >simParams (1)。SNRValues = 0:5:10;simParams (1)。HiddenLayerSize = 16;simParams (1)。NumSymbols = 1e4; simParams(1).UseReLU = false;% 256 - qam参数simParams (2)。M = 256;simParams (2)。SNRValues = 0:10:20;simParams (2)。HiddenLayerSize = 32;simParams (2)。NumSymbols = 1e4; simParams(2).UseReLU = false; simResults = llrnetQAMLLR(simParams); llrnetPlotLLR(simResults(1),sprintf(“% d-QAM LLR比较”),simResults (1) . m) llrnetPlotLLR (simResults (2), sprintf (“% d-QAM LLR比较”),simResults (2) . m)其他的负载(“llrnetQAMPerformanceComparison.mat”,“simResults”)p = 1:长度(simResults) llrnetPlotLLR (simResults (p), sprintf (“% d-QAM LLR比较”),simResults (p) . m)结束结束

DVB-S。2Packet Error Rate

DVB-S。2年代ystem uses a soft demodulator to generate inputs for the LDPC decoder. Simulate the packet error rate (PER) of a DVB-S.2 system with 16-APSK modulation and 2/3 LDPC code using exact LLR, approximate LLR, and LLRNet usingllrNetDVBS2PER函数。这个函数使用comm.PSKDemodulator系统对象和dvbsapskdemod函数来计算精确和近似LLR值comm.AWGNChannel系统对象来模拟通道。

simulateNow为true(或选择“模拟”下拉)每个值的模拟运行subsystemType,EsNoValues,numSymbols使用llrnetDVBS2PER函数。如果并行计算工具箱™安装,这个函数使用了吗parfor命令运行并行模拟。在基于Intel®CPU @ 3.6 ghz Xeon®w - 2133和运行代码运行在并行池(并行计算工具箱)的大小6,仿真大约需要40分钟。集simulateNow(或选择“阴谋保存结果”下拉),加载的每个结果值subsystemType=“16 apsk 2/3”,EsNoValues=8.6:0.1:8.9,numSymbols=10000年

trainNow真正的(或选择“火车LLRNet”下拉)训练LLR每个值的神经网络EsNoValues为给定的subsystemTypenumSymbols。如果并行计算工具箱™安装时,火车函数可以调用可选名称-值对“useParallel”设置为“是的”并行运行模拟。在基于Intel®CPU @ 3.6 ghz Xeon®w - 2133和运行代码运行在并行池(并行计算工具箱)的大小6,模拟需要21分钟。集trainNow为false(或选择“使用保存网络”下拉)加载LLR神经网络训练了subsystemType=“16 apsk 2/3”,EsNoValues=8.6:0.1:8.9

DVB-S的更多信息。2 /模拟,看到DVB-S。2Link, Including LDPC Coding in Simulink的例子。有关培训网络的更多信息,请参考llrnetTrainDVBS2LLRNetwork功能和[1]

simulateNow =;如果simulateNow subsystemType =“16 apsk 2/3”;% #好< UNRCH >EsNoValues = 8.6:0.1:8.9;在dB %numFrames = 10000;numErrors = 200;trainNow =;如果trainNow & & (~ strcmp (subsystemType,“16 apsk 2/3”)| | ~ isequal (EsNoValues, 8.6:0.1:9))为每个EsNo值%训练网络numTrainSymbols = 1 e4;hiddenLayerSize = 64;llrNets = llrnetTrainDVBS2LLRNetwork (subsystemType EsNoValues、numTrainSymbols hiddenLayerSize);其他的负载(“llrnetDVBS2Networks”,“llrNets”,“subsystemType”,“EsNoValues”);结束%与精确模拟/ LLR、近似LLR, LLRNet[perLLR, perApproxLLR perLLRNet] = llrnetDVBS2PER (subsystemType、EsNoValues llrNets, numFrames, numErrors);llrnetPlotLLRvsEsNo (perLLR、perApproxLLR perLLRNet、EsNoValues subsystemType)其他的负载(“llrnetDVBS2PERResults.mat”,“perApproxLLR”,“perLLR”,“perLLRNet”,“subsystemType”,“EsNoValues”);llrnetPlotLLRvsEsNo (perLLR、perApproxLLR perLLRNet、EsNoValues subsystemType)结束

结果表明,LLRNet几乎匹配性能的精确LLR不使用任何昂贵的操作,如对数和指数。

进一步的探索

DVB-S尝试不同的调制和编码方案。2系统。调制类型的完整列表和编码率DVB-S。2Link, Including LDPC Coding in Simulink的例子。你也可以尝试不同大小的隐层网络减少操作和测量性能损失的数量比精确LLR。

本例使用这些辅助函数。检查这些文件,了解实现细节。

引用

[1]o . Shental和j . Hoydis”“机LLRning”:学习软解调,“2019年IEEE Globecom研讨会(GC Wkshps) Waikoloa,嗨,美国,2019年,页1 - 7。

相关的话题