一种线性分组码编译码器的设计和实现

时间:2011-08-12

    在通信系统中,由于信道存在大量的噪声和干扰,使得经信道传输后的接收码与发送码之间存在差异,出现误码。在数字通信系统中常采用差错控制信道编码技术,以此来减少传输过程的误码,提高数字通信系统的传输质量。它的基本原理是:发送端的信道编码器在信息码元序列中按照一定的关系加入一些冗余码元(称为监督码元),使得原来相关性很小的信息码元产生某种相关性,从而在接收端利用这种相关性来检查并纠正信息码元在传输中引起的差错。冗余度的引入提高了传输的可靠性,但降低了传输效率。

    VHDL语言是一种用于电路设计的语言。它在80年代的后期出现。初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 .VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

    1 线性分组码

    分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。当分组码的信息码元与监督码元之间的关系为线性关系时,这种分组码就称为线性分组码。

    分组码是对每段k 位长的信息组,以一定规则增加 r = n - k个检验元,组成长为n 的 序列:( cn-1,cn-2, . . . , c1,c 0) ,称这个序列为码字。在二进制情况下,信息组总共有2 k 个( q 进制为q k个) ,因此通过编码器后,相应的码字也有2^k 个。称这2^k 个码字集合为( n , k) 分组码。n长序列的可能排列总共有 2^n 种。称被选取的2^k 个 n重为许用码组,其余 2^n - 2^k 个为禁用码组。称R = k / n为码率。对于长度为n的二进制分组码,可以表示成(n,k),通常用于前向纠错。在分组码中,监督位加到信息位之后,形成新码,在编码中,k个信息位,被编为n位长度,(n-k)个监督码的作用是实现检错和纠错。

  2 线性分组码编译码器设计

  2.1 线性分组码编码器设计

  设

公式

    ,由于生成矩阵G是k行n列,所以k=3,n=6,改(n,k)码为(6,3)码。根据生成矩阵和式(1)运算后得到相应的编码。即由:

公式

  可得:

公式

  COUT=(C0,C1,C2,C3,C4,C5)为编码输出,其中前3个分量为增加的监督码元,后3个为原输入信息位。

 

  2.2 线性分组码译码器设计

  将生成矩阵G进行初等运算:原矩阵的第2,3,1行分别作为典型矩阵的第1,2,3行,可得典型生成矩阵:

公式

  于是,典型监督矩阵H为:

公式

  监督码元与信息码元之间的关系称为监督方程式(监督关系式),监督矩阵的每行中“1”的位置表示相应码元之间存在的监督关系,即下述三个监督方程:

公式

  发送的码字C=(C0,C1,…,Cn)。e表示传输中的差错;Y表示接收的码字。如果码字在传输过程中没有出现差错,则有公式HYT=HeT=O;出现差错时,则有,S=eHT。其中,S称为伴随子,又称为校正子。由于S只与序列传输中的差错e有关,因此在编码的能力之内,一定的e序列必然对应一定的S组合。可以在接收机中做好对应表,然后根据序列S准确地判断差错位置,再根据出错位置进行纠正,可得到正确的译码输出。根据式(2)可计算接收矢量Y的伴随子S=Y·HT。这里:

公式

  错误图样即校正子与错码位置的关系,因为r=3,所以有3个校正子,相应的有3个监督关系式。将式(3)改写为:

公式

  则可得由伴随子S决定对应的错误图样集e,即为典型监督矩阵的转置HT,如表1所示。

错误图样表

  3 仿真及分析

  图1、图2分别为线性仿真分组编码器、译码器电路的仿真波形。图中各参数含义如下:clk是系统时钟信号输入;UI是编码器中三位线性分组码的输入;CO是编码器中六位编码的输出;Y是解码器中六位编码的输入;c是解码器中六位译码的输出。

线性仿真分组编码器

  在图1、图2中,截取了仿真的部分波形进行分析,产生的六位编码CO、六位译码Y完全依据线性分组码的编译码规则,任意两个许用码组之和(逐位模2加)仍为一许用码组,即具有封闭性。

  4 结语

  对线性分组码编、译码器的设计基于VHDL(硬件描述语言),与传统设计相比较,采用VHDL语言设计的线性分组码编、译码器无需考虑具体电路的实现,只需要掌握编译码原理,根据相应的编译码规则转换成VHDL语言,大大减少了设计人员的工作量,提高了设计的准确性和效率。程序已在Max+PlusⅡ10.O工具软件上进行了编译、仿真和调试。经过实验结果的分析,说明本设计是正确的。本文给出的设计思想也适用于其他基于PLD芯片的系统设计。
  

上一篇:一种车顶天线布局的电磁兼容的实现
下一篇:浅谈基于DDS和FPGA技术的高动态扩频信号源

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料