LTElte 速率匹配配有什么用

在K位信息码后再拼接R位的校验码整个编码长度为N位,因此这种编码也叫(N,K)码对于一个给定的(N,K)码可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设要发送的信息用多项式C(X)表示将C(x)左移R位(可表示成C(x)*xR),这樣C(x)的右边就会空出R位这就是校验码的位置。用 C(x)*xR 除以生成多项式G(x)得到的余数就是校验码

1、将X的最高次幂为R的生成多项式G(X)转换成对应的R+1位②进制数。

2、将信息码左移R位相当于对应的信息多项式C(X)*2R。

3、用生成多项式(二进制数)对信息码做除得到R位的余数(注意:这里的二进淛做除法得到的余数其实是模2除法得到的余数,并不等于其对应十进制数做除法得到的余数)。

4、将余数拼到信息码左移后空出的位置嘚到完整的CRC码。

假设使用的生成多项式是G(X)=X3+X+14位的原始报文为1010,求编码后的报文

1、将生成多项式G(X)=X3+X+1转换成对应的二进制除数1011。

2、此题生成多項式有4位(R+1)(注意:4位的生成多项式计算所得的校验码为3位R为校验码位数),要把原始报文C(X)左移3(R)位变成1010 000

3、用生成多项式对应的二进制數对左移3位后的原始报文进行模2除(高位对齐)相当于按位异或:

以上只是讲述了几个CRC校验的几个重要的地方,详细的地方大家可以阅讀相关书籍

LTE中的生成多项式有CRC24A、CRC24B、CRC16、CRC8等几种,那么为什么选择这几种生成多项式呢查阅到以下资料:

CRC在本质上是一种缩短循环码,由於编码的前k位是信息因此属于系统码。CRC标准的应用一般遵循着某些规则那就是如果没有实时的要求应该尽量使用生成多项式较长的,為了实现方便应尽量选择计算机芯片支持的数据宽度,比如16位或32位当然,对实时性处理要求非常严格的也可选用很短的生成多项式仳如蓝牙技术就采用4位,语音业务采用CRC-8而对于同样的16位,CRC-CCITT在欧洲比较盛行而在北美洲则是CRC-16。如果对实时性处理要求不高的情况下应盡量选用较长的生成多项式,CRC-32或CRC-32C因为这样更加安全可靠,注意它并没有要求待传输的数据比特数为八位字节的整数倍所以,只关心数據传输、数据压缩的CD-ROM扇区和ARJ工具软件采用32位CRC检错码

通过对差错检测能力和漏检错误率两个方面的仿真分析和总结,可以得出以下结论:

1) 苼成多项式的比特数越大其差错检测能力越强;漏检错误率越低。

2) 生成多项式比特数相同的情况下差错检测能力相同;漏检错误率范圍大致相同,但是对于不同的信道误码率又有不同的漏检错误率。

通过对以上的结论的分析产生了一个思考:循环冗余校验码的性能取決于所选取的生成多项式多项式的形式会对循环冗余校验码的性能产生各个方面不同的影响,但是对于通常所说的标准CRC码几乎没有提供任何资料说明选择这些生成多项式的依据,也没有任何数据说明这些称之为标准的多项式就是性能最好最优化的。

--以上是参考《CRC性能汾析及生成多项式选取的研究》这篇文章他后续还探讨了生成多项式的生成标准。

以上是对CRC原理的相关说明但是真正实现CRC校验的方法卻不是这样的。直接编程来实现上面的算法不仅繁琐,效率也不高实际上在工程中不会直接这样去计算和验证CRC。

标准CRC生成多项式如下表:

I、基本算法(人工笔算):

数据流左移16位相当于扩大256×256倍,再除以生成多项式0x11021做不借位的除法运算(相当于按位异或),所得的餘数就是CRC校验码

II、计算机算法1(比特型算法):

1)将扩大后的数据流(6字节)高16位(BYTE[3]、BYTE[2])放入一个长度为16的寄存器;

2)如果寄存器的首位为1,将寄存器左移1位(寄存器的最低位从下一个字节获得)再与生成多项式的简记式异或;

3)重复第2步,直到数据流(6字节)全部移入寄存器;

III、计算机算法2(字节型算法):256^n表示256的n次方

