数字系统设计》课程设计-交织器解交织器.docVIP

数字系统设计》课程设计-交织器解交织器.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数字系统设计》课程设计-交织器解交织器

《数字系统设计》课程设计 题目:交织器解交织器 一、实验任务 卷积交织:? 交织深度I=12 ,形成相互交迭的误码保护数据包,以抵抗信道中突发的干扰。 二、实验要求 1. 请设计一个交织器和解交织器,完成二进制比特流的交织/ 解交织功能。? 2. 设计测试基准,验证设计的功能是否正确。 设计卷积交织器目的 在数字传输系统中,因为存在噪声,信道衰落等干扰因素,会使传输的信号发生错误,产生误码。虽然数字信号的传输为了防止误码而会进行信道编码,增加传输码的冗余,例如增加监督位等来克服信号在信道传输过程中的错误,但这种检错纠错能力是有限的。例如当出现突发错误,出现大片误码时,这时信道的纠错是无能为力的。而卷积交织器可以将原来的信息码打乱,这时尽管出现大面积突发性错误,这些可以通过解交织器来进行分散,从而将大面积的错误较为平均地分散到不同的码段,利于信道纠错的实现。 卷积交织的原理 卷积交织的原理其实是利用了延时的原理。例如总延时是T,交织器延时t1,解交织器延时为t2,则有T=t1+t2. 本次设计的交织器的交织深度为12,故交织器总共有12路,要进行卷积处理的数据分别循环的进入每一路,每一路延时不同的时间而后输出。不难想象,如果每一路都延时相同的时间,输入序列肯定跟输出序列一模一样,但交织器因为每一路延时的时间不同,从而将序列打乱了,看上去会很乱,例如你输入1,2,3,4…….20,输出就是1,0,0,0,…..13…….25…..。 那么经过交织器处理后打乱的数据如何恢复原状呢?很简单,因为每一个数据的总延时都是T,如果一个数据A在交织器中延时了t1,那么数据A只需在解交织器中延时T-t1即可。 设计过程 设计思路 以上讨论的是交织器与解交织器的算法,那么在硬件电路上如何实现呢?由上讨论,交织器与解交织器都是利用了延时来实现的,而在硬件上实现延时一种很自然的想法就是利用移位寄存器来实现,延时T只需要T级的移位寄存器,在每个时钟的到来,将数据移位,例如数据‘1’经过5级的移位寄存器,经过5个时钟后,数据就经历了寄存器每个寄存单元而输出。移位寄存器很容易理解,但用移位寄存器的方法有个不好的地方,那就是‘工程量很大’,每个时钟的到来,会有大量存在于移位寄存器中的数据移动,这会增加整个系统的功耗与效率。 为了克服移位寄存器的缺点,我们可以用ram来模仿移位寄存器的功能。例如定义一个长度为4的ram,那么模仿移位寄存器的过程是这样的。例如要对数据“ABCD“进行延时: 第一个时钟,将A数据写入1单元,读出2单元数据。 第二个时钟,将B数据写入2单元,读出3单元数据。 第三个时钟,将C数据写入3单元,读出4单元数据。 第四个时钟,将D数据写入4单元,读出1单元数据。这时就读出A数据了,刚好延时了四个时钟。 如此循环,“ABCD“就延时了四个时钟后输出,与4级移位功能相同,因为这种方法只是涉及了数据的读和写,所以克服了移位寄存器大量数据移位的缺点。 所以本系统使用ram来实现交织器与解交织器。具体来说,就是将ram分成12路,第一路无延时。第二路延时M时间,需要M+1个存储单元。第三路延时2M时间,需要2M+1个存储单元。第四路延时3M时间,需要3M+1个存储单元。如此类推,第i路延时(i-1)M时间,需要(i-1)M+1;而解交织器相反,第十二路无延时。第十一路延时M,第十路延时2M,如此类推。下面介绍数据的流动,以交织器为例,每个时钟,数据进入不同的ram路,我们可以设置一个count_ram(1至12)进行循环计数,每个时钟count_ram就加1,数据进入第count_ram路。确定了数据进入哪一路ram后,还要确定数据进入这路ram中的哪一个单元,故每一路ram都要一个设置一个计数器coun1-count12,来控制读写哪一个单元,利用上面讨论的ram移位法实现延时,读的地址要比写的地址靠前一位,因为数据读出的时候同时要写入数据,所以ram要用双口ram实现。 2.设计步骤 ①定义相关端口,状态及信号; ②每当时钟上升沿数据进入系统,根据state_count不同的值进入不同的路; ③将输入数据用modelsim仿真显示。 ④ 将程序下载到板上用数码管观察。 3.相关端口设定 Clk:时钟信号输入 Outdata:数码管输入 Q:数码管位选 Ren,wen:读写使能端 Reset:置位端 六、设计中出现的问题与解决: ①.在交织器的设计过程过程中,也遇到了不少的困难。 在交织器的输出中,总会在输出的第二位出现一个零。如下图,例如是应该是输出4后马上输出2的,但是仿真时却发现输出时4,0,2。 分析:后来通过分析仿真图,可以发现直接输出的第

文档评论(0)

jiqinyu2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档