TD--LTE的物理层详解

更新时间:2023-11-17 20:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1 机制的来源 ---- 哲学

? 想出来的,协议或规定,特别是‘恰当(中庸的思想),极端就是毁灭’

就像TDD没有沿用3G的上下行随便配置的方法,但也不能只有一种配置,这样太死板,所以折中之后提取出了七种比较有意义的帧结构模型。

? 具体问题具体分析。不能生搬硬套,要根据具体的情况订出具体的策略。后面介绍每种信道的时候就能看出来,每种信道的处理几乎都不一样,没有一种完全统一的方式。

? 就像数学推论一样,当问一个为什么,不断问下去的时候?最后要不是规定或者设计思想;就要不是‘公理,定理’,根本没法证明。 ? 任何事情都没有完美的,有利有弊,只是看你有没有发现而已。 ? 配置出来的

? 潜规则,这是一种规则但并没有显示表示(在代码中也有同样的。由于潜规则不容易发现而且难于理解,最好少用)

注:也许这些看起来比较空洞,但当你看完了后面的信道实现再反过来看的时候,就能很好的感觉这些思想的意义了。

2 后面讨论的一些限制

? 只涉及TDD-LTE,TDD比较复杂些,想清楚了它,FDD自然也好理解 ? 只涉及子载波是15kz的情况

? 只讨论‘一个时隙有7个symbol的情况’,也就是normal循环前缀(Normal cyclic prefix)的情况。不讨论Extended cyclic prefix的情况 ? 不讨论半静态调度,也许偶尔会涉及到 ? 不讨论MIMO的情况

? 看的都是860的协议,分别是36211-860,36212-860,36213-860

? 注:调制之后也产生符号,而一个资源块RB也是时域上也是有符号的概念。所以为了两者区别,‘调制符号’就是指‘调制之后也产生符号’;而正常的‘符号’就是指‘时域的符号’的概念。

3 LTE整体理解

3.1 生活交流就是LTE -- 设计思想

让我们从生活的角度来简单理解下‘通讯’,自己想出来的,有些也可能不太准确,只是想表达一种意思。假设eNodeb,UE都是人,是一个enodeb同时和多个UE进行交流。

? 加扰:由于enodeb和每个UE谈话的时候,都不想别人听得懂它们之间的谈话的内容。所以enodeb和每个UE谈话的时候,都用一种不同的语言,这也就相当于别的人虽然听到了,但是听不懂。相当于通讯中加扰。

? 功控:由于enodeb和多个UE都在一个环境谈话。如果一个UE讲得太小,enodeb听不到,enodeb就会让那个UE说话声音大点;如果UE说话声音太大了,又吵着了enodeb和其他人谈话,所以太大了又会让那个UE说话小声点。就这样不停的根据环境变化说话声音的大小,这也就是‘通讯中的功控了’,当然enodeb肯定也会控制自己说话的音量的。

? 编码率(CQI决定):enodeb和UE之间谈话,觉得UE说话太快了,听不清楚,就会跟UE说,你说话慢点;这样UE每一个分钟说的话也就少了,表达的意思就少了,当然这也是根据环境不断变化的;反过来也一样。这也就是通讯中‘编码率’,表达了选择到的那块资源(时间+频域)所能携带的,由CQI(channel quality indication)决定的。由于只能让听的人来决定说话是否快慢,所以:通讯中下行就是通过UE上报的CQI—channel quality indication决定下行编码率,因为UE是听者;上行enodeb自己来判断CQI—channel quality indication决定上行编码率,因为enodeb是听者。 ? ASN编码方式:就像人说话是否精练一样。同样的字数能传递的信息数是不一样的,像电报就要求比较精炼。无线侧的ASN编码就像人说话很干练;而有线侧TLV的ASN编码模式就相当于说话比较啰嗦。

? 资源位置的选择(CQI决定):enodeb可以让UE站在不同的地方,看看它听enodeb说话的效果怎么样,或者让UE站在各个地方说‘事先订好大家都知道的话’。哪里enodeb听得最清楚,最后enodeb就说你就站在那里说话吧,那里说话听得最清楚。这也就是通讯中‘资源位置的选择’,就是通过‘不同资源上返回的CQI,去选择CQI最好的资源进行分配,当然这只是理想情况’。此时说话的内容都是事先订好的,这也就是通讯中的RS(参考信号的作用),RS还有个作用‘相干解调’,后面会介绍。

