(电路与系统专业论文)dvbs信道解调解码专用芯片的前端设计.pdf_第1页
(电路与系统专业论文)dvbs信道解调解码专用芯片的前端设计.pdf_第2页
(电路与系统专业论文)dvbs信道解调解码专用芯片的前端设计.pdf_第3页
(电路与系统专业论文)dvbs信道解调解码专用芯片的前端设计.pdf_第4页
(电路与系统专业论文)dvbs信道解调解码专用芯片的前端设计.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(电路与系统专业论文)dvbs信道解调解码专用芯片的前端设计.pdf.pdf 免费下载

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

文档简介

中文摘要 数字电视被认为是今后几年内将会快速发展的领域之一,而数字 电视芯片的设计更是当前数字芯片设计领域非常热门的一个方向。本 文通过研究基于欧洲标准的d v b s 系统的信道解码理论,基于当前流 行的自顶向下的数字芯片设计方法,提出了设计该数字芯片的方法。 通过仔细分析该系统信道解码理论,详细设计了其硬件实现的逻 辑原理框图,进而通过硬件描述,将信道解码系统中的每一个模块都 用硬件语言描述出来,通过r t l 仿真和m o d e l s i m 仿真工具验证了每 一个模块的硬件描述的功能,然后结合m a t l a b 等信号分析工具验证 了整体模块的功能。在确保功能正确的基础上,通过f p g a 硬件的实 际验证说明了硬件描述来实现芯片设计的时序上的正确性。最后,在 f p g a 硬件验证完成后,本文简单介绍了进行特定的a s i c 工艺库进行 综合,综合布线,生成最后的芯片网表设计的流程。 关键词:d v b - s 、信道解码、f p g a 、a s i c 、硬件描述。 a bs t r a c t d i g i t a lt v w i l lb ev e r yp o p u l a ri nt h ei l e a l f u t u r ey e a r s ,w h i l et h e d e s i g no ft h e s ed t vi n t e g r a t e dc i r c u i t ( i c ) i so n eo ft h em o s tp o p u l a r a s p e c ti nt h ed i g i t a li cd e s i g nf i e l d t h i sp a p e rp r o v i d e daw a y t od e s i g n t h ec h a n n e ld e c o d i n gi co fd v b ss y s t e mb a s e do i lt h eu pd o w nd i g i t a l i cd e s i g nf l o w t h i sp a p e rw o r k e do u tt h ed e t a i l e dl o g i cd e s i g na n dh d l ( h a r d w a r e d e s c r i p t i o nl a n g u a g e ) d e s c r i p t i o no f e a c hm o d u l ei nd v b sc h a n n e l d e c o d i n gs y s t e m ,v e r i f i e dt h eh d lf u n c t i o n a ld e s c r i p t i o na n dt i m i n g r e q i r e m e n tu s i n gm o d e l s i ms i m u l a t i o nt o o la n df p g a t h i sp a p e ra l s o i n t r o d u c e dt h ea s i cs y n t h e s i sa n dp l a c ea n dr o u t ef l o wb a s eo nt h e s p e c i f i e da s i cv e n d o r ss e m i c o n d u c t o rl i b r a r y k e yw o r d s :d v b s ,c h a n n e ld e c o d i n g ,f p g a ,a s i c ,h d l 。 4 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名: 毒衷 签字日期:蝴 年f 月f 厂日 学位论文版权使用授权书 本学位论文作者完全了解墨叠盘堂有关保留、使用学位论文的规定。 特授权苤鲞盘茔可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 4工 学位论文作者签名:蘑丧 导师签名: 季恶扔乙 签字日期:l 1 年f 月妒 签字日期:吐w 7 年f 月 同 2 第一章绪论 第一章绪论 1 1 数字芯片设计流程简介 在当今数字化的时代,数字集成电路应用得非常广泛,人们对集成电路( i c ) 的需求也越来越大,集成电路技术基本上正按照着摩尔定律,即每十八个月就提 高一倍的速度快速的发展。 随着微电子技术与工艺的发展,数字集成电路从电子管、晶体管、中小规模 集成电路、超大规模集成电路( v l s i ) 到系统级芯片( s o c ) 快速发展着。在 这种情况下,很多工程师们希望设计自己的专用集成电路( a s i c ) ,而不是选用 通用的集成电路芯片以软件的形式来设计系统。专用集成电路的设计不仅可以使 设计电子系统的成本降低、性能提高,而且也是提高掌握芯片核心设计技术的竞 争力所在。 当前大多数数字系统芯片设计都采用自顶向下的设计方法,设计流程大致如 图1 1 所示。 图1 1 数字芯片设计流程 流片 由图1 1 所示,数字芯片的设计首先要进行系统算法级的验证,验证将要设 计的系统在算法上的可实现性,系统级的验证一般都用c 语言或m a t l a b 来进行 验证。算法级验证完成后,如果是用c 来进行算法级验证的,并且系统验证工程 第一章绪论 师对硬件实现非常熟悉而且该c 语言编的非常的易于硬件实现的话,可以通过某 些比较先进的e d a 设计工具通过c 综合器直接把算法级的c 转化成h d l 代码或 门级网表进行a s i c 的综合布局布线和f p g a 的布局布线,这种设计方法如图1 1 的左边所示,这种方法也是e d a 设计中非常有前景的一种方法。但是,现在一 般还是都采用图1 - 1 右边所示的设计方法,即完成算法级验证后,根据算法级的 代码,编写硬件描述语言进行硬件实现,然后进行仿真,f p g a 硬件时序验证、 再通过a s i c 的综合布局布线后就可以流片出自己设计的专用芯片。 如图1 - 1 中虚线方框所示为本篇论文所要介绍的基于d v b s 信道解码系统 的数字芯片设计流程。本文主要介绍的是我所参与的此次项目的d v b s 信道解 码系统的前端设计,包括硬件设计描述,r t l ( 寄存器传输级) 仿真、f p g a 综 合验证,并将简单介绍a s i c 的综合流程。 1 2d v b s 信道解码系统 本文所要介绍的d v b s 信道解码系统是基于欧洲标准的卫星数字视频广播 ( d i g i t a lv i d e ob r o a d c a s t i o n gf o rs a t e l l i t e ) 接收系统中的。d v b - s 接收系统和信 道解码系统如图l - 2 所示。 卫 射 信 图1 2d v b s 解码系统总体原理图 由图1 2 所示,d v b s 接收系统主要分为信道解码和信源解码两大模块,现 在大多数d v b s 数字电视接收机机顶盒中都采用了信道解码和信源解码两块专 用芯片,当然,将整个接收系统集成到一个专用芯片上成为系统级芯片( s o c ) 也是当前很多人研究的课题。 由图1 - 2 ,d v b s 接收系统首先通过调谐器选出卫星电视信号,并分成i 、 q 两路信号,经过a d 采样后给信道解码提供i 、q 两路数字信号。通过信道解 码芯片的解调与解码解出m p e g 码流,此时的码流是经过发射端复用后的码流, 所以此时再通过解复用得到独立的节目流,并分离出视频、音频和节目信息,然 2 第一章绪论 后再通过信源解码把在发射端压缩的视频、音频信号解压缩,得到正规的视频数 据和音频数据,通常解复用和信源解码是集成在一个芯片里的。本文主要介绍信 道解码芯片的前端设计,由图可见信道解码是接收系统中一个非常重要的系统, 此芯片的设计在数字电视设计中也是非常重要的一个环节。 1 3 本文研究内容方法及主要工作 本文总体目标是在仔细研究d v b s 系统算法原理的基础上,完成d v b s 系 统的整个数字解调解码的硬件设计并进行硬件验证。对于通信芯片的设计来说, 设计的优劣取决于最终的误码率和芯片所用到的逻辑门数的多少,所以本文在完 成此总体设计的过程中,本文力求通过仿真确保其整体功能正确的基础上,在解 码器的逻辑电路设计方面,通过内部逻辑的优化,争取达到最终电路门数的减少, 使得整个芯片设计尽可能的达到最好的效果。 第二章d v b s 信道解码的硬件实现原理 第二章d v b s 信道解码的硬件实现原理 2 1 总体框图【1 】 d v b s 信道解调解码芯片接收来自电子调谐解调器输出的两路正交的模拟 i 、q 基带信号,对其数字化后进行进一步数字解调和解码,以得到压缩的m p e g 码流。对模拟i 、q 基带信号数字话是通过一个模拟的a d 集成模块来完成的, 在芯片设计时只需引入一个模拟a d 的i p 核,本文只介绍a d 后面的数字处理 部分。 d v b s 数字信道解调解码主要有图2 - i 所示的理框图分为,z c 串行线接口、 解调和前向纠错控制三大模块。 s t ta 图2 1d v b s 信道解码原理框图 芯片外部的微处理器( 例如a r m 处理器) 通过,:c 串行线与,z c 接口模块 为整个解码模块提供寄存器配置,以控制芯片在可编程的模式下工作,使得设计 出来的芯片能适合不同的环境工作。 数字解调模块的输入是电子调谐解调器产生的模拟i 、q 两路基带信号经过 a d 采样后的基带数字信号。匹配滤波是对应于发射端的基带信号成形滤波的, 可以消除码间串扰。q p s k 数字解调包括插值运算、时钟和载波恢复等,主要是 为了消除模拟解调输出中附带的载频偏移量,并保证抽样判决输出端得到最低的 误码率。解相模块主要完成信号匹配的作用,对接收的1 0 位精度的互相正交的 i 和q 两路q p s k 数字信号进行解相并给后面的前向纠错模块中的维特比解码提 供4 位精度的软判决信号。维特比解码通过寄存器赋值的不同可分为1 2 、2 3 、 3 4 、5 6 、7 8 五种不同的编码效率,解码主要是通过最大似然译码法来完成对随 4 第二章d v b s 信道解码的硬件实现原理 机误码的纠错。同步检测出同步字节后进行字节划分。解交织是对发射端交织编 码进行解码,交织使得长串误码分散到各个r s 编码帧中,使之处于r s 的纠错 能力之内,这里采用1 2 1 7 的解交织。r s 解码对发射端的r s 编码进行解码, 这里使用伽罗华域g f ( 2 8 ) 的( 2 0 4 ,1 8 8 ) r s 码,其纠错能力为八个字节。解 扰码是发送端扰码的译码,扰码主要是为了使信号能量分散,使得同步接收端便 于同步检测并且可以便于区分通信信道其他的业务信号。最后的数据格式转换是 为了在信道解码完成后与信源解码的输入数据格式相符合而进行的格式转换。 2 2 ,:c 控制器模块 2 1 1 2 c 控制器模块是用来连接外部,:c 串行线的,在专用芯片内部这个模块是 非常常见的,很多芯片都采用,z c 串行线来配置芯片内部的寄存器来初始化芯 片。由图2 2 所示为,:c 线控制器模块。 s d a s c l ,屯 控制器 a d d r e s s 7 :0 】 w r i t e d a t a 7 :0 】 r e a d _ d a t a 7 :0 】 图2 2 ,:c 控制器接口图 ,2 c 的输入是两个串行信号,时钟s c l 和数据线s d a 。作为输入到芯片内部用 来配置寄存器的作用,此控制器实际上是一个,:c 从模块,接收来自一级总线上 的,2 c 主模块上的,2 c 输出数据和时钟信号。通过此1 2 c 控制器模块,实现了数 据转换的作用。从输出可以看出,从一条串行总线上输入的数据s d a 变为了并行 的数据,分别是地址和读写数据。通过这一控制器模块可以实现从串行线上的,:c 标准的数据到内部八位寄存器数据地址之间的格式转换与识别。 ,:c 从模块的数据线s d a 是双向的( i n o u t ) ,所以在控制器内部要设置三态 缓冲,其逻辑结构如图2 3 所示。 s d ai s d ao e n 图2 3s d a 三态门逻辑图 5 第二章d v b s 信道解码的硬件实现原理 如图所示,作为双向的输入输出端口是通过一个三态缓冲选择来实现的,其 硬件描述如下。 s d a = s d a _ iw h e n ( s d a o _ c n = l ) e l s e z ; s d a _ i = s d a ; 同理,数据双向端口的逻辑图和硬件描述也是一样的。 双向端口设计好了以后,就可以按照,z c 协议对其进行转换设计,主要是把 总线上的串行数据和地址转换为并行的数据和地址供内部的模块使用。 ,:c 的时序图如图2 - 4 所示。 s c l 广 厂 广 厂 广 厂 厂 厂 厂 s d a ( d 巳丑至至x 互烂d e d 玉受竖 s 竺厂 厂 广 厂 广 r 厂 厂 厂 厂 厂 s d a 竺题d 压至x 互烃d 正互x 三怖面 图2 _ 4 ,z c 时序图 如图2 _ 4 所示,数据线( s d a ) 在时钟( s c l ) 触发下,首先产生一个开始信 号( s ) ,即s o l 和s d a 都由高电平变为低电平。然后传输七位的从机地址数据, 紧接着地址后面的一位信号是信号传输方向标志信号,可以为读写两种方式,当 期间的地址与发送的地址匹配时就从内部模块发出一个响应信号,1 2 c 主模块收 到相应信号后就传送对应于此地址的寄存器值数据,发送完后如果内部模块没有 继续发送响应信号,就由主机发出停止响应信号,本次传输结束。s c l 和s d a 同 时置位高电平。 在硬件设计的时候只要把这些串行地址和数据信号用8 位移位寄存器寄存 起来就可以实现如图2 _ 4 所示的功能,这些并行数据信号就可以给内部的模块使 用了。 2 3 数字解调【3 。7 】 2 3 1 数字解调概述蹦0 j 数字解调接收到的是经过电子调谐器模拟解调后并经过一个模数转换器后 6 第二章d v b s 信道解码的硬件实现原理 的i 、q 基带数字信号,其原理框图如图2 5 所示。 数字解调接收到的是经过电子调谐器模拟解调后并经过一个模数转换器后 的i 、q 基带数字信号,其原理框图如图2 5 所示。 i q 图2 5 数字解调原理框图 如图2 5 所示,解调模块包括插值滤波、匹配滤波、时钟恢复环、载波恢复 环和变频、判决等模块。实际电路中,在模拟正交解调器中所使用的本振信号并 非由接收信号中提取的相干载频,而是由高稳定度的频率合成器所产生。这样, 由于传输信号的频率偏移或接收系统前端的高频头本振的偏移,在实际载频和标 称载频之间必然存在频差及相位抖动,这使得输出的模拟基带信号是带有载频误 差的信号。另外,a d 的取样时钟也不是从输入信号中提取的,所以当取样时钟 与输入数据不同步时,取样将不在最佳时刻进行,使得产生误判决的机会增大, 取样判决后的误码率就会增大。因此,这里的q p s k 数字解调器是用来消除模拟 正交解调输出中附带的频偏,并保证抽样判决输出端得到最低误码率。 数字解调主要分为三大模块,即时钟恢复、匹配滤波和载波恢复。在d v b s 发射端,为了限制被传输的数字信号的频谱,需要对其进行滚降升余弦滤波,形 成基带波形,并对载波进行调制,以实现频带传输。在接收端,需要对经过相干 解调、匹配滤波形进行重新采样得到相应的数字信号。根据奈奎斯特抽样值无失 真准则 1 】,a d 转换器若在最佳采样时刻进行采样,得到的采样值恰好是发送 端所要传递的数据。但在实际情况下,由于信道传输延时以及收发两地时钟偏移, 使采样无法在最佳时刻进行,这样采集到的数据与正确的数据之间存在着偏差, 需要有同步措施来调整采样时钟或对采样值进行插修正。 2 3 2 时钟恢复环 时钟恢复主要包括时钟误差检测、误差滤波、振荡控制器、插值滤波器。其 结构如图2 - 6 所示。 第二章d v b s 信道解码的硬件实现原理 图2 - 6 时钟恢复原理框图 由图2 - 6 可以看到,时钟恢复模块是通过时钟相位误差来控制一个插值滤波 器来逼近最佳的采样时刻的。 时钟误差检测器是根据最大似然估计算出的时钟误差公式如下。 e ( k ) - - y ( 2 k t 。+ 占k t 。) y ( 2 k + 1 ) t 。+ 占k t 。 - y ( 2 k - 1 ) t 。+ 占_ 【。】) 其原理框图如图2 7 所示。 y ( k ) y i z k j m u y ( 2 k + 1 ) n x 罔厂 图2 7 时钟误差检测器原理框图 e ( k ) 这里t s 是采样间隔,t s = t 2 ,t 是信息符号周期。e ( 1 【) 表示采到第k 个符号时 所得到的定时误差信息。,表示采到第k 个符号时所估算出的最佳采样时刻和采 样时钟之间的相位差,其范围是卜1 ,1 】,即时钟偏差最多可为1 个采样间隔。 y ( k t s + 6 t s ) 则是插值滤波器根据占而对匹配滤波器的输出进行的差值修正。将 e ( k ) 通过一环路滤波器和数字振荡控制器便可得到。+ l 。 环路滤波器的原理框图如图2 8 所示。 8 第二章d v b s 信道解码的硬件实现原理 图2 - 8 环路滤波器原理框图 当存在噪声干扰时,可通过环路滤波器将其滤除,使之对时钟相差估算产生 较小的影响。环路滤波器系数k l 、k 2 的选择要视具体情况而定,取得过大,同 步时间较短,但抖动方差较大;反之,则需要较长的同步时间。通过环路滤波器 和振荡控制器后,由计算所得的相位差巩进行插值滤波。 插值滤波器理论上可以得到任意时刻的插值,用公式表示如下。 l ) ,( f ) = y ( k t ,) s i n r c ( t 一七丁,) p r ( t k t ,) t ,】 上; 由以上公式可知,要得到任意时刻的插值,需要无穷多个采样数据,这在滤 波器设计中是不现实的,所以需要对插值滤波器进行加窗函数截短。 加窗后的公式如下,这里采用了八个长度的窗函数。 y ( nt 。+ 占t ) 2 y ( kt 。) h 【( nt 。+ 占。t 。kt 。) 2 xy o , t 。) s i n u ( 玎+ 占1 8 一k ) e x ( + 占。一露) 】) w 加t 。+ 占n t 。一k t l ) 其中w ( t ) 是窗函数,目前常用的窗函数有h a nn i n g 、h a m m i n g 、b l a c k m a n 、 k a i s e r 等。本设计采用了k a i s e r 窗,它是一种近似最佳的窗函数,公式如下,其 中厂。是零阶修正b e s s e l 函数。 ,( f ) :j ,o 【( 卜( ,4 丁川儿】,。( ) ,一4 t ,坯4 t , 一 10 ,其他 2 3 3 匹配滤波器1 1 1 1 这里采用的是滚降系数为0 3 5 的升余弦平方根滤波器,使用此滤波器一方 面是为了与发射端的基带成型滤波波形相一致,另一方面可以有效的防止码间干 扰的产生。 在d v b s 系统中,升余弦滤波器的传递函数如下。 9 第二章d v b s 信道解码的硬件实现原理 h ( f 户 1 ,l f l f ( 1 一口) 明1 + 1 s 谊参掣汴卯刊 f ( 1 + 口 升余弦平方根数字滤波器的结构如图2 - 9 所示。 图2 - 9 匹配滤波器逻辑框图 输出 如图2 - 9 所示,这里所采用的滤波器是3 7 抽头的数字滤波器,这3 7 个抽头 的系数分别是k 州 x d a t a _ i ;y d a t a - q ; 由于在1 2 编码效率时,软判决的两路输入信号完全对应于i 、q 两路信号, 1 6 第二章d v b s 信道解码的硬件实现原理 不需要进行舍弃运算( d e p u n c t u r e ) ,所以i 、q 两路信号直接附值给软判决信号。 但是如果编码效率不是1 2 ,则要根据d v b s 发射端卷积编码的p u n c t u r e 协议, 在接收端进行恢复后才能进行软判决。例如在2 3 编码效率下,对应于接收端 i = x 1 y 2 y 3 、q e y l x 3 y 4 的序列要进行译码,首先要进行补零操作,即对应于发 射端,应该把在发射端舍弃的信号不上零,所以补零后的序列变成了i = x l0x 3 0 ,q = y ly 2 y 3y 4 ,由于在译码时会进行最大似然的运算,补上零后,该零信号认 为判决为1 或0 的可能性是一样大的,通过似然算法,最终的结果不会因为补零 而又差错。 软判决相当于把四位的软信息给维特比译码模块,在进行分支字选择和路径 量度累加的时候用这些软信息来表示,最终还是通过软信息的路径量度的大小比 较出最后的路径,输出维特比的译码信息。 在分支字和路径量度计算的时候用到了加一比较一选择的逻辑功能单元。由 于d v b s 系统的卷积编码的约束长度k = 7 ,所以在每一个时刻都会有6 4 个转移 6 图2 - 仃状态分支转移图 b 图2 1 8 幸存路径选择 1 7 m 第二章d v b s 信道解码的硬件实现原理 状态。如图2 1 7 所示为两个状态分支的转移图。 其中,f l 、c 为t 时刻的状态,a 、c 为l 。时刻的状态,路径量度用6 来表示, 对这个状态转移图进行比较选择就可以得到幸存路径并存储最新的路径信息,如 图2 - 1 8 所示。 状态量度r 。的计算方法是这样的,将前一状态a 的状态量度r 。和相应分支 量度8 a a 相加,将前一状态量度r ,和相应的分支量度5 c a 相加,这样就得到两 个可能路径量度作为新的状态量度r 。的候选项,送入图2 1 8 所示的逻辑单元进 行比较,将其中似然性最大( 距离最小) 的一个作为状态a 的新状态量度r 。进 行存储,同时还要存储状态a 新的路径记录,即幸存路径增添的状态信息路径记 录一 这些状态信息都被存储在r a m 存储器中,在这里,用到了6 4 x 7 的存储器, 即可以存储1 2 8 个6 4 比特长度的信息。存储器采用片内最常用的同步单口s r a m 。 如图2 1 9 所示是单口s r a m 的接口图。 s i n g l e - p o r t s r a md o u t 图2 1 9 单口s r a m 接口图 由图2 1 9 ,单端口s r a m 的读写使能信号是复用的,输入输出采用一个同 步时钟。当w e 信号高时,写使能有效,此时根据a d d r 的地址值向r a m 写入数 据,当w e 信号低时,根据此时的a d d r 地址值从r a m 读出数据。 维特比译码的输出数据即在s r a m 中存储的幸存路径的路径记录,当存储 的长度足够译码性能的要求时,一般存储长度不少于约束长度的五到六倍即可达 到译码器的性能要求,就可以从s r a m 中读出这些幸存路径的路径记录作为维 特比译码的输出数据,至此,维特比译码完成。 2 5 3 解交织 在数字通信中,信道中除了随机干扰,常常会引入外来的脉冲干扰引起突发 错误,由于这种突发错误具有很强的相关性,当发生一个错误时,往往会引起后 面一连串的错误发生,这样就有可能会超出纠错码的纠错范围。为了使纠错码能 抵抗这种突发错误,加入交织技术,使得发送的数据分散开,在接收端又重新组 第二章d v b s 信道解码的硬件实现原理 合成原来的数据,这样即使在信道上发生了连续的错误,经过交织与解交织后, 数据错误分散开来后,对于纠错码就很容易纠错了。交织分为时间交织和频域交 织。在d v b s 系统中采用了时间交织的计术,也就是在时域上把相邻的数据分 散开。 交织就是在传输之前,将分组的码字重组,当这个码字的符号在比较大的时 间间隙传输时,各符号之间将统计独立,从而具有抗突发错误的能力。这种重组 序列的方法属于时间分集技术,需要具有足够大的空间来存储数据。在d v b 。s 系统中采用了交织深度为1 = 1 2 ,m = 1 7 , n = 2 0 0 的卷积交织,其中n = 2 0 4 是r s 编 码后的一个包的长度2 0 4 个字节。卷积交织的原理示意图如图2 2 0 所示。 、 输入 交织器 _ 二卜一 m - - i - - 2 m 输入 解交织器 m _ 二二 ( i 1 ) m 交织器解交织器 图2 2 0 交织与解交织器输入输出原理图 码元序列通过1 支路并行传输,每个支路的延时按m = n i 的规律逐渐递增。 在解交织中延时正好相反,这样就保证了解交织后的数据与交织之前的顺序的一 致性。 由上面的原理可以看出,要实现交织器和解交织器,关键在于设计1 2 个通 道,这1 2 个通道可以看成是存储器的不同存储空间,例如第一个通道可以看成 是存储器的一个地址,当数据需要读写这个通道时,直接对这一个存储器地址读 写,第二个通道看成是存储器的m 个地址存储空间,延迟m 个周期就相当于设 计一个计数器,当计数器计数到m 时,就对这1 2 个地址依次读出,其他通道原 理一样。 解交织跟交织器的设计相反,第一个通道设计成( i 1 ) m 个存储空间,第 1 2 通道设计成一个存储空间,这样依次读出,输出数据的时序就正好跟交织器 的输入是一样的。 对于的d v b 系统,由于1 = 1 2 ,m = 1 7 ,所以存储器地址设计如图2 2 1 所示。 1 9 第二章d v b s 信道解码的硬件实现原理 第1 通道 田 第2 通道 二 习 靴通道囡二二二卫 第1 通道 第2 通道 第3 通道 交织器输入 至三三三7 ) 解交织输入 二 卫 。 田 图2 2 1 交织与解交织器存储空间分配 由图2 2 l 所示,当地址空间分配好以后,就可以输入数据了。第l 时刻, 数据从存储器第一通道的第0 个地址输入,也就是存储器的写地址为0 ,读地址 也为o ;第2 时刻,存储器的写地址为1 8 ,读地址为l ;第1 2 时刻存储器的写 地址为1 1 3 3 ,读地址为9 4 6 。第1 3 时刻,写地址为0 ,读地址为0 ;第1 4 时刻 写地址为l ,读地址为2 ;第2 4 时刻,写地址为9 4 6 ,读地址为9 4 7 ,依次类推。 解交织器的读写规律相反,所以经过解交织器后,输出数据的时序与原始数 据保持一致。 在设计r a m 时,通过f p g a 或a s i c 的i pc o r e 生成一个双端口的r a m ,由于 d v b 系统的输入时8 位的数据,所以在这里设置成8 位的数据宽度,r a m 的深度 设置成2 0 4 8 0 即2 0 k 的深度。第一个端口用来写数据,第二个端口用来读数据。 r a m 设计好后,就可以设计对r a m 读写数据的算法。这里给每一个通道设计 了一个写数据计数器和读数据计数器。设第i 通道的首地址和尾地址分别为s i 和e i ,计数器计数值为c i ,则此时读写地址分别为: 写地址:s i + c i : 读地址:s i + c i - 1 ;其中0 = c i = e i - s i : 第二章d v b s 信道解码的硬件实现原理 当i = 1 2 时,即第1 2 个通道时,读写地址一直都是指向0 ,所以不需设计数 器。 为每一个通道设置好计数器后,再设计一个通道计数器,此计数器从l 计数 到1 2 再返回到1 如此循环,这样当此计数器计数到i 通道时,i 通道的计数器 才开始有效计数,系统r e s e t 时把每个通道的首地址和尾地址置位。 2 5 4r s 解码0 9 l 接下来是r s 解码,由于r s 解码是一个非常复杂的过程,要先对r s 编码 的原理有相当深刻的理解,所以这里先简单介绍一下r s 编码的基本原理。 在d v b s 系统中采用的是r s ( 2 0 4 ,1 8 8 ) 的编码方式,其中( 2 0 4 ,1 8 8 ) 是 由( 2 5 5 ,2 3 9 ) 缩短5 1 个字符得到的缩短码,是在r s ( 2 5 5 ,2 3 9 ) 编码器输入 有效信息字节前加入5 1 个全0 字符,编码后又将这些字符舍弃掉,译码则遵循 相反的过程。 在编码的时候,把g f ( 2 s ) 上的k 个信息符号用多项式表示成 m = ( m o ,嘲,一i ) , m ( x ) = j ,l d + 码x + 一l ,叫 把m ( x ) 左移2 t 位后除以生成多项式g ( x ) 得到“x ) ,最后得到的编码后的多项 式如下所示。 c ( x 户m ( x ) ,+ r ( x ) 这里t = ( 2 0 4 18 8 ) 2 = 8 为可纠错的个数,g ( x ) :( x + 1 ) ( x + 口) ( x + 0 1 2 h ) ,口= 0 x 0 2 , 其中多项式的乘除加都是在g f ( 2 。) 上模p ( x ) 得到的,这里采用p ( x 户 工。+ j r 4 + 工,+ x :+ 1 ,当然p ( x ) 不是唯一的,可以根据需要选择合适的值。这里编码 主要是通过乘法和除法电路来实现的,乘除法电路是由g f ( 2 - ) 上的移位相加 的电路结构组成的,实现起来也是比较容易的,由于这里是解码的过程,所以这 里的编码电路就不再详细介绍。 r s 解码算法原理框图如图2 2 2 所示。 2 l 第二章d v b s 信道解码的硬件实现原理 图2 2 2r s 译码原理图 输出数据 由图2 - 2 2 ,r s 解码主要包括通过r s 模块的输入数据进行伴随式计算,关键 方程的求解,用f o r n e y 算法计算错误值,用钱搜索的方法计算错误值所在位置, 最后把计算出来的错误值及相应的错误位置与经过缓存后的接收数据相加即得 到了正确的接收数据。 假设r s 编码后的码字多项式c ( x ) 在带有噪声的信道中传输,噪声e ( x ) 叠加 到c ( x ) 上并传送到接收端,接收端接收到的码字多项式“x ) = c ( x ) + e ( x ) 。其中: c ( x ) 2 c o + e lx + c n _ ! i f ”1 e ( x ) 2 e o - i - e lx + e n _ l 工”1 r ( x ) 2 + ,i x + ,l x “- 1 假设信道中发生t 个错误,则e ( x ) 可以表示如下: e ( x ) = r , x l + e 工2 + y i x t 其中z g f ( 2 8 ) ,毛= 口是错误位置,i - - l , 2 ,t 。 由上面提到的r s 编码过程可以看出,c ( x ) 可以整除g ( x ) ,即g ( x ) 的根也是 c ( x ) 的根。所以如果信道中没有误码的话则r ( a ) = o ,i = o ,1 ,2 2 t 一1 ,如果c ( 口) 不等于0 ,即等价于: r ( 口) 2 e ( 口) 我们把r ( a ) 称为伴随多项式岛,令( 口) = 工:,则伴随式s ,可以表示如下 = y o x o + y i x l + z l 一l s l2 y o ( x o ) 2 + z ( x 1 ) 2 + l i ( 一1 ) 2 $ 2 t - ! = r o ( x o ) 2 卜1 + k ( 五) 2 卜1 4 - z i ( _ 一1 ) 2 “1 所以,从根本上说,r s 解码就是通过这2 t 个方程解2 t 个未知数,然而如果 直接求解这2 t 个方程组的话是非常麻烦的,于是一般都通过设一个错误位置多 项式,先求出错误位置,然后再计算错误值。错误位置多项式定义如下: 第二章d v b s 信道解码的硬件实现原理 其中x i 一- - a 是第i 个错误位置,t 是实际的错误个数,如果第k 个位置是错误 位置,则0 ( 巧1 户0 ,于是,求错误位置就相当于求0 ( x ) 的根。 f 其中o ( x ) = 兀( 1 x ) 可以写成o ( x ) = + 仃t x + 仃x 卜1 ,结合伴随多项 i = 1 式方程组毛可以推出: a o = 0 盯l s ,一t + 0 2 5 f _ 2 + a , s o 。占, 0 1 5 f + a 2 s ,- l + q s i2 j f + l a l $ 2 f 一2 + 0 2 $ 2 f - i + q j ,一l - - - - $ 2 ,一l 上述方程组称为牛顿恒等式。如果s ,已知,假设差错个数为m 个,则利用 m 个方程可以解出m 个未知数。方程组得解法如下:由第一个方程s = q 计算出 q ,再由第二个方程计算出,由第m 个方程计算出吒。但是实际情况下, 事先不知道差错个数m ,而差错个数一般都是小于t 的,这样如果直接求解t 个 方程组,则会出现很多解,很难判断哪个解是使0 ( x ) 次数最低的,所以在实际 情况下,只能通过逐次叠带尝试的方法来计算。首先假设差错个数m = l ,计算出 q ,o ( x ) 的最高次即为l ,0 ( x ) 已知,把此时计算出来的0 ( x ) 代入上述第二个 方程,如果实际的差错个数大于1 ,那么此时第二个方程必然是不满足的,于是 此时就知道差错个数大于等于2 ,依次类推,最终计算出最终的差错个数和0 ( x ) 的最高次,此时o ( x ) 也已知了。于是第二步关键方程的求解完成。 关键方程0 ( x ) 已知后,就可以通过钱搜索求解错误位置,钱搜索的原理如 下。 因为关键方程的根其实就是、q 、吒一。中的一个,所以当关键方程 o ( x ) 已知后,把、q 、吒一,的每一个都带入o ( x ) ,如果有满足0 ( x ) :0 的,那么该位置就是错误位置。即 l + q 口+ 吒位) 2 + + q 位) = 0 ,第i 个位置有差错。 l + a j a 。+ 呸似) 2 + + q 位) 0 ,第i 个位置无差错。 错误位置确定后,就剩下了错误值的求解了,错误值得计算如下。 首先由前面的错误位置多项式来定义一个函数: 盯,( x ) = 产击 ( 2 - 5 1 5 ) 、i 卜p ,兀 = 、, x ,l o 第二章d v b s 信道解码的硬件实现原理 仃j ( x ) 是o ( x ) 去掉第j 个根后的剩余式,即: 仃,c 工,2 垂c - 一一2 委m - i 万x ( 2 - 5 - 2 ) 由上面的伴随式: 旷r ( g r ) = p ,+ ”:,l 又由方程 仃s m - - i = - 仃,e 一= p 仃 对比公式2 5 2 可得:l _ i 3 _ n m 一1 。 m i = 0 仃声m - - l2 丢p 仃,( x ) l 。七= l 由于毋的根是除了历1 的m - 1 个根,仃,何1 ) 当且仅当k 习时不 为零,所以式2 - 5 5 可以简化为: ( 2 - 5 3 ) ( 2 5 - 4 ) ( 2 5 - 5 ) 善仃芦m - - i2 e f f t o ,吲) 。e j f t 荟c r j :;7 ( 2 - 5 - 6 ) 于是就司以得到差错值如f : ,f 一1 e o i t s “ e ,= j r f 孵6i 孵 ( 2 5 - 7 ) 至此,差错位置和差错值都已知,此时可以通过图2 2 2 所示的方法,将收 到的信号减去错误信号就可以得到正确的信号了,即满足以下公式。 c ( x ) = r ( x ) e ( x )( 2 5 8 ) 其中这里的r ( x ) 就是图2 2 2 中经过f i f o 缓存后的接收信号,这里之所 以要缓存就是因为上面要进行差错值的计算,这个计算过程是需要定的延迟 的,所以要加缓存才能与之时序匹配。 由于r s 解码相对比较复杂并且本人没有在本项目的中具体设计r s 模块, 加上本文篇幅有限,只介绍上述的算法,硬件实现原理略。 2 5 5 解扰码 这里的解扰码是相对于发射端的扰码模块的,扰码在数字通信系统中主要完 第二章d v b s 信道解码的硬件实现原理 成以下两方面的作用。 首先,在发送数字卫星电视信号时,经常会出现输入数据流不存在( 如没有 节目流输入时) 或输入的数据序列与标准的m p e g - 2 传输流格式不符的情况。在对 输入信号进行调制时,由于没有正确的调制信号输入,或者调制信号周期较短, 这样在调制器输出端将得到没有经过调制的载波或已调波频率过于集中,其频谱 是高能量的离散谱,对共用频段的其它业务会造成严重干扰。经过扰码处理后, 数字序列具有伪随机性质,周期非常长,采用这样的基带信号得到的已调波,频 谱将分散开,从而减轻了对其它业务的干扰。 其次,信源编码是根据实际的节目或业务变换得到的,没有对传输方而的考 虑,这样的信号经常会出现长串的连l 或连0 序列。这种信号无法提供充分的定时 息,对于接收端的解调造成很大困难。采用伪随机序列对原始数据进行扰码,可 以降低连0 码和连1 码的长度和概率,从而改善位定时恢复的质量 d v b s 系统中扰码的硬件实现原理图如图2 2 3 所示。 扰码信号输入 l00l01o1o000000 图2 2 3 扰码硬件实现原理图 如图2 2 3 所示,d v b s 发送端的扰码采用了多项式厂( x ) = x 1 5 - i - 一4 + l 来产生 伪随机序列,1 5 个移位寄存器的初始值为1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 ,理论上该伪随机序 列的周期为m = 2 1 5 一l = 3 2 7 6 7 ,但是在此系统中,此伪随机序列按照每组8 包 m p e g 2 数据的长度来复位一次,即复位的周期为( 8 1 8 8 1 ) 8 = 1 2 0 2 4 个比 特周期,其中这里的1 8 8 是一个m p e g 2 数据包的长度,8 x1 8 8 是每八个数据包 复位一次,但是由于每八个数据包中的第一个字节是用来表示同步信息的,此字 节在发送端没有被扰码,所以在解扰码是的长度要减去1 ,后面的乘以表示每个 字节按比特一位一位解扰码。由于每1 8 8 个字节就会有一个同步头0 x 4 7 ,所以 为了标识八个数据包为一组,在每八个数据包的头一个数据包的同步头反位成 0 x b 8 ,这样在解扰码是就可以很容易的通过检测同步字节0 x b 8 来对解扰器复位。 解扰器的硬件原理和扰码相同。 第二章d v b s 信道解码的硬件实现原理 2 5 6 数据格式转换 数据格式转换模块主要是为了与后面得解复用和信源解码处理而设计的,主 要完成以下几个方面的格式转换。 首先,由于信源解码的输入数据是m p e g 2 的数据格式,即每个数据包是1 8 8 个字节的且第一个字节是同步头字节0 x 4 7 ,但是在前面的解扰码模块中每八个 数据包中的第一个字节是0 x b 8 ,所以首先要把这个字节的信号取反,使得输出 的信号都是满足每个1 8 8 字节的数据包的同步头是0 x 4 7 。 其次,在后面的解复用和信源解码信号处理中,有的是需要串行数据的格式 的,所以在这里信道解码的输出信号中设置了两种输出格式,即串行的数据流和 并行的数据流。这里需要对此信道解码芯片进行模式配置,所以在此模块中设计 了一个寄存器用来配置是并行输出还是串行输出的模式。 在进行设计串行或并行数据输出中,如果是并行的数据流输出,只需要在每 1 8 8 个字节的第一个字节设置一个同步头有效信号供后面的信号处理用。如果是 串行的输出数据流,则是在第一个字节的比特输出时输出一个同步信号,后面 1 8 7 8 个比特输出完成后,紧接着八个比特又输出一个同步信号。具体的时序 如图2 2 5 和2 2 6 所示。 图2 - 2 5 并行输出数据流 图2 - 2 6 串行输出数据流 如图2 2 5 所示,并行输出数据流在第一个数据包的第一字节( f lb 1 ) 到来 的时候输出一个同步信号f r a m e _ s y n c ,在1 8 8 个字节输出完后,当第二个数据包 眦 皿 触 哪 妇 第二章d v b s 信道解码的硬件实现原理 的第一个字节到来的时候又输出一个同步信号。图2 2 6 所示的串行输出数据流 中,当一个数据包的第一个字节的第一个个比特( f 1b 1 ) 输出时,输出一个同 步信号,当后面的1 8 7 x 8 个比特输出完成后,随着第二个数据包的第一个字节 的第一个比特输出时,又输出一个同步信号。 至此,格式转换完成,转换成的m p e g 码流格式就是本信道解调解码芯片的 输出输出和控制信号,此码流可以提供给任何通用的信源解码和解复用的处理芯 片使用。 第三章r t l 仿真与功能验证 第三章r t l 仿真与功能验证d 6 - 2 0 l 3 1r t l 仿真思想概述 前面一章介绍了整个d v b s 信道解码系统的硬件实现,在用硬件描述语言 ( 这里采用v h d l ) 描述完整个系统后,就要进行系统的功能仿真,这是芯片设 计的一个很重要的步骤,仿真在整个芯片开发流程中的位置如图3 1 所示。 流片 图3 1 仿真及数字芯片开发流程 在h d l 代码全部编写完的基础上,整个芯片开发过程主要分为r t

温馨提示

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

最新文档

评论

0/150

提交评论