该结果单独计算CRC校验码(即单字节的16位CRC校验码对单字节可建立表格,预先生成对应的16位CRC校验碼)所得的CRC校验码与上一字节CRC校验码Y[n]的低8位(YL8[n])

乘以256(即左移8位)异或。然后依次逐个字节求出CRC直到BYTE[0]。

    3)原CRC寄存器组高8位(右移8位)与數据字节进行异或运算得出一个指向值表的索引。

//函数功能:生成0-255对应的16CRC校验码其实就是计算机算法1(比特型算法)

//注意,低位先傳送时生成多项式应反转(低位与高位互换)。如CRC16-CCITT为0x1021反转后为0x8408

2:CRC码集选择的原则

若设码字长度为N,信息字段为K位校验字段为R位(N=K+R),则对于CRC碼集中的任一码字存在且仅存在一个R次多项式g(x),使得

发送方通过指定的g(x)产生CRC码字接收方则通过该g(x)来验证收到的CRC码字。

3、CRC校验码软件生荿方法:

接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法) 如果能够除尽,则正确

以上字节型算法(红字部分)解讀:

      比特型算法较易理解,这里不做解释.一般我们应用中更多的是用字节型的算法,而大部字节型算法为了提高效率是利用查表法实现的,对于查表法,表是如何产生的,有时迷惑,所以在此对字节型查表法推导过程的理解做一个备忘:

CRC16时候,上式两端还要乘以2^16即左移16位。把繁琐的计算过程省略其实只要记住本字节的CRC码等于上一字节的余式的CRC码的低8位左移8位后,再加上上一字节CRC右移8位(也就是取高8位)和本字节之和(异戓)所求的的CRC码但是我们不可能这样每部就去计算,单片机是承受不了的而且占据大量任务,给实时通信打折扣所以一般我们会把8位二进制序列数从0~255CRC全部计算出来,放在表里扔到EEPROM或者FLASH中固存。

CRC表一般不要计算了网络上都有,是通用的了如果你要计算,可以按丅面函数实现:

协议36.211主要讲解的是上行、下行各信道的扰码、调制、预编码以及物理资源映射


协议36.212主要讲解传输信道和控制信息的编码。

现在主要的个人理解难点在于:

在协议36.212中,關于UL-SCH的传输信道处理流程如下图所示:


而在协议36.211中上行物理信道过程有如下图所示:


个人是这么理解的,信道交织后就对数据进行扰碼,也就是说图2 在图3的前面

或许以后会有更深入的理解。又或者发现这种理解是完全错误的先写在这里吧。

不过PDCCH本身是盲检测的,如果再加上需要在common search space搜索公共的RNTIUE的开销会是很大的。

   当终端随机接入成功后就会将TC-RNTI升级为C-RNTI基站要寻呼UE就通过P-RNTI加扰PDCCH,并指示DAIUE会解码PDCCH,并根据DAI的信息找到寻呼的下行数据;基站与终端建立连接后(connected)通过C-RNTI或SPS-RNTI进行PDCCH的加扰解扰,进而获得调度信息截获相应子帧的业务数据。

CQI定义Channel Quality indicator(CQI)CQI只有0-15共16种,分别对应29种MCS对应关系是通过码率来实现的,选择和16种CQI对应的码率最接近的MCS组合作为对应的MCSlevel。因此对应于不同的天线配置、不同的层数等会对应于不同可用的MCS组合。

CQI\PMI\RI的反馈通过PUSCH和PUCCH进行其中,周期性的反馈是通过PUCCH进行的PUCCH共有六种模式:1\1A\1B\2\2A\2B,非周期的反馈通过PUSCH进行当对应的反馈信息在PUSCH上发送时,采用和PUCCH相同的格式由于UE不能同时发送PUCCH和PUSCH,所以当周期性的反馈和非周期性的反馈冲突时只發送非周期反馈(PUSCH)。

基站共有七种传输模式每种传输模式对应于不同的CQI\PMI\RI反馈模式。

对于下行带宽小于等于7个RB的情况不支持PUSCH反馈(这裏为什么是小于等于7个RB7下行系统带宽可以等于7么?)

当宽带CQI和子带CQI同时反馈时,在每两个宽带CQI反馈之间每隔子带CQI都会被反馈多次,具体的佽数由子带划分和宽带CQI反馈周期确定另外,当子带CQI和宽带CQI同时反馈时或者两个码字同时反馈时子带CQI或者第二个码字的CQI都将以相对值得形式进行反馈。

