1、 4.2 卷积编码2 4.3 卷积码的树状图3 4.4 卷积码的网格图3五、 EDA设计方法及工具软件QUARTUS4六、 改变卷积编码器的参数仿真以及结论 4 6.1 不同回溯长度对卷积编码器性能的影响4 6.2 不同码率对卷积编码器误码性能的影响5 6.3 不同约束长度对卷积编码器的误码性能影响6七、 卷积码编码器的VHDL设计与仿真87.1 VHDL设计的优点与设计方法87.2 卷积码编码器的VHDL实现 10 八、心得体会10 九、参考文献11 卷积编码器的设计一、设计要求 (1)画出卷积码的原理框图,说明系统中各主要组成部分的功能。 (2)使用EDA技术及VHDL语言对卷积编码器进行
2、设计与仿真并对结果分析。二、设计作用与目的 (1)巩固加深对通信基本知识分析以及卷积码的掌握,提高综合运用通信知识的能力。 (2)掌握采用仿真软件对系统进行仿真分析。 (3)培养学生查阅参考文献,独立思考,设计,钻研电子技术相关问题的能力。 (4)掌握相关电子线路工程技术规范以及常规电子元器件的性能技术指标。 (5)培养严肃认真的工作作风与科学态度,建立严谨的工程技术观念。 (6)了解电气图国家标准,并利用电子CAD等正确绘制电路图。 (7) 培养工程实践能力,创新能力与综合设计能力。三、所用设备及软件 (1)QUARTUS (2)PC机4、卷积码编码的概念 4.1卷积码的编码描述方法 编码描
3、述方法有5种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述法和网格图描述法。卷积码的纠错能力随着N的增加而增大,而差错率随着N的增加而指数下降。在编码器复杂性相同的情况下,卷积码的性能优于分组码。分组码有严格的代数结构,但卷积码至今尚未找到如此严密的数学手段。分组码的译码算法可以由其代数特性得到。卷积码虽然可以采用适用于分组码的门限译码(即大数逻辑译码),但性能不如维特比译码和序列译码2。以二元码为例,输入信息序列为u(u0,u1,),其多项式表示为u(x)u0+u1x。编码器的连接可用多项式表示为g(1,1)(x)1+x+x2和g(1,2)(x)1+x2,称为码的子生成多项式
4、。它们的系数矢量g(1,1)=(111)和g(1,2)=(101)称作码的子生成元。以子生成多项式为阵元构成的多项式矩阵G(x)g(1,1)(x),g(1,2)(x),称为码的生成多项式矩阵。由生成元构成的半无限矩阵。4.2 卷积编码卷积码的编码器一般都比较简单。图4.1 卷积码编码器图4.1是一般情况下的卷积码编码器框图。它包括NK级的输入移位器,一组n个模2和加法器和n级的输出移位寄存器。对应于每段k比特的输入序列,输出n个比特。由图可知,n个输出比特不但与当前的k个输入比特有关,而且与以前的(N-1)k个输入信息比特有关。整个编码过程可以看成是输入信息序列与由移位寄存器和模2加法器的连接
5、方式所决定的另一个序列的卷积,卷积码由此得名。本文采用的是冲击响应描述法编码思想。图4.2 (2,1,3)卷积编码器如图4.2是卷积码(2,1,3)卷积编码器的一个框图。左边是信息的输入。下面分别是系统位输出和校验位输出。其中间是3个移位寄存器和一个模2加法器。简单的说就是信息位经过移位寄存器和一个模2加法器产生一个系统位和校验位加在一起输出。可以看出:每输入一个比特,移位寄存器中就向右移动一个位子。原来的第三个寄存器就被移出。可见卷积编码不只与现在的输入比特有关还与前面的3-1个比特有关。所以约束长度是3。在这里,其中K=1,n=2所以码率R=K/n=1/23。4.3 卷积码的树状图对于图4
6、.2所示的(2,1,3)卷积码编码电路,其树状图如下图4.3所示,这里,分别用a,b,c和d表示寄存器的4种状态:00,01,10和11,作为树状图中每条支路的节点。以全零状态a为起点,当输入位信息位为0时,输出码元c1c2=00,寄存器保持状态a不变,对应图中从起点出发的上支路;当输入位为1时,输出码元c1c2=11,寄存器则转移到状态b,对应图中的下支路;然后再分别以这两条支路的终结点a和b作为处理下一位输入信息的起点,从而得到4条支路,以此类推,可以得到整个树状图。如下图4.3abcd状态A 00B 01C 10D 1100011110 图4.3(2,1,3)树状图4.4 卷积码的网格图
7、状态图可以完整的描述编码器的工作过程,但是其只能显示状态转移的过程而不能显示状态转移发生的时刻,由此引出用来表示卷积码的另一种常用方法网格图。网格图就是时 间与对应状态的转移图,在网格图中每一个点表示该时刻的状态,状态之间的连线表示状态转移。通过观察网格图可以发现在网格图中输入信息x(n)并没有标出,但如观察到转移后的状态表示(x(n),x(n-1)就可以发现输入信息已经隐含在转移后的状态中4。如下图4.4是(2,1,3)卷积编码的网格图。a=00b=01c=10d=11图4.4(2,1,3)卷积编码的网格图五、 EDA设计方法及工具软件QUARTUS(1) 前端设计(系统建模RTL 级描述)
8、后端设计(FPGAASIC)系统建模。(2) IP 复用。(3) 前端设计。(4) 系统描述:建立系统的数学模型。(5) 功能描述:描述系统的行为或各子模块之间的数据流图。(6) 逻辑设计:将系统功能结构化,通常以文本、原理图、逻辑图、布尔表达式来表示设计结果。(7) 仿真:包括功能仿真和时序仿真,主要验证系统功能的正确性及时序特性。六、 改变卷积编码器的参数仿真以及结论6.1 不同回溯长度对卷积编码器性能的影响下面将以(2,1,3)卷积码来建立模块仿真。将编码模块中的Traceback depth分别设置为20,35,45并在一个图中画出这三种方式下的误码性能曲线得到下图。从上到下的三条曲线
9、分别是Traceback depth为20,35,45。回溯长度是在Viterbi译码过程中一个很重要的参数,他决定了译码延迟,随着他的不断变化,误码性能也随误比特率曲线可以清楚地看到,当回溯长度一定时,随着信道噪声的逐渐减小,系统的误比特率逐渐降低;当回溯长度逐渐增加,系统的误比特率随之逐渐降低,但是当回溯程度a增加到a5N时(N为编码的约束长度),误比特率数值趋于稳定,因此,在确定回溯长度时既要考虑到随着a的增加误比特率随之降低的趋势,也要考虑到译码延迟会变大,在选取回溯长度时,通常取a=5N。图 6.1 不同回溯长度对误码性能的影响 分析不同回溯长度对卷积码无码性能的影响时用到的程序如下
10、:x=-10:5;y=x;for i=1:length(x)SNR=x(i);sim(yima);y(i)=mean(BitErrorRate);Endsemilogy(x,y);Hold on;for i=1:SNR=x(i);sim(yima2);6.2 不同码率对卷积编码器误码性能的影响下面图是通过改变卷积码的码率为1/2和1/3而得到的二条对比曲线。上面的一条曲线是码率为1/2,下面的是码率为1/3。卷积码的码率R=k/n,他是卷积码的一个重要参数,当改变卷积码的码率时,系统的误码性能也将随之发生变化。从图中的误比特率曲线可以看出,当码率一定时,随着信道噪声的逐渐减小,系统的误比特率也
11、呈现出增大的趋势,也就是说码率越低,系统的误比特率就越小,误码性能就越好。图6.2 卷积码不同码率对误码性能的影响分析不同码率对卷积码误码性能的影响时用到的程序如下:X=0:sim(yimal);y(i)=mean(BitErrorRate);endsemilogy(x,y);hold on;for i=1;Sim(yima2);6.3 不同约束长度对卷积编码器的误码性能影响如下图,对于码率一定的卷积码,当约束长度N发生变化时,系统的误码性能也会随之发生变化,我们以码率R=1/2的(2,1,3)和(2,1,7)卷积码为例展开分析。上面的曲线是(2,1,3)卷积码的误码性能曲线。下面的曲线是(2
12、,1,7)卷积码的误码性能曲线。从图中的误比特率曲线可以清楚的看到,随着约束长度可以降低系统的误比特率,但是随着约束长度的增加,译码设备的复杂性也会随之增加,所以对于码率为1/2的卷积码,我们在选取约束长度时一般为3-9。 图6.3不同约束长度对卷积码误码性能的影响分析不同约束长度对卷积码误码性能影响用到的程序如下:x=0:Sim(yima);sim(yima1);通过上面从(1)回溯长度;(2)码率;(3)约束长度这三个卷积码编码器的重要参数的变化后对译码性能的分析,我们得到在卷积码的编码,译码过程中很多条件是不可能同时满足的。所以我们要根据具体情况来选择合适的参数。七、 卷积码编码器的VH
13、DL设计与仿真7.1 VHDL设计的优点与设计方法VHDL语言采用自上至下和基于库的设计方法,其突出的优点是具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路。本设计所用VHDL设计平台是Altera的QuartusEDA软件。Quartus界面友好,使用便捷;它支持VHDL语言文本文件,原理图,以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计:具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。7.2 卷积码编码器的VHDL实现7.2.1 卷积编码器顶层建模的VHDL描述library ieee;use ieee.std_logic_1
14、164.all;entity encoder isport (clk:in std_logic;clr:data_in:c0,c1,c2:out std_logic);end;architecture behave of encoder iscomponent dff2 port(d,clk,clr:q:end component;component xor2 port (a,b:y:component xor3 port (a,b,c:signal din,r1,r2,y1,y2: std_logic;begindin=data_in;u0:dff2 port map (din, clk,
15、clr,r1);u1:dff2 port map (r1, clk, clr,r2);u2:xor2 port map (din,r1,y1);u3:xor3 port map (din,r1,r2,y2);c0=din;c1=y1;c2=y2;用Quartus编译后生成的编码器图形符号如图所示。 图 7.2编码器图形符号7.2.2卷积编码器VHDL仿真波形卷积编码器VHDL仿真波形如图7.3所示。仿真前设输入信息序列datain=“11011”,速率为32kb/s。仿真结果表明,卷积编码输出为“111 100 010 110 100”,速率为96kb/s,与理论分析结果一致。 图7.3卷积编
16、码器仿真波形八、心得体会 我们利用Lattice公司的CPLD器件及EDA软件工具,设计的(2,1,m)卷积码编码器满足卫星信道的设计要求,并具有体积小、功耗低等优点。在设计过程中采用VHDL硬件描述语言进行输入,可以在设计过程中利用EDA软件所提供的逻辑或时序仿真功能,实时检验电路的设计结果,从而提高硬件电路的设计功率,缩短硬件电路的开发时间。编解码器结构简单,实现容易,将通过仿真的VHDL程序下载到FPGA芯片EPF10K10LC84-3上,并在实际扩频系统中用于差错控制,验证效果较好。需要指出,对于长突发错误000000-111111,解码器不能纠正,需要采用交织技术同卷积解码纠错技术相
17、结合,将突发分离,才可进一步提高纠错性能。九、参考文献1 吴伟發.信息处理与编码M.北京:人民邮电出版社.1999.2 王新梅.肖国镇.纠错码-原理与方法M.西安:西安电子科技大学出版社.2001.3 段吉海.黄智伟.基于CPLD/FPGA的数字通信系统的建模与设计M.北京:电子工业出版社.20044 布哈加瓦V K.数字卫星通信M.北京:电子工业出版社.1987Chip Flenning.A Tutorial on Convolutional Coding with Vitcrbi Decoding.1999.5 Proakia JC.数字通信M.第3版.北京:电子工业出版社.2001.6 王金明.杨积斌.数字系统设计与Verilog HDLM.北京:电子工业出版社.2002.7 田耕 无线通信FPGA设计.电子工业出版社.20088 樊昌信.通信原理.国防工业出版社.2009