已解决问题
诚心问大家几个LTE物理层的问题  (进入论坛模式)
提问者:tracyone   |  提问时间:2011-10-9 09:23
(1)码块分割是不是分出来的码块都是一样大小的?虽然理论上看起来不是一样大,但是我算了好几个都是如此??

(2)HARQ重传,物理层起到什么作用?

(3)LTE上行HARQ,采用同步非自适应的HARQ,非自适应是指:每次重传的信道编码、RV和传输格式都是事先预定好的,不需要额外的信令支持。同步是指:同步是指在一个HARQ进程中数据包的重传都出现在收发端已知的时刻(子帧),一般情况下重传时刻间隔相等
请问:“间隔相等”,固定值么?相等是指什么情况的。是不是处传得时候所处的子帧号和重传所处的子帧号是一样的??

非自适应让我想到另外一个问题:请看图,上行共享信道复用控制信息时:

里面参数带有initial和没有带initial的参数的区别,我原来以为:新数据传的时候带有initial和没有带initial的参数是相等的,如果次数据是重传的话,那么带有initial的参数还是初传时的值,而没带initial的参数是根据此次重传时接收到的DCI0来决定的,问题是上行HARQ是非自适应的,就像上面所说的,那岂不是固定的?

(4)重传的时候是,重传整个传输块还是重传码块?有没有可能一个传输块里面,有的码块需要重传,有的不用重传
关闭所有答案回应     最佳答案
试着回答一下啊,有问题欢迎指出。

(1)码块分割的大小可以不一样的。36.212中有K+, K-之分,就是对应着size大的和size小的码块。但是分割后的码块也就只有这两种大小。
整个码块分割算法的大致思想是:先计算码块个数,然后计算每个码块的大小。举了简单的例子,数据和协议中不太一样,但道理是一样的。
比如有传输块大小为70,可用的码块大小为20, 30, 40, 50。那么计算码块个数的时候,ceiling(70 / 50) = 2。但显然选择两个50大小的码块是不合适的,因为50 * 2 = 100 > 70,会浪费30。于是就在较小的码块中挑选大小为K+的码块。这个K+选取的原则是:
码块个数 * K+ > 70,并且是所有码块大小中最小的。
由于 40 * 2 > 70,且30 *2 < 70,因此K+ = 40。
然后选择K-,K-是比K+小的码块,就是30。
K+和K-的个数也有一个计算公式,这个就不讲了。对照我这个例子,不难发现K+和K-的个数都是1。最终选择的结果就是2个码块,一个大小为40,一个大小为30。

最后还有一个问题,也许你会问,实际中传输块的大小都能刚好被分割成若干个K+、K-的码块吗?回答是,一般情况下当然是不会的,除非有数字上的限制,即传输块大小和码块的大小在数值上都是预先设定好的,不能随意取值。而事实上,协议中也就是这么做的。码块的大小在36.212的表格中有定义;而传输块的大小定义在36.213中,即TBS。楼主可以看看36.213中关于“传输块大小的确定”这一部分内容。

(2)这个问题比较大,能否具体一点。物理层中讲到了HARQ的时序,即FDD是在收到确认之后,(如果要重传),则会在4个子帧后重传;TDD是有一张对应的表格。

(3) LTE上行不是只有非自适应HARQ,也有自适应HARQ。自适应HARQ是通过上行grant来实现的。非自适应HARQ不需要上行grant,也就是楼主所说的不需要额外的信令开销。
非自适应HARQ是有一个固定的时序,就是(2)中提到的那个时序。对于FDD,这个间隔就是相等的。对于TDD间隔就不相等了。不是指子帧号一样。

楼主对不带intial和带initial的理解是正确的,为什么会有两个,就是因为上行HARQ还有自适应的。

(4) 这个问题我不太肯定,只是我个人的推论。从整个ACK/NACK的过程来看,PHICH中不会指示某个码块是否ACK/NACK,而是指示某个TTI内某个UE的整个PUSCH是否ACK/NACK。因此,UE也不可能单独为某个码块进行重传,而只能重传整个PUSCH。当然,重传和首传的内容是不一样的,这个有冗余版本这个参数来控制,即36.212中的rv index这个参数。
 |  回应该答案 (0)  |  回答时间:2011-10-9 12:49
其他答案 ( 19 条 )
Thanks for sharing!
HARQ operation is with respect to a specific TB.
 |  回应该答案 (0)  |  回答者:jeffyko   |  2011-10-9 14:38


第一个问题,我从36.213表7.1.7.2.1-1 Transport block size table中任意选择一个TBS,结果算出来的c_都为0,而剩下来的码块就是一样大的了,算了好几个都是如此~

第二个问题:harq重传在物理层起到的作用,我原先找到一份资料说mac层负责harq的控制,而物理层负责实现。我的理解是mac完成了harq那些算法,决定什么时候重传,重传哪个,清除哪个,而物理层只要在每次编完码之后顺便保存一份拷贝,等到信号的时候就重传进入速率匹配的循环缓冲区,再次计算起始位置和输出长度E发送出去。

