码,BCH码只能对特定长度为k的信息序列进行编码。 (1)BCH码编码器
把k位信息序列转换成n位编码序列,它的输入信号包含k个元素,输出信号是一个长度为n的向量,其中n=2m-1,m 3。其编码器模块及参数对话框如图3-5所示。
对BCH码来说,当确定了码字长度n(只能取2p=1,P<10是正整数)之后,只有对应特定的信息序列k才能产生BCH码。MATLAB中提供了一个函数bchpoly(),用于验证当n等于7、15、31、63、127、255或511时哪些参数k是有效的。图3-6程序分别列出了当n等于31和63时所有k的数值。
图3-5 BCH码编码器模块及其参数对话框
图3-5
BCH编码器的主要参数:
1)Codeword length N:BCH码的码字长度,等于BCH码编码器模块的输出向量长度。
2)Message length K:BCH码的信息位长度,等于BCH编码器模块的输入向量的长度。
(2)BCH码译码器
如果BCH编码的信息位长度为k,编码后的码字长度为n,则BCH码译码器的输入信号是一个长度为n的向量,并且第一个输出端口的输出向量的长度为k,其中n=2m-1,m 3,k是符合函数bchpoly()的一个输出数值。其模块及参数对话框如图3-6所示。
图3-6 BCH码译码器模块及其参数对话框
主要参数:
1)Codeword length N:BCH码的码字长度 2)Message length k:BCH码的信息位长度
3)Error-correction capability T:表示BCH码译码器的纠错能力。当本参数为0时,MATLAB自动计算BCH码的纠错能力。当用户知道输入的BCH码信号的纠错能力,可以手动设置此项。 3.2.3应用MATLAB对RS码的编译
RS码是一种重要的线性编码方式,有较强的纠错能力,被DVB标准采用。在(n,k)RS码中,输入信号分为k*m比特为一组,每组包括k个符号,每个符号由m个比特组成。 (1)整型RS码编码器
假设RS码的码字长度为n=2m-1。信息位的长度等于k,则监督位的长度r=n-k.。为了纠正t个符号的错误,需要2t个符号的监督码,这样RS码的监督位长度r和t之间应该满足关系:r=n-k=2t,因此RS码的码字长度与信息位的差值应该是一个偶数,同时,RS码的最小码元距离d0=r+1=2t+1。其编码器模块及参数对话框如图3-7所示。
图3-7 整型RS编码器模块及其参数对话框
主要参数:
1)Codeword length N:RS码的码字长度n. 2)Message length K:RS码的信息位长度k 3)Specify primitive polynomial:指定本原多项式 4)Primitive polynomial:本原多项式
5)Specify generator polynormial:指定生成多项式 6)Generator polynormial:生成多项式 (2) 整型RS码译码器
图3-8整型RS译码器及其参数对话框
整型RS码译码器用来实现对M进制(n,k)RS码的解码。其模块及参数对话
相关推荐: