打孔是怎么进行的啊?
速率匹配的时候是怎么打孔的?
答:打孔 puncturing,是压模中的一种模式,另一种是扩频因子减半。在HSDPA L1 coding中速率匹配中有用到,可以参考3GPP25.213。在HSDPA中用到了2次速率匹配,第一次是为了将编码后的bit流经过速率匹配后能适合UE的能力。第二次速率匹配是为了适合各个物理信道的能力。打孔是根据RNC的RRC信令配置下来的参数所设置的模式将bit流中的一些冗余bit去掉。(1/3turbo编码对每一个有效位产生了2个冗余位。)
一般在rate matching 中讲打孔,如果输入比特数少于输出比特数,那就是用repetition;如果输入比特数多于输出比特数,那就是用puncturing。打孔就是依照一定的patten把一些比特打掉,从比特序列中移除。
速率匹配是指传输信道上的比特被重发(repeated)或者被打孔(punctured),以匹配物理信道的承载能力。打孔就是将当前的比特打掉,同时将后面的比特依次前移一位,重复就是在当前比特和后面的比特之间插入一次当前比特。解速率匹配算法与之相反,恢复被打掉的比特,或者打掉重复的比特。
计算速率匹配参数,即eini,eminus,eplus以及背景知识。
eini是指示初始打孔位置,用于指示比特序列从第几个比特开始打孔。而eminus和eplus是用于修正误差部分,用于计算从初始序列以后每隔多少比特打孔。
速率匹配位于无限帧分割模块和比特加扰模块之间,目的是将高层的数据匹配成物理信道能传输的数据容量(是个离散值,目的是为BC的扩频而在特定的时隙发射)。
速率匹配参数的eini值是每个10ms都不一样的。换句话说,由于每帧的周期是10ms,所以每10ms都要执行一次信道编码模块,也就是每10ms都要根据eini来计算该10ms的初始打孔位置并且计算各自的修正误差因子(eminus,eplus)。
打孔的原则就一个要均匀。均匀的含义包括打孔的位置在一个tti内各个frame内均匀分布。
如一个tti有4frame。每frame要打掉5个。第一次交织pattern为0 2 1 3如果第0frame打掉的位置为 1 13 23 33 43。则第1frame 为(1+3 13+3 23+3 33+3 43+3)最后一frame为(1+9 13+9 23+9 33+9 43+9). 这里的第一帧 是没有交织前的第一帧的位置,即 交织后的第3frame的位置。
即每frame 偏移(13-1)/4 . 这个偏移保证了第一次交织后,由于每frame内的bit分布到了4个frame内。加上偏移等效为在没有交织的frame内均匀打孔。对于重复也是一样。