版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0人建J宇以孕TianjinUniversityofTechnology专业设计报告基于FPGA的交织器和解交器的实现班级:08集成专业:学院:电子信息工程指导老师:1目录一:交织器原理21实现原理22纠错原理2二交织器的FPGA实现1整体结构32功能分析33模块设计4(1)计数器模块4(2)选择器模块5(3)ROM模块6(4)RAM模块7(5)顶层模块9三设计总结142一:交织器原理1实现原理随着通信技术的发展,对系统要求不断提高,在移动通信领域,由于数字信号在传输途中会随各种干扰,使得信号失真,因此需要利用编码技术来纠正信道中产生的随机错误。但是,仅利用纠错编码技术,对于传输过程中突发性干
2、扰需要借助很长的码字,这样会很复杂,同时产生很长的延时,。交织技术作为一项改善通信系统性能的方式,将数据按照一定的规律打乱,把原来聚集的错误分散,使得突发错误变为随机错误,使得突发码字个数在纠错范I韦I内,接收端就可以用较短的码字进行纠错。交织的过程就是将一个数据系列按一定的条件进行位置从新排布。其逆过程就是解交。常用交织器主要有三种:矩阵分组式,伪随机式,半伪随机式。本设计采用矩阵分组式。矩阵分组式的原理及实现方式如下:假设发送X二(XlX2X3.XI6)首先将X送入交织器,此交织器设计为按行取出的4x4的阵列存储器。送入交织器后,从存储器按行输出,送入突发差错的信道,信道输出在送入反交织器
3、,完成交织与反交织,即按行输入,按列输出。A按行读出xO x4x8xl2xlx5x9xl3Ix2x6xlOxl4:按列写入x3x7xllxl5则交织器的输出为(xO,x4,x8,xl2xlx5x9xl3,xl5)2纠错原理:假设信道产生两个突发性错误,第一个产生与xO到X12,连错4个,第二个产生于x9到x2,连错三个,则此收到的信号为,(xO,x4,x8,xl2,xl,x5,x9,xl3,x2,x6,xlO,xl4,x3,x7,xll,xl5)(加的为错误信号)3经过交织去交矩阵输出为(xO,xl,x2,x3tx4,x5,x6,x7,x8,x9xlO,xll,xl2,xl3Lxld,xl5)
4、可以看到原来的四连错和三连错变成了随机性独立差错。二交织器的FPGA实现1整体结构交织器总是按顺序写入数据,然后按交织地址读出数据。解交的过程与此过程相反,按解交地址写入数据,再按顺序读出数据就可以了。因此交织器和解交器可以按相似电路完成。2功能分析交织器要写入数据,将数据存储起来,并读出,需要ram模块。交织地址是固定的交织方式,可以用rom将地址存储起来,按顺序读取rom存储的ram地址就可以完成交织。控制部分有计数器,选择器组成,完成对ram读写的控制。电路框图如下输入数据kRAM模块写信号交织解交控制计数器产生顺序地址, 数据选择器起地址控制作用, 当需要顺序地址时, 直接由计数器输到
5、地址总线,当需要交织地址时,计数器的输出送到ROM地址总线,再将ROM读出的交织地址送出。输出数据读信号3模块设计(1)计数器模块计数器的作用是,为选择器提供顺序地址,为rom提供地址VHDL描述如下:libraryieee;useieee std_logic_1164 all;useieee std_logic_arith all;entitycounisgeneric(n:integer:=16);port(clr,ena,elk:instd_logic;q:bufferintegerrange0ton一1;cout:outstd_logic);endcountern;architEctu
6、re:rtlofcounternisbeginprocess(elk,clr)beginifclr=,lthenq=0;elseifclk=,1andelkeventthenifena=,1thenifq二qhighthenq=0;elseq二q+1;endif;endif;endif;endif;ifq二qhighthencout=,r;elsecout二O;endif;endprocess;end:rtl;仿真波形如下:5lruLationnodeLirnnz(2)选择器模块VHDL描述如下libraryieee;useieee std_logic_1164 all;useieee std
7、_logic_arith all;entitymux2isgeneric(n:integer:=16);port(dO:instd_logic_vector(7downto0);dl:inintegerrange0ton-1;sei:instd_logic;yout:outstd_logic_vector(7downto0);endmux2;architectureif_marchofmux2isbeginprocess(dO,dl,sei)beginif(sel=,r)thenyout=conv_std_logic_vector(dl,8);elseyout二dO;endif;endproc
8、ess;endif_march;选择器仿真波形如卜图Siroliticawie:Iiaiie24425ntPahter527.52mIrteivat5031ntStart150.0ns23J0皿3JO.OnsD.Ons700ns敦pns6300ns710,0ns79D.0as870DDP0dk11drM2c&utl-3戲u总qMastefTn?Ba*卜6(3)ROH模块libraryieee;useieee std_logic_1164 all;entityrom_16_8isgeneric(n:integer:=16);port(addr:inintegerrange0to口一1;e
9、lk:instd_logic;data:outstd_logic_vector(7downto0);endrom_16_8;architecturertlofrom_16_8issubtyperom_wordisstd_logic_vector(7downto0);typerom_tableisarray(0to15)ofrom_word;constantrom:rom_table:二:rom_table(rom_word*(00000000),rom_word*(00000100),rom_word*(00001000),rom_word*(00001100),rom_word*(00000
10、001),rom_word*(00000101),rom_word*(00001001),rom_word*(00001101),rom_word*(00000010),rom_word*(00000110),rom_word*(00001010),24.IS2S9.漏UDJIK7rom_word*(00001110),rom_word*(00000011),rom_word*(00000111),rom_word*(00001011),rom_word*(00001111);beginprocess(elk)beginifelkeventandclk=,1thendata=rom(addr)
11、;endif;endprocess;endrtl;ROH模块仿真波形图SimlaticGiodeIirikf(4)RAM模块libraryieee;useieee std_logic_1164.all;useieee std_logic_arith.all;useieee std_logic_unsigned all;entityram_16_8isMcdffTmsBet24.425ns$33聽7.S1n5IrteYatjjPcrier.8port(ad:instd_logic_vector(7downto0);elk:instd_logic;di:instd_logic_vector(7do
12、wnto0);do:outstd_logic_vector(7downto0);wr_en:instd_logic:二O;rd_en:instd_logic:二O);endram_16_8;architecturertlofram_16_8issubtyperam_wordisstd_logic_vector(7downto0);typeram_tableisarray(0to15)ofram_word;signalram:ram_tabl己:二ram_table(ram_word(00000000),ram_word(00000000”),ram_word(00000000),ram_wor
13、d(00000000),ram_word(00000000),ram_word%(00000000),ram_word%(00000000),ram_word(00000000”),ram_word(00000000”),ram_word(00000000),ram_word*(00000000),ram_word,(00000000),ram_word*(00000000),ram_word(z,00000000),ram_word%(00000000),ram_word(00000000“);beginprocess(elk)beginifelk*eventandclk=ithenifrd
14、_en二1thendo=ram(conv_integer(ad);endif;ifwr_en二1thenram(conv_integer(ad)二di;endif;end辻;endprocess;endrtl;Sirmlitioar3clr,ena=ena,cout=cout,Q=qs);rom:rom_16_8portmap(clk=clk,addr=qs,data=ds);mux:mux2portmap(dl=qsdO=ds,sel=sel,yout二ys);ram:ram_16_8portmap(clk=clk,do=do,di=di,wr_en=wr_en,rden=rden,ad=y
15、s);process(cout)beginifcouteventandcout二0thensei=notsei;endif;ifsel=,rthenwr_en=,1/;elserd_enclr,ena=ena,cout=cout,Q=qs);rom:rom_16_8portmap(clk=clk,addr=qs,data=ds);mux:mux2portmap(dl=qs,dO二ds,sel=selyout二ys);ram:ram_16_8portmap(clk=clk,do=do,di=di,wr_en=wr_enrden=rden,ad=ys);process(cout)beginifco
16、uteventandcout二0thensei=notsei;endif;ifsei二0thenwr_en二1;elserd_en=,1;endif;endprocess;endrtl;13设计总结专业设计终于做完了,期间我出了许多的错误,经过一遍又一遍的检查,发现了问题,并在人家的帮助下得到了解决,本次专业设计是我发现问题及解决问题的能力都得到了提高。这次设计也是专业技能的一次提升,我运用VHDL语言完成整个设计,把设计的各个模块细化,从单元模块设计到整个系统设计,每一步都严格遵守编程规则,结果在后面的调试过程中省了不少力,感觉到规范的编程语言对实际工作的巨人作用。以往的实验和设计,由于专业知识不是很丰富,设计思路不清晰,往往是想到什么就写什么,在最后再把各个模块整合在一起,这种设计思路的效率是很低的。这次设计开始之前,我查阅了许多相关书籍,对整个交织和解交织的流程和原理熟悉透彻,程序流程了如指掌。然后把工程细化为,ROM模块,RAM模块,计数器模块,选择器模块,及交织器的顶层控制模块,这样把这个工程细化为一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江苏省南通市西亭高级中学高三六校第二次联考数学试题含解析
- 涉稳风险报告制度
- 消毒产品人员岗位责任制度
- 残疾人联合会采购制度
- 2026湖北事业单位联考荆门市掇刀区招聘20人备考题库及答案详解(历年真题)
- 《中国农村经济》编辑部编制外人员招聘1人备考题库及答案详解(网校专用)
- 2026河北唐山市嘉恒实业有限公司发布招聘备考题库及答案详解(有一套)
- 2026浙江温州市洞头人才发展有限公司招聘1人备考题库(食堂工作人员)附答案详解(典型题)
- 2026浙江嘉兴市海宁市青少年宫公益性岗位招聘2人备考题库附答案详解(预热题)
- 2026福建莆田市第一医院南日分院(秀屿区南日镇卫生院)第三轮编外人员招聘1人备考题库带答案详解(模拟题)
- 消火栓安全培训知识课件
- 熔盐储热材料研发-洞察与解读
- 人教版7到9年级单词表打印版
- 2025年高压电工复审完整题库(附答案)
- 2025年湖北高考真题化学试题(原卷版)
- 中华姓氏大辞典
- 密闭式静脉输血技术操作规范
- 肢体功能障碍的心理康复课件
- 26.1.2 反比例函数的图像和性质第二课时作业设计
评论
0/150
提交评论