? 资源数目的选择:用说话不好做比喻。就用货物运送吧。UE说我有很多货要送。Enodeb说我就给你多拍几辆车来送货把。这就是资源数目的意思了。

? 调度:一个enodeb和多个UE之间对话,每个人都有话要说,每个人可能要说好几件事,每件事重要程度也是不一样的(这也就是通讯中DRB的优先级),每件事说多少话也是不一样。而且有些UE的话重要,有些不太重要(这也就是UE的调度优先级)。但enodeb又忙不过来,它就去决定什么时候和某个UE对话,什么时候又听UE说话,分配多少时间给某个UE,分配多少车辆给UE送货(因为总的车辆数是一定的,也就是上下行带宽),最后调度就决定最后怎么去做。

? 正交:想到一个比喻但不是太恰当。就像一盘有各种颜色的珠子混在一起,然后你用自己对应的颜色,就能从混在一起的珠子中选出你自己想要的颜色的珠子。颜色就相当于正交码;用想要的颜色去匹配的动作就是正交运算。

3.2 一些设计基本原则 -- 设计思想

? 为了防止小区间干扰,通常通用的会通过PCI(physical cell id)进行偏移计算或者‘参与加扰计算’来防止干扰;如果和时间(时隙0~19)的变化相关,还加上‘时间’参与加扰。

? 为了防止小区内不同UE的干扰或者决定UE的资源分配位置,通过一个与无线侧UE相关的唯一标识--‘RNTI’进行加扰或者定位资源分配的位置。考虑到,如果资源分配的位置还有冲突,可能还会加入一个系统内相对的子帧号(0~9)或者时隙号(0~19)来解决这种资源冲突,让这种冲突再下一个时间点能得到解决,也就是资源分配的位置由RNTI和子帧号/时隙号共同决定。当然也会加上PCI来区分不同小区之间的不同UE。 ? 为了‘离散化’数据,一般喜欢‘横放列取’的方法。

? 由于‘空口最大的一个缺陷就是资源少’,所以为了尽量节省资源,产生了很多潜规则,而且也有时会‘1bit当2bit用,就是说不同的外部条件下,该1bit代表不同的意思’。这样虽然节省了资源,但这样的不利就是‘算法和限制条件太多了太烦了’。

? 要是‘没有了TDD’,也许思路该清净/清晰很多了。看物理层协议,TDD由于上下行配置的多样性和不对称性,产生了非常多的额外的处理问题,特别是HARQ ACK/NACK的处理。

3.3 基准时间单位 --- 规定

Ts = 1/30 720 000 S

这个的意思就是说‘每1秒,每个天线端口都会发送出30 720 000个‘调制符号’出去’。 3.4 FDD和TDD的帧结构 -- 规定

3.4.1 FDD帧的结构

FDD的配置 ,对称的(上下行不同的频点)

One radio frame, Tf = 307200Ts = 10 msOne slot, Tslot = 15360Ts = 0.5 ms#0#1#2#3#18#19One subframe

系统帧,子帧,时隙,符号(symbol)与时间单位的关系

Tframe(307 200 * Ts=10ms)? 10* Tsubframe(30 720*Ts=1ms) ? 2* Tslot(15 360*Ts = 0.5ms)? 7/6 symbol(2048*Ts = 66.7us).

3.4.2 TDD帧的结构

3.4.2.1 思想

TDD的几种配置,可以不对称

? 思想(折中):就像TDD没有沿用3G的上下行随便配置的方法,但也不能只有一种配置,这样太死板,所以折中之后提取出了七种比较有意义的帧结构模型。

? 参看:36211的Table 4.2-2

? ? ? ? ?

0和5这两个子帧都必须是下行,2必须是上行。

帧结构的配置可以改变,但不能改变得太快,不能每个系统帧都变一下 为了防止小区间干扰,相邻小区的上下行配置最好一样 特殊子帧只有下行转换到上行之间才有

帧结构和特殊指针的DWPTS/GP/UPPTS的时长都是由系统信息通知给手机的

? 使用那种时隙结构,是基于每个子帧都可以变化的。一般’扩展的CP’就是给MBMS子帧用的。

? 后面就能知道由于‘一个帧内的上下行子帧的数目不一样’这种不对称的配置,最后导致很多特殊的处理出来。也许现在还不太了解,看完后面的说明应该就了解了。

3.4.2.2 配置

? RRC::SystemInformationBlockType1 ? TDD-Config ? subframeAssignment

3.4.3 TDD特殊子帧的结构

