通信系统中串行数据交织器的设计.docx

上传人:b****8 文档编号:8996396 上传时间:2023-02-02 格式:DOCX 页数:12 大小:131.42KB
下载 相关 举报
通信系统中串行数据交织器的设计.docx_第1页
第1页 / 共12页
通信系统中串行数据交织器的设计.docx_第2页
第2页 / 共12页
通信系统中串行数据交织器的设计.docx_第3页
第3页 / 共12页
通信系统中串行数据交织器的设计.docx_第4页
第4页 / 共12页
通信系统中串行数据交织器的设计.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

通信系统中串行数据交织器的设计.docx

《通信系统中串行数据交织器的设计.docx》由会员分享,可在线阅读,更多相关《通信系统中串行数据交织器的设计.docx(12页珍藏版)》请在冰豆网上搜索。

通信系统中串行数据交织器的设计.docx

通信系统中串行数据交织器的设计

1、设计原理

1、交织器原理

交织器是通信编码中抗突发干扰的一种重要手段,将突发干扰产生的分布集中的误码分散到信息数据中,以便采用纠错编码的方法进行纠错。

本项目设计一个行列交织器,其框架图图如图1所示,PN码发生器模拟数据源产生串行数据,按行写入一m行n列的RAM中,写满后按列读出。

为避免数据丢失,需使用两个这样的RAM交替读写。

这里统一m和n都选4,即两个4╳4RAM。

图1串行数据交织器整体框架图

 

2、程序设计原理

本实验制作一个通信系统中的串行数据交织器,其设计原理图如图1所示。

程序整体由三个子模块构成:

100KHz分频模块,利用FPGA上50MHz的晶振分频得到,作为产生伪随机码和读写RAM的时钟;伪随机码发生器模块,以16个数为一周期,模拟数据源产生串行数据;读写RAM模块,按行写入一4行4列的RAM中,写满后按列读出。

为避免数据丢失,需使用两个这样的RAM交替读写,从而实现交织。

电路图如图2所示:

图2电路原理图

 

二、源程序代码

//顶层模块

moduleinterleaver(endout,out,clk_50M);

inputclk_50M;

output[0:

0]endout,out;

wireclk;

wire[3:

0]k;

wire[0:

0]pn16;

dividerU1(clk,clk_50M);

pnU2(clk,pn16);

arrayU3(endout,out,clk,pn16,k);

endmodule

 

//分频器(50MHz--100KHz)

moduledivider(clk,clk_50M);

outputclk;

inputclk_50M;

regclk;

reg[23:

0]cnt;

always@(posedgeclk_50M)

begin

if(cnt==249)

begin

cnt<=0;

clk<=~clk;

end

else

cnt<=cnt+1;//计数

end

endmodule

 

//pn16(伪随机码发生器,以16个数为一周期)

modulepn(clk,pn16);

inputclk;

output[0:

0]pn16;

regq0;

regq1;

regq2;

regq3;

wireset1;

wireSYNTHESIZED_WIRE_0;

wireSYNTHESIZED_WIRE_1;

assignSYNTHESIZED_WIRE_1=0;

always@(posedgeclk)

begin

if(!

set1)

begin

q0=1;

end

else

begin

q0=SYNTHESIZED_WIRE_0;

end

end

always@(posedgeclk)

begin

begin

q1=q0;

end

end

always@(posedgeclk)

begin

begin

q2=q1;

end

end

always@(posedgeclk)

begin

begin

q3=q2;

end

end

assignSYNTHESIZED_WIRE_0=q3^q2;

assignset1=q0|q2|q1|q3|SYNTHESIZED_WIRE_1;

assignpn16=q3;

endmodule

 

//array(使用两个数组,作为两个4╳4RAM)

modulearray(endout,out,clk,pn16,k);

inputclk;

input[0:

0]pn16;

output[0:

0]out,endout;

output[3:

0]k;

reg[3:

0]k,i;

reg[0:

0]out,endout;

regarray1[15:

0];

regarray2[15:

0];

reg[1:

0]j,flag;

initial

begin

i<=0;

j<=0;

k<=-1;

flag<=0;

end

always@(posedgeclk)

begin

if(k==15)

begin

k<=0;

end

else

k<=k+1;

if(i==15)//用循环产生4╳4数组,即4╳4RAM

begin

i<=0;

flag=~flag;

end

else

i<=i+1;

if(j==3)

j<=0;

else

j<=j+1;

if(!

flag)

begin

array1[i]<=pn16;//伪随机码写入array1

out<=array2[i];//按行读出array2中的数据给out(未交织)

if(i<4)//按列读出array2中的数据给endout(交织后的)

endout<=array2[0+4*j];

elseif(i<8)

endout<=array2[1+4*j];

elseif(i<12)

endout<=array2[2+4*j];

else

endout<=array2[3+4*j];

end

else

begin

array2[i]<=pn16;//伪随机码写入array2

out<=array1[i];//按行读出array1中的数据给out(未交织)

if(i<4)//按列读出array1中的数据给endout(交织后的)

endout<=array1[0+4*j];

elseif(i<8)

endout<=array1[1+4*j];

elseif(i<12)

endout<=array1[2+4*j];

else

endout<=array1[3+4*j];

end

end

endmodule

 

三、仿真结果

1、分屏器模块仿真结果如图3所示:

图3分屏器模块仿真结果

2、伪随机码发生器模块仿真结果如图4所示:

图4伪随机码发生器模块仿真结果

3、最终仿真输出结果如图5、图6所示:

图5第一个周期

 

图6最终输出结果

 

仿真结果分析:

1、如图5所示,在第一个循环周期,伪随机码写入array1,同时按行读出array2到out,按列读出array2到endout,但由于此时array2里面的单元都为0,所以在第一个周期里,输出out(未交织)和endout(交织后)都为0。

 

2、如图6所示,结果为实现了交织功能。

未交织的out输出为:

00010011010111100010011010111100,即

00010010

00110110

01011011

11101100

交织后的endout输出为:

010011010111100011010111100010,即

00010011

00110101

01011110

11100010

如此可见,endout实现了按列读出,即设计实现了交织功能。

 

四、实验结果

利用示波器观察交织前后的波形,如图7所示:

图7实验结果

五、实验总结

本实验内容为制作一个通信系统中串行数据交织器。

由于对Verilog和QuartusII软件、ModuleSim仿真软件的使用较熟悉,对用VerilogHDL语言来编写程序较熟练,因此在明白实验原理后,设计的实现就感觉较上一个实验简单。

但是,此次实验也并不是如鱼得水的。

实验过程中也遇到了一些小问题。

起初,对此次交织器的原理不是很清楚,对其程序实现方案也不清晰。

后来认真听了老师的解说,自己课后也在图书馆查阅了相关资料。

经过自己的思考,最终明白了整个电路的原理。

第二,刚开始搭建好电路进行观察时,示波器没有输出正确的波形。

后面把DE2板和示波器表笔换了,波形就出来了,并且同时输出了交织前和交织后的波形,说明本次设计取得了成功。

通过自己课下的努力和钻研,最终较快较好地成功完成了实验,这给了我极大的兴趣和信心。

从对交织器毫无预先知识的状态,到一步一步查找资料并尝试连接,确实在课下花了很多时间和心思。

但看着自己制作的成果,深感一切都值得。

本次实验让我深深体会到,单纯学习理论知识是不行的,只有勤于动手,将所学的知识运用到实际当中,才能真正理解和掌握知识。

在接下去的学习中,我将不断完善知识面,设计更为复杂的电路。

 

欢迎您的下载,

资料仅供参考!

 

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1