




已阅读5页,还剩51页未读, 继续免费阅读
(通信与信息系统专业论文)卷积turbo码编译码器fpga实现的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 卷积t u r b o 码因其优异的纠错性能越来越受人门的关注,而编码器和译码器 是编码理论实际应用的重点和难点。论文根据i e e e 8 0 2 1 6 e 标准,以低时延、高 吞吐量、支持高时钟频率、参数可配置为目标,对卷积t u r b o 码编码器和译码器 的f p g a 实现进行研究。 论文介绍了卷积t u r b o 码编码原理,之后采用至上而下的方法对编码器进行 设计。序列交织器和子块交织器是编码器的重要组成部分,也是提高编码器时钟 频率的瓶颈。论文采用基于查找表的方法,实现的交织器具有结构简单、通用性 强、时延小、逻辑链路短等优点。在系统最高时钟频率得以保证的前提下,论文 还对交织器的存储空间进行了合理的划分,尽量减小内嵌r a m 的开销。此外论 文还对编码器流程做了详细而合理的设计,以减小编码器时延,提高吞吐量。 类似的,在译码器设计之前介绍了译码原理,详细推导了m a p 译码算法和 m a x 1 0 9 m a p 译码算法,主要包括分支度量、前向状态度量、后向状念度量、外 部信息、对数似然比的计算。 分析了卷积t u r b o 码译码器的关键路径,和传统t u r b o 码译码器一样,关键 路径存在于前后向状态度量计算单元,由加法器、求最大值逻辑链路、归一化处 理逻辑链路组成。不同的是求最大值操作对象由二个变成四个,这也是c t c 译码 器的最高时钟频率比传统t u r b o 码译码器的最高时钟频率低的原因。专门设计了 四个数据求最大值逻辑链路,并放弃状态度量归一化处理操作以缩短关键路径, 提高系统最高时钟频率。 为了减小译码时延,提高吞吐量,采取了下列措施:首先,采用流水线技术, 将译码器数据处理过程分为数据分离、译码迭代、数据输出,译码迭代能连续进 行,不用等待数据分离或者数据输出。其次,调整分量译码顺序,先进行第二分 量译码再进行第一分量译码,这样信息比特判决时不需要对信息比特的对数似然 比进行解交织,节省了时间。最后,前向状态度量计算和后向状态度量计算同时 进行,在不牺牲译码性能的前提下,提前了外部信息的计算,减小了时延。 关键字:卷积t u r b o 码,f p g a ,m a p ,m a x - l o g - m a p ,时延 a b s t r a c t c o n v o l u t i o n a lt u r b oc o d eh a sa t t r a c t e dm o r ea n dm o r ea t t e n t i o nd u et o i t s e x c e l l e n te r r o rc o r r e c t i o np e r f o r m a n c e ,w h e r et h ee n c o d e ra n dd e c o d e ra r et h e e m p h a s i sa n dd i f f i c u l t yo ft h ep r a c t i c a la p p l i c a t i o no fc o d i n gt h e o r y a c c o r d i n gt o s t a n d a r di e e e 8 0 2 16 e ,t h ep a p e rd e a l sw i t ht h ei m p l e m e n t a t i o no fc o n v o l u t i o n a lt u r b o c o d ee n c o d e ra n dd e c o d e rw i t hf p g a ,a i m e da tl o wl a t e n c y , h i g ht h r o u g h p u t ,h i g h c l o c kf r e q u e n c ys u p p o r t e da n dp a r a m e t e rc o n f i g u r a t i o ns u p p o r t e d t h ep a p e ri n t r o d u c e st h ep r i n c i p l e so fc o n v o l u t i o n a lt u r b oc o d ee n c o d i n ga n d t h e nd e s i g n st h ee n c o d e ri nd e t a i lb yu s i n gt o p d o w np r i n c i p l e s e q u e n c ei n t e r l e a v e r a n ds u b b l o c ki n t e r l e a v e ra r en o to n l ye s s e n t i a lc o m p o n e n t so ft h ee n c o d e rb u ta l s ot h e b o t t l e n e c kf o ri m p r o v i n gt h ec l o c kf r e q u e n c y t h ep a p e ra d o p t sl o o k - u pt a b l e - b a s e d a p p r o a c ht oi m p l e m e n ti n t e r l e a v e r s ,w h i c hp r o v i d e ss e v e r a la d v a n t a g e ss u c ha sl o w c o m p l e x i t y , g e n e r a b i l i t y , l o wl a t e n c ya n d s h o r tc r i t i c a lp a t h i ta l s od i v i d e st h em e m o r y s p a c eo fi n t e r l e a v e rr e a s o n a b l yt om i n i m i z et h ec o n s u m p t i o no fe m b e d d e dr a m ,o n t h ep r e m i s et h a tt h eh i g h e s tc l o c kf r e q u e n c yi sg u a r a n t e e d i na d d i t i o n ,t h ep a p e r c o n t a i n sad e t a i l e da n dr e a s o n a b l ed e s i g no fe n c o d e rp r o c e s s ,i no r d e rt or e d u c et h e e n c o d e rl a t e n c ya n di m p r o v et h r o u g h p u t s i m i l a r l y , b e f o r et h ed e c o d e rd e s i g n ,t h e r e i sa ni n t r o d u c t i o no fd e c o d i n g p r i n c i p l e sa n dad e t a i l e dd e r i v a t i o no fm a p a n dm a x l o g - m a pd e c o d i n ga l g o r i t h m , m a i n l yi n c l u d i n gt h ec a l c u l a t i o no fb r a n c hm e t r i c s ,f o r w a r ds t a t em e t r i c s ,b a c k w a r d s t a t em e t r i c s ,e x t e r n a li n f o r m a t i o na n dl o g - l i k e l i h o o dr a t i o a n a l y s i so fc o n v o l u t i o n a lt u r b oc o d ed e c o d e rs h o w st h a ta l i k et h et r a d i t i o n a l t u r b od e c o d e r , t h ee r i t i c a lp a t ho fc o n v o l u t i o n a lt u r b oc o d ed e c o d e re x i s t si nt h e f o r w a r d b a c k w a r ds t a t em e t r i cc a l c u l a t i o nu n i t ,w h i c hi sc o m p o s e do ft h ea d d e r , c o m p a r a t o r , s e l e c t o ra n dn o r m a l i z a t i o nl o g i c a ll i n k h o w e v e r , t h e r ea r en o tt w oi n p u t s b u tf o u ri n p u t st oc o m p a r a t o ra n ds e l e c t o r t h i si st h er e a s o nw h yt h eh i g h e s tc l o c k f r e q u e n c yo ft h ec t c d e c o d e ri sl o w e rt h a no n eo fc o n v e n t i o n a lt u r b od e c o d e r t h e p a p e rs p e c i a l l yd e s i g n st h ec o m p a r a t o ra n da b a n d o n s t h en o r m a l i z a t i o nf o rs t a t em e t r i c , f o rt h ep u r p o s eo fr e d u c i n gt h ec r i t i c a lp a t h 1 i i no r d e rt or e d u c et h ed e c o d e rl a t e n c ya n di m p r o v et h et h r o u g h o u t ,t h ef o l l o w i n g m e a s u r e sa r ea d o p t e d f i r s t l y , a d o p tp i p e l i n et e c h n i q u e ,d i v i d i n gt h ed e c o d i n gp r o c e s s i n t od a t ad e - m u l t i p l e x i n g , d e c o d i n gi t e r a t i o na n dd a t ao u t p u t d e c o d i n gi t e r a t i o nc a l l b ec o n t i n u o u s l yc a r r i e do u tw i t h o u tw a i t i n gf o rd a t ad e - m u l t i p l e x i n go rd a t ao u t p u t s e c o n d l y , a d j u s tt h es u b d e c o d i n gs e q u e n c e d e c 2g oa h e a do fd e ci i ts a v e s t i m e ,b e c a u s et h e r ei sn on e e dt od e - i n t e r l e a v et h el o g l i k e l i h o o dr a t i oo fi n f o r m a t i o n b i t sw h e nj u d g et h ei n f o r m a t i o nb i t s f i n a l l y , c a l c u l a t et h ef o r w a r ds t a t em e t r i c sa n d b a c k w a r ds t a t em e t r i c sa tt h es a m et i m e b yc a l c u l a t i n gt h ee x t e r n a li n f o r m a t i o ni n a d v a n c e ,i tr e d u c e s t h e d e c o d i n gl a t e n c y ,w i t h o u ts a c r i f i c i n g t h e d e c o d i n g p e r f o r m a n c e k e y w o r d s :c t c ,f p g a ,m a p ,m a x - l o g m a p , l a t e n c y i l l 论文独创性声明 本论文是我个人在导师指导下进行的研究工作及取得的研究成果。论文中除 了特别加以标注和致谢的地方外,不包含其他人或机构已经发表或撰写过的研究 成果。其他同志对本研究的启发和所做的贡献均已在论文中做了明确的声明并表 示了谢意。 作者签名:高寻旺日期:z o o - 5 、7 论文使用授权声明 本人完全了解上海师范大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其它手段保存论文。保密的论文在解密后遵守此 规定。 作者躲南子跌刷雠稀眺刎心7 上海师范大学硕士学位论文 第一章绪论 1 1 课题背景 第一章绪论 在t u r b o 码提出之前,由r e e d s o l o m o n 码、交织器、卷积码串行构成的级联 码曾被当时的人们认为纠错性能最优秀的码,被广泛的应用于深空通信和数字视 频传播。1 9 9 3 年c b e r r o u ,a g l a v i e u x 和p t h i t i m a j s h i m a 在国际通信会议上 首次提出了“最接近s h a n n o n 极限的纠错编解码:t u r b o 码 ,在a w g n 信道和b p s k 调制下,码率为1 2 ,e b n 。为0 7 d b 时,采用t u r b o 码可以获得1 0 畸的误比特率【1 1 。 随后不断有人对t u r b o 码的原理、性能、理论分析进行研究并取得不同程度的进 展,为t u r b o 码的实际应用奠定基础。t u r b o 码被广泛应用于第三代移动通信标 准,如h s p a 和l t e 。高通公司推出的用于移动终端电视系统的m e d i a f l o 技术也 采用t u r b o 码作为其前向纠错( f o r w a r de r r o rc o r r e c t i o n ,f e c ) 方案。t u r b o 码的提出,还更新了编码理论研究的方法,现在人们更喜欢基于概率的软判决译 码方法,而不是早期基于代数的构造和译码方法。目前,t u r b o 码被看成1 9 8 2 年 t c m 技术问世以来,信道编码理论与技术研究上所取得的最伟大的技术成就,具 有里程碑的意义【2 1 。 w i m a x ( 全球微波互联接入) ,其两个主要标准i e e e8 0 2 1 6 d 3 】和i e e e 8 0 2 1 6 e 4 】的f e c 方案都支持卷积t u r b o 码( c o n v o l u t i o n a lt u r b oc o d e ,c t c ) 。 在8 0 2 1 6 e 标准中卷积t u r b o 码采用双二进制t u r b o 码,缩短了交织深度,减小 了译码时延;同时采用循环状态规则确定寄存器初始状态,不再需要像传统t u r b o 码那样为了实现状态归零而产生的“尾比特,提高了编码效率【5 】;此外,采用次 优译码算法,如m a x - l o g - m a p 、s o v a 算法,对译码器性能造成的影响也被减d x 6 。 编码器和译码器的硬件实现是编码理论转向实际应用的重点和难点。硬件实 现的方式主要有d s p 、a s i c 、f p g a 。d s p 最大的不足在于不能实现并行处理,译码 过程中需要计算大量的分支度量、前向状态度量、后向状态度量、外部信息,如 果采用串行处理需要消耗大量的时钟周期,不利于译码速度的提高。a s i c 能实现 复杂的功能,提供优异的性能,但是开发成本高,开发周期长,并且一旦成型后 不能被修改。f p g a 具有可反复配置的特点,经常用于a s i c 原型验证,或者作为 新算法的物理验证平台。此外f p g a 开发工具便宜,开发能由个体或小型团队完成, 一卜海师范大学硕七学位论文 第一章绪论 开发成本低周期短,随着f p g a 性能的不断提高,f p g a 作为产品的最终载体逐渐 增多川。为此本文基于i e e e 8 0 2 1 6 e 标准对卷积t u r b o 码编码器和译码器的f p g a 实现进行研究。 1 2 研究现状 t u r b o c o n c e p t 是一家提供t u r b o 代码和相关技术i p 方面领先的公司,曾先后 推出卷积t u r b o 码译码器i p 核t c l 0 0 0d v b r c s 、t c l 0 0 0w i m a x 、t c 7 0 0 0 l t e 。 分别面向应用系统d v b r c s 、w i m a x 、l t e 。其中t c l 0 0 0w i m a x 支持 i e e e 8 0 2 1 6 d 一2 0 0 4 和i e e e 8 0 2 1 6 e 一2 0 0 5 ,具有数据块大小、码率、译码迭代次数 可灵活配置的优点。同时,t c l 0 0 0w i m a x 内部的s i s o 子译码器个数也可配置, 当s i s o 子译码器个数为2 时,吞吐量最高可达4 0 m b p s ;当s i s o 子译码器个数 为4 时,吞吐量最高可达6 0 m b p s ;当s i s o 子译码器个数为8 时,吞吐量最高可 达1 0 0 m b p s 8 1 。目前,f p g a 供应商a l t e r a 和l a t t i c e 并没有自主研发c t c 译 码器i p 核而是间接提供t u r b o c o n c e p t 的c t c 译码器i p 。 国内大型通信公司也一直致力于c t c 编码器和译码器的研究并取得成果。华 为拥有专利“卷积t u r b o 码循环状态查找方法及装置、译码方法及装置”1 9 】,中 兴捌有专利“卷积t u r b o 码译码器的等待队列控制方法及装置,【1 0 】,展讯拥有专 利“卷积t u r b o 码交织器和解交织器”f 】。不少高校也对c t c 进行研究,但主要 集中在c t c 在w l m a x 中的应用,硬件实现方面的研究不是很多。 1 3 论文内容安排 论文内容安排如下: 第二章简要介绍c t c 编码原理,之后采用直上丽下的方法对编码器进行详细 的设计,包括编码器顶层模块设计、模块划分、流程设计、子模块的具体实现。 第三章给出c t c 的译码原理,并详细推导m a p 译码算法和m a x 1 0 9 - m a p 译码算法,为译码器硬件实现提供理论基础。 第四章首先介绍了时序分析基础及时序优化的常用方法,然后对译码器的顶 层模块、流水线设计、模块划分、子模块实现进行了详细的设计。 第五章给出仿真方案并对资源消耗及性能做了详细的分析。 第六章对全文进行总结并给出进一步完善译码器的方案 2 上海师范人学硕1 :学位论文第二章c r c 编码器原理及j ef p g a 实现 第二章c t c 编码器原理及其f p g a 实现 2 1c t c 编码器原理 c t c 编码器结构如图2 1 所示,输入的双比特信息序列a b 被分成三路,一 路经由预编码器1 和编码器l 生成校验比特y l w l ,另一路经由序列交织器,预 编码器2 和编码器2 生成校验比特y 2 w 2 ,最后一路直接作为系统比特序列输入 给子块交织器。预编码器l ,编码器l 和预编码器2 ,编码器2 是完全一样的,只 是预编码器l 输入的是原始序列,而预编码器2 输入的是交织后的序列。系统比 特a b ,校验比特y 1 w i 和y 2 w 2 构成码率为l 3 的母码。母码经过子块交织和删 余就形成最终的码字。 双比特信息序列a b a b y i w i 子 预编髂5 器l编码器l 块 删 交 列交织器 编码器2 i 器2 y w 2 - 1 1码器 1c c 编码器结构 e e 8 0 2 1 6 e 中c t c 编码不需要像传统t u r b o 编码那样,在编码结束后输入 特,迫使编码器内部寄存器归零,而是采用t a i l b i t i n g ,预编码器就是完成该 。预编码器如图2 2 所示,每次预编码之前都将内部寄存器清零,预编码时 从节点a 和b 输入,序列输入完成后得到寄存器组的状态d l d 2 d 3 。根据寄 组状态和帧长通过查表2 1 就可得到编码器寄存器的初始状态。 - 2 预编码器 上海师范大学硕l :学位论文第一二章c t c 编码器原理及j ef p g a 实现 表2 1编码器循环状态查找表 d i d 2 d 3 0 0 00 0 l0 1 0o l l 1 0 0 1 0 1 1 1 01 1 1 n m d d 7 10 0 0 1 1 01 0 0 0 1 0 l ll0 0 10 1 11 0 l 20 0 0 o ll1 1 11 0 01 0 11 1 00 1 00 0 i 3 0 0 01 0 lo l l1 1 00 l o1 1 10 0 ll o o 4o o o1 0 00 0 1l o ll l o0 1 0l l l0 l l 50 0 00 1 01 0 ll l l 0 0 l 0 l l 1 0 01 1 0 60 0 0ll l1 1 00 0 l0 lll o o1 0 10 1 0 2 1 2 编码器 如图2 3 所示,编码之前利用上述所求的初始状态对寄存器进行初始化,编 码时序列从节点a 和b 逐一输入,相应的校验比特从y 和w 逐一输出,图中加 法为模2 加法,d 表示d 触发器。比较预编码器和编码器可以发现二者寄存器状 态转移链路完全致,只是编码器比预编码器多了校验比特计算链路。 2 1 3 序列交织器 图2 - 3 编码器 序列交织分两步完成,第一步序列内交织,第二步序列间交织。 序列内交织:将输入的双比特信息序列从零丌始排序,当序号为奇数时,互 换比特信息的高低位。设输入的双比特信息序列为a b a o b o ,a j b i ,a n i b n i 】, 则经过序列内交织后,生成序列t e m p = t e m p o ,t e m p t ,t e m p s 1 】 = 【舢b o ,b i a i ,a 2 8 2 ,b 3 a 3 ,a n - 2 b n - 2 ,b n 1 a n i 】。 4 上海师范大学硕十学位论文第_ 二章c t c 编码器原理及j ef p g a 实现 序列问交织:生成排序下标序列i n d e x i n d e x o ,i n d e x l ,i n d e x n - l 】,重新对序列 t e m p 进行排序,重新排序后的序歹u t e m p i n d “( 1 ) ,t e m p 砌喇2 ) ,t e m p i n d 蹦( 3 ) , t e m p i n a 瓴( n 1 ) 】即为交织器的输出数据。其中i n d e x ( j ) ,j = 0 ,1 ,2 ,n l 计算方法【4 】 如下: s w i t c hm o d ( j ,4 ) c a s eo :i n d e x ( j ) = m o d ( p o * j + 1 ,n ) c a s el :i n d e x ( j ) = m o d ( p o * j + 1 + n 2 + p 1 ,n ) c a s e2 :i n d e x ( j ) = m o d ( p 0 * j + l + p 2 ,n ) c a s e3 :i n d e x ( j ) = m o d ( p o * j + l + n 2 + p 3 ,n ) 参数p o ,p 1 ,p 2 ,p 3 可通过查找表2 2 获得。 表2 - 2 参数p o ,p 1 ,p 2 ,p 3 np 0 p lp 2p 3 2 4 5000 3 6 l l 1 8o1 8 4 81 32 4o2 4 7 2l l606 9 674 82 47 2 1 0 8l l5 45 62 1 2 01 36 00 6 0 1 4 41 77 4 7 22 1 8 0l l9 0 09 0 1 9 2 l l 9 64 81 4 4 2 1 61 31 0 8o1 0 8 2 4 01 31 2 06 01 8 0 2 1 4 子块交织器 如图2 4 所示,在进行子块交织之前需要将码率为1 3 的母码划分成6 个子 块( a ,b ,y l ,y 2 ,w i ,w 2 ) ,其中子块a 和b 包含母码的系统部分,y l 和 w l 包含编码器l 生成的校验部分,y 2 和w 2 包含编码器2 生成的校验部分。6 个 子块交织是独立进行的,包含校验比特的子块将被删余。 5 一i :海帅范人学硕1 :学位论文 第二章c t c 编码器原理及j ef p g a 实现 s 曲掰嗤出 b s u b 口l k 丌l e 出培v 亏f l 图2 4 子块交织 子块交织的数据映射规则如下:交织前的数据用d a t ap r e 表示,交织后的数 据用d a t a _ p o s t 表示,则d a t a _ p o s t ( i ) = d a t a _ _ p r e ( p ( i ) ) ,i = o ,1 ,2 ,n l 。给定子块大小 n ,参数m 和j ( 见表2 3 ) 的情况下,p ( i ) 计算方法【4 1 如下: 1 ) 初始化i 和k ,i = o ,k = o ; 2 ) 计算p ( i ) : p ( i ) = 2 m ( km o dj ) + b i t r e v e r s e ( m b i tv a l u eo ff l o o r ( k j ) ) 3 ) 如果p ( i ) 小于n ,则p ( i ) 有效,k 和i 都加一;否则抛弃p ( i ) ,k 加一; 4 ) 重复步骤2 和3 ,直到所有p ( i ) 都计算完毕。 子块交织完成后,重新组成的母码遵循如下原则,前2 n 个比特是交织后的 a ,b 子块的级连,接着的2 n 个比特,其偶数位放置交织后的y l 子块,奇数位放 置交织后的y 2 子块,最后的2 n 个比特,其偶数位放置交织后的w l 子块,奇数 位放置交织后的w 2 子块,每块的第一个比特为偶数。 表2 - 3 参数n ,m ,j 数据人小子块人小 mj ( b i t )( 2 b i t ) 4 82 433 7 23 6 4 4 9 64 843 1 4 47 2 53 1 9 29 653 2 1 61 0 863 6 上海师范人学硕十学位论文第- 二章c t c 编码器原理及j ef p g a 实现 2 1 5 删余 2 4 01 2 062 2 8 81 4 463 3 6 01 8 063 3 8 41 9 263 4 3 2 2 1 6 64 4 8 02 4 072 i e e e 8 0 2 1 6 e 支持多种码率:1 2 ,2 3 ,3 4 ,5 6 。为了获得期望的码率,删余被 采用。当不使用h a r q 的时候,删余是非常容易实现的,只需按照图2 4 从左往 右逐一输出序列,序列的长度等于帧长和码率的乘积。 2 2c t c 编码器的f p g a 实现 2 2 1 编码器顶层模块设计 编码器项层模块端口示意图如图2 5 所示,端口说明如表2 4 所示。 e n c o d e r t o p 图2 5 编码器端口示意图 编码器与外界交互行为:当编码器空闲时,e n c o d e r _ b u s y 信号为低电平,告 知上级模块可以向编码器输入数据。如果此时上级模块已经准备好待编码的数据, 将d a t a v a l i d 信号变成高电平,数据从d a t a i n 端口输入,并输入n _ p a i r 信号和 e n c o d e d b i t s 信号。编码器启动编码过程,并把e n c o d e r _ b u s y 信号置高,表明编 7 j :海师范人学顾l :学位论文 第二章c t c 编码器原理及其f p g a 实现 码器处于忙状态,无法再接收新的数据,要求上级模块输送完当前帧数据后停止 输送数据。当编码器完成编码,将e n c o d e rr e a d y 信号置高,告知下级模块编码器 数据准备已经好。如果下级模块做好接收数据的准备,将r e a de n c o d e r 信号置高。 此时编码器撤销e n c o d e rr e a d y 信号,将e n c o d e dd a t av a l i d 信号置高,编码数据 从e n c o d e dd a t a 端e 1 输出,同时将e n c o d e rb u s y 信号置低,上级模块可再次向编 码器输送数据。 表2 4 编码器端口说明 名称 方向位宽 说明 g b _ c l ki n p u t 1 全局时钟信号 g b _ r s ti n p u t l 全局复位信号 d a t ai n i n p u t l 待编码序列,a b 交替输入 d a t a v a l i di n p u t l 数据输入有效信号 f l j a i ri n p u t 8 舣比特信息a b 的对数,即输入序列长度的一半 e n c o d e d b i t si n p u t 1 0 编码器输出的比特数,包含码率r 信息,其中 l b2 n _ p a i r e n c o d e d _ b i t s r e a d e n c o d e ri n p u t l 卜级模块给编码器的握手信号,告知编码器输出 数据 e n c o d e r _ r e a d yo u t p u t l 编码器数据准备好信号 e n c o d e d d a t a v a l i do u t p u t l 编码器输出数据有效信号 e n c o d e d d a t a o n t p u t 8 经串并转换后的编码器输出数据 e n c o d e rb u s y o u t p u t 1 编码器忙标志位 2 2 2 编码器功能模块划分 编码器内部按功能划分成4 个模块:g e n e r a t es u b b l o c k s 模块、s u b b l o c k sr a m 模块、r e a ds u b b l o c k s 模块、d a t ab u f f e r 模块,如图2 - 6 所示。 g e n e r a t es u b b l o c k s 模块的主要功能是根据编码器输入数据和序列对长度生 成母码,并将母码分成6 个s u b b l o c k 存储在s u b b l o c k sr a m ,也因此将该模块取 名为g e n e r a t e _ s u b b l o c k s 。此外,g e n e r a t e _ s u b b l o c k s 模块还要产生e n c o d e r _ b u s y 和 s t a r tr d 指示信号,是整个编码器的核心。 8 f :海师范人学硕 :学位论文第一二章c t c 编码器原理及其f p g a 实现 s u b b l o c k sr a m 是存储子块数据的r a m 。写操作由g e n e r a t e 模块_subblocks 控制,读操作由r e a ds u b b l o c k s 模块控制。通过对s u b b l o c k sr a m 的写和读,实 现了对母码的分块和子块交织。 r e a ds u b b l o c k s 模块负责产生s u b b l o c k sr a m 的读使能信号和读地址信号, 同时也负责实现删余。s u b b l o c k sr a m 的读数据就是编码后的数据,可以直接作 为编码器的最终输出数据。考虑到实际应用中,当编码器要输出数据时,后级模 块可能处于忙状态无法接收数据,故设置了数据缓存模块。数据缓存的数据位宽 为8 位,故r e a ds u b b l o c k s 模块还负责数据的串并转换和d a t ab u f f e r 的写操作。 d a t ab u f f e r 模块负责编码器与后级模块的交互。当d o n ew tb u f f e r 信号为l 时,表明编码器待输出的数据都已经写入d a t ab u f f e r ,将e n c o d e rr e a d y 置l 告知 后级模块编码器数据准备已经好;此时如果收到r e a de n c o d e r 信号,输出 e n c o d e dd a t a 和e n c o d e dd a t av a l i d 并将e n c o d e rr e a d y 信号清零。此外还要产生 b u f f e r _ e m p t y 信号,该信号是g e n e r a t e _ s u b b l o c k s 模块将e n c o d e r _ b u s y 信号置零的 依据。 图2 - 6 编码器功能模块划分 2 2 3 编码器流水线设计 根据前面介绍的编码过程进行c t c 编码器流水线的设计,流水线设计的目的 是使得编码器内部事件之间更有条理,更加紧凑,从而缩短编码用时。c t c 编码 器流水线如图2 7 所示:整个编码系统从序列输入到码字输出完毕不超过6 n 个 9 上海师范人学硕:t 学位论文第二章c t c 编码器原理及其f p g a 实现 时钟周期, 时问t 序列对a b 序列存储器 序列交织器 预编码器 编码器 予块交织器 序列输出 n 为原始序歹0 长度的一半,即双比特信息序歹0 的长度。 2 nnnnn 一卜卜_ 一卜i 卜 图2 7c t c 编码器流水线 0 t 2 n 时,编码器输入端口连续输入单比特序列,经串并转换后得到双比特 序列对a b ,a b 同时写入序列存储器、序列交织器、子块交织器的存储空间段1 : 预编码器初始化后加工原始序列a b ,2 n 1 时刻预编码器输出其最后的状态,通 过查表得到编码器的初始状态s 0 。 2 n t 3 n 时,编码器以初始状态s o 加工序列存储器的读出数据a b ,并连续 输出校验位y 1 w l ,生成的y l w i 保存在子块交织器的空间段2 ;预编码器再次初 始化后加工序列交织器的读数据,3 n 1 时刻得到编码器的初始状态s l ;读取子 块交织器空问段l ,读数据a 从编码器输出端口上输出。 3 n t 4 n 时,编码器以初始状态s 1 加工序列交织器的读数据,并连续输出 校验位y 2 w 2 ,生成的y 2 w 2 保存在子块交织器的空间段3 ;读取子块交织器空间 段l ,读数据b 从编码器输出端口上输出;时刻4 n 母码已经全部生成并分别写入 子块交织器3 个空间段。 4 n t 6 n 时,交替的读取子块交织器的空间段2 和3 ,并输出校验位y l 和y 2 。 需要说明的是不同码率对应的码字长度不同,相应的序列输出时间也不同:当码 率为1 2 时,序列输出时问为4 n ,如图2 7 所示;当码率为1 3 时,序列的输出 时间将达到最长为6 n ,7 n t 8 n 将交替输出校验位w l 和w 2 ;当码率小于1 2 时,序列输出时间长度将介于2 n 与4 n 之间。 l o l :海师范人学硕 :学位论文第二章c t c 编码器原理及其f p g a 实现 通过上述编码过程的分析,可以发现合理的流水线设计使得整个编码系统只 需一个预编码器和一个编码器,减小了资源的开销,而且能在4 n 完成母码的生 成,不影响编码进程。 2 2 4 g e n e r a t e _ s u b b l o c k s 模块设计 2 2 4 1 功能模块划分 g e n e r a t e _ s u b b l o c k s 模块内部结构如图2 8 所示。r a w d a t a r a m 存储待编码 的数据,模块p r e e n c o d e r 实现预编码,e n c o d e r 实现r s c 编码,l u t r o m 和 i n t e r l e a v e r r a m 是交织器的组成单元,模块c o n t o u e r 是整个g e n e r a t e s u b b l o c k s 模块中枢,控制上述模块的运作,并负责产生与外部的交互信号。 c 1 ) w ts u b b l o c k d 缸a 、v ts u b b l o c k 7 一 a d d r w t s u b b l o f k d a t ai nv a l i d d a t ai n l u tr o m n j m 盯q _ l u t r o m b u f f e re m p t y 一e nw tr a w 1r 1r1 r1 r1r e nw ti t v 二a d d rw l r a wa d d r w ti t v = 一 一一 一一 一 r a w d a t a 一d a t aw lr a w d a t aw ti t v 一 i n t e r l e a v e r i 认m 一 e nr dr a w c o n t r o l l e r c nr d i t v , i 认m 一 一a d d rr dr a w a d d rr dj t v 一 d a t ar dm w 一d a t ar di t v ij l s t a r tr d l a s ts t a t e d a t a y w p r e _ e n c o d e _ r s t s t a r ts t a t e p r e _ e n c o d e r p r ee n c o d e _ a b e n c o d ea be n c o d e r p r e _ e 1 ) c o d ea b v a l i de n c o d ea bv a l i d 图2 - 8 g e n e r a t e _ s u b b l o c k s 模块结构框图 2 2 4 2 序列交织器设计 在c t c 编码译码过程中,交织器解交织器扮演着重要的角色,其硬件实现 除了要考虑面积和速度外,还需要考虑时延,这是通信系统实时性的要求。编码 系统涉及序列交织器和子块交织器,二者在硬件实践上设计思想是一致的。 序列交织器主要由r a m 和r o m 组成,如图2 - 9 所示。通过顺序的写r a m 1 i j :海师范人学硕上学位论文第二章c t c 编码器原理及其f p g a 实现 和按交织映射规则读r a m 完成交织操作。r a m 的写操作完成序列交织的第一步, r a m 的读操作完成交织的第二步。写r a m 时,写地址从0 开始不断累加,当写 地址最低位为0 ,即数据对为偶数对时写入a b ;当写地址最低位为1 ,即数据对 为奇数对时写入b a 。 序列交织第二步涉及到求模运算,对f p g a 而言求模运算是非常复杂的,没 有专门的运算电路或者嵌入式资源。故本设计采用查找表【1 2 1 的方法来实现。其思 想如下:事先的,人为的( 可借助m a t l a b 或者c 等开发工具) 将运算好的映 射地址存储在r o m 中;交织操作时,从基地址开始顺序读取r o m 。以r o m 的 读数据作为r a m 的读地址读取r a m ,便得到交织后的序列。 f p g a 内部有三种存储资源:一种是d 触发器;一种是用于查找表的s r a m , 以4 输入的查找表为例,其本质就是1 6 x l b i t 的s r a m ;最后一种是f p g a 内嵌 存储器。i i 两者属于l e 资源,适用于小型r a m ;大型的存储器一般选用f p g a 内嵌存储器,因为内嵌存储器资源丰富,选择它可节省l e 资源的丌销,而且内 嵌存储器经过优化的,有利于布局布线,节省布线资源。交织器的实现需要消耗 较多的存储器资源,故选用f p g a 内嵌存储器。 c t c 编码器支持多种不同的序列长度,要求交织器支持不同的交织长度,有 两种方法可以实现这功能:一种是配置多个r o m ,每个交织长
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025衢州市柯城区公开招聘公办幼儿园劳动合同制教师19人备考考试题库附答案解析
- 消防施工改造合同3篇
- 工地木材买卖合同-买卖合同3篇
- 商铺租赁合同终止协议书
- 小产权房合同范本5篇
- 滞保金合同2篇
- 汽车定金定金合同范本
- 核酸分子杂交技术解析
- 健康真相馆养生知识培训课件
- 供销社企业知识培训课件
- 2025-2030妇幼保健产业规划专项研究报告
- 2025年江西省安福县事业单位公开招聘辅警36名笔试题带答案
- 《物流基础》完整课件(共三个项目)
- 索菲亚全屋定制合同协议
- 证件借用免责协议书范本
- 2025年人教版小学数学二年级上册学期教学计划
- 广东陆丰皮影戏在融合背景下的传承与创新发展研究
- 2025-2030中国宠物可穿戴设备行业市场发展趋势与前景展望战略研究报告
- 科学衔接·共育花开-幼小衔接家长培训指南
- 高一年级数学上册(人教版)《教材全解全析》1
- 2025至2030中国瑶族药浴行业前景调研与投资价值评估研究报告
评论
0/150
提交评论