最后一个,之所以产生这样的疑问,首先速率匹配是码块操作,还有每个码块后面都有添加CRC,有添加CRC的话,那就是有检验咯?那就有检验失败的情况....
 |  回应该答案 (0)  |  回答者:tracyone   |  2011-10-9 15:21


谢谢指点!
 |  回应该答案 (0)  |  回答者:DR_KOG_POM   |  2011-10-9 15:32


刚才重看了一下码块分割这部分内容,我得到的结果和你一样,也是C-都为0。我记得以前算过一个C-不为0的,奇怪了。

另外,码块也不是刚好能够组成一个TB,一般总的码块大小会超过TB大小,剩下的部分有padding。这点前面讲错了,更正一下。
 |  回应该答案 (0)  |  回答者:DR_KOG_POM   |  2011-10-9 16:16
学习:handshake
 |  回应该答案 (0)  |  回答者:THE_bluewind   |  2011-10-10 09:20


As to the last question, CB is also CRC protected for ease of early stop of turbo decoding.
 |  回应该答案 (0)  |  回答者:jeffyko   |  2011-10-10 13:59
回复 6# 的帖子
经过艰苦的计算,发现36.213表7.1.7.2.1-1 里面的TBS算出来的C_都为0
但是当“映射到两层空分复用的传输块”或者“当前DCI格式为1C时的传输块”,C_不一定为0
 |  回应该答案 (0)  |  回答者:tracyone   |  2011-10-10 17:17


[attach]153753[/attach]

我现在最大的疑问就是这个,我需不需要在物理层做这个
首先我觉得重传的数据肯定要保存的
一种可能是:在MAC层保存需要重传的数据,保存的是原始的传输块,重传的时候重新进行CRC、turbo、速率匹配等
另外一种可能,物理层保存重传的数据,保存的是经过写入到速率匹配中循环缓冲区,新数据经过循环缓冲区输出的同时,保存一份拷贝~~,然后根据MAC层来指示来进行重传
谢谢你的回答:)
 |  回应该答案 (0)  |  回答者:tracyone   |  2011-10-10 20:20
虽然没做过这方面的开发,但我觉得是需要的。否则的话,每次重传,都需要把信道编码的过程再做一遍,那样性能就太低了。MAC层决定是否重传,如果重传,MAC需要将当前重传的RV index告诉物理层,那么物理层就根据这个RV index直接在存储的、经过信道编码后的比特序列中找到发送的起始位置,然后发送。
 |  回应该答案 (0)  |  回答者:DR_KOG_POM   |  2011-10-11 13:15
学习了,讨论促进了学习~
学习了~~
 |  回应该答案 (0)  |  回答者:zkkhappy   |  2011-10-17 22:26
学习了
 |  回应该答案 (0)  |  回答者:jh616359023   |  2011-10-18 10:13
最后一个问题我可以回答一下,LTE的HARQ采用的是IR模式,因此物理层保留循环缓存区的数据是必须的,有利于物理层可以快速发起重传。不管是自适应和非自适应HARQ,在子块交织之前的处理都是一样的,区别在于rate matching的不同,因此通用的做法是物理层保留rate matching模块的入口数据。
对物理层处理来说,最大的timing约束就是HARQ反馈周期,而在发射端处理中,Turbo编码是最耗费时间的,这种模块如果只是处理一次能解决那绝不会处理第二次。对基站来说,这种数据可以通过DDR写到RAM里面去,存储不是问题。
 |  回应该答案 (0)  |  回答者:flyearth   |  2011-10-19 10:09


啊~~~~说法不一啊,你确定么,之前另外一个网友这样回我:


前者就是指保存原始的传输块,后者就是保存循环缓冲区的大小。
我现在真的很纠结,如果采用在物理层保存重传的数据的话,我又不知道MAC层会给些什么信息来指示说,这么多个数据重传哪个?清除哪个~~
 |  回应该答案 (0)  |  回答者:tracyone   |  2011-10-19 11:10
看不懂啊看不懂~~~
要好好学习了
 |  回应该答案 (0)  |  回答者:恐高de鹰   |  2011-10-21 10:43
在PHY层的buffer中需要保存数据块,因为一旦需要HARQ重传合并,就需要在PHY中进行IR或CC合并。并且在上行中,UE即使收到下行PHICH的ACK也不会清除buffer中的数据块,而是根据PDCCH中是否有新数据的指示来确定是否要清除掉BUFFER中的数据块。
 |  回应该答案 (0)  |  回答者:johnledend   |  2011-11-13 10:31
不错,学习了。
 |  回应该答案 (0)  |  回答者:naturemalett   |  2011-12-14 13:35
我也问个问题:LTE中的OFDM调制IFFT过程是在BBU中实现的,还是在RRU中实现的?
 |  回应该答案 (0)  |  回答者:eelife   |  2011-12-15 10:32
LTE中的OFDM调制IFFT过程一般在BBU实现,除非你的BBU只跟自己的RRU互联
 |  回应该答案 (0)  |  回答者:platum   |  2012-1-29 11:53
收获颇多 谢过啦!
 |  回应该答案 (0)  |  回答者:玉汝于成   |  2012-4-12 10:41