29种MCS分别对应不同的调制编码方式和TB-Size大小的组合而29-31则对应于HARQ重传时的版本号,在进行HARQ重传时TB-Size大小是不变的,但是调制编碼方式的组合是可以改变的带来的影响就是码率的改变。

PDCCH指示对应的PDSCH所用的调制编码方式UE根据自己调度的带宽和PDCCH指示的MCS,则可以计算嘚出对应的传输块的大小

需要注意的问题:对应与系统信息、随机接入信道的相应(RAR)以及寻呼信息,都采用QPSK调制编码方式对于DwPTS,假設对应的的带宽为NPRB则实际查表时使用的带宽为NPRB的3/4,当DwPTS对应的符号数小于等于三个的时候不做PDSCH传输。

如果初传地码率大于0.93UE则会直接跳過解码。

注意TBS表格和传输方式的对应关系且TBS表格中的数值为添加CRC后信息比特的长度。

LTE下行资源分配主要由三种类型type0,type1和type2其中,每一種类型都和一定的DCI格式对应type0和type1对应直接与物理资源向对应,而type2的分配则与虚拟资源的分配对应然后通过虚拟资源与物理资源的映射关系,获得最终的物理资源

Type0将连续的物理RB分配给调度的UE,首先根据系统下行带宽分为大小为P的RBG(P的大小和系统下行带宽有关系)然后通過DCI里面对应的bitmap映射对应的RBG,如果为'1'则与之对应的RBG被分配给当前UE。

Type1也是直接指示物理资源与调度用户的关系的但Type1与Type0不同,它分配的不是連续的RB首先也是把整个下行带宽进行分为P组(P的大小也是由下行带宽决定的,与Type0中对应的P大小相同)在这个过程当中,从第p个RB开始烸隔P个RB所对应的物理RB被添加到RBG p,然后把对应的DCI中的用于资源指示的区域分为三部分第一部分用来指示选择这P组中的哪一组,第二部分用來指示在当前被选择的资源集当中是否需要进行一个shift第三部分则用来指示在当前选中资源集中那些物理RB被分配给了当前的调度用户。用於Type1和Type0通过相同的DCI模式指示对应的资源映射区域的大小也相同,由于type1使用了一部分的信息比特用来指示集合编号这样的话就使得剩下的信息不能不能和资源集中的每一个RB一一对应,因此采用type2进行资源分配时会有部分物理RB不被指示,通过1比特的shift来指示

LTE相关编码与lte 速率匹配配(下行turbo码)

码块分割完毕后,对各个码块进行编码以turbo码为例,首先进行1/3码率编码编码之后根据所分配的资源上可用的RE数目、Rank数以忣对应的调制方式,即可以确定lte 速率匹配配之后输出的比特数对于PDCCH来说,首先基站会确定某个PDCCH占用的CCE的数目然后根据CCE的数目则可以获知对应的PDCCH在lte 速率匹配配之后的比特数。

需要注意的问题,其中,Nsoft是与UE能力相对应的soft buffer的大小与UE能力相关的几个参数是:空间复用支持嘚最大layer数、在一个TTI内可以接收到的总的码字比特数、最大的码字比特数和Buffer的大小。对于NIR的公式分母最大为16根据UE category等级的差别,UE的buffer大小和他所能支持的最大码字的长度大小比值为16.4而且Ncb如果小于编码后的序列长度,则多出部分再进行lte 速率匹配配的时候将被忽略掉HARQ重传的版本號体现在lte 速率匹配配当中的起始位置上,对于每一个码块的lte 速率匹配配后的比特数需要考虑到在码块分割时每个码块对应的长度。

LTE相关碼块分割和CRC添加

一个码块最大的长度为6144最小为40(与其相对应,Turbo码编码器交织器最小是40最大是6144),如果不够40则需要添加"NULL"比特,如果超過6144则需要进行码块分割,需要注意的问题整个码字被添加了一个CRC,然后每一个码块也会被添加一个CRC再进行码块分割的时候,可能需偠添加填充比特

对应于单天线模式,与Cell Specific参考信号同时存在不存在冲突。

小区专用参考信号的生成是由时隙编号、符号编号、CP长度和小區ID共同决定的小区参考序列S的长度是由系统下行带宽决定的随机序列,而对应于每一个下行带宽的小区参考信号序列S1则是从上面S序列的尾部向前读取相应的长度

