目录
对本章节的注解:
本章节内容的作用在于:从宏观感受物理层信道编码在整个物理层协议栈中的位置和作用,无需深究每个环节。主体内容从第2章节开始。
(1)信道编码与交织:处于计算机通信领域,这是计算机的底盘和擅长的地方。
(2)调制解调: 二进制序列到复指数子载波序列的映射过程,这是从计算机领域到数字信号处理DSP领域的跨越! 从计算机通信领域向数字无线通信领域的跨越!从此处开始进入数字信号处理领域!
(3)多天线技术的层映射
(4)扩频预编码(仅仅用于上行,可选): 这是数字无线通信领域,在相同的频率资源,由“单一”空间向“码分”空间的跨越。
(5)多天线MIMO技术的预编码:这是数字无线通信领域中,在相同的频率资源,由“单一”空间向“分层”空间的跨越。
(6)无线资源映射RE mapping: 这是数字无线通信领域,这是由串行的时间域向并行的频率域的跨越。
(7)数字波束赋形:这是数字无线通信领域中,相同的频率资源,由“全向”空间向“波束局部”空间的跨越。
(8)OFDM变换(时域到频域的转换):这是各个独立的频域子载波信号到时域信号的转换,这是无线通信领域中,从频域信号到时域信号的跨越!
(9)RF射频调制:这是在无线通信领域中,由数字无线通信领域向模拟无线通信领域的跨越!!!
本文主要探讨LTE和NR的信道编码技术
物理层信道编码与交织不是单一的编码,而是由一组编码组成。
以发送为例, 阐述物理层信道编码的过程以及其中涉及到的主要,接收过程与之相反。
(1)TrBlock:来自MAC层传输信道需要发送的数据块。
(2)CRC:对传输层数据块尾部添加CRC,这是一种检错技术。
(3)数据块分段处理,主要考虑MAC层和物理层处理的数据块的大小不同。
(4)数据块分段数据的CRC校验
(5)信道编码LDPC码,Polar码,这是一种纠错技术。
(6)速率匹配(Rate matching)是指传输信道上的比特被重发(repeated)或者被打孔(punctured),以匹配物理信道的承载能力(物理信道的承受能力受信道质量的限制),信道映射时达到传输格式所要求的比特速率。
(7)比特交织:指在传输前,将比特流中的比特重新排列,使差错随机化的过程,
交织的实施,基于如下的两个事实:
(8)concatenation: 编码块的合并,把分组、速率匹配后数据重新进行合并。
(1)信道编码的原因与动机
数字图形信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象。
数字信号经过数字调制、模拟调制后,在信道中传输,也会出现各种干扰,导致接收端无法从接收到的电磁波中恢复二进制比特。
信道编码是:对二进制数据流进行相应的处理,使系统具有一定的检错、纠错和抗错(抗干扰)的能力,可极大地避免码流传送出错后的重传导致的性能的下降。
由于移动通信存在干扰和衰落,在信号传输过程中将出现差错,故对数字信号必须采用纠、检错技术,即纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,提高系统的可靠性。
对要在信道中传送的数字信号进行的纠、检错编码就是信道编码。
(2)信道编码的理论基础
信道编码之所以能够检出和校正接收比特流中的差错,是因为加入一些冗余比特,把几个比特上携带的信息扩散到更多的比特上。为此付出的代价是:必须传送比发送信息比特所需要的更多的比特。
提高数据传输效率,降低误码率是信道编码的任务。
信道编码的本质是增加通信的可靠性。
(3)信道编码的代价:额外的开销
但信道编码会使有用的信息数据传输减少,信道编码的过程是在源数据码流中加插一些码元,从而达到在接收端进行判错和纠错的目的,这就是我们常常说的开销。
这就好象我们运送一批玻璃杯一样,为了保证运送途中不出现打烂玻璃杯的情况,我们通常都用一些泡沫或海棉等物将玻璃杯包装起来,这种包装使玻璃杯所占的容积变大,原来一部车能装5000个玻璃杯的,包装后就只能装4000个了,显然包装的代价使运送玻璃杯的有效个数减少了。
同样,在带宽固定的信道中,总的传送码率也是固定的,由于信道编码增加了数据量,其结果只能是以降低传送有用信息码率为代价了。
将有用比特数除以总比特数就等于编码效率了,不同的编码方式,其编码效率有所不同。
(4)误码处理的方法
冗余信息越多,信息正确传输的增益越大,冗余信息的增加与增益的关系并非是线性的,而是log关系。
校验位长度(n-k)与信息位长度k的比值,称为编码开销。
开销越大,FEC方案的理论极限性能越高,但增加并不是线性的,开销越大,开销增加带来的性能提高越小。开销的选择,需要根据具体系统设计的需求来确定。
上图中,冗余信息的开销比例在30%左右性价比是最高的,经济价值是最高的。
所谓检错:就是检查数据是否有数据比特传输出错,但无法确定哪一位出错,也无法纠错的技术。
因此,纠错的结果纠偏措施:就是请求发送方对整个数据块进行重传,重新发货。
(1) 奇偶校验概述
奇偶校验(Parity Check)是一种校验一组比特传输正确性的方法。
在数据比特发送时:在数据末位添加一个比特,确保所有传输的比特位中,1的个数是奇数或偶数。
在数据比特接收时:根据被传输的一组二进制比特的数位中“1”的个数是奇数或偶数来进行校验判断。
依据数据块中包含奇数个1的判断法则称为奇校验。
依据数据块中包含偶数个1的判断法则称为偶校验。
(2)编码效率 = N/(N+1)
(3)检错效率
(4)应用场合
(5)优点
(6)缺点:
(1)CRC校验概述
循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术。主要用来检测或校验数据传输或者保存后可能出现的错误。
它是利用除法及余数的原理来作错误侦测的。其基本思想是将要传送的信息M(X)表示为一个多项式L,用L除以一个预先确定的多项式G(X),得到的余式就是所需的循环冗余校验码。这种校验又称多项式校验。
“循环”是指:使用传送的信息比特组成的多项式除以特征多项式,循环求余数,直到留下最后的余数。
“冗余”是指:添加一定比特的冗余比特,这些冗余比特的数值,是相除之后的余数,余数比特序列与待传输的比特序列和特征多项式是相关的。
比如:
(1)设约定的生成多项式为G(x)=x4+x+1,其二进制表示为10011,共5位,其中k=4。
(2)假设要发送数据序列的二进制为101011(即f(x)),共6位。
(3)在要发送的数据后面加4个0(生成f(x)*xk),二进制表示为1010110000,共10位。
(4)用生成多项式的二进制表示10011去除乘积1010110000,按模2算法求得余数比特序列为0100(注意余数一定是k位的)。
(5)将余数添加到要发送的数据后面,得到真正要发送的数据的比特流:1010110100,其中前6位为原始数据,后4位为CRC校验码。
(6)接收端在接收到带CRC校验码的数据后,如果数据在传输过程中没有出错,将一定能够被相同的生成多项式G(x)除尽,如果数据在传输中出现错误,生成多项式G(x)去除后得到的结果肯定不为0。
(2)编码效率
(3)应用场合
(4)优点
(5)缺点
(1)MD5概述
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
MD5算法的原理可简要的叙述为:MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组。
经过了一系列的处理后,算法的输出由4个32位的分组组成,将这4个32位分组级联后将生成一个128位(4*32=128) 散列值.
(2)编码效率
(3)应用场合
(4)特点
所谓纠错:就是检查数据是否有数据比特传输出错,并且能够确定是哪一位出错,同时能够把出错自的比特纠正为正确的比特。(一旦确定哪一位出错,其实就可以纠错,因为二进制只有0和1两种状态)
为了更好的理解物理层的纠错编码技术,这里会从前向纠错码FEC的概念开始,并且先谈谈LTE的信道编码技术,最后再阐述大名鼎鼎的Polar以及与之对应的LDPC。
前向纠错编码(FEC)并非是某一个具体的编码技术,而是一类纠错编码技术的统称。
之所以“前向”纠错,该技术纠错的是针对已经接收到的比特数据,称之为前向纠错。
“前向”纠错对应的就是“后项”纠错, 后项纠错,简单的讲,就是请求发送方重新再发送一份相同的数据。很显然,前向纠错的难度远远大于后向纠错。
前向纠错编码(FEC)技术通过在传输码列中加入冗余纠错码(不仅仅是检错),在一定条件下,通过解码可以自动纠正传输误码,降低整体的接收数据的误码率(BER)。能够被自动纠错的传输出错比特,可以认为是正确传输的比特,客观上起到了抗干扰的能力。
纠错的好处:避免整个数据包中只有部分bits传输出错,而重传整个数据的情形。
纠错的缺点:需要增加比检错更多的冗余信息,有效数据占比得到很大的降低,数据编码率下降。
在信道质量良好的情况下,多余的冗余比特就是一种资源的浪费。
但在信道质量不好的情形下,纠错功能极大的降低了数据的重传,提升了整体的性能。
FEC技术是一种广泛应用于通信系统中的编码技术。
分组码:
以典型的分组码为例,其基本原理是:在发送端,通过将kbit信息作为一个分组进行编码,加入(n-k)bit的冗余校验信息,组成长度为n bit的码字。
码字经过信道到达接收端之后,如果错误在可纠范围之内,通过译码即可检查并纠正错误bit,从而抵抗信道带来的干扰,提高通信系统的可靠性。
在光通信系统中,通过FEC的处理,可以以很小的冗余开销代价,有效降低系统的误码率,延长传输距离,实现降低系统成本的目的。
(1)编码开销:
假设有效数据长度为k,编码后的数据长度为n,则冗余信息为n-k。
校验位长度(n-k)与信息位长度k的比值,称为编码开销。
开销越大,FEC方案的理论极限性能越高,但增加并不是线性的。
开销越大,开销增加带来的性能提高越小。
开销的选择,需要根据具体系统设计的需求来确定。
(2)判决方式:
FEC的译码方式(检错、纠错的方式)分为硬判决译码和软判决译码两种。
硬判决FEC译码器输入为0,1电平,由于其复杂度低,理论成熟,已经广泛应用于多种场景。
软判决FEC译码器输入为多级量化电平。
在相同码率下,软判决较硬判决有更高的增益,但译码复杂度会成倍增加。
微电子技术发展到今天,100G吞吐量的软判决译码已经可以实现。随着传送技术的发展,100G时代快速到来,软判决FEC的研究与应用正日趋成熟,并将在基于相干接收的高速光通信中得到广泛应用。
(3)码字方案:
当确定开销和判决方式后,设计优异的码字方案,使性能更接近香农极限,是FEC的主要研究课题。
目前,软判决LDPC码,由于其良好的纠错性能,且非常适合高并行度实现,逐步成为高速光通信领域主流FEC的方案。
后面会继续讨论LDPC码与Polar码的进一步的细节。
海明码本身是一种只能纠正一个bit出错的场景,原理简单,在4G&5G中也没有应用。
但海明码是理解更复杂的纠错码的基础,通过对海明码的理解,可以理解纠错码的基本原理,强烈建议在理解LTE Turbo码和NR的Polar码之前,先理解海明码的原理!!!
海明码是最简单的纠错码,通过理解海明码,可以理解纠错编码工作原理:
其中发现错误比特的位置是根本。
纠错很容易,因为二进制比特只有0和1,如果发现特定的比特出错,只需要取反就实现了纠错的功能。
即用4个冗余位就可以完成对8比特bit中任意比特纠错的能力。
校验码的插入位置:
校验位负责校验的比特数:
把每个比特位置进行分解,分解成指数数值的累加和。
1 = 2^0
2 = 2^1
3 = 2^1 + 2^0
…….
位置1的校验位,负责所有比特位置中包含1位置的那些比特, 这里就是奇数位。
位置2的校验位,负责所有比特位置中包含2位置的那些比特, 这是2,3,6,7, 10, 11
位置4的校验位,负责所有比特位置中包含4位置的那些比特, 这里是4,5,6,7,12
位置8的校验位,负责所有比特位置中包含8位置的那些比特, 这里就是8,9,10,11,12
备注:1 -》出错 =》 0
备注:校验正确
备注:校验出错。
备注:校验出错。
备注:校验正确
出错的第2个校验:2,3,6,7,10,11
出错的第4个校验:4,5,6,7,12
正确的第1个校验:1,3,5,7,9,11
结论:第6位出错,第7位不出错。
纠错:第6位取反。
(1)优点:
(2)缺点:
(3)需要注意和强调的是:
这里有关于海明码的比较详细的、形象的说明,请参考:
说人话,人话,汉明码(海明码、hamming code)通俗易懂的解释,说人话。_Yonggie的博客-CSDN博客_汉明码
(1)三码之争
江湖传言:
LDPC码的发明者美国人Robert Gallager是香农的学生。
Polar码的发明者土耳其的Erdal Arkan是Gallager的学生。
在5G的三码竞争中,Turbo首先出局。
(2)Turbo码概述
Shannon 编码定理指出:如果采用足够长的随机编码,就能逼近Shannon 信道容量。
Turbo 码是一种巧妙的编码方式,它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个单出入单输入(SISO)译码器之间进行多次迭代实现了伪随机译码。
Turbo的故事:
Turbo码 – 接近完美的编码_随风而去飘飘飘的博客-CSDN博客_turbo码
LTE物理层之信道编码–数据信息编码:turbo编码_浪迹天涯_的博客-CSDN博客_吴宇飞turbo码解释
(3)Polar码概述
极化码(Polar Codes)是一种新型编码方式,也是目前3GPP标准制定中的业务信道的编码技术方案。
通过对华为极化码试验样机在静止和移动场景下的性能测试,针对短码长和长码长两种场景,在相同信道条件下,相对于Turbo码,可以获得0.3~0.6dB的误包率性能增益,
同时,华为还测试了极化码与高频段通信相结合,实现了20Gbps以上的数据传输速率,验证了极化码可有效支持ITU所定义的三大应用场景。
(4)LDPC码概述
LDPC是Low Density Parity Check Code英文缩写,意思是低密度奇偶校验码,
(5)LDPC与Polar的比较
长码:物理层业务数据信道采用LDPC编码
短码:物理层小区广播信道采用Polar编码
不同长度的数据,采用了不同的编码策略。
短码:只有K>11是才采用Polar码,且长度不同,采用不同的Polar码编码选项。
超短码:其他编码
无线信道的质量是随时变换的,而不是固定不变或事先确定的。
不同的信道质量,调制解调的方式不同。
无线信道质量越好,越可以采用高阶调制,且相同的RE时频资源,传输的数据速率越高。
也就说,分配给用户的业务信道,即使是时频资源都不发生变化,通过其传输的数据速率也是根据业务信道的质量变化实时变化的,取决于调制阶数。
无线信道的传输速率,决定了单个TTI调度周期内,在该信道上传送的比特的数量。
经过物理层信道分组和编码后的二进制比特流,并没有速率信息。
速率匹配:就是根据物理层信道实时的传输速率,对MAC层数据块分组和编码后的二进制比特流,进行切割或填充,以便符合物理层信道的速率要求,即切割成单个TTI调度周期内能够传送的比特数。而这种切割是每个TTI调度周期内都要进行。
速率匹配采用的是一种循环缓冲buffer的机制,用于管理速率匹配的数据,同时能够支持数据重传缓存。
在前面的描述中,可以知道,无线信道的检错和纠错能力,与一个因素有极大的关系:就是接收到比特的出错比特数。
任何一种编码方式,出错比特的检错和纠错的能力是有限制的,当连续出错的比特超过编码能力的时候,就无法实现检错或纠错。
这种情况下,就只能通过上层的控制逻辑,重新发送整个数据块来实现数据安全传输。
有没有某种技术,能够降低数据在空口中传输的二进制比特的出错率呢?
现有的降低比特出错的技术:
这些方案的特点:
然而,无线信道有一种显著的特点,就是干扰有时候属于突发性的干扰:突然有一小段时间,有一个比较大的干扰。
对于这样的干扰,上述的技术实际上是无法解决的。
如何解决突发性的干扰呢?
交织技术正是为了应对突发干扰而出现的。
它同通过把突发性的、批量出错的二进制比特,分散到不同的数据块的分组中,从而降低分组块内比特出错的比特数,在结合纠错编码,完成对出错信息的纠错。
该基本思想,有点类似于我军在整体收编国军时采用的策略:
如果说被收编整个队伍中的每个军人是容易感到干扰的信号或二进制比特,那么为了防止整个收编军队中人员的失控,就需要把收编的人员,进行拆分,分散到我军的各个连队中(我军人员是不容易受到干扰的二进制比特)
这样,即使是被整个收编的全部人员思想都是容易受干扰的,不坚定的,也会不会导致失控,最终会经过我军的政治思想工作(纠错编码),被纠正过来。
(1)交织矩阵
发送端:经过物理层信道编码的二进制比特流,按照行行写入内存中,然后在按列读出来,这完成了二进制比特的交织。
信号传输:交织后的二进制比特,通过突发干扰的信道进行传输。
接收端:把收到的数据,列的方式写入,然后在按行的方式读出,完成了去交织的过程,发送突发干扰出错的比特块中的出错比特,被分散到接收到的数据流序列的各个地方,而不是连续出错。
(2)交织示意图
在上图中,连续出错的4个红色的方框,去交织后,出错的比特被分散到了4个不同的块中,每个块中,只有一个红色的出错方框。
由于每个块,都经过纠错编码,都有纠错的能力,因此,即使在传输过程中,出现连续的出错比特,接收端也会比纠正过来。
去交织后,错误比特被分散到多个不同的数据块中,这样就可以通过纠错机制,就行纠错。
【学习笔记】数据链路层的差错控制——检错编码与纠错编码(海明码、奇偶检验码与CRC循环冗余码)_喂盐的博客-CSDN博客_数据链路层中差错控制的两种基本编码
LTE物理层之信道编码–数据信息编码:turbo编码_浪迹天涯_的博客-CSDN博客_吴宇飞turbo码解释
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/222900.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有