与传统亮度增强不同:vivo智能光显技术不伤眼还省电
06-18
摘要:纠错编码广泛应用于各种数字通信、数字广播和数据存储系统中。
随着微控制器、DSP、FPGA等器件的发展,在各种通用硬件平台上实现纠错编码变得越来越容易。
本文基于TI的54系列DSP实现了由常用的RS码、卷积编码、维特比解码、交织技术组成的级联编码,并给出了编码原理和实现方案。
关键词:RS码维特比解码级联纠错码 随着越来越多的系统采用数字技术实现,纠错编码技术也得到了越来越广泛的应用。
例如,在GSM标准中,卷积纠错和块码检错被用于语音信道编码。
美国的蜂窝数字分组数据系统(CDPD)使用m=6的(63,47)RS(里德所罗门)码。
CDMA标准主要包括卷积编码(Turbo码等)、交织编码、帧周期校验等。
DVD采用RS纠错编码。
近年来,随着软件无线电技术的发展,纠错编码普遍在通用硬件平台上实现,这有助于保证灵活性和通用性。
通常使用基于FPGA的VHDL编码硬件,或者在DSP或微控制器上使用C和汇编编程软件来实现。
本文基于TMSC54X的DSP实现RS+交织+卷积的级联纠错码。
1 级联纠错编码原理 纠错编码技术通过引入可控冗余来提高系统的可靠性。
其理论基石是香农在《通信的数字理论》中提出的著名的受扰信道编码定理。
纠错码根据不同的分类标准有不同的分类。
我们常用的是按照处理信息元素的方法不同来分类,分为分组码和卷积码。
分组码将信源输出的信息序列划分为具有k个码元的段。
编码器利用该段的k个信息元素,按照一定的规则生成r个验证(监督)元素。
输出长度为n=k+r的码组。
比较常用的有BCH码、RS码、汉明码等。
卷积码将输出源输出的信息序列分成k0个(k0通常小于k)个码元的段,编码器输出一个长度将n0(≥通常小于k)个码元分成一段,并通过编码器输出长度为n0(≥通常小于k)的码元分为一段,编码器输出n0( ≥k0)。
然而,该代码段的n0-k0个校验元素不仅与本组的信息相关,还与之前m段的信息元素相关。
m称为编码存储。
因此,卷积码用(n0,k0,k)表示。
由信道编码理论可知,随着码长n的增加,译码错误概率呈指数趋近于0。
因此,为了提高纠错码的有效性,必须使用长码。
但随着码长的增加,码率会相应降低,解码设备的复杂度和计算量也会相应增加。
级联代码可以有针对性地解决这个矛盾。
将编码过程分为前后几个串行阶段,可以满足信道纠错的编码长度要求,获得与长码相同的纠错能力和较高的编码增益;并且增加的编解码复杂度也不是很大。
。
其原理框图如图1所示。
级联编码有两级:内码和外码。
内码是GF(2)上的[n,k]码,外码是GF(2k)上的[N,K]码。
编码规则如下。
①首先将k×k个二进制信息元分为K段,每段有k个信息元。
②每段的k个信息元素可以看作GF(2k)上的一个符号。
根据外码的编码规则将K个符号编码成外码。
码长为N,有K个信息符号,N-K个校验符号,最小码距为do,码率Ro=K/N。
③外码的每个符号被视为k个二进制码元的码组。
当内码编码器被输入时,获得存储器。
代码长度为n,校验元素有n-k个。
最小码距为di。
码率Ri=k/n,从而得到N[n,k]个内码的码字序列。
二级编码总共得到N×n个二进制码元和K×k个信息元,形成[K×n,K×k,do×di]级联码的编码。
我们选择的外码为RS(31, 15)码,生成多项式为G(X) = 1 + x2 + x3,内码采用卷积码(2, 1, 7),其生成多项式为G0 = , G1= (全八进制)。
RS码是GF(q)(q!=2)上的原始BCH码,码长N=q-1。
具有很强的纠错能力。
其最大可能的最小距离为校验元素个数加1。
因此,RS码是最大最小距离可分离码(MDS),也是最优的线性循环码。
本例中使用的RS(31, 15)码的汉明距离为17,可以纠正8个错误。
交织技术是抵抗突发干扰的重要手段。
它采用交织矩阵,存储方向与传输方向不同,从而离散化突发错误,提高抗突发干扰的能力。
该方案中RS码按行存储、按列发送,每列进行卷积编码,可以抵抗8×列长的突发干扰。
卷积编码维特比软判决译码可以充分利用各码组之间的相关性,提高较高的编码增益。
各分量码和级联的纠错性能仿真图如图 2 所示。
2 级联码的 DSP 编程实现 由于 RS 码和卷积码的维特比译码计算量都较大,因此需要较大的存储空间量。
该方案中,在kbps信道上实现时,RS码的解码运算量为8MIPS,维特比解码需要14MIPS。
整个编解码程序需要24MIPS,因此在TMSC54X芯片上实现。
使用TI推出的XXA进行编程开发。
考虑到编程的可移植性、可读性和效率,采用C语言和DSP汇编语言混合编程的方式实现。
由于程序计算量较大,维特比译码算法采用DSP汇编语言实现。
部分结构如图3所示。
接下来详细介绍整个系统的关键部分RS码迭代译码和卷积码维特比译码的编程。
2.1 RS码迭代解码的实现 RS解码包括频域解码和时域解码。
比较常用的解码方法是时域迭代解码。
解码的主要步骤如下:①从接收到的码字r(x)中求出校正子Si部分的值。
若Si全为0,则输出接收到的码字r(x); ② 根据校正子Si=1,2,…K求出σi(i),确定误差多项式σ(x); ③通过搜索方法求出σ(x)的根,进一步确定误差位置βi; ④ 从偏伴随公式 Si 及其误差位置 βi 中求出误差大小; 5、根据错误位置和错误大小计算错误多项式e(x),并计算c(x)=r(x)-e(x); 6.验证是否成立。
如果成立,则输出c(x),否则输出r(x)。
编程的关键在于域中操作的实现。
对于 中的乘法,可以将元素以指数形式表示,从而将乘法运算转化为加法运算。
对于域中的加法,我们使用向量表示,从而将加法运算转换为按位异或运算。
因此,我们需要设计两个查找表。
当遇到加法运算时,可以方便地将元素从指数形式转换为向量形式;当遇到乘法时,可以将元素从向量形式转换为向量形式;相乘时,元素可以从向量形式转换为多项式形式。
下面给出的是,在GF(2 4)域中,将元素从指数形式转换为向量形式查找表Alpha_to,从向量形式转换为指数形式查找表Index_of,其中该域的生成多项式为 g(x)=x5+x2。
Int Index_of[]={-1,31,1,18,2,5,19,11,3,29,6,27,20,8,12,23,4,10,30,17, 7,22,28,26,21,25,9,16,13,14,24,15}; Int Alpha_to[]={1,2,4,8,16,5,10,20, 13,26,17,7,14,28,29,31,27,19,3,6,12,24,21,15,30,25,23,11,22,9,18,1}; 根据以上我们可以很容易地进行计算。
例如,伴随表达式的计算程序如下: for(j=0;j 是域中的原始元素。 2.2 卷积码维特比译码的实现 维特比译码算法是一种最大似然算法。 它不是在网格图上按顺序比较所有可能的路径,而是接收一段,计算、比较,保留整个代码序列最可能的路径,即最大似然序列。 即便如此,维特比译码算法的计算量仍然巨大,并且随着卷积码末端长度的增加呈几何级数增长。 2.2 卷积码维特比译码的实现 维特比译码算法是一种最大似然算法。 它并不是在网络图上按顺序比较所有可能的路径,而是接收一段,计算、比较,保留最可能的路径,从而使整个编码序列是最大似然序列。 即便如此,维特比译码算法的计算量仍然巨大,并且随着卷积码约束长度的增加呈几何级数增长。 因此,如何减少计算量并尽可能使用末端长度较长的代码就成为维特比译码程序设计的关键。 54X系列DSP中的结构和指令系统可以通过复杂的算法和编程快速实现维特比译码。 很多卷积码网络图中都存在蝶形结构,因此可以利用DSP的加法、比较和存储单元(ACS)来快速实现蝶形运算。 DSP的双字节指令可以在一个周期内完成单字节的加法和减法运算。 指令系统包括单寻址重复操作和块指令重复操作。 总之,充分利用DSP芯片的特性进行编程,可以达到更快的速度。 蝶形单元操作宏编程如下: BFLY_DIR .macro DADST *AR5, A; A=Old_Met(2*j)+T//Old_Met(2*j)-T DSADT *AR5+ ,B ;B=Old_Met(2*j)-T//Old_Met(2*j)+T CMPS A,*AR4+ ;新_Met(j)=(最大(旧_Met(2*j)+T, ;旧_Met(2*j)-T)TRN=TRN<<1 ;If( Old_Met(2*j)+T= 解码的数据流,不可能等待所有输入都被解码,因此实验表明,当存储路径为约束长度为5倍时,每条路径的前端节点都会收敛,因此不存在。 需要等待接收完成后再输出。 在编程中,我们使用fixed。 维特比译码算法的长度为一帧长度。 因此,需要在卷积码的程序员端添加0,这样就需要在卷积码的编码器端添加编码器的状态,使得编码器的状态最终回到0。 同样,解码器端最终收敛到0状态。 结论 本文讨论了TMSC54X上RS+交织+卷积的级联编码技术,并给出了性能仿真和编程实现。 一些关键想法。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-17
06-18
06-17
06-08
06-17
06-18
最新文章
PCBA质检员的日常工作内容
美国法院裁定VoIP不属于电信服务,需征税
雷达嵌入式工控主板如何使用?工控主板故障分析
摩托罗拉在西班牙促销Z8手机
中宇买下了一台三星机型,品牌和规模是合作的主要原因
舰载军用加固计算机热设计
谷歌开始对仍由HTC生产的谷歌手机进行内部测试
英国EE分享LTE发展经验教训,面临终端-语音-回传三大挑战