小区专用参考信号只支持15kHz的子载波间隔;

不支持MBSFN传输,在PDSCH和PMCH同时存在的子帧上面只出现在前两个符号;

PHICH承载仩行数据的ACK/NACK反馈,多个PHICH可以映射到同一份物理资源上共同组成一个PHICH组,组内的PHICH通过正交码进行区分对于TDD来说,每一个下行子帧上面对應的PHICH组数和UL/DL的配置相关

PHICH有三比特信息,根据CP长度的不同通过正交码进行加扰,分别扩展成12个符号和6个符号然后在对扩展CP情况下,加擾过符号进一步划分为12个符号然后进行映射和预编码,PHICH采用单天线或者发射分集模式其中,四天线情况下采用的预编码矩阵为PHICH专用

預编码结束后,进行物理映射映射时以PHICH组为单位,对于常规CP需要把同一PHICH组内的所有的PHICH相加,对于扩展CP需要把相邻两个PHICH组当中的PHICH相加(在扩展的时候,添00的位置不同所以在这一步不会对结果产生影响),映射的时候以symbol quadruplet为单位同一个PHICH组对应于同一个PHICH映射单元,可能在哃一个符号上也可以映射到不同的符号上

频域上的位置通过公式计算可以得出,首先把对应符号上的除去PCFICH后的REG进行排序然后再把symbol quadruplet映射箌对应的物理资源上,基本上是均匀分步的

注意PHICH Duration的含义是允许包含PHICH的符号数,它的大小受到PCFICH的限制假设用于PDCCH的符号数是3个,则PHICH duration要小于3具体是几根据帧结构进行判断。

如果一个PDCCH由n个CCE组成那么这个PDCCH在映射时的起始位置应该为i%n=0。PDCCH在映射时需要把PCFICH、PHICH占用后剩余的REG都填满如果所有PDCCH的信息比特加起来仍然不满足要求,则需要在PDCCH后面添加相应数量的NIL因为PDCCH的aggregation级别是由MAC给定的,因此PDCCH对应的REG的数目已知,从而可以確定PDCCH经过lte 速率匹配配之后的符号数满足36的整数倍因此,添加NIL的REG是PCFICH、PHICH、PDCCH映射之后剩余的 PDCCH采用单天线或者发射分集模式,采用和PBCH相同的天線配置PDCCH在映射到物理资源之前,需要进行一个交织交织是以symbol quadruplet为单位的,在映射时首先把PCFICH和PHICH映射后剩余的REG进行排序,然后按照对应的順序把交织后的symbol quadruplet进行映射

另外:基站通过PCFICH规定了PDCCH的符号数,假设当前对应的有效PDCCH信息比特不能完全填满PDCCH占用的符号NIL元素会被添加,直箌完全填满PDCCH符号这样的话,前三个PDCCH符号上面始终是处于填满状态的从功率的角度来看,始终是有的

关于PDCCH中NIL元素的理解NIL的作用只是为叻实现对应的PDCCH和相应的聚合级别的对齐,只是起到了一个占位的作用最初的版本用的是Dummy,后来改成了NIL根据36.141的规定,NIL对应的RE上面的发送功率为-Inf也就是0,另外36.302里面给出的Reception Type指得是所有可能出现的情况,UE需要按照这些组合去接收但是不一定会接收到相应的信息。

总之在┅个下行子帧里面可能出现没有PDSCH也没有PDCCH的情况,此时基站仅发送RS和PCFICH(PHICH),出现的条件是

PCFICH用来指示用于PDCCH的符号数最大为4个,PCFICH由32个信息比特组成采用QPSK调制方式,调制后为16个符号映射到4个REG上面,采用单天线或者发射分集方式采用和PBCH相同的天线配置。 PCFICH映射到每一个子帧的苐一个符号在频域上是均匀分布的,分布的具体位置是和小区ID有关系的因为PCFICH是Cell-Specfic的,并且在非MBSFN子帧上至少有1个符号会被用作PDCCH。

PBCH上面发送的主要是广播信息(Master Information Block)PBCH采用QPSK调制,采用单天线或者发射分集方式发送PBCH采用盲解。

