卷积编码器的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v样en就c函口数r所以需使的必用要co转n换ve.n即c函佻数lli进8=行pol卷y2积tre编ll码is(.K,mⅡsRGⅢ,QcGoDn;啪这c
佃耀_bitJ瑭uis),其中m89_bit为输入信息序列。 假定msobit-[1 0110lOl呻0000],则madah输出结果: msg-con=[1l10001001l叭001110010I101111; 为了和FPGA输出结果比较方便将nIs舡con用I、Q州路
多项式法就是由卷积码的生成多项式直接得出其编码
器的结构图。如上面例子中的(2,1,2)卷积码的生成多项式矩
阵为:
G(D)=[1+D+D2,1+D刁
(3)
其中.D是延迟算子.生成多项式的Leabharlann Baidu一项为l+D+D2,表
示输出编码的第一个码元等于输人码元x(n)与前两个时刻输
^的码元x(n一1)、x(n_2)的模2和,同理第二项类似。
2006年第6期 (总第92期)
大众科技
OA ZHONG KE Jl
N06.2006
(cumuIativeIy No.92)
卷积编码器的设计与实现
徐健3.杜丽娟6
(莱芜职业技术学院a.计算机系.b.信息工程系,山东莱芜271100)
【摘要l文章对于卷积编码器的设计与实现进行了研究.然后对谊编码器的性能进行了仿真分析,证明达到了工程标准的要
求.从而验证了谊编码器设计的可靠性。
【美键词l数字通信,卷积编码,现场可编程门阵列
【中圈分类号】TN919.3l
【文献标识码l A
一、引言 卷积码是1955年由Elias等人提出的,是一种非常有前 途的编码方法。我们在一些资料上可以找到关于分组码的一 些介绍,分组码的实现是将编码信息分组单独进行编码.因此 无论是在编码还是译码的过程中不同码组之间的码元无关。 卷积码和分组码的根本区别在于.它不是把信息序列分组后 再进行单独编码,而是由连续输入的信息序列得到连续输出 的已编码序列。即进行分组编码时,其本组中的n—k个校验元 仅与本组的k个信息元有关,而与其它各组信息无关;但在卷 积码中.其嫡码器将k个信息码元编为n个码元时.这n个码 元不仅与当前段的k个信息有关,而且与前面的(rⅡ-1)段信息 有关(m为编码的约束长度)。同样,在卷积码译码过程中,不 仅从此时刻收到的码组中提取译码信息,而且还要利用以前 或以后各时刻收到的码组中提取有关信息。而且卷积码的纠 错能力随约束睦度的增加而增强.差错率则随着约束长度增 加而呈指数下降。卷积码(n,k,m)主要用来纠随机错误,它的 码元与前后码元有一定的约束关系,编码复杂发可用编码约 束长度m%来表示。一般地.最小距离d表明了卷积码在连续 m段以内的距离特性,该码可以在m个连续码流内纠正(d一1), 2个错误。巷积码的纠错能力不仅与约束长度有关,还与采用 的译码方式有关。总之.由于n.k较小,且利用了各组之间的 相关性.在同样的码率和设备的复杂性条件下,无论理论上还 是实践上都证明:卷积码的性能至少不比分组码差。 二、卷积编码原理
其输人分别对应于n个基于生成多项式的线性代数方程。
为了对卷积码作进一步说明.下面以卷积码(2.10)为例,
其编码器生成多项式分别为:
GⅡ(n)_x(n)“(n_1)“(n一2)
(1)
G1(n)_x(n)“(n-2)
(2)
由此可以给出该卷积码编码器结构框图(立¨图1).其中x
(n)为编码器输^信息G0(n).G.(n)、为编码器输出信息,D表
为了更好地理解卷积码生成多项式矩阵和编码器之间的
关系,下面再举一个k)1的例子:(3,2,2)卷积码的生成多项式
矩阵为:
∞、:n1埘j
。inl。l+Dj
(4)
由生成多项式矩阵(式4)可以直接推出编码器的结构图2。
卷积码编码器的一般结构包括两部分:一个由m段组成的
输人移位寄存器.每段有k级.共mk位寄存器,n个模2加法器.
执行体的启动并对其活动进行监控。 三、工作流引擎实现 f一)任务表结构 确定型任务表负责保存系统中所有确定型流程的任务实
例待处理记录及任务实例处理的历史记录,工作流引擎定期 扫描该任务表,将任务表中所有待处理的任务实例分发给相 应流程中的相应节点。
示移位寄存器,o代表模2加法器。其工作过程:蕾输^编码
器一个新的信息元x(n),图中两个移位寄存器内的数据均右
移一位.x(n)与前两十时刻输入的信息x(n一1)、x(n 2)按图中
线路所确定的规则(即生成多项式)进行运算,得霉l两个输出
码元G0(n)、G.(n),由此对信息x(n)编码结束。
qn’ ‘J油
由图可以看出网格图非常明了地描述了卷秘码的编码
过程。
三、卷积编码器实现
为了清楚阐述卷积编码器实现过程.下面“上程标准中
的卷积码(2.1,71为例,其编码器生成多项式分别为:
G1(x)=1+x+硭+Ⅺ+x6
(5)
G2(X)=1+硭+X~X5+X6
(6)
图6给出了该卷积码的编码器生成框周,其中X!,科,X4, 搿,x6分别代表6个同步移位寄存器.o代表模2加法器。
3.任务指派。任务指派处理只是针对常规交互活动,通常 情况下,在任务状态由“待定”切换到“等待”过程中完成任务 的指派工作.即处于就绪状态的任务在通常情况下都确定了 其执行者。任务指派过程首先根据任务指派基准确定可以执 行此任务的群体人员.通常情况下这是一个包含多个人员的 集合:然后根据任务指派方法确定由这个群体中的哪些个体 来执行任务.执行任务的个体标识记录在相应任务记录的字 段中。
【收稿日期12006一03一 【作者简介】待健(1966一),男,山东蓑芜人,莱芜职业技术学院计算机系副教授。
万方数据
63一
用图3所示的状态图表示。
图3(2,1,2)卷积码编码器状态囤 由图3所示.随着信息序列不断输入.编码器就不断从一 个状态转移到另一个状态并同时输出相应的码序列,所以图3 所示状态图可以简单直观的描述编码器的编码过程。因此通 过状态图很容易给出输入信息序列的编码结果,假定输入序 列为110100.首先从零状态开始即图示a状态,由于输A信息 为4l”.所以下一状态为c并输出“1l”,继续输入信息“1”,由 图知下一状态为d、输出“01”…一其它输入信息依次类推.按 照状态转移路径a一>c一>d一>b一>c一>b->a输出其对应的编码 结果“11010100101l”。 状态图可以完整的描述编码器的工作过程.但是其只能 显示状态转移的过程而不能显示状态转移发生的时刻.由此 引出用来表示卷积码的另一种常用方法——网格固。网格图 就是时间与对应状态的转移图(如图4),在网格图中每一个点 表示该时刻的状态.状态之间的连线表示状态转移。通过观察 网格图可以发现在刚格图中输入信息x(n)并没有标出,但如 观察到转移后的状态表示(x(n),x(n一1))就可以发现输入信 息已经隐含在转移后的状态中。在图4中还可以发现两个网 格图不同主要集中在转移后状态位置不同。重新排序结构(即 所谓蝶型结构)是为了优化运算而设计的,因为其中蝶型与蝶 型之间是相互独立的。 量蛐搪构
路鞠出
路辅出
图6(2,1,_7)二进制卷积码的编码器
由图6所示的编码器框图可知:在每个时钟有效沿来临
时.模2加法器按生成多项式计算出输人数据的编码结果并
输出到I、O两支路.与此同时移位寄存器开始工作即将所有
移位寄存器右移一位,等待下一个时钟有效沿来临重复上述
过程。
按图6所示结构很容易用vHDL设计出(2,1,7)二进制卷
积码的编码器,其在Ou毗us II生成模块示意图如图7。其中
clk为移位寄存器的移位时钟.培et为编码器的异步复位信号.
Framsvn为帧同步指示信号即表明din上信息为帧内有用信
息,din为输入信息信号,iout、qout为编码器结果的输出信号。
!i描广蕊—蕊—i…—一—l
纠A “B
>E_]ao
q呲卜{|(
门^r:]味 q㈨ oli蚋
x阻II科班.2} 囤2(3,2.2)二进制卷积码的编码器 (二)网格圈 在介绍网格圈之前让我们首先来了解一下卷积编码器 的状态图,将编码器寄存器中的内容组合(x(n—1)、x(n一2))定 义为编码器状态。如仍以前面所举的例子(2,l,2)为侧,则该编 码器的状态有四种:00,10,01和11,下面分别用a.b.c,d来 代替。编码器在每一个时钟沿打人一个输入信息x(n).因此图 示寄存器组合内容就变为(x(n).x(n—1))即状惫发生了转移, 并同时输出c0(n)、G,(n)。由此我们可以将固l所示编码过程
图4网格田 下面就让我们来看看网格图是如何描述卷积编码过程 的:仍以f2,1.2)为例,假定输入序列为101101叭00,起始状态 (零时刻)为状态a(零状态)。第一个有效时钟沿来临后,编码 器接收到输入信息“1”.根据图4所示网格图知该时刻(即时 刻1)状态为c,并输出其对应的编码结果“n”,同样在下一个 时刻(时刻2)接收到输入信息“O”,状态变为b并输出“10”,接 下来的输入数据依次类推…….由此我们可以用网格图作出 该例子的卷积编码过程,如图5所示,其中两个状态连线之间 的信息为输出结果。
瑶一‰* l-
)÷一dh
lnn
囤7卷积编码器的模块图 四。编码器仿真与验证 我们采用madaI,来验证模块设计的正确性.在maⅡab 6.5
里有卷积编码函数㈣㈣可调用。在本倒中涉及到的参数分
别设置为IC=171、OG=133、K;7,所以将上述参数代人卷积编 码多项式转换成网格描述的函数polv2trellis中即可完成con—
表示.则
m8&j=[1lOl01101011 01],m8艮q=【1000100¨0叭¨] 而FPcA在输人din=口0110101000000]序列后iout、qout 仿真图如图8所示。
图5同格图描述巷积编码过程
一64 万方数据
:.∥ 。广..
囤8卷积编码仿真图 从仿真用8可以看出,由于帧『司步指_i(下转第68页)
4.依赖检查。在工作流引擎中,业务规贝唾可以分解成活动 的前依赖规则和活动的后转发规则。依赖检查指的是活动的 前依赖规则的检查,调度中心在将任务切换到就绪状态之前 将进行相关的前依赖规则检查,只有满足检查条件的任务才 可以进行状态的切换。
前依桢规则包含顺序、与汇聚、或汇聚和投票汇聚四种规则: 第一。对于顺序前依赖规则,从前趋活动流转到当前话动 跟其他前趋活动设有关系,当前活动的启动没有其他约束条 件.相应任务可以立即由“待定”状态转换到“等待”状态。 第二.对于与汇聚前依赖规则.相应记录要指明所有参与 与正聚的其他前趋活动,只有所有相关的前趋活动均到达各 自指定的结束状态.当前活动方可启动。 第三.对于或汇聚前依赖规则.前依籁括动集为空集,此 规则的检查将涉及到业务括动表中的或汇集标志,其取值可 以是所有相关的前趋活动的结柬标记之一或者是一个特殊的 标记。如果或汇集标志不是一个特殊标记,则将检查相应前趋 活动的结束标记是否和或汇集标志相同,若相同,则启动当前 活动.若不相同.则不作任何处理。如果或汇集标志是一个特 殊标记,则首先结束的前趋活动将启动当前活动,后结束的活 动将被丢弃。 第四.对于投票汇聚活动,前依齄活动集同样为空集,当前 活动要等到属于同一批次任务数目达到设置的要求方可肩动。 5.转发控制。当应用发出“结束任务”的外部请求时.该请 求将触发调度中心启动“转发控制”。转发控制的主要依据在 工作流数据模型中定义的后转发规则.后转发规则定义了当 前活动与其后继活动之间的关系。 6启动控制。启动控制负责常规自动活动的所对应的自动
【文章编号】1008—115l(2006)06—0063—03
毽 Ⅱ一 rl 。rl 。一
图1(2,t,2)二进制巷积码的编码器
描述卷积码编码器过程的方法有很多,如短阵法、多项
式、码树和同格图等『2],这里我们主要介绍和卷积码编码器结
构密田相关的多项式法.以及与卷积码译码密切相关的网格
图法。
卜一)多项式法
请求队列等形式的数据结构。 2.任务管理。任务管理主要根据调度中心的指示完成诸如
任务创建、任务状态的转换以及相关数据的维护等工作。每次 “结柬任务”的外部请求将触发调度中心调履“任务管理”为后 继活动(如果存在的话)创建新的实例,其状銮为“待定”;同 时.其他不同的外部请求也将触发“任务管理7’实施任务状态 的切换。
相关文档
最新文档