1 / 72

OFDM 系统中 Turbo 编码混合 ARQ 技术的研究和实现

OFDM 系统中 Turbo 编码混合 ARQ 技术的研究和实现. 答辩人:刘伟峰 指导老师:朱杰. 背景概述. 课题背景. 高频短波通信 抗毁能力极强 覆盖范围广 运行成本低 机动灵活 战争、自然灾害、边远地区的主要通信方式. 研究重点. Turbo 码的原理、仿真和设计 Matlab 建模仿真 矩阵推导 MAP 算法 短帧 Turbo 码的设计方法 Turbo 编码混合自动重复请求方案 现有方案的分析比较 提出新颖的“分而治之 Turbo 编码 HARQ” 方案 系统模块的 DSP 实现与优化 循环冗余校验码的快速实现

merle
Download Presentation

OFDM 系统中 Turbo 编码混合 ARQ 技术的研究和实现

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OFDM系统中Turbo编码混合ARQ技术的研究和实现 答辩人:刘伟峰 指导老师:朱杰

  2. 背景概述 Bell Joint Lab

  3. 课题背景 • 高频短波通信 • 抗毁能力极强 • 覆盖范围广 • 运行成本低 • 机动灵活 • 战争、自然灾害、边远地区的主要通信方式 Bell Joint Lab

  4. 研究重点 • Turbo码的原理、仿真和设计 • Matlab建模仿真 • 矩阵推导MAP算法 • 短帧Turbo码的设计方法 • Turbo编码混合自动重复请求方案 • 现有方案的分析比较 • 提出新颖的“分而治之Turbo编码HARQ”方案 • 系统模块的DSP实现与优化 • 循环冗余校验码的快速实现 • Max-Log-MAP算法的实现与优化 Bell Joint Lab

  5. OFDM——抗多径衰落的尖兵 • 频谱划分成窄的平坦衰落子信道 • 串并变换后,每个子信道上的符号速率下降,可以很好的对抗时延扩展 • 把频率和时间选择性衰落的影响随机化,有利于纠错码工作 一个频率选择性信道→多个非频率选择性信道 Bell Joint Lab

  6. OFDM的Matlab实现 Bell Joint Lab

  7. Turbo码的原理、仿真和设计 Bell Joint Lab

  8. Turbo码——接近Shannon限的好码 • 编码器由两个递归系统卷积码通过交织器级联的方式结合而成,以较小的编译码复杂度,生成码重分布优良的长码 • 译码器采用迭代的方式,两个分量译码器互相帮助,充分利用码子的约束信息 • 在短约束长度、长分组以及10到20次迭代的情况下,Turbo码在误码率(BER)10e-5处距离Shannon限0.5dB左右 Bell Joint Lab

  9. Turbo编码器 并行级联卷积编码器 串行级联卷积编码器 Bell Joint Lab

  10. Turbo解码器 并行级联卷积译码器 Bell Joint Lab

  11. 软输入软输出分量译码器 • 对数似然比(LLR) • Y是观测,uk 是估计值 • 符号表示0,1比特,幅度表示可靠程度 Bell Joint Lab

  12. MAP算法 • 想法 • 把比特的概率估计转化为状态转移的概率估计 • 把状态转移的概率估计以递推形式计算 • 计算 • 三种度量,两次递推,一步到位 • 特点(相比维特比算法) • 复杂度大(乘法,除法,指数,对数计算) • 卷积译码无优势 • 可以输出译码软信息 Bell Joint Lab

  13. MAP算法 • 前向度量 • 后向度量 • 分支度量 • 前向递推 • 后向递推 • 后验概率LLR Bell Joint Lab

  14. MAP算法的计算流程 • 计算分支度量 • 前向递推计算前向度量 • 后向递推计算前向度量 • 综合计算后验概率LLR Bell Joint Lab

  15. MAP算法的矩阵表示 前向度量 后向度量 分支度量矩阵 前向递推 后向递推 Bell Joint Lab

  16. MAP算法的矩阵表示 Bell Joint Lab

  17. MAP的简化算法——Max-Log-MAP 指数运算和乘法运算的噩梦 • 变换到对数域中 • 利用近似公式 Bell Joint Lab

  18. Max-Log-MAP算法 简化前向递推 简化后向递推 支路度量计算 后验概率计算 Bell Joint Lab

  19. Log-MAP算法 • 近似导致性能损失 • 引入纠正项 Bell Joint Lab

  20. 串行级联卷积码系统Matlab实现 Bell Joint Lab

  21. 并行级联卷积码系统Matlab实现1 Bell Joint Lab

  22. 并行级联卷积码系统Matlab实现2 Bell Joint Lab

  23. Turbo码仿真1之译码器结构——迭代次数 Bell Joint Lab

  24. Turbo码仿真1之译码器结构——误码率 Bell Joint Lab

  25. 短帧Turbo码的设计要点1 • 译码器结构的选择:PCCC结构的误码平层大约为1e-5,而SCCC结构能够提供更低的误码平层(大约1e-7),SCCC需要更多的迭代次数达到误码平层,本身的译码复杂度也是远远高于PCCC(内编码器是4进制输入,8进制输出,格形图上有16个状态,每个状态出发有4条路径,每个状态有4条路径交汇)。在本系统中,我们选择PCCC结构。 Bell Joint Lab

  26. Turbo码仿真2之分量码——递归 Bell Joint Lab

  27. Turbo码仿真2之分量码——生成多项式 Bell Joint Lab

  28. Turbo码仿真2之分量码——约束长度 Bell Joint Lab

  29. 短帧Turbo码的设计要点2 • 分量码的选择:分量码必须是递归形式的,递归形式的分量码对于Turbo码减少低码重码子起着十分重要的作用,分量码的生成多项式也起着十分重要的作用,必须优化设计,分量码的约束长度对于Turbo码的作用十分有限,增大分量码的约束长度导致译码器复杂度的增加。在本系统中,我们推荐使用poly2trellis(3, [7 5],7)分量码。 Bell Joint Lab

  30. Turbo码仿真3之帧长 Bell Joint Lab

  31. 短帧Turbo码的设计要点3 • 帧长:对于Turbo码的性能而言,希望帧长越长越好,虽然帧长度的增加不会增加单位比特译码的复杂度,但是帧长直接决定了系统传输的时间延迟和译码存储空间,所以帧长度的选择必须折中考虑。一般的对于语音系统,帧长为200比特左右,对于视频系统,帧长为1000比特左右。本系统中,我们使用256比特作为帧的长度。 Bell Joint Lab

  32. Turbo码仿真4之交织器——SCCC Bell Joint Lab

  33. Turbo码仿真4之交织器——PCCC Bell Joint Lab

  34. Turbo码仿真4之交织器——奇偶分离 Bell Joint Lab

  35. 短帧Turbo码的设计要点4 • 交织器:交织器在Turbo码系统中也是一个十分重要的组件,相比较差的交织器,良好的交织器可以提供大约0.2dB到1dB左右的增益,大量的试验证明,一般的随机交织可以取得良好的性能,代数交织和随机交织的性能相当,但是随着帧长的变小,随机交织的优越性会消失,直至我们必须“刻意”的设计交织器,才能使Turbo码正常工作。随机交织对于帧长度没有约束,代数交织器一般对于帧长有着特殊的要求,矩阵交织器同样要求帧长能够分解成两个相近数的乘积。所有的交织器都可以通过查表的方式完成。本系统中,我们推荐使用随机交织。 Bell Joint Lab

  36. Turbo码仿真5之译码算法——简化 Bell Joint Lab

  37. Turbo码仿真5之译码算法——量化比特数 Bell Joint Lab

  38. 短帧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比特量化。 Bell Joint Lab

  39. Turbo码仿真6之打孔 Bell Joint Lab

  40. 短帧Turbo码的设计要点6 • 打孔:打孔可以提高码率,但是会带来误码率方面的性能损失,打孔的选择应该基于系统设计要求的考虑,没有孰优孰劣的问题。本系统中,我们使用1/2码率的Turbo码,打孔方式取经典方案。 Bell Joint Lab

  41. Turbo码仿真7之结尾 Bell Joint Lab

  42. 短帧Turbo码的设计要点7 • 结尾策略:对于帧长大约1000比特的系统,无需考虑迫零处理,当帧长小于50比特,我们采用方案4迫零处理。 Bell Joint Lab

  43. Turbo码混合ARQ系统 Bell Joint Lab

  44. Turbo编码混合ARQ系统 Bell Joint Lab

  45. 传统HARQ分类 • Type I HARQ:数据被加以CRC并用FEC编码,重传时,错误分组被丢弃,重传分组与前一次相同。 • Type II HARQ:考虑无线信道的时变特性,在首次传输数据块时没有或带有较少的冗余,如果传输失败,重传的数据块不是首次所传数据块的复制,而是增加了其中的冗余部分。在接收端将两次收到的数据块进行合并,编码速率下降而提高编码增益。 • Type III HARQ:与第二类HARQ不同的是重传码字具有自解码能力,因此接收端可以直接从重传码字当中解码恢复数据,也可以将出错重传码字与已有缓存的码字进行合并后解码。 Bell Joint Lab

  46. Turbo码HARQ I型 • 我们用ARQ I型广义的表示发送端在重发数据分组时,不生成新的码子,与传统定义不同的是,接收端不一定丢弃首发分组,完全可以利用首发的信息,增加系统的通过率。 • 这种ARQ机制的优点是系统充分利用了硬件资源,编译码器的结构和控制都比较简单,有利于系统降低复杂性和减少功耗。 Bell Joint Lab

  47. Turbo码HARQ I型接力棒式Turbo码HARQ • 在发方,首先将欲传信息经Turbo编码器编码后发送出去,接收端经过Turbo译码,如果通过CRC检错校验,反馈ACK信号回发送端,如果不能通过CRC检错校验,则反馈NACK信号到发送端; • 发送端收到重发指令,则将该信息的原先的码子重新发送; • 在收方,对于重发帧的译码,可将上一帧的译码结果用作先验信息,并用于Turbo译码器进行译码。如果译码结果通过CRC检错校验,反馈ACK,否则反馈NACK; • 重复第2、第3步,直到发送端收到ACK信号,或者达到最大的重发次数,放弃此次通信。 Bell Joint Lab

  48. Turbo码HARQ II型 • 我们用ARQ II型表示发送端在重发数据分组时,生成新的校验信息,即所谓的增量冗余信息,但是新的分组没有自解码性质。 • ARQ I型:简单的“重复码”,其最小码距是原来的L倍;实际上,通过L次重发可以构成纠错能力更强的纠错码。 • 这种ARQ机制的优点是能够充分利用重发的分组资源,纠错能力比I型更强,但是系统的编译码硬件设计必须以最低码率的纠错码设计,而系统一般运行在较高的码率水平上,所以不能充分利用硬件资源,编译码器的结构和控制相对复杂。 Bell Joint Lab

  49. Turbo码HARQ II型速率兼容打孔Turbo码HARQ • 发送端生成L*N比特长度的Turbo码,经过打孔形成N比特长度分组,发送到信道,并且保存被删除的其他校验比特; • 接收端接收到分组,经过Turbo译码,如果通过了CRC检错,发送ACK信号,否则,发送NACK信号; • 发送端收到NACK信号,并累计重发次数,发送剩余的相应的N比特校验比特; • 接收端接收到重发分组后,与首发分组组成新的码子,经过Turbo译码,如果通过了CRC检错,发送ACK信号,否则,发送NACK信号; • 发送端收到NACK信号,并累加重发次数,发送剩余的相应的N比特校验比特; • 接收端接收到重发分组后,与前两次的分组组成新码子,经过Turbo译码,如果通过CRC检错,发送ACK信号,否则,发送NACK信号; • 重复上述过程,直到发送端收到ACK信号,或者重发次数达到最大的L次,放弃本次通信。 Bell Joint Lab

  50. Turbo码HARQ II型Turbo码分而治之HARQ • 基本思想是:假设系统是1/2码率的Turbo码,我们的编译码硬件设计也是按照基本的1/2码率的Turbo码来设计,当发送端被要求重发时,我们可以把信息序列分成奇数位和偶数位两类,奇数位的信息比特保持不变,但是偶数位的信息比特用已知的“01”序列代替,然后经过编码器生成码子,实际上,新生成的码子的有效信息比特只有原来的一半,同时,码率也下降了一半,这也就意味着码子有着更强的纠错能力,在接收端,译码器首先对重发分组进行译码,运用相应的先验信息,得到关于信息序列奇数位比特的可靠信息,然后把这些信息反馈到第一个分组的译码器,通过奇数位比特的可靠信息来获得的正确译码。如果这时候,译码输出仍然没有通过CRC校验,那么在发送端可以把偶数位比特信息序列按奇偶分成2段,只传输其中1/4的信息比特,其他位置用已知序列填充,以此类推,最终获得正确译码。 Bell Joint Lab

More Related