卷积码编码器.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
卷积码编码器

《数字集成电路设计》课程设计 题目:交织器解交织器学院:电子与信息学院专业: 学号: 姓名: 一、设计要求 1. 请设计一个交织器和解交织器,完成二进制比特流的交织/ 解交织功能。 2. 设计测试文件,验证设计的功能是否正确。二、设计卷积交织器目的 在数字传输系统中,因为存在噪声,信道衰落等干扰因素,会使传输的信号发生错误,产生误码。虽然数字信号的传输为了防止误码而会进行信道编码,增加传输码的冗余,例如增加监督位等来克服信号在信道传输过程中的错误,但这种检错纠错能力是有限的。例如当出现突发错误,出现大片误码时,这时信道的纠错是无能为力的。而卷积交织器可以将原来的信息码打乱,这时尽管出现大面积突发性错误,这些可以通过解交织器来进行分散,从而将大面积的错误较为平均地分散到不同的码段,利于信道纠错的实现。三、卷积码编码器原理卷积码拥有良好的纠错性能,是一种被广泛应用于移动通信的信道编码系统。一个(n,k,m)卷积码编码器由k个输入,具有m阶存储的n个输出的线形时序电路实现。通常, n和k是较小的整数,且k<n,但m比较大。当k=1时,信息序列不再分成小块,以便可以连续处理。卷积码(n,k,m)表示码率R=k/n,编码器级数m=s-1,其中s是码约束长度。反向CDMA信道使用(3,1,8)卷积码,码率R=1/3,约束长度为9,由于k=1,n=3,m=8,则该卷积编码器包含单个输入端,一个8级移位寄存器,三个模 2加法器和一个3向编码器输出的连续转向器。编码器每输入一位信息比特将产生三位编码输出。这些编码符号中,第一个输出符号G0是生成序列g1⑴编码产生的符号,第二个输出符号G1是由生成序列g1⑵编码产生的符号,最后一个输出符号G2是由生成序列g1⑶编码产生的符号,如下图所示。该电路由一个八位寄存器、三个码生成逻辑、一个时隙发生器和一个四选一复用器构成。mux的输入为G0、G1和G2,码选择信号C[1:0]和clk1由时隙发生器产生,输出信号即为整个电路的输出Yout。卷积编码器的初始状态用rst异步清零信号置为0,rst=0时,电路清零。卷积编码器的初始状态全为0,初始状态之后输出的第一个编码符号由生成序列g1⑴编码产生。这里,三个生成序列分别为g1⑴=(101101111),g1⑵=(110110011), g1⑶=(111001001)。即三个生成多项式分别为:C0=1+X+X2+X3+X5+X6+X8 (557) C1=1+X+X4+X5+X7+X8 (663)C2=1+X3+X6+X7+X8 (711)四、实验设计与实现根据以上实验要求,我们首先设想了分为几个模块,然后将各个模块进行整合实现编码器的功能,根据我们的设想编写相应的verilog程序,进行调试、实现。以下是实验的具体过程。 1.卷积码模块设计(1)3分频器(fenping)。它的功能是产生clk时钟三分之一频率的时钟信号,命名为clk1,同时产生选择信号sel[1:0]。(2)4-1多路选择器(mux_4_1)。根据sel[1:0]输入的选择信号,选择4路(in0,in1,in2,in3)输入的1路来输出(out)。后来,根据老师的指导,将卷积的运算逻辑组装在这个模块里。(3)8位移位寄存器(wyjc_8)。用于记录输入的信息。每经过一个时钟上升沿(clk1)向前移位一次。2.verilog程序编写各个模块相应的代码和注释如下所示。(1)3分频器module fenping(clear,clk,clk1,count);input clk,clear;output clk1,count;wire clk,clear;reg clk1;reg [2:0] count;always @(posedge clk or posedge clear)beginif(clear==1)count[2:0]<=3’b010;elsebegin//通过循环移位实现3分频count[0]<=count[2];count[1]<=count[0];count[2]<=count[1];clk1<=count[1];end;endendmodule(2)4—1多路选择器module mux_4_1(clk1,clk,sel,in,kin,out);input[1:0] sel;input clk,in,clk1;input[7:0] kin;output out;wire [1:0] sel;reg out;reg [8:0]k;always @(posedge clk) //依次计算c0,c1,c2begincase(sel)default out<=0;2’b00:out<=(k[0]+k[1])+(k[2]+k[3])+(k[5]+k[6]+k[8]);2’b01:out<=k

文档评论(0)

didala + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档