? RRC::SystemInformationBlockType1 ?TDD-Config ? specialSubframePatterns决定特殊子帧的配置。

36211 的Table 4.2-1: Configuration of special subframe (lengths of DwPTS/GP/UpPTS).

Special subframe configuration Normal cyclic prefix in downlink DwPTS UpPTS Normal Extended cyclic cyclic prefix prefix in uplink in uplink Extended cyclic prefix in downlink DwPTS Normal cyclic prefix in uplink UpPTS Extended cyclic prefix in uplink 0 1 2 3 4 5 6 7 8 (3symbol + 16 ts)6592?Ts 7680?Ts ?Ts (9symbol)19760(10symbol)21952?Ts (11symbol)24144?Ts (12symbol)26336?Ts 20480?Ts 2560?Ts 2192?Ts 2192?Ts 2560?Ts 23040?Ts 25600?Ts 7680?Ts 6592?Ts 19760?Ts 20480?Ts 4384?Ts 4384?Ts 5120?Ts 21952?Ts 24144?Ts 5120?Ts 23040?Ts - - - - - - ? 注意上表的红色部分,对应到的符号symbol数,因为PDCCH要占用1~3

(normal)符合,所以‘也就会明白,后面提到的为什么特殊子帧配置为0,5的时候,为什么不能传输下行数据了,因为如果PDCCH占3个符号就没有资源给PDSCH用了(设计的人也是以PDCCH占最大情况来考虑的,一刀切。没有根据PCFICH来判断,如果根据PCFICH来判断算法会复杂。两种方法各有利弊)’

3.4.4 问题

3.4.4.1 问题1: 既然说GP是为了上下行转换提供空余时间减少干

扰,那为什么说上行到下行转换得地方都没有GP呢?

因为下行到上行转换时,UE根本不知道和enodeb之间的距离,如果提前量太早了,UE发送上行数据而enodeb还在发送下行数据,就会发生干扰,所以需要

GAP。当上行到下行的转换的时候,如果UE没有TA(时间提前量),它肯定是在PRACH上发送,premable占用的时间比较短,不会完全占满上行子帧,所以后面还是留了点时间,不会发送上下行冲突;而当UE已经有TA的时候,时间已经对齐了,即使发送有点误差也是落在了cyclic prefix(每个时域上symbol前面的空白)里面了,所以不会发生上下行干扰。

==》也进一步推出:为什么PRACH的资源在时域上,为什么在特殊子帧上要以‘特殊子帧’的尾部进行对齐,而在正常的上行子帧上,要以‘正常上行子帧的’开头对齐了。因为特殊子帧后面肯定是上行子帧,所以要向后对齐;而正常的上行子帧后面可能是下行子帧,所以要向前对齐。

3.4.4.2 问题2:为什么要有扩展的CP?

? 覆盖范围大的小区,可以解决延迟长的问题

? MBMS广播,对于多个小区同时广播一套节目给终端,必须考虑不同小区到终端的时间延迟不同,所以用扩展的长的CP比较好。

3.5 一些基本概念 -- 规定

3.5.1 公式 – 拉斯变换

? 变换的目的就是:让乘法变得很简单了。

3.5.2 资源块的描述 -- 规定

? 1 个资源块(RB) = 12 subcarrier * 1 slot(正常7个符号)

One uplink slotTslotULNsymbSC-FDMA symbolsULRBk?NRBNsc?1Resource blockULRBresource Nsymb?NscelementssubcarrierssubcarriersULRBNRB?NscBNsRcResource element(k,l)k?0)

? 1 subcarrier = 15khz ? 也就是说一秒钟的发射载波频率是15k

? RE = (频域)15KZ * 1 symbol(时域),就是上面的一个‘最小的方框’。

? REG = 4个频域挨着的但不一定连续的,时域上相同的RE的集合。

l?0ULl?Nsymb?1? CCE = 9 * REG

注意: CCE只是一个逻辑上的概念,也就是说它物理上只是等于9个REG,并没有实际的对应关系。为了PDCCH盲检测用的。它和REG的顺序不一样,它的顺序是先时域,再频域的。

3.5.2.1 问题1:为什么CCE要先时域后频域?

因为这样可以获得时域分集(就是把一组完整的数据分在不连续的时间上发送),跟后面提到的交织一样,都是为了错误随机化。因为‘射频单元’会以(1/Ts = 30 720 000 S)的频率‘按照先频域后时域发送‘调

制符号’。

