(电路与系统专业论文)高速turbo码编解码器的研究与fpga实现.pdf_第1页
(电路与系统专业论文)高速turbo码编解码器的研究与fpga实现.pdf_第2页
(电路与系统专业论文)高速turbo码编解码器的研究与fpga实现.pdf_第3页
(电路与系统专业论文)高速turbo码编解码器的研究与fpga实现.pdf_第4页
(电路与系统专业论文)高速turbo码编解码器的研究与fpga实现.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(电路与系统专业论文)高速turbo码编解码器的研究与fpga实现.pdf.pdf 免费下载

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

文档简介

壹堕! ! ! ! ! 里塑坚型堡塑竺塑! ! ! 旦垒塑 摘要 g o 年代以米,随着计算机,卫星通讯及高速数据网的飞速发展,用户对数据传输 的可靠性,提出了越来越高的要求。因此,如何提高数据传输的可靠性,已经成为数字 通讯系统设计中的一个主要课题。 在有扰信道中,提高数据传输可靠性一 二是选择抗干扰能力较强的调制解调方式。 究另一种提高传输质量的方法:纠错码。 般有两种方法:一是增加接收端的信噪比, 但1 9 4 8 年,香农理论的提出使人们开始研 t u r b o 码就是于1 9 9 3 年提出的一种信道纠错码,它性能优越,可在信噪比很低的情 况下进行可靠传输,特别适合信道情况较差的卫星通讯或无线通讯。正是因为这种优越 的性能,t u r b o 码已被定为第三代移动通讯( 3 g ) 中的标准信道编码。然而,由3 - t u r b o 码的解码非常复杂,它的具体实现还有很多困难,其中最主要的就是解码速度:3 g 中 数据传输的最低速率是3 8 4 k b p s 。因此,设计出满足目前高速数据传输要求的实_ l jt u r b o 、 码编解码系统,对整个第三代移动通讯的实现也有着重要意义。厂一 本文重点就是设计一种低复杂度,高速率的t u r b o 码缠鲤受系统并完成f p g a 实现。 主要i :作分成两部分: 第一部分是算法的改进。,由于t u r b o 码编码端的交织器对系统性能影响很人,本文? l 首先对交织器的设计作了探讨,得出交织器性能对误码率的影响,同时,还对伪随机交 织器的生成方法作了改进,不仅使它更容易产生,而且可以缩减存储量规模。其次,钵 , 文还对各种解码算法作了比较,并提出y 轴等分查表法,预处理滑动窗技术等改进方案r 彼得t u r b o 码的解码速度有了了大幅度的提高,一”一 第二部分是编解码器的结构设计。重点在于解码器设计。为进一步提高解码速度, 笔者提出了多级流水线+ 并行处理的结构,它的应_ e | = i 可以有效解决由解码算法的递推特 性所带来的速度瓶颈。同时这种结构使得原本需要多块解码器完成的解码过程可在一块 解码器中完成。一 夫键词:。m a p ( m a x i m u m a p o s t e r i o r ) 墨鲨,丕丝区篮鲞童璺( r s c ) ,滑动窗 、,yj 7 分类号:t b l l 4 童望! ! 生! 里堡笙坐堡塑堕壅兰! ! 坠壅里一 s t u d y a n df p g a i m p l e m e n t a t i o n o fa h i g hs p e e d t u r b oc o d e c a b s t r a c t w i t ht h ed e v e l o p m e n to fa p p l i c a t i o no fc o m p u t e r ,s a t e l l i t ec o m m u n i c a t i o na n dh i g h 。s p e e d n e t w o r k ,t h er e l i a b i l i t yo f d a t a t r a n s m i s s i o nh a sb e c o m em o r ea n dm o r ei m p o r t a n t a n dh o w t o i m p r o v et h er e l i a b i l i t yo f d a t at r a n s m i s s i o nh a sa l s ob e c o m eo n eo ft h em o s ti m p o r t a n tt o p i c s f o rd i g i t a lc o m m u n i c a t i o ns y s t e m g e n e r a l l ys p e a k i n g ,t h e r ea r et w om e t h o d st oi m p r o v et h eq u a l i t yo f t r a n s m i t t e dd a t a :o n e i st oi n c r e a s et h es n r ,t h eo t h e ri st oa p p l yt h en o i s e - r e s i s t a n tm o d u l a t i o n h o w e v e r ,s i n c e s h a n n o np r e s e n t e dh i st h e o r y ( s h a n n o nt h e o r y ) i nh i sf a m o u sp a p e r ”p e o p l eb e g a nt o d e v e l o pa n o t h e re f f i c i e n tw a y :e r r o rc o r r e c t i n g c o d e t u r b oc o d ei sak i n do fe r r o rc o r r e c t i n gc o d ew h i c hw a sp r o p o s e di n1 9 9 3 b e c a u s eo f i t sa m a z i n gp e r f o r m a n c ei nb e r ( b i te r r o rr a t e ) ,t u r b oc o d eh a sb e e nc h o s e na st h es t a n d a r d c h a n n e lc o d ei n3 gh o w e v e r , s o m es h o r t c o m i n g ss u c ha sh i g hd e c o d i n gc o m p l e x i t ya n d c o m p a r a b l yl o ws p e e dm a k et h ei m p l e m e n t a t i o no ft u r b oc o d er a t h e rd i f f i c u l t c o n s i d e r i n g t h a tt h es p e e do fd a t at r a n s m i s s i o ni n3 gi sf r o m3 8 4 k b p st o2 m b p s ,ap r a c t i c a lh i g hs p e e d t u r b oc o d e ci si m p o r t a n ta n dn e c e s s a r y t h i sp a p e rf o c u s e so nw o r k i n gf o ral o wc o m p l e x i t ya n dh i g hs p e e dt u r b oc o d e c i ti s m a i n l yc o m p o s e do f t w op a r t s : t h ef i r s t p a r t i sa b o u tt h e i m p r o v e m e n to fe n c o d e ra n dd e c o d i n ga l g o r i t h m f i r s t l y , s e v e r a li n t e r l e a v e r sw e r es t u d i e db e c a u s et h ep e r f o r m a n c eo fi n t e r l e a v e rp l a y e da ni m p o r t a n t r o l ei nt h ew h o l et u r b os y s t e m m o r e o v e r ,an e wp r a c t i c a li n t e r l e a v e rw a sp r e s e n t e dt o d e c r e a s et h e c o n s u m p t i o no fm e m o r y f o rt h ed e c o d e r ,s o m et e c h n i q u e ss u c ha s “s l i d i n g w i n d o w ”w e r ea p p l i e di nt h ed e c o d i n ga l g o r i t h m s ,w h i c hi m p r o v e dt h ed e c o d i n gs p e e d g r e a t l yw i t ho n l yl i t t l el o s si nf i n a lb e r t h es e c o n dp a r ti sm a i n l ya b o u tt h es t r u c t u r eo ft u r b od e c o d e r i no r d e rt oi n c r e a s et h e d e c o d i n gs p e e d ,an e ws t r u c t u r e “m u l t i p l ep i p e l i n ep l u sp a r a l l e l ”w a sp r e s e n t e da n da p p l i e d , w h i c hm a d ei tp o s s i b l et h a tt h ew h o l ed e c o d i n g p r o c e s sc a nb ec o m p l e t e db yo n l yo n ed e c o d e r k e y w o r d s :m a p ( m a x i m u m a p o s t e r i o r ) a l g o r i t h m ,r s c ( r e c u r s i v es y s t e m a t i c c o n v o l u t i o n a l ) c o d e s l i d i n gw i n d o w 塑婆! ! 生! 塑塑坚塑壁竺堕壅兰旦里生兰堡一 第一章引言 【提要】本章主要介绍了纠错码的发展历史,t u r b o 码的出现和它在应用中的问题,实 现一个高速t u r b o 码编解码器对于第三代移动通讯系统的重要性,以及各章节主要内容。 1 纠错码介绍 纠错码( e r r o tc o r r e c t i n gc o d e ) 旨在数字通讯中纠止由噪卢干扰带来的误码。由丁二在某 些情况f ,信道的信噪比( e b 刷o ) 很差,从而导致信息可靠传输时的传输效率k ( b i t s y m b 0 1 ) 非常低,一般在卫星和深空通讯中k 只有o1 - 0 2 b i t s y m 。为了解决这个问题,人们利 用纠错码将冗余信息加到传输信息中,然后在信道解码时利用这些冗余信息米帮助纠 错。 香农1 1 提到对于一个a w g n 信道,进行可靠传输的最小信噪比为: 引o 挚; 式( 1 - 1 ) 由该式可看到,当k 趋于0 或信道带宽为无限宽时,最小信噪比为i n 2 = - 1 5 9 d b , k = l b w s y m 时,最小信噪比为0 d b 。 而对于没有进行编码的的q p s k ( k = 2 b i t s y m ) 而言,误码率要达到1 0 ,最小信噪比为9 6 d b 【”。图i - 1 分别图式了香农和q p s k 曲 线。 e w q c q 图1 1 香农和q p s k 曲线 2 几种纠错码 在卫星通讯中,纠错码的工业标准是码率为l 2 ,6 4 状态的非系统卷击码【”。它 的解码采用s o v a ( s o f t - d e c i s i o nv i t e r b ia l g p r i t h m ) 算法。这种码可以在信噪比为42 d b 时得到1 0 4 的误码率,如图1 1 ,编码增益为9 6 4 2 = 5 4 d b 。侄实际系统中,由丁量化 壹望! ! ! ! ! 里塑笪塑壁堕塑塑兰望鱼垒壅型一 引入的误差,会带来0 2 到0 3 d b 的解码增益。 为获得更好的解码效果,该标准码还可以与r s 码进行级联。r s 码作为外码,输出 经过交织后再送入作为内码的标准码中,最著名的级联码是( 2 5 5 ,2 2 3 ) g f ( 2 8 ) r s 码 加上述标准v i t e r b i 码3 4 1 。它在信噪比为2 5 3 d b 时可以达到1 0 6 的误码率 ( k = 08 7 5 b i t s y m ) 。 3 t u r b o 码的提出和存在的问题 1 9 9 3 年,b e r r o re ta 1 在发表的论文b 1 中提出了一种新的纠错码:t u r b o 码。这种码 在码率为l 2 时,可以得到误码率为:在信噪比为o 7 d b 时可达到1 0 。误码率。考虑剑 t u r b o 码采用的是k = i b i t s y m 的b p s k 调制,相比较于同样k 值的香农曲线平q p s k 曲线。仅相差0 7 和o5 d b 。在文中,作者提出的t u r b o 码编码器由两个并联的系统卷市 码编码器( 1 6 状态) 和一个随机交织器( 交织深度为6 5 ,5 3 6 ) 组成。解码则由两个解 码器组成。 由丁t u r b o 码的解码效果非常出色,它已被定为3 g 系统中的标准信道编码。但在 实际应用中,文5 1 中的t u r b o 码帧长( 6 5 ,5 3 6 ) 太欧,编码器的状态数也较多( 1 6 状 态) ,从而导致解码速度比较慢。因此,为满足3 g 系统信息传输速率( 3 8 4 k b p s 2 m b p s ) , 必须设计出一种低复杂度和高速率的t u r b o 码编解码器。 4 本文的主要内容 本文的主要研究课题就在于实现一种低复杂度和高速率的t u r b o 码编解码器。研究 _ 作主要包括: a ,交织器设计:由于交织器的性能直接影响最后的误码率,所以,本文对各种交 织器的设计和性能作了大量研究,并提出了一种新的随机交织方法,在保证性能的同时, 可以减少实现规模。 b ,研究并改进了解码算法:由于t u r b o 码m a p 解码算法的计算复杂度很高,s o v a 算法的解码性能又比较差。本文提出了一种结合预处理滑动窗盼l o g m a p 算法,在人 幅度减少解码时间的同时,可以得到与m a p 算法接近的误码率。 c ,新的解码器结构:由于t u r b o 码的解码复杂度高,解码时间长,规模较人,为 提高解码速度并控制电路规模,本文提出了多级流水+ 并行运算的新结构,可以有效地 解决由t u r b o 码解码算法引入的速度瓶颈问题。 本文的第二章主要介绍t u r b o 码的编解码结构。第三章主要介纠交织器设计。第四 章主要介纠解码算法和对它的改进。第五章为编码器实现结构。第、章为解码器结构。 第七章介绍软件仿真和硬件f p g a 测试情况。 壹望! ! ! ! ! 璺堕坚堡堡盟堕壅兰坚兰羔壁生一 第二章t u r b o 码的编解码结构 【摘要】本章主要介绍t u r b o 码的编码结构( 并联系统码) 和解码结构( 迭代软解码) 并论述了影响t u r b o 码解码性能的主要因素:交织器和解码算法。 1 t u r b o 码编码结构 t u r b o 码的编码可由两个以上的系统码并联而成。其结构框图如图 其中,u 是待编码的信息序列,它并行通过m 个交织器( i n t e d e a v e r ) ,这m 个交 织器将产生m 个乱序信息序列,然后由i t l 个构成编码器( c o n s t i t u e n te n c o d e r ) 对其进 行编码,产生m 个冗余位:x ( 1 ) 到x ( m ) 。x ( o ) 则是未经编码的信息位。 一般而言,在t u r b o 码中,只采用两个结构相同的构成编码器。第一个编码器的输 入是原始信息,第二个编码器的输入则是乱序信息。这样只需设计一个交织器,也有利 丁二简化解码过程“】。尽管构成编码器的结构可以是任何系统编码器,目前一般采用的 结构是系统反馈卷击码r s c 【7 l 。这样,编码器结构可表示如下: 图2 - 2 两维t u r b o 码编码结构 、,; 壹婆! ! 生! 塑苎坚塑堡堕竺窒兰! ! 鱼垒壅里一一 if ! 塑,坷= 三卜f 群鼍 b b f o r m l 一 1 7 i i ! ! ! 型! ! ! 型j 2 - 2 壹望! ! ! ! ! 塑塑竺型堡竺竺壅。! ! ! 鱼垒皇塑坠一 第三章交织器的设计及改进 【摘要】本章主要介绍各种交织器的设计,并比较其性能。同时,提出一种新的交织 器生成方法,可以有效降低实现难度。 1 交织嚣设计 交织器的性能主要在于它是否能有效的打乱原有信息的相关性。当然,对于一些较 为简单的解码算法,交织器的性能要求并不是那么高,因为只有交织器和适当的解码算 法结合起来,才能提高整体性能。交织器主要有以f j l 种: 1 1 行列交织: 这种交织比较简单,按行读入,按列读出,在硬件实现上也比较简单可行,但由丁 它的规律性较强,一般只应用于较简单的算法如级联码。在t u r b o 码中就很少使_ 【- j 。行 列交织的一般模式如表3 - 1 ( 假设帧妖为1 6 ) ( 输入)表3 - l 行列交织( 输出) l2341 3951 56781 41 062 91 01 11 21 51 173 1 31 41 51 61 61 284 1 2 模k 交织: 为提高码率,打孔技术在t u r b o 码中被广泛使用,但在t u r b o 码中因为打孔而带来 的影响比在其他传统编码中的影响更大】。t u r b o 码中冗余位的作用很大,冈为上e 是 乱序编码产生的冗余位使得交织器的随机性得到保留。一般的编码在打孔以后,冗余位 对信息位的保护是平衡的,而在t u r b o 码中,由丁二交织器的使用,冗余位对信息位的保 护失衡,即有些信息位的冗余位在打孔时全部丢失,而有些信息位则保留了过多的冗余 位。以码率1 2 的情况为例。假设共有6 个比特,按奇偶方式打孔。 表3 - 2 打孔导致的保护失衡 x 1 顺序信息位 12345 6 y 1 冗余位( 1 ) 1+3+5+ i x 2 交织后信息位 214 653 l y 2冗余位( 2 ) +1+6+3 通过上面的表格( + 表示在打孔时丢火) ,可发现序号为1 ,3 的信息位有两个冗 壹鎏! ! ! ! ! 里塑坚塑堡堕堑壅皇! ! 鱼垒窒墨 余位保护,而序号为2 ,4 的信息位却一个冗余位也没有。这就是由于打孔导致的冗余 位对信息位的保护失衡。 为了消除这种现象,必须对交织器的实现加以限制。对于以上码率为1 2 时的打孔 方式,可以采用模2 交织法。即在交织时,令交织前处于偶数( 奇数) 位置的信息位, 在交织后仍然处于偶数( 奇数) 位置。通过这种方法,上述的保护失衡就可以得剑解决。 同样的,其余码率也可以用相应的模k 交织来解决。所以说,模k 交织并不是一种独立 的交织器生成方法,它只是在交织器生成时的一个限制条件。 i 3 伪随机交织: 在各种交织器中,伪随机交织器的性能晟好,因为相对其它交织器而言,它有最强 的随机性。但随机交织器的产生也比较困难。到目前还没有一种比较统一的伪随机交织 器的产生方法1 2 ,1 ”。 一般来说,可以用随机数生成的办法来产生伪随机交织器。但其主要问题在丁- 距离 【1 4 - ”】,即交织前相邻的信息位在交织后的距离要足够大,从而可以最大程度地打乱原 序列的相关性。假设有一个_ n 跃的信息序列,可以按照以下步骤来产生交织器: ( 1 ) :产生一个1 到n 的随机数,不能与前面产生的数重叠。否则返回步骤( 1 ) 。 ( 2 ) :令该随机数与前面生成的s 个数比较,要求距离大于s ,满足则顺序加一,否 则返回步骤( 1 ) 。 ( 3 ) :判断是否己生成n 个数,不满n 则返回步骤( 1 ) 继续。 式中距离s 可以根据帧长n 确定。这种生成方法的主要问题在于:s 太小时交织器 效果比较差,而s 太大时容易形成死循环。所以,在实际操作时,为避免形成死循环, 笔者在步骤( 2 ) 中还增加了一个判据,若不满足距离s 达到若干次,距离s = s 1 。 随机交织器设计中还有一个问题就是它不够规律化,对于不同的帧长,都要对生成 后的交织器进行大量模拟,以测定其效果。所以,一个好的随机交织器通常需要大量的 模拟才能得到。 1 , 4 模拟比较: 为了对这几种交织器的性能作明确比较,在模拟中统采刚f 面的模拟条件。 ( a ) :( 1 3 ,1 5 ,1 7 ) 码的编码结构: 为降低解码复杂度,系统选用8 状态的编码器。其中,( 1 3 ,1 5 ,1 7 ) 编码器被证明性能 最佳。由图3 - l ,可见构成编码器的约束k 度为4 ,码率为l 3 ( 在此,码率指信息位i i 总输出倪的比例) : 卜2 6 塑堕! ! ! 塑旦塑塑型壁塑竺塑:! ! ! 鱼垒兰型 x ( t ) 图3 - 1 ( 1 3 ,1 5 ,1 7 ) 码的编码结构 幽中虚线表示结尾比特,用来对网格( t r e l l i s ) 门零。这是一种最简单并被普遍使 用的结尾方式t m 】。由丁约束长度为4 ,共需3 个结尾比特。为了提高传输速率,通过 输山端m u x 的打孔( p u n c t u r e ) ,可以将整个系统的码率调整为1 2 ,1 3 或1 4 。表3 3 中1 2 的打孔方式比较常_ e j ,其中1 表示保留,0 表示丢弃。 表3 - 3 1 2 打孔方式 位置x 0 ( t )y 0 0 ( oy 0 1 ( t ) x l ( t ) y l o ( t )y 1 1 ( t ) 奇 1100oo 偶 lo001o ( b ) :解码算法采用l o g m a p 算法m 1 ,它是一种追求最小位错率的算法,相比较s o v a ( 最小序列错算法) ,l o g m a p 算法的计算量更大,但性能更好。在r 一章中,我们 将对该算法作详细探讨。 一 厂 壹蕉! ! ! ! ! 里塑塑塑矍塑堑壅皇! ! 鱼垒兰里一一一一 模j 甄结果嘣f 1 j 2 _ 姗s e 蒂1 0 2 4 图3 - 2 交织器模拟结果( 帧长= 1 0 2 4 ) 日”o 鳓 图3 - 3 交织器模拟结果( 帧长6 1 3 8 ) 由图3 - 2 及图3 - 3 ,可得以一r 结论: ( 1 ) :在码率为1 2 的情况下,模2 行列交织的效果要优于普通行列交织。这说明模2 的均衡保护作用是有效的。同时伪随机交织的结果要明显优于行列交织。进一步说明了 编码中交织器的性能对提高系统整体性能有重要作用。 ( 2 ) :通过对不同帧长模拟结果的观察,发现由于行列交织的规律性较强,帧氏的增 加并不能使其性能有很大的提蔫,也就是说,交织器的性能限制了系统的整体性能。而 用伪随机交织的效果却会随着帧长的增加而迅速提高。这说明帧长越睦,伪随机交织的 深度越深,解码性能越好。因此,伪随机交织应与长帧结合,以带来更好的解码效果 ( 3 1 :上文已提到t u r b o 码的解码算法是一种迭代算法。冈此,由模拟结果可看到, 随着解码迭代次数的增加,误码率会显著f 降。 2 一种利于硬件实现的交织器生成方法 从硬件实现的角度来看,行列交织器最为简单,只需一个乘法器和一个加法器,规 高速t u r b o 码编解码器的研究与f p g a 实现 模较小,但效果较著:伪随机码的性能优越,但很难_ e j 硬件来实时产生。一般可把模拟 得剑的性能较好的伪随机交织器存到存储器中,坩查表的方法来完成伪随机交织。但该 方法在帧氏较长的情况下,需要较大的存储量。假设帧长为6 1 3 8 个比特,就需要6 1 3 8 l3 = 7 8 k b i t s 的存储量。同时,长帧伪随机交织器的产生也非常困难。因此,笔者设计 了一种简单而且能减少存储量的交织器生成方法。方法如下: ( a ) :假设帧氏为6 1 3 8 ,将其顺序分成1 8 个i 帧长为3 4 1 的子帧,对每一个子帧产生 一个子随机交织器,由于帧k = 较短,较易生成,而且一个子随机交织器所需的存储越仅 为3 4 1x 9 = 3 k b i t s 。 ( b ) :对每一个子帧进行随机交织后,将这1 8 个子帧随机排列成一个矩阵。 ( c ) :对矩阵用行列交织方法生成最后的交织器。 e b i n o ( d b ) 图3 4 交织器模拟结果 在此还需讨论的是这1 8 个子帧应该采用多少个子随机交织器。如果1 8 个子帧采用 同一个子随机交织器,那么共需3 k b i t s 存储器,但其总体性能会降低,如果采用1 8 个 子随机交织器,每个子帧的随机交织器都不同,那么性能会有保证,但存储量上升为 5 4 k b i t s 。所以,为了在存储量与性能之间作一个选择,需要对采用不同个数的子随机交 织器作了一个性能上的比较( 使用同上的模拟条件) 。 从图3 - 4 的模拟结果中,可见n = 1 8 的结果与原伪随机码的性能基本相同,n = 9 的 性能稍逊,而n = i 的性能就大大下降。从存储量的角度来考虑,n = 1 8 的存储量为 5 4 k b i t s ,n = 9 的存储量为2 7 k b i t s ,n = i 的存储挺为3 k b i t s ,原伪随机码需要的存储繁 为7 8 k b i t s 。综合考虑,在性能f 降不多的情况f ,n = 9 时可以节省2 3 的存储量。该方 法由r 同时采用了伪随机交织和行列交织,称为伪随机+ 行列交织。 3 伪随机+ 行列交织的硬件实现 对丁上述的伪随机+ 行列交织的方法,其硬什实现也包括了两部分:奇表( 伪随机 交织) 和乘法、加法运算( 行列交织) 。其埂件框幽如幽3 - 5 : 7 童望! ! ! ! ! 塑墨坚堡矍塑堕壅皇! ! 竺垒塞墨 mi n d e xo fr o w n :i n d e xo fc o l u m n 图3 5 伪随机+ 行列交织的硬件实现框图 在图中,m 代表行( 即子帧) 的序号,n 代表列的序号,m 经过交织器( 0 ) 获得 交织后的序号m l ,m l 对9 取模后,去选通子随机交织器( o 一9 ) 的输出,得剑n 1 ( 即 n 经过子随机交织器后的序号) 。此时,子随机交织器的工作完成,进行行列交织,即 n 1 1 8 + m 1 = 交织后次序。图中的伪随机交织器均由查表完成。 伪随机+ 行列交织的交织过程综合了伪随机的查表操作和行列的乘、加运算,故操 作时间较长,但它比伪随机交织节省存储量,而性能则比行列交织优越。 3 6 童望! ! ! ! ! 塑塑塑型竖塑竺壅:型! 鱼竺兰型一 第四章解码算法的研究与改进 【摘要】本章主要对t u r b o 码的解码算法作了一些研究,并作了改进。笔者提出的y 轴等分奄表法和预处理滑动窗技术,在运用到t u r b o 码解码过程中后,可在保持原算法 性能的同时,人幅度提高解码速度。 4 1m a p 算法 t u r b o 码的解码算法主要有两种,一是m a p 算法,它是一种实现最小何错概率的 最人试然算法,还有就是建立在v i t e r b i 算法【”l 上的s o v a 算法m ”1 ,它只追求最小序 列错。冈此,m a p 算法的性能平均要比s o v a 算法高o8 d b 2 0 】,当然m a p 算法的计算 也更为复杂。 m a p 算法源丁文 2 1 - 2 4 】,算法引入一系列的概率函数,针对每一个信息位进行计算, 从而得到每个信息他的软输出。该软输出是一种判决正确概率的量度,称为后验概率。 m a p 算法( m a x i m u map o s t e r i o r i ) 实际上就是通过追求晟人的后验概率来得剑最小位错 率。 在此约定如r : a 采用系统反馈卷击码r s c 。 b 调制关系为b p s k :( 0 ,1 ) 一 ( 一1 ,+ 1 ) 。 c 信道为a g w n 信道。 4 i - 1 定义概率比: 丑:p r ( d t = 1 _ 1o b s e r v a t i o n ) ; 式( 4 1 ) p r ( d = 0io b s e r v a t i o n ) 。 式中p r ( d = f lo b s e r v a t i o n ) ,i = o ,l 是数据位d k 的后验概率a p o p ( ap o s t e r i o r i p r o b a b i l i t y ) ,它表示在观察序列为o b s e r v a t i o n 时数据位d k = o ,l 的概率。 当概率比人丁等丁i1 时表示d k = i 的后验概率人丁- 等丁d k = o 的后验概率,d k 应 取l ,小丁1 时,d k = l 的后验概率小fd k = o 的再验概率,d k 戍取0 。 4 1 2 概率比的推导: 对丁有v 级寄存器的编码器,设k 时刻的编码器状态为s k ,表示为 v 1 s = 2 k s f = 0 4 一 l 高速t u r b o 码编解码器的研究与f p g a 实现 s i = o ,1 为寄存器的值。 即s t ( o ,l 信息序列包含n 位数据,令a k , a 女= 2 + d 女一1 ; b = 2 + e 一l ; ,2 ”) 。 b k 表示信息位d k 与冗余位e k 的调制信号 式( 4 2 ) 定义( a k ,b k ) nk 时刻的传送符号c k ,则时刻1 至时刻n 的符号序列为: c v = ( c l c k c 。) ; 送入高斯信道后,信道输出端得到接收序列:r ,= ( r 。r ”r 。) ; 式中r k = ( x k ,y k ) 表示时刻k 的接收信号,x k 与y k 的定义如f : x = ( 2 + d 女一1 ) + p 女; 儿= ( 2 * e k 一1 ) + 吼; 式( 4 - 3 ) 式中p k ,q k 是两个相互独立的止态分布变量。 定义:砧= p r ( d 女= f ,s 女= m i 蜀“) ;式( 4 5 1 该式表示住接收序列为r ,的条件f ,数据位d k = i ( j _ o ,1 ) ,编码器状态为s k :m 的条 件概率。这样,后验概率可写为: p r ( u = i ir 1 u ) = 掣; 式( 4 6 ) 则式( 4 1 ) 的概率比可以写为: a : 2 夏f ; 船7 ) 利州贝n t 公式,式( 4 5 ) 可以写为: 九,= p r ( d t = i ,s k = m ,r i u ) p r ( r i u k 2 p r ( r ? - i 矾= f ,s t = m ,r ,) p r ( 尺i d 。= f ,s 。= m ,r 。) p r ( d 女2f ,s 女= 脚,r 女) p r ( r t “) 式( 4 9 ) 定义:口? = p r ( r j 1f 以= ,量= 用,雕) = p 月一f s 。= m ) ; 式( 4 i o ) 该式表示时刻k 和系统状态为m 时的前向递推度域,称为f s m ( f o r w a r ds t a t em e t r i c ) 。 定义: 0 7 ”= p r ( r l li d 女= f ,s 女= 肌,r t ) = p r ( r ,i s = f ( i ,脚) ) ; 式( 4 1 1 ) 式中f ( i ,m ) 表示由输入i 和j 当前状态m 所决定的卜一个系统状态。嬲一表示时刻k 和 系统状态为m 时的逆向递推度彗,称为r s m ( r e v e r s es t a t em e t r i c ) 。 定义:咧。= p r ( d t = f ,s 女= m r 女) 。 式f 4 1 2 、 4 2 、 鱼垄! ! 生! 塑塑坚塑堡盟笪壅! ! ! 鱼垒兰型一 该式表示时刻k 和系统状态为m 时的分支度量,称为b m ( b r a n c h m e t r i c ) 。 利用公式( 4 1 0 ) 到公式( 4 1 2 ) ,式( 4 9 ) 可以写为: 戤”= 口? 倒“0 i p r ( r t n ) ; 式( 4 一1 3 ) 这样,概率比可以进一步改写为: 口? 0 f ”酬: 2 夏历瓣 式( 4 1 0 ) 的前向递推度量f s m 可弓为: 口? = p r ( r ? 1l s 。= m ) i = p r ( d 。= ,s ,= m ,群。i s 。= m ) ”,。0 式( 4 1 4 ) = p r ( r j 。f & = m ,d k 一= ,s k 一= m ,r k 一。) p r ( 瓯一,= ,s = m ,r 。i s 。= m ) m 。,o = p r ( r , k 。2f 只+ = 6 ( m ) ) p r ( d k 一= s 。= 6 ( ,m ) ,r 。) ,= 0 = 口甜瓯i 一, b ” 式( 4 1 5 ) 式中,m ) 表示当前系统状态为m ,前一时刻输入为j 时,前一时刻系统所处状态。 假设k 时刻的编码器状态为1 1 ,则该时刻的f s m 为: 同样式( 4 - 1 1 ) 的逆向递推度最r s m 可写为 钟= p r ( r s = 棚) = p r ( 4 。= _ ,s ,= m tr j s 。= m ) w = 0 式( 4 1 6 ) = p r ( r | s i = m ,d 。= ,s 。+ = 。,r 。) ? r ( d 。= ,s 。,= m r r 。i s 。:) 月,= 0 = p r ( r ,fs 女+ 。= f ( j ,m ) ) p r ( d 。= ,s 。= 肌,r 。) ,= 0 = 雕i 4 1 6 ; ,= 0 假设k 时刻的编码器状态为n ,则该时刻的r s m 式f 4 i7 1 4 3 器 塑墨! ! ! ! ! 堕璺鳖型竖塑塑塑! ! ! 鱼垒圭些 钟= o ;w 州h e n ( m m :h n ) ) : 利_ l r 图可以更清楚的了解a t i m e a ? ? 式( 4 1 8 ) 的前向递推计算和,的逆向递推的计算特性。 kk + 1 屈掣 8 戮” 幽4 - 1 f s m 的前向递推和r s m 的逆向递推 式( 4 1 2 ) 的分支度域”( b m ) 可由离散无记忆信道的传递特性,利川贝n - i 公式改写 为: ”= p r ( d 女= f ,s = m ,r 女) = p r ( r 女i d = f ,s 女= m ) p r ( s 女= m l d = i ) p r ( d t = f ) = p r ( x i d i = f ,s 女= m ) p r ( y ij 巩= f ,s 女= m ) “2 ”;式( 4 - 1 9 ) 由y - p k ,q k 是互相独立的,当前状态独立r 当前输入,可以是2 ”个状态中的任意一个。 定义先验概率a p r p ( ap r i o rp r o b a b i l i t y ) :“= p r ( d 女= i ) 。式( 4 2 0 ) 对丁一个均值为0 ,方若为盯2 的a w g n 信道,式( 4 1 9 ) 可以写为: 志唧( 一专印h 炉 法唧( 一专c c 2 c 。 m - - 1 炉 = c o n s “e x p 乜。( x 。l + y 。c ”) ) ) ; 式( 4 2 1 其中c o l i s 代表常数,在概率比的计算中,该常数会被约去。式中= 2 盯2 , c ”= 2 c :一1 ,22 i 一1 。i 表示输入rc ? 则表示d k = i 和s = m 时的编码输出。 这样,概率比就可以进一步写应: :a :p 黜? e x p ( l :y k c 。“1 2 万参蕊孵百瓦诹巧 = k 2 1 3= 0 0 5 ; 的模拟结果进行了比 幽4 4 m a p 算法与l o g m a p 算法的模拟结果 模拟结果标明,在该模拟条件中,利用y 轴等分查表法,7 值汞i4 值l o g m a p 的模 拟结果与原m a p 算法较相近,0 值l o g m a p 算法的结果较差。由此可见,利_ e = | y 轴等 分布表法- 只需一个很小规模的表格( 7 值或4 值) 就可使l o g m a p 算法产生满意的解 码效粱。 4 4 滑动菌技术 4 4 - 1 滑动窗技术的运用 上述章仃讨论了解码算法的简化。简化之后的算法不仅可以降低实现复j 度,而且减 少了解码时问。但观察解码步骤发现在t u r b o 码解码中,首先必须对整个序列进行 爿,2 曼( 爿f ”+ 础”1 ) 的前向递推,并将所有的彳,存储起来,然后进行 l 彰2 量( z w ”+ d _ ”) 的逆向递推,最后再进行对数概率比 2 一iv 厶。曼( 爿,+ 纠”+ 蹦。州) 一y o a ;7 + 讲”+ 碟? 川) 的计算。假设帧k 为n ,警 个流稗可幽式如f : 4 一s l ! 至堕! ! 尘竺塑塑竺丝壁塑竺塑! ! ! ! 鱼垒壅里 _ ,l !垡l t ,l 型! i 图4 - 5l o g m a p 算法解码时序 该解码过科中,首先一个问题就是,解码的延迟过比。假设爿? ,曰,的整个序列的 递推时间均为t ,那么一次解码的时间就近似2 t 。而且当爿:进行前向递推时,b ? 和 l 。的计算电路都处丁l 闲置状态,造成资源浪费a 解码步骤中第二个突出的问题就是所需存储量过大,因为糕个序列的4 7 都需要储 存,f 壬( 1 3 ,1 5 ,1 7 ) 码且帧k 为n 的情况r ,需要储存8 n 个爿,。 鉴丁原解码算法给实现带米的幽难,本文尝试将滑动窗技术( 2 7 】引入解码算法,即将 整个序列的解码变成分段的解码。引入滑动窗以后,解码步骤改变如f :假设帧为n , 滑动窗k = 度为s ( s n ) ,那么加窗后,每前向递推4 :2 满s 个以后,就开始从该处逆 向递推b ? ,并随后计算对数概率比厶。这样,由f 幽可看到,解码时间由2 t 变成: ( 万s + 1 ) x t 2 t 。与此同时,滑动窗也使爿,的存储个数由原米的m 个减少为 sx m 个( m 为系统状态数) 。滑动窗的艮度越短,其解码时间和所需存储鼙就越少。 胃l ! 二:! i ! = :箜i l 翌二:! i tt 丫t 卵 11 二:! i ll ! 二:翌i 。 ! = :! iil ! = :翌i 图4 - 6 加窗后的解码时序 为观察加窗对解码效果的影响,对一个帧艮为6 1 3 8 的信息序列进行了模拟。模拟条 件不变。 幽4 7 各种【,度滑动窗的模拟结果 卜心 塑望垡! ! ! ! ! 塑坚塑墨竺竺壅:! ! ! 璺垒兰翌一 摸拟结果表明:随着滑动窗长度的减小,系统解码性能逐渐r 降。滑动窗长度为2 0 0 0 时,性能基本没有变化,6 2 0 时,性能稍有f 降。1 0 0 时,解码效果就变得很差。由此可 见,加滑动窗( 尤其是欧度较短的滑动窗) 会给系统性能带来较大影响。 究其原冈,主要是b ? 的逆向递推受剑影响。对于朱加窗的解码过程来说,由r 系统 起始( k - o ) 乖l 结束状态( k = n ) 都固定为零,冈此4 7 的前向递推初始值乖】b ? 的逆向递推初 始值都可以由公式( 4 1 6 ) 雨1 公式( 4 1 8 ) 确定。而加滑动窗以后,彳,的前向递推不变, b ? 的逆向递推却受到了影响。首先,原来的整个序列的逆向递推被划分成若干个子序列 的逆向递推。同时,在分段逆向递推时,由丁断点( 即分段递推的初始点) 处的系统状 态无法获知,只能统一初始化为:b ? = l 0 9 0 8 ) ;初始化状态的不确定,使b :逆向 递推结果的止确概率r 降,从而进一步影响对数概率比l 。的止确性。滑动窗的k 度越短, 分段越彩,引入的不确定性也就越人,系统性能也随之变差。 4 , 4 2 预处理滑动窗技术: 由r 普通滑动窗对系统性能有较大影响,笔者没计了一种改进的滑动窗方案,州米 减少由8 7 分段初始化的不确定所带来的解码性能f 降。改进后的解码过程中增加了 p r e 一筇的计算,时序图如f : 雒二:! l ! 二:垄l l 翌二:! i 丫t vv 卵l 。 i ! = :! i i l ! = :翌i e b =l 翌二! ! j 堡三翌ji 幽4 8 改进滑动窗后的解码时序 改进后,在每次分段前,先由p r e 一卵进行一个滑动窗长度的逆向递推,然厅将计 算结果作为b ? 逆向递推的初始值。这样,彤m 初始值的可信度就会相应增加。从而减少 了加窗的影响。模拟结果也表明:改进后的滑动窗确实能提高系统性能。由丁改进的模 块主要刖丁生成b ? 初始值,

温馨提示

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

评论

0/150

提交评论