您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 一篇文章让你认识并读懂大数据29
OFDM系统中Turbo编码混合ARQ技术的研究和实现答辩人:刘伟峰指导老师:朱杰BellJointLab2背景概述BellJointLab3课题背景高频短波通信–抗毁能力极强–覆盖范围广–运行成本低–机动灵活战争、自然灾害、边远地区的主要通信方式BellJointLab4研究重点Turbo码的原理、仿真和设计–Matlab建模仿真–矩阵推导MAP算法–短帧Turbo码的设计方法Turbo编码混合自动重复请求方案–现有方案的分析比较–提出新颖的“分而治之Turbo编码HARQ”方案系统模块的DSP实现与优化–循环冗余校验码的快速实现–Max-Log-MAP算法的实现与优化BellJointLab5OFDM——抗多径衰落的尖兵频谱划分成窄的平坦衰落子信道串并变换后,每个子信道上的符号速率下降,可以很好的对抗时延扩展把频率和时间选择性衰落的影响随机化,有利于纠错码工作一个频率选择性信道→多个非频率选择性信道BellJointLab6OFDM的Matlab实现BellJointLab7Turbo码的原理、仿真和设计BellJointLab8Turbo码——接近Shannon限的好码编码器由两个递归系统卷积码通过交织器级联的方式结合而成,以较小的编译码复杂度,生成码重分布优良的长码译码器采用迭代的方式,两个分量译码器互相帮助,充分利用码子的约束信息在短约束长度、长分组以及10到20次迭代的情况下,Turbo码在误码率(BER)10e-5处距离Shannon限0.5dB左右BellJointLab9Turbo编码器DDDDinterleaverkukx1ky2kyku3ky1ky2ky½ConvolutionalEncoderinterleaver2/3ConvolutionalEncoder并行级联卷积编码器串行级联卷积编码器BellJointLab10Turbo解码器interleaverkdkx1ky2kySISODecoder1SISODecoder2interleaverDe-interleaver+De-interleaverHardDecision()kLLRd并行级联卷积译码器BellJointLab11软输入软输出分量译码器对数似然比(LLR)Y是观测,uk是估计值符号表示0,1比特,幅度表示可靠程度(1|)(|)ln()(1|)kkkPuYLuYPuYBellJointLab12MAP算法想法–把比特的概率估计转化为状态转移的概率估计–把状态转移的概率估计以递推形式计算计算–三种度量,两次递推,一步到位特点(相比维特比算法)–复杂度大(乘法,除法,指数,对数计算)–卷积译码无优势–可以输出译码软信息BellJointLab13MAP算法前向度量后向度量分支度量前向递推后向递推后验概率LLR1111(')(';)kkkmPSmY1()(|)NkkkmPYSm1(',)(;|')kkkkmmPSmySm1'()(',)(')kkkmmmmm11'()(')(,')kkkmmmmm1(',)11(',)1(')(',)()(|)ln()(')(',)()kkkkkmmukkkkmmummmmLuYmmmmBellJointLab14MAP算法的计算流程计算分支度量前向递推计算前向度量后向递推计算前向度量综合计算后验概率LLRY()kLu(',)kmmkmkm(|)kLuYBellJointLab15MAP算法的矩阵表示(0)(1)(1)kkkkAM(0)(1)(1)kkkkBM(0,0)(0,1)(0,1)(1,0)(1,1)(1,1)(1,0)(1,1)(1,1)kkkkkkkkkkMMMMMM前向度量后向度量分支度量矩阵'1kkkAA11kkkBB前向递推后向递推BellJointLab16MAP算法的矩阵表示''''1210kkkAA12kkkNNBB101210'()()'()MNNNkkkkmABmmAB(()())()()kkkkDiagmmDiagADiagB1(1)*(1)1[(')(',)()]()()kkkMMkkkmmmmDiagADiagBBellJointLab17MAP的简化算法——Max-Log-MAP指数运算和乘法运算的噩梦变换到对数域中利用近似公式()ln(())kkAmm()ln(())kkBmm(',)ln((',))kkmmmmln()max()ixiiiexBellJointLab18Max-Log-MAP算法简化前向递推1'()max((')(',))kkkmAmAmmm简化后向递推1(')max(()(',))kkkmBmBmmm支路度量计算11(',)()22nckkkklklLmmuLuxy后验概率计算1(',)11(',)1(|)max((')(',)())max((')(',)())kkkkkkmmukkkmmuLuYAmmmBmAmmmBmBellJointLab19Log-MAP算法近似导致性能损失引入纠正项1212||121212ln()max(,)ln(1)max(,)||xxxxceexxexxfxxBellJointLab20串行级联卷积码系统Matlab实现BellJointLab21并行级联卷积码系统Matlab实现1BellJointLab22并行级联卷积码系统Matlab实现2BellJointLab23Turbo码仿真1之译码器结构——迭代次数BellJointLab24Turbo码仿真1之译码器结构——误码率BellJointLab25短帧Turbo码的设计要点1译码器结构的选择:PCCC结构的误码平层大约为1e-5,而SCCC结构能够提供更低的误码平层(大约1e-7),SCCC需要更多的迭代次数达到误码平层,本身的译码复杂度也是远远高于PCCC(内编码器是4进制输入,8进制输出,格形图上有16个状态,每个状态出发有4条路径,每个状态有4条路径交汇)。在本系统中,我们选择PCCC结构。BellJointLab26Turbo码仿真2之分量码——递归BellJointLab27Turbo码仿真2之分量码——生成多项式BellJointLab28Turbo码仿真2之分量码——约束长度BellJointLab29短帧Turbo码的设计要点2分量码的选择:分量码必须是递归形式的,递归形式的分量码对于Turbo码减少低码重码子起着十分重要的作用,分量码的生成多项式也起着十分重要的作用,必须优化设计,分量码的约束长度对于Turbo码的作用十分有限,增大分量码的约束长度导致译码器复杂度的增加。在本系统中,我们推荐使用poly2trellis(3,[75],7)分量码。BellJointLab30Turbo码仿真3之帧长BellJointLab31短帧Turbo码的设计要点3帧长:对于Turbo码的性能而言,希望帧长越长越好,虽然帧长度的增加不会增加单位比特译码的复杂度,但是帧长直接决定了系统传输的时间延迟和译码存储空间,所以帧长度的选择必须折中考虑。一般的对于语音系统,帧长为200比特左右,对于视频系统,帧长为1000比特左右。本系统中,我们使用256比特作为帧的长度。BellJointLab32Turbo码仿真4之交织器——SCCCBellJointLab33Turbo码仿真4之交织器——PCCCBellJointLab34Turbo码仿真4之交织器——奇偶分离BellJointLab35短帧Turbo码的设计要点4交织器:交织器在Turbo码系统中也是一个十分重要的组件,相比较差的交织器,良好的交织器可以提供大约0.2dB到1dB左右的增益,大量的试验证明,一般的随机交织可以取得良好的性能,代数交织和随机交织的性能相当,但是随着帧长的变小,随机交织的优越性会消失,直至我们必须“刻意”的设计交织器,才能使Turbo码正常工作。随机交织对于帧长度没有约束,代数交织器一般对于帧长有着特殊的要求,矩阵交织器同样要求帧长能够分解成两个相近数的乘积。所有的交织器都可以通过查表的方式完成。本系统中,我们推荐使用随机交织。BellJointLab36Turbo码仿真5之译码算法——简化BellJointLab37Turbo码仿真5之译码算法——量化比特数BellJointLab38短帧Turbo码的设计要点5译码算法:Log-MAP算法和MAP算法相当,Max-Log-MAP有大约0.5dB的性能损失,MAP算法复杂度最大,Log-MAP和Max-Log-MAP计算量相近,但是Max-Log-MAP算法在结构上最接近维特比算法,容易在DSP上快速实现。3比特的量化足够,但是在高信噪比区,推荐6比特量化。在本系统中,我们使用Max-Log-MAP算法,6比特量化。BellJointLab39Turbo码仿真6之打孔BellJointLab40短帧Turbo码的设计要点6打孔:打孔可以提高码率,但是会带来误码率方面的性能损失,打孔的选择应该基于系统设计要求的考虑,没有孰优孰劣的问题。本系统中,我们使用1/2码率的Turbo码,打孔方式取经典方案。BellJointLab41Turbo码仿真7之结尾BellJointLab42短帧Turbo码的设计要点7结尾策略:对于帧长大约1000比特的系统,无需考虑迫零处理,当帧长小于50比特,我们采用方案4迫零处理。BellJointLab43Turbo码混合ARQ系统BellJointLab44sourceCRCTurboEncTxBuffersinkCRCTurboDecRxBufferFeedbackCHChannelARQControlARQControlTurbo编码混合ARQ系统BellJointLab45传统HARQ分类TypeIHARQ:数据被加以CRC并用FEC编码,重传时,错误分组被丢弃,重传分组与前一次相同。TypeIIHARQ:考虑无线信道的时变特性,在首次传输数据块时没有或带有较少的冗余,如果传输失败,重传的数据块不是首次所传数据块的复制,而是增加了其中的冗余部分。在接收端将两次收到的数据块进行合并,编码速率下降而提高编码增益。TypeIIIHARQ:与第二类HARQ不同的是重传码字具有自解码能力,因此接收端可以直接从重传码字当中解码恢复数据,也可以将出错重传码字与已有缓存的码字进行合并后解码。BellJointLab46Turbo码HARQI型我们用ARQI型广义的表示发送端在重发数据分组时,不生成新的码子,与传统定义不同的是,接收端不一定丢弃首发分组,完全可以利用首发的信息,增加系统的通过率。这种ARQ机制的优点是系统充分利用了硬件资源,编译码器的结构和控制都比较简单,有利于系统降低复杂性和减少功耗。BellJointLab47Turbo码HARQI型接力棒式Turbo码HARQ在发方,首先将欲传信息经Turbo编码器编码后发送出去,接收端经过Turbo译码,如果通过CRC检错校验,反馈ACK信号回发送端,如果不能通过CRC检错校验,则反馈NACK信号到发送端;发送端收到重发指令,则将该信息的原先的码子重新发送;在收方,对于重发帧的译码,可将上一帧的译码结果用作先验信息,并用于Turbo译码器进行译码。如果译码结果通过CRC检错校验,反馈ACK,否则反馈NACK;重复第2、第3步,直到发送端收到ACK信号,或者达到最大的重发次数,放弃此次通信。BellJointLab48Turb
本文标题:一篇文章让你认识并读懂大数据29
链接地址:https://www.777doc.com/doc-24444 .html