3.5.3 调度的单位 -- 规定(个人觉得也是一种恰当不极端的思想)

? 时间上:一个TTI(1ms),即2个TS调度一次

? 频域上:调度的最小资源单位却是由一个subframe中的两个资源块为最小调度单位(一个时隙一个RB,但这两个RB可能载频不一样),也就是所谓的时隙间跳频,跳即‘变化,不同的’意思。

3.5.3.1 问题1:为什么要不同时隙间的使用的载频可能不一样?

这样应该是为了获得良好的接收效果。如果在某个频点的信号不好,而1个TTI内上下时隙的频点不一样,这样另外一个频点对应的信息还是能很好的解出来。

一个很特别的例子就是PUCCH资源回应HARQ ACK/NACK的时候:它对应的上下时隙的频点就不一样,但是它们传输的数据是有关联的,只要一个时隙能解

出来就行了,所以某个频点的信号不好也不会受影响。具体我们后面谈到PUCCH的时候再解释。

3.5.4 符号和真实的BIT数据的对应关系

? 我们可以简单的把符号理解成电磁波,接收端接收到的电磁波然后根据不同的相位可以认为代表不同的BIT.

记住:记住接收是指接收一个时间段的波形,而不是一个时间点的波形。 例如QPSK:1个符号代表2bit的情况。

这种波形代表00

这种波形代表01

? 参考36211的7.1。注意:64QAM有些手机是不支持的,所以要从UE的信息中获取是否支持,才能决定是否对该手机使用64QAM(RRC::UE-EUTRA-Capability-> ue-Category能查到)

3.5.5 时域延迟等同于频率相位偏移如何理解

T1时间点应该发送波形,推迟到T2点发送,所以相对于接收端它不知道推迟,所以它还是在T1时间点进行接收,接收到的就是T2时间点的波形。 所以相位不一样,就相当于偏移。

4 物理信道与传输信道

4.1 上下行信道--- 规定

? 上行

Table 4.1-1

TrCH UL-SCH RACH Physical Channel PUSCH PRACH Table 4.1-2

Control information UCI Physical Channel PUCCH, PUSCH

? 下行

Table 4.2-1

TrCH DL-SCH BCH PCH MCH Physical Channel PDSCH PBCH PDSCH PMCH

Table 4.2-2

Control information CFI HI DCI Physical Channel PCFICH PHICH PDCCH

4.2 传输信道到物理信道的基本处理流程(不分上下行)

? 输入:TBS(transport block size),也叫码字,可能有一个或者两个码字-----调度决定给UE多少个RB,让然后根据‘CQI或者加上其他因素‘算出IMCS,根据IMCS算出ITBS,最后根据ITBS和分配的RB数查表36213---Table 7.1.7.2.1得到能传多少个bit,这也就是MAC最后组成的PDU的大小。

? 流程 delivered from MAC layeracodeword0codeword1bCRCCRCcsegment + CRCsegment + CRCdTurbo codingTurbo codingTurbo codingTurbo codingTurbo codingTurbo codingerate matchingrate matchingrate matchingrate matchingrate matchingrate matchingcode block concatenation 注:(1)每个分段自己去做turbo编码和速率匹配,最后才串联在一起。

(2)对于某些信道可能增加过程,也可能有些过程没有。总之是恰当的思想,不需要就不要;不足的就加。从该图也看出了有时只有一个码字codeword,codewrod1不一定有。

fcode block concatenation4.2.1 加CRC (a ? b) --- 一路输入,一路输出

4.2.1.1 作用

? 校验,检错.

4.2.1.2 参看

? 参看36212的5.1.1

The bits after CRC attachment are denoted byb0,b1,b2,b3,...,bB?1, where B = A+ L. The relation between ak and bk is:

bk?ak bk?pk?A

for k = 0, 1, 2, …, A-1

for k = A, A+1, A+2,..., A+L-1.

4.2.2 Segment + CRC (b?cr) ---- 一路输入,多路输出。 cr可能带有

4.2.2.1 作用

? 控制住code block的最大长度(算是分段之后的CRC长度).为什么需要控制,可以参看问题3.

4.2.2.2 参看

?

参看:36212的

5.1.2

4.2.2.3 思想及实现

? 思想:尽量保证‘分的每段的长度保持均匀’,长度在36212的5.1.3-3有规定(恰当的思想)。比特是加在第一段的前面.

注意:只有分段之后才能再加?

CRC24A

举个例子:

