(通信与信息系统专业论文)ieee80216e物理层编译码技术研发.pdf_第1页
(通信与信息系统专业论文)ieee80216e物理层编译码技术研发.pdf_第2页
(通信与信息系统专业论文)ieee80216e物理层编译码技术研发.pdf_第3页
(通信与信息系统专业论文)ieee80216e物理层编译码技术研发.pdf_第4页
(通信与信息系统专业论文)ieee80216e物理层编译码技术研发.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(通信与信息系统专业论文)ieee80216e物理层编译码技术研发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 信道编码是现代通信系统不可或缺的组成部分,本文设计实现了i e e e8 0 2 1 6 e 标准中两种必选信道编码方案中的t b c c 码( 咬尾卷积码) 和r s 码( r e e d s o l o m o n ) 的编译码器。 设计并实现了i e e e 8 0 2 1 6 e 中的咬尾卷积码。首先介绍了它的编码原理和最大 似然译码算法等6 种译码算法,然后根据它们的特点选择双向扩展循环维特比算 法,在m a t l a b 中仿真了它的译码性能,最后设计实现了基于此算法的译码器, 并且在硬件平台上测试了它的性能。测试结果表明,译码器性能与译码仿真性能 一致。 设计并实现了i e e e 8 0 2 1 6 e 中的r s 码。首先介绍了基于b m ( b e r l e k a m p m a s s e y ) 算法的r s 原码及其打孔缩短码译码原理,深入讨论了通用 r s 码译码器的设计,并且在此基础上,设计了多码率r s 码译码器。它将不同r s 码的译码相关参数存储在译码器中,通过外部码率选择信号调用这些参数,配置 译码器工作在不同的r s 码下。该译码器用很少的硬件资源消耗、以可接受的性能 损失为代价,实现了i e e e8 0 2 1 6 e 协议规定的所有r s 码,满足了通信系统对灵活 的编码速率及可变的突发包长度的要求。 关键字:i e e e 8 0 2 1 6 e 咬尾卷积码r s 码b m 算法多码率r s 码译码器 a b s t r a c t c h a n n e lc o d i n gi se s s e n t i a lt om o d e mc o m m u n i c a t i o ns y s t e m s t h ef o c u so ft h i s d i s s e r t a t i o ni st od e s i g na n di m p l e m e n tt a i l b i t i n gc o n v e r l u t i o n a lc o d e s ( t b c c ) a n d r e e d - s o l o m o n ( r s ) c o d e c si ni e e e8 0 2 16 e 1 1 l ed e s i g na n di m p l e m e n t a t i o no ft b c ci s p r e s e n t e d f i r s t l y , t h ec o d i n ga n d6 d e d e o d i n ga l g o r i t h m si n c l u d i n gm a x i m u ml i k e l i h o o dd e c o d i n ga l g o r i t h ma r ed e s c r i b e d , o nt h eb a s i so fw h i c ht h eb i d i r e c t i o n a le x p e n d e dc i r c l ev i t e r b ia l g o r i t h mi ss e l e c t e da n d s i m u l a t e db ym a t l a b f i n a l l y , t h ed e c o d e rb a s e do nt h i sa l g o r i t h mi sd e s i g n e da n d t e s t e do nt h eh a r d w a r ep l a t f o r m ,a n dt h er e s u l t ss h o wt h a tt h ed e c o d e ra c h i e v e st h e p e r f o r m a n c ee x p e c t e d 1 1 1 ed e s i g na n di m p l e m e n t a t i o no fr sc o d e si sp r o v i d e d f i r s t l y , t h ep r i n c i p l eo f b e r l e k a m p - m a s s e yd e c o d i n ga l g o r i t h mi sd e s c r i b e d ,w h i c hi sac o m m o ne n g i n e e r i n g m e t h o dt od e c o d er sc o d e s t h e nt h ed e s i g no fr su n i v e r s a ld e c o d e ri sd i s c u s s e di n d e t a i l o nt h eb a s i so fd i s c u s s i o n 。am u l t i c o d e - r a t er sd e c o d e ri sd e s i g n e d t h e d e c o d e ri m p l e m e n t e di nt h i sd i s s e r t a t i o nc a nd e c o d ea l l6r sc o d e si ni e e e8 0 2 16 e w i n ll e s sh a r d w a r er e s o u r c ec o n s u m p t i o na n da c c e p t a b l ep e r f o r m a n c ec o s t ,a n dm e e t t h er e q u i r e m e n t so ff l e x i b l ec o d er a t ea n dv a r i a b l eb u r s tl e n g t hi nc o m m u n i c a t i o n s y s t e m k e y w o r d s :i e e e 8 0 2 1 6 e t b c cr sb m a l g o r i t h m m u l t i - c o d e - r a t er s d e c o d e r 第一章绪论 第一章绪论 1 1 信道编码理论与发展历程 1 9 4 8 年,c e s h a n n o n 发表的通信的数学理论【l 】为信道编码技术的发展奠定了 理论基础。他在这一论文中证明:在有噪声、干扰的信道中,只要当信息传输的速率r 不超过某一上界c ( 即信道容量) 时,一定存在某种信道编码方法,使信息能够可靠传 输;否则,当r c 时,信息可靠传输是不可能的。这一结论就是著名的信道编码理论。 信道编码的基本方法是:在发送端给待传输的信息序列( 二进制或多进制) ,附加 一些校验码元,并使这些冗余的码元与信息码元之间以某种确定的规则相互关联;接收 端按照既定的规则检验信息码元与校验码元之间的关系。一旦传输过程中发生差错,则 信息码元与校验码元之间的关系将受到破坏,从而接收端可以发现错误,甚至纠正错误。 因此,信道编码又称为纠错编码。 但是,s h a n n o n 提出的信道编码定理只证明了保证信息可靠传输的信道编码方法的 存在性,并没有给出如何构造实现信道编码。因此,从上世纪5 0 年代起,人们便从寻 找合适的编码方法开始,着手信道编码理论的研究与应用开发。到目前为止,已经发现 了很多行之有效的信道编译码方法,并且已被广泛地应用到各种实际的通信系统中,从 而使得信道编译码器成为了现代通信设备中不可或缺的重要部件。信道编码的发展历程 大致可以分为以下几个阶段: 第一阶段( 5 0 年代至6 0 年代初) :这是编码理论从无到有并得到迅速发展的年代, 现代编码理论的许多思想都起源于这一时期。很多线性分组码如汉明( h a m m i n g ) 码、 格雷( g o l a y ) 码及r e e d m u l l e r 码等的提出,奠定了线性分组码的理论基础;除此之外, 还提出了纠正多个随机错误的b c h 码的编译码方法及卷积码的序列译码方法。 第二阶段( 6 0 年代至7 0 年代初) :这是纠错码发展最为活跃的时期之一。在此期间, 以代数方法特别是以有限域理论为基础的线性分组码理论已趋成熟,提出了许多有效的 编译码方法,如门限译码、迭代译码、软判决译码、分组码的b e r l e k a m p m a s s e y 算法和 卷积码的维特比( v i t e r b i ) 算法等。此外还研究了与码的性能有关的各种问题,如码的 重量分布、译码错误概率和不可检错误概率的计算、信道的模型化等,所有这些问题的 研究为信道编码技术的实用化打下了坚实的基础。 第三阶段( 7 0 年代初至8 0 年代) :这是信道编码发展史中最具重要意义的时期。理 论上以戈帕( g o p p a ) 为首的一批学者构造了一类g o p p a 码,其中一类子码逼近了s h a n n o n 限,这在纠错码历史上具有划时代的意义。大规模集成电路和微机的迅速发展,为信道 编码的应用打下了坚实的物质基础,使信道编码在实用中取得了巨大的成功。 2 i e e e s 0 2 16 e 物理层编译码技术研发 第四阶段( 9 0 年代以后) :戈帕等从集合的观点讨论、分析信道编码,利用代数曲 线构造了一类代数几何码,其中某些码的性能逼近了s h a n n o n 限。此外,发现了t u r b o 码并重新发现了l d p c 码,它们的性能也非常接近s h a n n o n 限。 1 2i e e e8 0 2 1 6 e 标准中的信道编码简介 1 2 1i e e e8 0 2 1 6 e 标准简介 i e e e8 0 2 1 6 工作组成立于1 9 9 9 年,主要负责开发工作在2 - - - 6 6 g i - i z 频段的宽带无 线接入系统空中接口物理层( p h y ) 和介质接入控制层( m a c ) 规范,同时还参与制定 不同无线接入系统之间共存的规范以及与空中接口协议相关的一致性测试,其最终目的 是要建立一个全球统一的宽带无线接入标准。 i e e e8 0 2 1 6 系列规范提供了统一的空中接口标准,为规范设备能力、实现不同厂 家设备之问的互联技术的全球化打下了坚实的基础。但是对于运营商而言,将i e e e 8 0 2 1 6 标准推向市场还需要考虑很多要素。因此一个由运营商、设备商、周边部件提供 商和研究机构组成的非盈利组织w i m a x 论坛成立起来。w i m a x 论坛的宗旨是在全球 范围内推广遵循i e e e8 0 2 1 6 标准和e t s ih i p e r m a n 标准的宽带无线接入设备,并且 对设备的兼容性和互操作性做统一的认证以保护系统互联,方便运营商部署。为此 w i m a x 论坛专门成立了w l m a x 产品认证的工作组和实验室,保证不同厂商设备间的 互操作性和兼容性。这样,经过认证后的设备具有良好的互操作性和规范的顺从性。此 外w i m a x 论坛组织还致力于帮助解决技术以外的问题,如各国的频率分配,市场应用 分析案例等。 i e e e8 0 2 1 6 e 标准是i e e e8 0 2 1 6 工作组于2 0 0 5 年发布的【2 1 ,2 0 0 9 年对其进行了修 订【3 1 。该标准的目的是希望能够提供一种既能提供高速数据业务又能使终端用户具有移 动性的宽带无线接入解决方案。i e e e8 0 2 1 6 e 的标准化工作基本上是在i e e e8 0 2 1 6 d 的 基础上进行的,因此,i e e e8 0 2 1 6 e 能够向下兼容i e e e8 0 2 1 6 d ,支持固定宽带无线用 户的接入。 i e e e8 0 2 1 6 e 空中接口标准规范包括介质访问控制层( m a c ) 和物理层( p h y ) 两 大部分。m a c 层由三个子层组成:面向业务会聚子层、公共部分子层和安全子层。p h y 层一共定义了三种物理层规范,在1 0 - - - 6 6 g h z 频段内,定义了一个单载波调制模式的空 中接口w i r e l e s sm a n s c ;在2 - 1 0 g h z 频段内,定义了正交频分复用调制模式的空中接 口w i r e l e s sm a n o f d m 和正交频分复用多址接入模式的空中接口w i r e l e s s m a n o f d m a 。本文主要研究o f d m 物理层和o f d m a 物理层信道编码技术。 第一章绪论3 1 2 2i e e e8 0 2 1 6 e 标准中的信道编码技术简介 i e e e8 0 2 1 6 e 标准中定义的三种物理层中,单载波物理层没有使用信道编码技术; o f d m 物理层使用了r s 码与卷积码的级联码( r s c c ) 、分组t u r b o 码( b t c ) 和卷积 t u r b o 码( c t c ) ,其中r s c c 是必选编码方式,后两种是可选的;o f d m a 物理层使 用了咬尾卷积码( t b c c ) 、分组t u r b o 码( b t c ) 、卷积t u r b o 码( c t c ) 和低密度奇 偶校验码( l d p c ) ,其中t b c c 是必选编码方式,后三种是可选的。 表1 1i e e e8 0 2 1 6 e 标准物理层编码技术 、 ,i r e l e s s d a 套i s cw h e l e s sl 、1a 套i o f d m、) l e s sh 嗄a 】、i o f d m a r s c c ( 默认) 、t b c c ( 默认) 、 无 b t c 、c t cb t c 、c 1 r :和l d p c 本文研究标准中的两种必选编码方式:r s c c 和t b c c 。由于t b c c 是r s c c 中 卷积码的改进编码方式,所以本文研究r s 码和t b c c 码。标准中使用的r s 码是定义 在伽罗华域g f ( 2 8 ) 上的r s 码( 2 5 5 ,2 3 9 ,8 ) 的打孔缩短码,它的域生成多项式为: 烈功= ,+ x 4 + ,+ x 2 + l 式( 1 1 ) r s 码详细参数见表1 2 : 表1 2i e e e 8 0 2 1 6 e 标准中使用的r s c c 码 编码前分组大 编码后分组大卷积码码 调制方式 总码率r s 码 小( 字节)小( 字节)率 b p s k1 22 41 2 ( 1 2 ,1 2 ,0 ) l 2 q p s k 2 44 8l 2 ( 3 2 ,2 4 ,4 ) 2 3 q p s k 3 64 83 | 冬 ( 4 0 ,3 6 ,2 ) 5 6 1 6 q a m 4 89 61 2 ( 6 4 ,4 8 ,8 ) 2 3 1 6 - q a m 7 29 63 4 ( 8 0 ,7 2 ,4 ) s | 6 6 4 - q a m 9 61 4 42 3 ( 1 0 8 ,9 6 ,6 ) 3 4 6 4 - q a m 1 0 81 4 43 4 ( 1 2 0 ,1 0 8 ,6 ) s f 6 标准中使用的t b c c 码编码结构见图1 1 所示: 一r 。、 ,、,、,n 狮吨 1 l一7 7 一7 lj 佩岈悃 i _ j r r 、输电。厂、。,、1 卜。一 h 7 7 7 夕 图1 1i e e e s 0 2 1 6 e 标准中使用的t b c c 编码结构 标准中的t b c c 采用打孔码,详细参数见表1 3 : 4 i e e e 8 0 2 1 6 e 物理层编译码技术研发 表1 3i e e e 8 0 2 1 6 e 标准中t b c c 打孔码 码率1 22 33 4 自由距离1 065 xl1 0l o l 】,ll l1 1 0 蜀y l置n b弼h 圪恐 表中,“l ”表示被传输的信息位,“0 ”表示被打孔的信息位,最终传输的是a f t 1 3 论文主要内容及章节安排 本文对i e e e8 0 2 1 6 e 协议中的t b c c 码和r s 码的编译码器做了较深入的研究。设 计了基于双向扩展循环维特比算法( b e c v a ) 的t b c c 码译码器和基于 b e r l e k a m p m a s s e y 算法( b m ) 的通用r s 码译码器,特别是设计了基于i e e e8 0 2 1 6 e 协议的多码率r s 码译码器,并且在f p g a + d s p 电路板上对它们的译码性能进行了仿真 验证。 全文结构如下: 第一章简单介绍了信道编码技术和i e e e8 0 2 1 6 e 协议及其信道编码方式。 第二章首先介绍了几种t b c c 码的译码算法,比较它们各自的优缺点,从中选择 b e - c v a 算法并对其译码性能作了仿真:然后用v e r i l o gh d l 语言设计实现了基于i e e e 8 0 2 1 6 e 协议的t b c c 译码器;最后在硬件电路板上对这一译码器做了测试验证。 第三章首先介绍了r s 原码及其打孔缩短码的编码原理及b m 算法译码原理,仿真 了译码性能;然后详细讨论了基于b m 算法的通用r s 码译码器的设计,并在此基础上 设计实现了基于i e e e8 0 2 1 6 e 协议的多码率r s 码译码器;最后在硬件电路板上对这一 译码器做了测试验证。 第四章对全文做了系统的总结。 第二章咬尾卷积码 5 第二章咬尾卷积码 e l i a s 在1 9 5 5 年时最早引入了不同于分组码的卷积码。稍后,w o z e n c r a f i 和 r e i f f e n 提出了一种对约束长度大的卷积码的有效的译码方法,即序列译码,并且 实验性研究很快开始出现。1 9 6 3 年,m a s s e y 提出了一种较低效率但易于实现的译 码方案,称为门限译码。这一进展使卷积码在电话、卫星和无线信道的数字传输 中得到了大量实际应用。而后在1 9 6 7 年,维持比( v i t e r b i ) 提出了最大似然( 池) 译 码算法,它易于对约束长度小的卷积码实现软判决译码。维特比算法,以及软判 决序列译码,使卷积码在7 0 年代就用于深空和卫星通信系统中。1 9 7 4 年,b a h l 、 c o c k e 、j e l i n e k 和r a v i v ( b c j r ) 对信息比特具有不等先验概率的卷积码提出了最大 后验概率( m a p ) 译码算法。近年来,b c j r 算法已应用到软判决迭代译码中,其中 信息比特的先验概率在每次迭代中都发生变化。 2 1 卷积码基础 卷积码是一种有记忆的纠错码,用( 刀,毛m ) 表示,r = l d n 为码率,m 为约束长 度。其编码规则是把k 个信息比特编成刀个比特,编码后的刀个码元不但与当前 段的k 个信息有关,而且还与前面m 1 段的信息有关。一个存储级数为m 的码率 r = l d n 的卷积编码器,可以用输入存储为m 的k 输入、以输出线性时序电路实现; 换言之,输入在进入编码器后还在其中额外驻留了m 个时间单元。通常,k 和刀 是小的整数,k ( 5 m 7 m ) 个时钟的后缀序列保障了具有最优路径从最 终状态进行回溯时,回溯到原码字接收序列尾部时已具有正确的终止状态。 7 咬尾卷积码几种译码方法的比较 1 2 正e e 8 0 2 1 6 e 物理层编译码技术研发 前文介绍了目前已有的6 种咬尾卷积码译码算法,当然还有其他一些译码算 法,比如双向维特比算法( b v a ) 1 5 】、双回溯循环译码算法( d t v a ) 【1 7 】和双向循 环维特比算法f l8 】等,本文没有对它们进行详细介绍。对于前文介绍的几种译码算 法,它们各有优缺点: ( 1 ) 就译码性能来看,m l 算法和a 幸算法是最优算法,性能最好;t s v a 、 w a v a 、c v a 和b e c v a 次之; ( 2 ) 就算法复杂度来看,m l 要做2 ”次单独的维特比译码,最为复杂;t s v a 要做两次独立的维特比译码;a 幸译码算法除了要做一次维特比译码外,还要执行 一次a 算法寻找最优回溯路径,其中涉及评价函数的计算和很多排序计算;w a v a 和c v a 迭代执行维特比译码,其迭代次数不定,但随着信道信噪比的增大迭代次 数是减小且趋于l 的【1 5 1 ;b e c v a 只执行一次维特比计算,其中包含了前后缀的 计算,其算法复杂度随码字序列长度的增大而减小。 ( 3 ) 就便于硬件实现的角度来看,没有迭代或迭代次数固定的算法t s v a 和b e c v a 要好。 下表2 1 对本文介绍的几种咬尾卷积码的译码算法做了详细比较。 表2 1 咬尾卷积码译码算法的比较 译码算法译码思想特点 最大似然算法从所有状态开始进行2 ”次维特比计算,选出译码性能最好,但 m l 最优路径译码复杂度太大。 循环维特比算 利用咬尾卷积码的咬尾特性,将码字首尾相译码性能一般,迭 接,连续运行维特比算法,使累积度量最大代次数不定,不利 法c v a 化。于硬件实现。 环绕维特比算 利用咬尾卷积码的咬尾特性,将终止状态度译码性能较好,迭 量作为下次维特比计算的起始状态度量,增 代次数不定,不利 法w a v a 大了最大似然路径的累积度量。于硬件实现。 两步维特比算先估计出一个可信度较高的起始状态,再从 译码性能较好,译 码时延固定,但算 法t s v a此状态开始进行一次维特比译码。 法复杂度较高 先进行一次维特比计算得到每一节点度量, a 幸算法再利用图论中a 奎算法找出最优路径进行译 译码性能最好,算 法复杂度高。 码。 双向扩展维特 利用咬尾卷积码的咬尾特性,将码字首部和译码性能一般,译 比算法 尾部的一段数据分别加到码字尾部和首部 码时延一定,算法 作为训练序列,使起始和结束状态的度量相简单,便于硬件实 b e c v a 对较高。现。 由上面的分析可以得出:双向扩展维特比算法b e c v a 译码时延固定,算法 第二章咬尾卷积码1 3 简单,便于硬件实现。下面就其性能进行仿真测试。 2 2 3b e c v a 译码步骤及性能仿真 。l 控i 盱一细租皇良劢i7 。饭仪殂昀于厅夕u 1 否垂占淤 将码字序列尾部6 m 个数拼接到码字序列首 部,首部6 m 个数拼接到码字序列尾部 上 起始状态度量置零 土 对拼接后的码字序列进行维特比译码 土 截去拼接的前后缀部分得到译码序列 图2 7b e - c v a 算法流程图 前文简单介绍了双向扩展维特比算法的译码思想,图2 7 是它的算法流程,其 具体译码步骤如下: ( 1 ) 将接收码字序列的首部 ( 5 m 7 m ) 时间内的接收序列复制拼接到原接 收码字序列尾部,将接收码字序列的尾部 ( 5 m 一7 m ) 时间内的接收序列复制拼接 到原接收码字序列首部,构造得到译码器输入序列,聊是约束长度; ( 2 ) 设置所有起始状态度量为0 ,对输入序列进行v i t e r b i 译码; ( 3 ) 选出v i t e r b i 译码中具有最大似然值的路径作为译码回溯路径译码得到 码字: 1 4i e e e 8 0 2 1 6 e 物理层编译码技术研发 ( 4 ) 截去步骤( 3 ) 译码输出中前缀和后缀部分的序列得到译码消息序列。 现在对i e e e 8 0 2 1 6 e 协议中规定的卷积码( 1 7 1 ,1 3 3 ) 进行仿真。仿真时采用 q p s k 调制,经a w g n 信道传输。仿真模型如下图所示: 图2 8 译码仿真模型 ( 1 ) 不同训练序列长度下b e c v a 译码性能 图2 9 训练序列长度不同时译码性能 在图2 9 中,三触是训练序列长度。从仿真结果可以看出:在不同的训练序列 长度下,随着e b n 0 的增加,误比特率b e r 逐渐减小,且增加训练序列的长度可 改善性能,如图中所示,要使b e r = l e - 4 ,训练序列为3 8 时比其为l o 时所需的e b n 0 小0 5 d b ;但增加到一定程度时,性能改善很微小,比如训练序列为3 8 和5 0 时, 要达到相同的b e r 所需e b n 0 只差不到0 1 d b ,且训练序列长度的增加会增大计 第二章咬尾卷积码 1 5 算量和译码延时。 ( 2 ) 不同量化等级下b e c v a 译码性能 图2 1 0 量化等级不同时译码性能 在图2 1 0 中,q 是量化等级。从仿真结果可以看出:随着量化等级的增大, 量化后的译码性能逐渐逼近不量化时的译码性能;且量化等级为8 时,译码性能 已经与不量化的译码性能非常接近;在信道信噪比s n r 小于5 d b 时,b e r 就已达 到l e 6 ,满足i e e e s 0 2 1 6 e 协议的要求。 2 3b e c v a 译码器设计 b e c v a 译码器由以下几个部分组成:输入缓存模块、v i t e r b i 译码器模块和输 出缓存模块。其中,v i t e r b i 译码器模块又分为分支度量模块、加比选模块和回溯 译码模块。如下图2 1 l 所示: v i t e r b i 译码器 输入 分支 加比 h回溯 输出 r 缓存度量选 一 译码 r 缓存 图2 1 1b e c v a 译码器总体结构 输入缓存模块实现了双向扩展功能。显然,此模块需要将一组码字全部接收 后才能开始输出数据到下一模块。为了实现对接收码字的连续处理,采用乒乓r a m 1 6i e e e 8 0 2 1 6 e 物理层编译码技术研发 的结构,即在扩展输出前一组接收码字的同时,接收新的码字分组。 分支度量模块是计算每一个时钟周期译码器的输入数据与译码器内部状态发 生器所输出的数据之间的相关值的模块。如果是硬判决译码,那么这里距离所代 表的意义就是输入数据与状态发生器输出数据间的汉明距离;如果是软判决译码, 那么这一距离可以按照汉明距离来度量,也可以按照量化后的几何距离来度量, 还可以根据输入的软判决数据的似然函数值来计算距离值。 加比选模块是在每一时钟周期在到达每个状态的几条路径中选取一条最优路 径保存下来,以供下一周期使用,同时将状态转移信息保存起来。由于路径度量 值的不断累加,这一模块需要对它进行溢出处理。 回溯译码模块根据加比选模块保存的状态转移信息,判决输出译码信息。除 了这种回溯译码算法外,还有一种寄存器交换法也可实现译码信息的判决输出。 输出缓存模块保存回溯译码模块判决输出的逆序译码信息,最终将译码信息 按照码字原始顺序输出。同样由于此模块必须接收完一个译码深度长的分组后才 能输出,采用乒乓r a m 结构,提高吞吐率。 我们用上面的结构实现了i e e e 8 0 2 1 6 e 协议中咬尾卷积码的译码。这一译码器 的主要参数如下: ( 1 ) 生成多项式g l ( d ) = l + z h d 2 + 矿+ 6 ,g 2 ( d ) = i + z ) 2 + 矿斗d 5 + d 6 ; ( 2 ) 每一包分组长度为6 4 ; ( 3 ) 扩展的循环前缀和循环后缀的长度1 = 4 8 : ( 4 ) 译码回溯深度v = 4 0 ; ( 5 ) 软判决译码,量化等级o = 8 ( 3 b i t s 量化) 。 下面详细讨论各模块的设计。 2 - 3 1 输入缓存模块 输入缓存模块完成两个功能:一是对接收的一组码字进行双向扩展输出,二 是在对已接收的一组码字进行扩展输出的同时,接收后面的码字分组。可以用图 2 1 2 所示的结构来实现。 图2 1 2 输入缓存模块结构图 第二章咬尾卷积码1 7 图2 1 2 所示的结构的核心是一个乒乓r a m ,设置r a m 大小等于接收码字分组 大小6 4 。双向扩展通过读取r a m 来实现:设置读地址初始值为6 3 - 4 8 + l = 1 6 ,首先 读取地址1 6 - 6 3 存储的4 8 个数作为前缀,再将“个接收码字顺序读出,最后读 取地址叫7 存储的4 8 个数最为后缀,完成双向扩展功能。在扩展读取一组码字 分组,比如r a m l 中存储的码字时,如果又有一组分组到达,则将它存储在r a m 2 中。在r a m 2 接收完一组码字时,系统要求r a m l 中的码字已全部读取完成,这时 选择r a m 2 扩展输出,r a m l 接收码字。如此反复,实现模块预定功能。显然,我们 要求译码器处理速率要大于码字接收速率。 2 3 2 分支度量模块 前文我们已经对b e c v a 硬判决译码和不同量化等级下的软判决译码的性能 作了仿真分析,软判决译码性能相对要好很多,并且8 级、3 b i t s 量化软判决译码 性能损失很少,它的实现复杂度也不高,所以本文的设计采用3 b i t s 量化软判决译 码。量化后的o 7 依次表示最强的“0 ”到最强的“l ”,中间的数值表示接近于“0 或者“l 。 本设计中分支度量用曼哈顿距离1 1 9 1 表示。假设接收到码字r = r o , r l ,3 b i t s 软 判决中,期望码字0 和1 分别量化为0 和7 。曼哈顿距离计算方法如下: 删= r o + ,i 眦i = r o + ( 7 一,i ) 斗n 、 b m , o = ( 7 一) + 、7 b m i l = ( 7 - r o ) + ( 7 - r 0 b m o o 、b m o l 、b m l o 、b m l l 分别是期望码字为0 0 、0 l 、1 0 、l l 时的分支度量。在 上式中,仅有两个数的加减法运算,f p g a 运算复杂度很低。并且该方法对译码器 的性能影响不大,与使用欧式距离相比,译码器性能仅相差0 1 - 4 ) 2 d b l 2 0 1 。 通过分析可知,任意时刻任意一个状态的输出期望码字只可能是0 0 、o l 、1 0 、 l l 这4 个中的一个,并且每一时刻各个状态的接收序列是相同的,所以,这一时 刻所有状态的分支度量值只有4 种可能。对于给定的编码结构,其t r e l l i s 网格结构 是固定的,到达每一状态的分支度量也是固定的。所以分支度量模块按照式( 2 6 ) 计算出4 个分支度量后,加比选模块直接调用这4 个数即可,表现在电路上就是, 保存这4 个值的寄存器直接与加比选模块调用它们的单元相连,见图2 1 3 。 1 8 i e e e 8 0 2 1 6 e 物理层编译码技术研发 2 3 3 加比选模块 图2 1 3 分支度量与加比选模块连接图 加比选模块就是在每一时刻,把进入同一状态的各分支度量值b m 和其相关 的幸存路径p m 相加,比较这些结果,选择其中最小的一个作为该状态的幸存路 径。因此,加比选模块由加法器、比较器和选择器组成。加比选模块保存运算结 果至路径度量存储单元,完成路径度量的更新,同时输出该状态的幸存信息至幸 存信息存储单元,完成幸存信息的更新。 对于本设计中使用的( 2 ,l ,7 ) 卷积码来说,假设两个相邻状态蹄吠a 两尼恐五0 和 昌蝴恐玛蜀l ,编码器输入0 后,s 和母都转移到状态s p = o x o x i x 2 x 4 :相似地, 编码器输入1 后,s 和s 都转移到状态s q = l x o x i x 2 x 3 x 4 。因此这4 个状态具有相关 性,状态转移可以用图2 1 4 表示,我们称其为蝶形单元。同时,我们称类似状态 岛那样最低位是0 的状态为偶状态,称类似状态母那样最低位是l 的状态为奇状 态。 图2 1 4 蝶形状态转移图 根据加比选模块实现的功能及蝶形状态转移图,我们设计出蝶形加比选单元, 第二章咬尾卷积码 1 9 如图2 1 5 所示。 图2 1 5 蝶形加比选单元 一个蝶形加比选单元由两个基本加比选子单元组成,一次输入相邻的一奇一 偶两个状态的幸存路径,同时输入分支度量值,更新两个状态的累积度量p m 和 幸存信息5 l 状态幸存路径状态度量更新如下: p m p = m i n p m _ + b m i q ,p m j + b m j 0 士f 、叭 p m q = m i n p m ,+ b m i ”p m i + b m j 矗 、j 脚是输出的状态幸存信息,当该状态由偶状态转移而来时,s i - - o ;当状态是由奇 状态转移而来时,胪l 。 在v i t e r b i 译码过程中,幸存路径累积度量是不断累加的,在用无符号数表示 时,这一数值会越来越大。而在实际电路中,只能用有限位长的数来表示这一度 量值。随着译码的进行,度量值必然会超出有限位长所能表示的最大值,产生溢 出。溢出会影响之后幸存路径和幸存信息的选择,使译码性能严重恶化,所以必 须对路径度量作溢出控制。解决溢出的归一化方法有下面几种: l 、减最小路径度量值归一化【2 l 】:这一方法每经过次加比选计算后,就查找 当前时刻的最小路径度量值,用每个状态的路径度量值减去此最小值。此方法不 但需要在每个加比选子模块中加入一个减法器,还需要一个寻找最小路径度量值 的模块,不但消耗很多资源,而且增加了译码延时。 2 、门限触发归一化【捌:这一方法给路径度量值限定一个门限,该门限一般与 2 0i e e e s 0 2 16 e 物理层编译码技术研发 定义的路径度量最大值相近,当某一时刻有一个状态的路径度量值超出了门限, 那么在下一时刻所有状态的路径度量值减去一个常数。 3 、取模归一化【2 3 】:这一方法依据v i t e r b i 算法的两个特性【2 4 】: ( 1 ) 译码输出只与路径度量值之差有关; ( 2 ) 路径度量值之差是有界的,如式( 2 8 ) 嗽= i s ! 1 w | 矾一s ! l w 二降m b 式( 2 - 8 ) 式中,m 是约束长度,b 是最大分支度量。对于( 2 ,l ,7 ) 维特比译码器而言,采 用3 b i t s 量化时b = 1 4 ,则。= 8 4 1 2 8 ,存储器需要至少7 b i t s ,可以采用8 b i t s 存储。将最高位作为溢出标志位,这样满足溢出条件的最小状态度量值为1 2 8 ( 耳p 寄存器值为1 0 0 0 0 0 0 0 ) ,根据差值关系,当某一状态度量值满足溢出条件时,状态 度量寄存器中所寄存的最小状态度量值为4 4 ,可以将所有状态度量值减去4 4 ,这 样可以实现整体的状态度量值向零值进行简单的归一化。 应用以上方法,可以采用类似方法实现状态度量值的溢出处理。当溢出标志 位未被置为l 时,最大状态度量值为1 2 7 ( 耳1 寄存器数值为0 1 1 1 1 1 1 1 ) ,该状态度量 对应的下一时刻状态度量值的最大值为1 2 7 + 1 4 = 1 4 1 ,根据差值关系,所有状态度 量值中的最大值为1 4 1 + 8 4 = 2 2 5 ,数值小于2 5 5 ,没有超出8 比特的存储上限,因 此没有数值溢出。当所有溢出标志位均为1 时,通过将该标志位置0 的方法,等 同于减去了数值1 2 8 ,这样就实现了状态度量值的归一化1 2 5 1 。 2 3 4 回溯译码模块 回溯译码模块根据加比选模块保存的状态转移信息,判决输出译码信息。我 们首先讨论下零尾卷积码的回溯译码过程:首先选择幸存路径,即最大似然路径1 4 j 的终止状态作为回溯的起点,然后根据图2 1 3 蝶形状态转移图的特点,当前状态 根据存储单元中对应的幸存信息推出其前一个状态,当幸存信息是0 时,可以判 定该状态是由备选状态中的偶状态转移而来;当幸存信息是l 时,可以判定该状 态是由备选状态中的奇状态转移而来的。这样,确定了回溯的下一状态,回溯算 法就能继续进行下去。同时,假如当前状态的最高位是0 ,则该状态一定是由前一 状态输入0 后转移而来的,即编码器的输入为0 ,此时译码输出o ;假如当前状态 的最高位是l ,则该状态一定是由前一状态输入l 后转移而来的,此时译码输出1 。 但是,在实际通信应用中,接收序列长度通常很大,这时所需存储的幸存信 息将十分巨大而很难实现。即使有一个足够大的存储空间将这些信息存储起来, 译码延时也难以满足实时通信系统的要求。所以,在实际应用中,通常使用v i t e r b i 第二章咬尾卷积码2 l 算法的截短译码算法。该算法的基本原理是:当接收码字序列长度达到 ,后,就 开始进行回溯译码,而不是等到把一组码字序列全部接收后才开始回溯译码。显 然,这一算法大大降低了译码器的复杂度,使得译码器易于实现。但是,由于回 溯路径不一定是最大似然路径,截短译码不再是最大似然译码,性能可能有所降 低。理论和经验证明:只要接收码字序列长度,达到一定值后,网格图上所有幸 存路径将归于一点。因此,不管最终选择哪一条幸存路径,它必包含这一公共路 径,这一定是最大似然判决。通常,接收码字序列长度,取约束长度的5 l o 倍, ,被称为回溯深度。 截短译码回溯起始点的选择一般有两种方法:一种方法是比较所有的状态度 量值,从中选择最小值所对应的状态作为回溯起始状态,它所需的回溯深度最小, 因为该路径是所有状态路径中最接近最大似然路径的;另一种方法是任选一个状 态作为起始状态,这种方法是基于在满足一定的回溯深度时,所有路径已经合并 的假设,它相对于第一种方法节省了硬件开销,但必须增加回溯深度,以确保译 码时路径合并至最大似然路径。 对于本设计要实现的i e e e s 0 2 1 6 e 协议中的( 2 ,l ,7 ) 咬尾卷积码的译码, 它与 零尾卷积码译码唯一的区别就是无法确定最大似然路径。b e c v a 译码算法就是根 据截短译码的原理来寻找最大似然路径的,所以对咬尾卷积码采用截短译码对译 码器的性能没有影响。下面根据上文讨论设计b e c v a 译码器的回溯译码模块, 取最小路径度量值所在状态作为回溯起始点,回溯深度1 ,设为4 0 。 幸存信息 ,时刻 路径度量 译码输出 图2 1 6 回溯译码模块结构图 图2 1 6 所示是回溯译码模块的结构框图。它将加比选模块每一时刻输出的6 4 位幸存信息保存在r a m 中,当其个数达到4 0 时,开始回溯译码。首先确定回溯起 始状态:比较第4 0 时刻所有状态路径度量,找出其中的最小值,它所对应的状态 就是回溯起始状态,用它初始化回溯状态寄存器。倒序读出幸存信息存储单元中 的幸存信息,每次得到一个6 4 位数值,用回溯状态值选择与其对应的l 位幸存信 息,将其填到回溯状态的最高位,同时回溯状态从高到低移位l 比特,并将移出 的最低位& 作为译码输出。 2 2 i e e e 8 0 2 1 6 e 物理层编译码技术研发 茬求初始状态单元中,将路径度量数对应的状态值作为下标,求得最小路径 度量的下标就是回溯的初始状态。 幸存信息存储单元采用图2 1 7 所示的结构。 偶数帧使用的r a m 奇数帧使用的r a m 图2 1 7 幸存信息存储单元结构 它实际上是一个大小为n 的r a m 。它的工作过程如下: (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论