PBCH映射到每1帧的第1个子帧的第2个时隙的前4个符号根據CP长度的不同,PBCH对应的编码之后的信息比特程度为1920或者1728比特PBCH映射的时候都假设基站有4天线。其中PBCH的发送周期为40ms。

PMCH对应的是单天线模式没有发射分集,对应的天线端口为4

需要注意的是,当某子帧在某载波同时支持PDSCH和PMCH传输,前2个符号是用作非PMCH传输的同样,当基站有4個天线端口时前两个符号也是用作非PMCH传输的,这两个非MBSFN符号的CP长度和0#子帧的长度相同PMCH不在0号子帧和5号子帧上传输。

空间复用: 每一个UE鈳用的预编码矩阵是由基站制定的基站可以限定某一个UE只能使用预编码矩阵的子集。

对于两天线来说使用的是对应层数的第一个预编碼矩阵。对于四天线来说则是在不同的向量组上面循环使用对应层数的最后四个预编码矩阵,假设层数为v 则每v个{x(0)(i) ~ x(v-1)(i)} 使用同一个预编码矩陣,下面v个向量组使用下一个预编码矩阵

spatial multiplexing,空间复用需要注意的问题时,只有当天线数为4的时候才会有一个码字映射到两个层的情況,但是根据211 中的Table 6.3.3.2-1其中,有一个codeword对应两个曾的情况应该是下行4根天线,每两根天线为一组服务一个UE所以此时因该是双流模式?

transmit diversity发射分集,只有一个码字层数由天线数决定,其中注意对应于四天线的情况,需要注意映射时如果最终调制完的符号数不能被4整除,需要在后面添加两个NULL符号在进行lte 速率匹配配的过程中,对于层数大于2的情况下NL=2,所以进行lte 速率匹配配之后的信息比特经过调制之后的苻号书都是2的倍数但是不一定会被4整除,因此这对于不能被4整除的情况需要添加2个符号。

在空间复用和发射分集的情况下都有一种1個码字映射2个层上面的情况,这种情况下两者的区别在于预编码上面。

REG的划分需要根据天线数的不同而不同具体原因是天线数的不同影响到导频的分布,从而使对应的符号上可用的Resource-element的分步产生变化;

REG的划分需要考虑到CP长度的影响原因也是由于不同长度的CP对应不同的导頻分布。

当只有一根小区天线时需要按照两条天线的导频分布进行REG划分。

REG的编号按照同一个REG内的最小的频率进行编号,先频率后符號。

基站触发的随机接入过程(非竞争接入)UE根据基站的指示选择相应的随机接入前导序列和掩码发送PRACH(具体过程略)然后开始等待基站端的RAR(等待时间由RAR等待窗口大小确定),过程是通过自己对应的RA-RNTI(RA-RNTI根据UE发送PRACH的时间和频率资源确定)搜索对应的PDCCH;

UE通过RA-RNTI搜索到对应的PDCCH之後寻找对应的PDSCH,解码获得对应的RAR信息如果对应的RAR信息中的前导序列编号和UE使用的前导序列的编号相同,则UE 认为随机接入过程完成···

基站发起的随机接触过程中的前导序列编号和掩码编号由PDCCH order或者RRC指定其中RRC制定的模式可能对应于切换时的操作,原因是高层信令的可靠性哽高
UE触发的随机接入过程(竞争接入)UE发送PRACH(具体过程略),然后开始等待基站端的RAR(等待时间由RAR等待窗口大小确定)过程是通过自巳对应的RA-RNTI(RA-RNTI根据UE发送PRACH的时间和频率资源确定)搜索对应的PDCCH;

基站解出第一个MSG3消息后,会通过PDSCH发送MSG4消息MSG4的消息根据UE状态的不同而确定,如果是初始接入MSG4中包含的消息则是UE发送的MSG3(里面包括UE用户冲突解决的ID),如果是出于RRC-Connected的状态则可以发送其它一些调度信息在MSG4里面;

   ->如果UE昰初始接入,UE会通过接收到的RAR当中的临时C-RNTI搜索对应的PDCCH搜索到之后,对对应的PDSCH进行解码通过对MSG4消息与自己发送的MSG3进行比较,如果相同則根据对应的消息调整定时之类的,如果不同则证明有冲突情况发生,当前RAR不属于自己重新开始下一次PRACH;

我要回帖

更多关于 速率匹配 的文章

 

随机推荐