假设第一次加CRC之后是13000bit(也就是B,未分段前加CRC之后的bit数),显然大于允许的最大长度Z=6144bit,所以要分段

(1)分段的段数为:C??B/?Z?L????13000/(6144?24)??3. Z-L是代表分段之后每段还得加个24bit的CRC24A (2)分段之后最后的有效的总bit数就为

B??B?C?L=13000+3*24=13072bit

(3)去查表36212的5.1.3-3要满足C*K?>=13072, 查表得到K?=4416。算

出K-=4352,?K=64。根据协议公式

?C?K??B?? C???? = 2,就说明长度为K-=4352的有2段;

?K?? C??C?C? = 3 – 2=1,就说明长度为K?=4416的有1段;

F?C??K??C??K??B? =48,说明第一段长度为K-=4352需要加48bit 的.

(4)最后可以算一算,2段4352 + 1段4416 - 填充的48bit正好 =

13072.

? 协议里面的算法比较复杂,可以用另外一种算法来理解. C??B/?Z?L?? , B??B?C?L . Z=6144,L=24(分段之后加CRC24A的长度)。 总共分C段。

K?是5.1.3-3中最小的满足“C?K?B?”的K值,K-就是5.1.3-3中K?的上一个值,比K?小。

设C* K? = B?+ a * ?K + b(b

通过协议的算法也是一样的:

Number of segments of sizeK?: C????C?K??B???. ?K??Number of segments of sizeK?: C??C?C?.

也就是说明:长度为K- 的有a个; 长度为K?的有C - a 个.第一段code block的填充b个

? F = C?* K? + C- * K- -B’

= C?* K? + C- * (K?-?K ) -B’ = (C?+ C-) * K? - a * ?K -B’ = C * K? - a * ?K -B’ = b

4.2.2.4 问题

4.2.2.4.1 问题1:为什么分段之前要加CRC? 分段之后还需要再加CRC?

? 因为分段之前加CRC就是对‘transport block’的校验,如果不加的

话,分段要是丢了就没办法查出来了。一个‘transport block’可以被分

为多个‘code block’,分段之后加的CRC是对’code block’的校验. 第一次的CRC可能是: CRC24A,CRC24B,CRC16,CRC8.而分段之后的CRC都是CRC24A.

4.2.2.4.2 问题2:可不可能出现上面a > =C的情况?

? 不可能,因为要分段,每段的大小不可能小于6144/2,根据5.13-3表,对应的

?K=64的,如果出现a>=C的情况的话,K?应该对应的再往上跳一级。

4.2.2.4.3 问题3:为什么需要分段,为什么分段的长度限制在6144?

? 后面提到的turbo编码有限制是6144bit,所以需要分段。

(0)4.2.3 信道编码(cr ?dk/dk(1)/dk(2)) 。一路输入,三路输出.dk(0)可能带有< NULL>

4.2.3.1 作用

? 前向纠错编码。应该是重复编码,冗余来保证解码的成功率的.

4.2.3.2 参看

? 参看36212的5.1.3

Table 5.1.3-1: Usage of channel coding scheme and coding rate for TrCHs

TrCH UL-SCH (PUSCH) DL-SCH(PDSCH) PCH(PDSCH) MCH(PMCH) BCH(PBCH) Coding scheme Coding rate Turbo coding Tail biting convolutional coding 1/3 1/3

Table 5.1.3-2: Usage of channel coding scheme and coding rate for control information

Control Information DCI(PDCCH) CFI(PCFICH) HI(PHICH) UCI(PUCCH/PUSCH) Coding scheme Coding rate Tail biting convolutional 1/3 coding Block code 1/16 Repetition code 1/3 Block code variable Tail biting convolutional 1/3 coding The values of D in connection with each coding scheme: (D代表dr的bit数) - tail biting convolutional coding with rate 1/3: D = K;

- turbo coding with rate 1/3: D = K + 4.

4.2.3.3 重要特性

? Turbo编码有个很重要的特性,就是短暂的记忆性。也就是某个bit可以

根据前面的n个bit算出来。所以它能进行些纠错的处理。

(1)(2)(0)dkdkdk4.2.4 交织,速率匹配(

NULL>

//?ek) 。三路输入,一路输出. ek不带有<

4.2.4.1 作用

(1)交织作用:使错误随机化(离散化);

(2)速率匹配作用:然后通过‘bit选择和打孔’来选择以实现----传下去的bit数达到要求的实际的可用的RE对应数据量(RB中真正可用的RE和Qm共同决定的--- 例如要除去‘参看信号’占用的RE),同时去掉多余或者的数据以达到数据量与真正传输物理资源的RE对应的数据量一样。

4.2.4.2 参看

? 参看36212的5.1.4

(0)dkSub-block interleaver(0)vkvirtual circular buffer(1)dkSub-block interleaver(1)vkBit collectionwkBit selection and pruningek(2)dkSub-block interleaver(2)vk

4.2.4.3 思想及实现

? 思想:

(1)交织的思想:横放列取。横放?列交换?按列读取。

(2)速率匹配比特选择(bit collection)的思想:根据rvidx得到起始的选择位置,然后再把交织的数据列读的方式来选择‘物理层需要的真实分配的bit数’,同时把给去掉。

? 举个例子:配置的rvidx决定选择的起始位置。

假设信道编码的结果为:a,b,NIL, NIL,c,d,e,f, NIL,g,h , NIL,i , j, NIL,k

注意a…..k都是代表bit0或者1,只是为了区别不同位置的二进制数这样写

bNILNIL??a??def??c ? ----横放 ?NILghNIL???ijNILk???第2列和第4列交换

NILNILb??a??fed??c‘第2和第4列交换’之后的矩阵, ?NILNILh?g???ikNILj???然后,假设根据‘rvidx’算出起始位置为d,最后要映射到能物理上能传送‘20bit’的资源上去。

按列读取,跳过NIL。结果也就为:d,g,j,a,c, i,f,k,e,h, b, d,g,j,a, c,i,f,k,e.

注:从这里也就能看出物理层打孔和重复的意思了。就是如果资源对应能传得数据大于turbo编码后的数据,就会turbo编码后的数据会重复传送;如果就是如果资源对应能传得数据小于turbo编码后的数据,就会turbo编码后的有些数据会丢掉不传送,也就是‘打孔’的意思了。上面这个例子对应的是重复的情况。下面这个例子对应的是‘打孔’的例子。

然后,假设根据‘rvidx’算出起始位置为d,最后要映射到能传送‘8bit’的资源上去。

按列读取,跳过NIL。结果也就为:d,g,j,a,c, i,f,k。

4.2.4.4 难理解的地方

? 看看36211的5.1.4.1.2节,有一些难理解的地方

(1)Denote the soft buffer size for the transport block by NIR bits and the soft buffer size for the r-th code block by Ncb bits. The size Ncb is obtained as follows, where C is the number of code blocks computed in subclause 5.1.2:

? -Ncb?min????NIR??,K?w?? C????for downlink turbo coded transport channels

- Ncb?Kw for uplink turbo coded transport channels

where NIR is equal to:

?NsoftNIR????KMIMO?minMDL_HARQ,Mlimit???? ??为何有这种上下行的区别:因为下行是手机接收,必须考虑手机的buffersize 的

大小的能接受的程度;而上行是eNodeb接收,默认就认为它的buffersize肯定比UE大很多,所以不必担心,这也是一种潜规则。所以也就知道手机上报的

buffersize有什么用了(RRC::UE-EUTRA-Capability-> ue-Category能查到)。控制信息就没有这样的区别,因为默认都比较小。

??NsoftNIR???:每个HARQ中的每个码字分一些‘缓存空

K?minM,M?MIMODL_HARQlimit?????NIR???,K间’;然后Ncb?min?w??C??下行的时候每个分段又继续分到对应的‘缓存空??????间’。

(2) 从获取ek就知道rvidx(上行是固定的,下行的时候在DCI中带有)有什么用了,就是用来决定其实的获取数据的位置的。

??NTCk0?Rsubblock??2??TCcb??8Rsubblock???? ?rv?2?idx???

(3)G 和NIR,N soft是什么关系

G是实际上要传输的‘transport block’的长度,是由”分配的PRB中有效的RE的个数,调制模式Qm,以及时间长度决定”决定的(例如: BCH最后算下来就是

1920bit,所以ek也就会有1920bit,因为此时考虑到它的时间长度是40ms。参看36212的5.3.1.一般的正常调度应该为1ms—1个TTI),也是所有‘code block’合起来的长度。而N soft是指手机实际的buffersize最大能容纳多少,NIR也就是对应到每个HARQ PROCESS能的每个码字分配多少的buffersize,简单来做就是‘取平均’。

NIR?Nsoft????KMIMO?minMDL_HARQ,Mlimit???? ??注:Ncb只是能决定选择‘bit collection’后的bit流的范围,并不能决定实际传输的数据量。实际还是由G来决定,然后映射到每个分段的实际传输bit流的长度就

是E。

4.2.4.5 问题

4.2.4.5.1 问题1:为什么NL在4层的时候不是4而是2呢?

SetG??G?NL?Qm? where Qm is equal to 2 for QPSK, 4 for 16QAM and 6 for 64QAM,

and where

- NL is equal to 1 for transport blocks mapped onto one transmission layer, and - NL is equal to 2 for transport blocks mapped onto two or four transmission layers. 因为此时2, 3,4层,最多可能有2个码字,也有可能是1个码字。所以这里是按默认最大2个码字算出来的。

4.2.4.5.2 问题2:G是实际上要传输的‘transport block’的长度,计算的时候需要考虑到空分和发射分集吗?

只需要考虑空分,不需要考虑发射分集。

4.2.4.5.3 问题3:为什么5.1.4.2.2节的对于BCH的公式直接是ek?wjmodKw,没有Ncb呢?

? 因为‘BCH和上行才会用convolutionally coded编码方式’。 BCH数据很少,UE的buffer肯定够。而上行的时候接收端是enodeb,默认觉得它的buffer size也是肯定足够的。而控制信息数据很少,肯定buffersize 也是够的。所以这里直接就用了Kw.

4.2.5 Codeblock串联(ek ? f)。多路输入,一路输出

? 参看36211的5.1.5

4.2.6 总结

? 对于接收端:“CRC, Turbo编码,交织”组成了一个几乎完美的防错网,一层一层的过滤防错纠错。

>>>首先:交织是数据离散化了,所以一串连续出错的数据最后被离散化了 >>>然后,通过turbo编码短暂的记忆性,又能对这种离散化了的错误进行一些恢复。如果不离散化,一串错误的bit紧靠在一起,turbo编码是无法利用它的‘短暂记忆性’进行纠错的。

>>>最后利用CRC在整体进行错误的检查,和简单错误的恢复。

4.3 下行物理信道的基本处理流程

? 参看36211的6.3

code wordslayersantenna portsModulation mapperLayermapperScramblingModulation mapperPrecodingResource element mapperScramblingResource element mapperOFDM signal generationOFDM signal generation 注: (1)因为下行可以空分,上行没有。所以可以看到‘下行’最多可能有两个码字。而且下行有层映射,上行也没有。

(2)输入就是上面提到的最后code block串联的结果

(3)加扰和调制是针对一个码字的,层映射的时候它们才合在一起。所以后面能明白为什么说到DCI格式的时候,有些DCI格式的‘对于MCS,新数据只是new data indication,RV’有两个,而PMI始终只有一个了。

多出来了,能多传真正的数据。后面讲PDCCH和PDSCH的时候就能理解了。

4.4.5.4 数据来源

36211 Table 6.7-1: Number of OFDM symbols used for PDCCH.

Subframe Subframe 1 and 6 for frame structure type 2 MBSFN subframes on a carrier supporting both PMCH and PDSCH for 1 or 2 cell specificc antenna ports MBSFN subframes on a carrier supporting both PMCH and PDSCH for 4 cell specific antenna ports MBSFN subframes on a carrier not supporting PDSCH All other cases Number of OFDM symbols for PDCCH when 1, 2 1, 2 2 0 1, 2, 3 DLNRBNumber of OFDM symbols for PDCCH when NRB?10 2 2 2 0 2, 3, 4 DL?10 DL?10, the span of the DCI in units of OFDM symbols, ? For system bandwidths NRBDL?10, the span of the 1, 2 or 3, is given by the CFI. For system bandwidths NRBDCI in units of OFDM symbols, 2, 3 or 4, is given by CFI+1.

? 应该是出于‘帧结构2的子帧1和6是特殊子帧的考虑,所以PCFICH配置不能配置3‘。但其实对于帧结构2(TDD)的config3,4,5这几种配置情况,6子帧并不是特殊子帧,其实可以配置此时CFI可以配置为3的。从这里也可以看出设计了太复杂,最后协议自己也有点不能‘不厌其烦’了,就好像再说‘太繁琐了,我自己都有点受不了了,一刀切简单点’。

? 显然决定PCFICH取值就是看这次‘对应的调度的UE总共会占多个个CCE也就是PDCCH占用的范围来决定’,后面介绍PDCCH的时候再介绍。

4.4.5.5 流程

CFIscramblingchannel codingb(32 bit)modulationd(16symbol)layer mapping and precodingy(16symbol per port)mapping to resource elementsb^(32bit)

? 编码是固定的:

36212 ---Table 5.3.4-1: CFI codewords

CFI codeword

CFI 1 2 3 4 (Reserved) < b0, b1, …, b31 > <0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1> <1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0> <1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1,0,1,1> <0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0> cellcell? 加扰:cinit???ns2??1??2NID。 跟cell相关,而且跟时间相?1?29?NID关,所以扰码的初始化与PCI和ns相关。但PCFICH一次TTI(1MS)一

??次,对于的一个子帧(0~9),所以这里用ns/2, ns表示的一个帧内时隙号? ? ? ?

(0~19)。

调制模式: QPSK(1个调制符号可以表示2bit)

层映射和预编码:都是和PBCH一样‘层数和port数一样,而且预编码使用发射分集’。

对应的资源分配的基本单位: REG

编码之后符号数: 32bit --? 16 QPSK符号 -? 4个资源组(REG)

4.4.5.6 时频位置

? 频域(k):4个REG均匀分布在cell的下行带宽的上 ? 时域(l):每个子帧的第一个符号

z(p)(0)z(p)(1)z(p)(2)z(p)(3)is mapped to the resource-element group represented byk?kDLRBis mapped to the resource-element group represented byk?k?NRB2?Nsc2is mapped to the resource-element group represented byk?k?is mapped to the resource-element group represented byk?k???DLRB2??Nsc?2NRBDLRB2??Nsc?3NRB22

DLRB注:上面的结果都要再对NRBNsc取模。

RBcellDL--- PCI决定偏移。 k?Nsc2?NIDmod2NRB????注:从CELL-RS的分布就可以看出,为什么mod2NRB,因为第一个符号中下行带宽对应

DL的除去CELL-RS剩下的REG数也就是2NRB个。

DL4.4.5.7 协议结构体

4.4.5.8 特殊性

4.4.5.9 问题

4.4.5.9.1 问题1:为什么PCFICH的加扰要和时间有关cellcell,而PBCH的加扰却不和时间有cinit???ns2??1???2NID?1??29?NIDcell关能cinit?NID?

因为PBCH始终都是在子帧0的第一个时隙上。也就是ns固定=1,没有变化,所以没有必要加进加扰中;而PCFICH是有子帧的变化的,所以需要把子帧号加入进

行加扰。

4.4.6 PHICH(Physical Hybrid-ARQ Indicator Channel)

4.4.6.1 作用

? 对上行(uplink UP-SCH)UE传送的数据进行应答确认。

4.4.6.2 参看

? 参看:36212的5.3.5,36211的6.9,36213的9.1.2

4.4.6.3 思想来源

? 思想演变过程:

(1)如果针对一个UE就对应一次回应就对应叫做一个PHICH,由于上行没有空分,所以只有1bit,对应与一个RE就够了。

(2)但如果每个UE的上行回应都对应一个RE。一是容易出错,二是eNodeb对于不同UE发送PHICH就需要的功率不一样,这种变化太快了,对RF(射频处理)是一个难度。所以就设计把多个PHICH通过码分正交的方式合成一个,形成了PHICH GROUP以减小RF的处理难度。

? 协议规定:(思想定下来了,具体实现的结果就可以有多种可能了)一

般情况也是用PHICH GROUP去完成ACK/NACK响应的。

(1) Normal cyclic prefix一个PHICH GROUP有8个PHICH, 码分的长度是4;

(2) 码分之后产生12个调制符号,最后对应到3个REG上面去。这3个REG均匀分布在下行带宽上

? 好处:

(1) 提高了数据接收的可靠性

(2) 减少了射频处理的难度

4.4.6.4 数据来源

? 对于上行由于没有空分,所以只有是一个码字。所以只有1bit的ACK/NACK(0:NACK; 1:ACK)。

4.4.6.5 流程

ack/nack(1bit)modulationchannel codingb(3bit)scrambling和正交d(12symbol)layer mapping and precodingy(12symbol per port)mapping to resource elementsz(3symbol)

注:最后多个HICH(一个HICH GROUP)会映射到3个REG(12symbol),每个TTI,一般情况是均匀分布在第一个符号的子载波,靠配置决定。

? 信道编码: 固定的,1bit重复成3bit

63212 ---- Table 5.3.5-1: HI codewords

HI codeword HI 0 < b0, b1, b2 > < 0,0,0 >

本文来源:https://www.bwwdw.com/article/00vv.html

Top