则对于输入向量x,xHT?HxT是一个n?k列的向量。如果把这个向量看作是一个十进制数的二进制表示,向量的第一个元素表示最高位,则可以把向量表示成一个介于0和2n?k?1之间的十进制数,这个数值称为“校验子”。如果校验子等于零,则输入信号没有送错;否则,如果校验子x不等于0,则表示输入信号在传输过程中出现错误,这时候,十进制线性解码器把输入信号纠正为矩阵D的第
x?1个行向量。
十进制线性解码器模块有两个参数。 Generator matrix(生成矩阵)
生成矩阵G,它是一个k行n列的矩阵,并且应该与相应的十进制线性编码器的生成矩阵相同。
Decoding table(译码表)
译码表是一个2n?k行n列的矩阵。当译码表Decoding table被设置为0时,由MATLAB自动生成一个译码表。 十进制循环码
循环码除了具有线性码的一般性质外,还具有循环性,即循环码中任意码组循环移动一位(将最右端的码元移至左端,或把最左端的码元移至右端)之后,仍然是这个循环码中的一个码组。一般说来,如果?an?1,an?2,...a1?是一个循环码组,则?an?2an?3...an?1?,?an?3an?4...an?1an?2?等等老师该循环码的码组。在代数编码理论中,为了便于计算,通常用码多项式T?x?来表示循环码中的码组:
T?x??an?1xn?1?an?2xn?2?...?a1x?a0
其中的x只是码元位置的标记。 二进制循环码编码器
二进制循环码编码器(Binary Cyclic Encoder)用来产生一个?n,k?系统循环码(即信息位不变,监督们附加在信息位的后面),其中n?2m?1,m?3。二进制循环码编码器模块的输入信号是一个k维行向量,输出信号是n维行向量。二进制循环码编码器模块及其参数设置对话框如图。
二进制循环码编码器模块可以由用户自己指定下一个生成多项式,也可以由MATLAB自动产生下一个生成多项式,这是通过调用MATLAB函数cyclpoly(n,k,’min’)实现的。
二进制循环码编码器模块有两个参数。 Codeword length N(码字长度)
循环编码的码字长度,它等于二进制循环码编码器产生的输出信号的长度。 Message length K,or generator polynomial(信息位长度/生成多项式)
当本参数被设置为一个标量时,它表示信息位的长,即二进制循环码编码器输入信号的长度,这时候由MATLAB自动产生产生一个生成多项式;当本参数设置为一个二进制向量时,它表示二进制循环码的生成多项式。 二进制循环码解码器
二进制循环码解码器(Binary cyclic Decoder)用于对二进制系统循环码进行解码,
它的输入信号是一个长度为n的向量,其中n?2m?1,m?3根据生成多项式还原得到长度为k的二进制序列。二进制循环码解码器模块及其参数设置对话框如图所示。
与二进制循环码编码器模块一样,二进制循环码解码器模块中的生成多项式既可以由用户自己指定,也可以由MATLAB自动产生。值得注意的是,解码器中的生成多项式应该与编码器中的生成多项式保持一致。二进制循环码解码器模块有两个参数。
Codeword length N(码字长度)
循环编码的码字长度,它等于二进制循环码解码器输入信号的长度。 Message length K,or generator polynomial(信息位长度/生成多项式)
当本参数被设置为一个标量时,它表示信息位的长度,即二进制循环码解码器输出信号的长度,这时候由MATLAB自动产生一个生成多项式;当本参数设置为一个二进制向量时,它表示二进制循环码的生成多项式。
错误率统计
错误率统计模块(Error Rate Calculation)分别从发送端和接收端得到输入数据,对这两个输入数据进行比较,并且根据比较的结果计算错误率。如果输入信号是二进制数据,则统计的结果是误比特率,否则,统计得到的结果是错误符号率。值得注意的是,错误率统计模块只比较两个输入信号的正负关系,而不具体地比较它们的大小。错误率统计模块及其参数设置如图所示。
相关推荐: