单位文秘网 2021-10-05 08:31:34 点击: 次
摘 要:数字信号在传输过程中受到干扰的影响,降低了其传输的可靠性,线性分组码作为一种常用的信道编码,在通信传输系统中应用广泛。在对线性分组码的编译码规则研究基础上,讨论了生成矩阵、监督矩阵与错误图样集之间的关系,在Max+Plus Ⅱ开发环境中,用VHDL语言设计线性分组码编译码器,对其各项设计功能进行了仿真和验证。结果表明,该设计正确,其功能符合线性分组码编译码器的要求。
关键词:信道编码; 线性分组码; Max+Plus Ⅱ; VHDL
中图分类号:TP391 文献标识码:A
文章编号:1004-373X(2010)09-0116-02
Design of Linear Block Codes Based on VHDL
TANG Bing-hua, SHUI Qi-jun
(Department of Physics and Engineering Technology, Sichuan University of Arts and Science, Dazhou 635000, China)
Abstract: The interference reduces transmission reliability when digital signal is transmissed in signal path. Linear block code is widely used in communication transmission system as a common channel coding. The generating matrix, monitoring matrix and the relationship between the error pattern sets are discussed based on the coding and decoding rules of linear block codes. The Max+Plus Ⅱ software simulation and verification shows that its function comforms to the linear block code encoding and decoding device requirements.
Keywords: channel coding; linear block codes; Max+Plus Ⅱ; VHDL
在通信系统中,由于信道存在大量的噪声和干扰,使得经信道传输后的接收码与发送码之间存在差异,出现误码。在数字通信系统中常采用差错控制信道编码技术,以此来减少传输过程的误码,提高数字通信系统的传输质量[1]。它的基本原理是:发送端的信道编码器在信息码元序列中按照一定的关系加入一些冗余码元(称为监督码元),使得原来相关性很小的信息码元产生某种相关性,从而在接收端利用这种相关性来检查并纠正信息码元在传输中引起的差错。冗余度的引入提高了传输的可靠性,但降低了传输效率。
1 线性分组码
分组码是由一组固定长度为n,称之为码字的矢量构成的。线性分组编码时,将每k个信息位分为一组独立处理,按一定规则给每个信息组增加(n-k)个监督码元,组成长度为n的二进制码字,这种编码方式记为是(n,k)分组码[2]。信息位和监督位采用的关系式由一组线性方程所决定,称之为线性分组码。
若线性分组码的输入信息位为U=(U0,U1,…,Uk),编码输出为C=(C0,C1,…,Cn),则有如下关系:
C=U•G
H•CT=OT
(1)
式中:G为线性分组码的生成矩阵;H为监督矩阵。当G确定后,编码的方法就完全确定了,而H给定后,编码时监督位和信息位的关系也就确定了。因此,在设计分组码编码器时,需要确定生成矩阵G;在设计分组码译码器时,需要确定监督矩阵H。
2 线性分组码编译码器设计
2.1 线性分组码编码器设计
设G=
0 0 1 0 1 1
1 0 0 1 0 1
0 1 0 1 1 0,由于生成矩阵G是k行n列,所以k=3,n=6,改(n,k)码为(6,3)码。根据生成矩阵和式(1)运算后得到相应的编码。即由:
(C0,C1,C2,C3,C4,C5)=
(U0,U1,U2)• 0 0 1 0 1 1
1 0 0 1 0 1
0 1 0 1 1 0
可得:
C0=U1,C1=U2,C2=U0,
C3=U1+U2,C4=U0+U2,C5=U0+U1
COUT=(C0,C1,C2,C3,C4,C5)为编码输出,其中前3个分量为增加的监督码元,后3个为原输入信息位。
2.2 线性分组码译码器设计
将生成矩阵G进行初等运算:原矩阵的第2,3,1行分别作为典型矩阵的第1,2,3行,可得典型生成矩阵:
G=1 0 0 1 0 10 1 0 1 1 00 0 1 0 1 1=IkQ
Q=1 0 11 1 01 1 0,P=QT=1 1 00 1 11 0 1
于是,典型监督矩阵H为:
H=[PIr]=1 1 0 1 0 00 1 1 0 1 01 0 1 0 0 1
(2)
监督码元与信息码元之间的关系称为监督方程式(监督关系式),监督矩阵的每行中“1”的位置表示相应码元之间存在的监督关系,即下述三个监督方程:
Y0⊕Y1⊕Y3=0
Y1⊕Y2⊕Y4=0
Y0⊕Y2⊕Y5=0(3)
发送的码字C=(C0,C1,…,Cn)。e表示传输中的差错;Y表示接收的码字。如果码字在传输过程中没有出现差错,则有HYT=HeT=0;出现差错时,则有HYT=H(C⊕e)T=HeT=ST,S=eHT。其中,S称为伴随子,又称为校正子。由于S只与序列传输中的差错e有关,因此在编码的能力之内,一定的e序列必然对应一定的S组合。可以在接收机中做好对应表,然后根据序列S准确地判断差错位置,再根据出错位置进行纠正,可得到正确的译码输出。根据式(2)可计算接收矢量Y的伴随子S=Y•HT。这里:
(S0,S1,S2)=(Y0,Y1,Y2,Y3,Y4,Y5)•
1 0 1
1 1 0
0 1 1
1 0 0
0 1 0
0 0 1
S0=Y0+Y1+Y3,S1=Y1+Y2+Y4,
S2=Y0+Y2+Y5
错误图样即校正子与错码位置的关系,因为r=3,所以有3个校正子,相应的有3个监督关系式。将式(3)改写为[3]:
Y0⊕Y1⊕Y3=S0
Y1⊕Y2⊕Y4=S1
Y0⊕Y2⊕Y5=S2
(4)
则可得由伴随子S决定对应的错误图样集e,即为典型监督矩阵的转置HT,如表1所示。
表1 错误图样表
错码位置(e码)S0S1S2错码位置(e码)S0S1S2
Y5101Y1010
Y4110Y0001
Y3011无错000
Y2100
3 仿真及分析
图1、图2分别为线性仿真分组编码器、译码器电路的仿真波形。图中各参数含义如下:
clk是系统时钟信号输入;
UI是编码器中三位线性分组码的输入;
CO是编码器中六位编码的输出;
Y是解码器中六位编码的输入;
c是解码器中六位译码的输出。
图1 线性仿真分组编码器仿真波形
图2 线性仿真分组译码器仿真波形
在图1、图2中,截取了仿真的部分波形进行分析,产生的六位编码CO、六位译码Y完全依据线性分组码的编译码规则,任意两个许用码组之和(逐位模2加)仍为一许用码组,即具有封闭性。
4 结 语
对线性分组码编、译码器的设计基于VHDL(硬件描述语言)[4-10],与传统设计相比较,采用VHDL语言设计的线性分组码编、译码器无需考虑具体电路的实现,只需要掌握编译码原理,根据相应的编译码规则转换成VHDL语言,大大减少了设计人员的工作量,提高了设计的准确性和效率。程序已在Max+Plus Ⅱ10.0工具软件上进行了编译、仿真和调试。经过实验结果的分析,说明本设计是正确的。本文给出的设计思想也适用于其他基于PLD芯片的系统设计。
参考文献
[1]曹丽娜,樊昌信.通信原理[M].6版.北京:国防工业出版社,2007.
[2]曹雪虹,张宗橙.信息论与编码[M].北京:北京邮电大学出版社,2003.
[3]黄智伟.PFGA系统设计与实践[M].北京:电子工业出版社,2007.
[4]曾繁泰,陈美全.VHDL程序设计[M].北京:清华大学出版社,2001.
[5]王锁萍.电子设计自动化(EDA教程)[M].西安:西安电子科技大学出版社,2000.
[6]宋嘉玉,孙丽霞.EDA实用技术[M].北京:人民邮电出版社,2006.
[7]刘云仙.VHDL在数字电路设计中的应用[J].浙江科技学院学报,2004(9):167-168.
[8]潘松,黄继业.EDA技术实用教程[M].北京:科学出版社,2002.
[9]王振红.VHDL数字电路设计与应用实践教程[M].北京:机械工业出版社,2003.
[10]赵俊超.集成电路设计VHDL教程[M].北京:北京希望电子出版社,2002.
(责任编辑:单位文秘网) )地址:https://www.kgf8887.com/show-179-94135-1.html
上一篇:永康中医美容 让祖国医学走向世界
版权声明:
本站由单位文秘网原创策划制作,欢迎订阅或转载,但请注明出处。违者必究。单位文秘网独家运营 版权所有 未经许可不得转载使用