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

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

ID:9045280

大小:671.54 KB

页数:24页

时间:2018-04-15

数字系统设计》课程设计-交织器解交织器_第1页
数字系统设计》课程设计-交织器解交织器_第2页
数字系统设计》课程设计-交织器解交织器_第3页
数字系统设计》课程设计-交织器解交织器_第4页
数字系统设计》课程设计-交织器解交织器_第5页
资源描述:

《数字系统设计》课程设计-交织器解交织器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《数字系统设计》课程设计题目:交织器解交织器一、实验任务卷积交织:交织深度I=12,形成相互交迭的误码保护数据包,以抵抗信道中突发的干扰。1二、实验要求1.请设计一个交织器和解交织器,完成二进制比特流的交织/解交织功能。2.设计测试基准,验证设计的功能是否正确。三、设计卷积交织器目的在数字传输系统中,因为存在噪声,信道衰落等干扰因素,会使传输的信号发生错误,产生误码。虽然数字信号的传输为了防止误码而会进行信道编码,增加传输码的冗余,例如增加监督位等来克服信号在信道传输过程中的错误,但这种检错纠错能力

2、是有限的。例如当出现突发错误,出现大片误码时,这时信道的纠错是无能为力的。而卷积交织器可以将原来的信息码打乱,这时尽管出现大面积突发性错误,这些可以通过解交织器来进行分散,从而将大面积的错误较为平均地分散到不同的码段,利于信道纠错的实现。四、卷积交织的原理卷积交织的原理其实是利用了延时的原理。例如总延时是T,交织器延时t1,解交织器延时为t2,则有T=t1+t2.本次设计的交织器的交织深度为12,故交织器总共有12路,要进2行卷积处理的数据分别循环的进入每一路,每一路延时不同的时间而后输出。不难想象

3、,如果每一路都延时相同的时间,输入序列肯定跟输出序列一模一样,但交织器因为每一路延时的时间不同,从而将序列打乱了,看上去会很乱,例如你输入1,2,3,4…….20,输出就是1,0,0,0,…..13…….25…..。那么经过交织器处理后打乱的数据如何恢复原状呢?很简单,因为每一个数据的总延时都是T,如果一个数据A在交织器中延时了t1,那么数据A只需在解交织器中延时T-t1即可。五、设计过程1.设计思路以上讨论的是交织器与解交织器的算法,那么在硬件电路上如何实现呢?由上讨论,交织器与解交织器都是利用了

4、延时来实现的,而在硬件上实现延时一种很自然的想法就是利用移位寄存器来实现,延时T只需要T级的移位寄存器,在每个时钟的到来,将数据移位,例如数据‘1’经过5级的移位寄存器,经过5个时钟后,数据就经历了寄存器每个寄存单元而输出。移位寄存器很容易理解,但用移位寄存3器的方法有个不好的地方,那就是‘工程量很大’,每个时钟的到来,会有大量存在于移位寄存器中的数据移动,这会增加整个系统的功耗与效率。为了克服移位寄存器的缺点,我们可以用ram来模仿移位寄存器的功能。例如定义一个长度为4的ram,那么模仿移位寄存器

5、的过程是这样的。例如要对数据“ABCD“进行延时:第一个时钟,将A数据写入1单元,读出2单元数据。第二个时钟,将B数据写入2单元,读出3单元数据。第三个时钟,将C数据写入3单元,读出4单元数据。第四个时钟,将D数据写入4单元,读出1单元数据。这时就读出A数据了,刚好延时了四个时钟。如此循环,“ABCD“就延时了四个时钟后输出,与4级移位功能相同,因为这种方法只是涉及了数据的读和写,所以克服了移位寄存器大量数据移位的缺点。所以本系统使用ram来实现交织器与解交织器。具体来说,就是将ram分成12路,第

6、一路无延时。第二路延时M时间,需要M+1个存储单元。第三路延时2M时间,需要2M+1个存储单元。第四路延时3M时间,需要3M+1个存储单元。如此类推,第i路延时(i-1)M时间,需要(i-1)4M+1;而解交织器相反,第十二路无延时。第十一路延时M,第十路延时2M,如此类推。下面介绍数据的流动,以交织器为例,每个时钟,数据进入不同的ram路,我们可以设置一个count_ram(1至12)进行循环计数,每个时钟count_ram就加1,数据进入第count_ram路。确定了数据进入哪一路ram后,还要

7、确定数据进入这路ram中的哪一个单元,故每一路ram都要一个设置一个计数器coun1-count12,来控制读写哪一个单元,利用上面讨论的ram移位法实现延时,读的地址要比写的地址靠前一位,因为数据读出的时候同时要写入数据,所以ram要用双口ram实现。2.设计步骤①定义相关端口,状态及信号;②每当时钟上升沿数据进入系统,根据state_count不同的值进入不同的路;③将输入数据用modelsim仿真显示。④将程序下载到板上用数码管观察。53.相关端口设定Clk:时钟信号输入Outdata:数码管

8、输入Q:数码管位选Ren,wen:读写使能端Reset:置位端六、设计中出现的问题与解决:①.在交织器的设计过程过程中,也遇到了不少的困难。在交织器的输出中,总会在输出的第二位出现一个零。如下图,例如是应该是输出4后马上输出2的,但是仿真时却发现输出时4,0,2。分析:后来通过分析仿真图,可以发现直接输出的第一路超前一位时钟输出了,这是因为第一路的数据没有经过ram直接输出,故会超前一个时钟。解决:在直接输出的那一路加上一个触发器,使输出同步。②.用定义数组的方法定义

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。