您所在的位置:e-works首页 > 产品创新数字化(PLM) > EDA

汉明码编译码的FPGA设计与实现

发表时间:2008-6-21 盛孟刚 来源:万方数据
关键字:汉明码 EDA FPGA
利用ALTERA公司的FLEXIOK系列芯片设计和实现了汉明码的编译码,详细地阐述了设计的方法和实现的过程。首先进行电路设计,然后在MAX+PLUSH编抖环境下,采用自顶向下的层次设计方法,以及VHDL文本输入的输入方法编制程序,经编译正确后进行波形仿真,经过仿真、调试,验证了功能和时序正确性后,将编择的程序烧写到FPGA。
    0引言
   
    随着差错控制编码技术的蓬勃发展,作为信道传输过程抗干扰的有效手段,其中较为成熟的编码方法如汉明码、奇偶校验码、循环冗余码等编码技术,被广泛应用于计算机、电子通信、控制等各个领域。其中汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。由于它的编译码在工程上较易实现,所以应用广泛。
   
    在电子设计技术领域,可编程逻辑器件的广泛应用为数字系统的设计带来极大的灵活性。同时,ALTERA公司开发的MAX+PLUSII软件U1,具有全集成化的可编程逻辑设计环境,因此可编程逻辑器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计如同软件设计那样方便快捷,极大地改变了传统的数字系统设计方法和设计过程。
   
    本文研究了信道纠错编码汉明码,并提出了利用FPGA实现汉明码编译码的方法,用(8,4)增余汉明码实现具有自动纠错和检错的功能通信软件,可以使码元出错概率达到10的负5次方数量级。
   
    1汉明码的编译码原理
   
    汉明码(Hamming Code)是由RichardHamming于1950年提出的,它属于线性分组编码方式,用以纠正单个错误的线性分组码,在软件无线电中应用广泛。
   
    设原代码的码长为k比特,附加纠错编码部分为r比特,当码字长度n=2r-l,r=n-k,r=1,2…时就称这种线性分组码为汉明码。其基本原理是,将信息码元与监督码元通过线性方程式联系起来,每一个监督位被编在传输码字的特定比特位置上。系统对于错误的数位无论是原有信息位中的,还是附加监督位中的都能把它分离出来。由汉明码的性质可知,(8,4)增余汉明码能纠1位错,检2位错。
   
    2汉明码编码算法的实现
   
    (8,4)增余汉明码全码码元数n=8,其中信息码元数k=4.监督码元数d=4,其监督矩阵为:
   


    对于任何给定的信息码组,都可以由下式求出相应的监督码元,即:
   

本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。

责任编辑:童伟
2
相关专题