0 导言
数字电视广播需求将高质量和高牢靠的图画、声响、文字和数据等信息快速、高效地传输到接纳方,但传输中发生杂散电磁波搅扰或许存在多径反射和阻抗不匹配时,接纳端就很简单发生误码,形成康复数据呈现过失,乃至彻底康复不了本来的数据,使得数字电视广播的高牢靠性大大下降。
为了进步传输体系的牢靠性,需求在数字调制之前对数字基带信号进行前向纠错编码,也便是信道编码,信道编码的意图便是数字电视体系的抗搅扰才能,使码在传输中即便有各种搅扰,接纳端依然能够正确接纳。
1 RS码编码原理
RS(n,k)码,也写成RS(n,k,2t),对错二进制码。它是由k个m-bits的输入数据流,加上由k个m-bits的输入数据流生成的2t个m-bits的校验数据流而发生的n个m-bits数据流。具有以下的特性:
①0kn2m+2。一般n=2m-1。②2t=n-k。t表明纠错的最大才能。③最小码距d0=2t+1。
RS(n,k)码是一种多进制线性分组码。构成RS(n,k)码常用以下的体系编码方法:
其间a是来源元。r=n-k,t是纠错的最大个数,modg(x)表明除以g(x)的余数。
2 规划完成
RS(204,188)码实际上是RS(255,239)码的切断码,常用于数字电视的信道纠错。
在数字电视中RS码一般是以帧的方式来传输的,一帧又有八个数据包,因而接连编码就有特别的必要。编码时先输入51个是零的数据,得到编码后将前面51个数据丢掉。要得到RS(204,188)的编码先要得到域元素,能够凭借MATLAB软件来取得。程序如下:m=8;%每个符号的比特数;n=2∧m- 1;%编码后码字长度;
k=n-16;%信息长度;gfelement=gftuple([-1:n-1]’,m)%发生加罗华域元素;
还能够来求生成多项式g(x).g(x)=(x+1)(x+a)…(x+a15)
程序如下:
N=255;k=239;b=0;gx=rsgenpoly(n,k,[],b)%[]表明缺省的本元多项式。
能够得到g(x):
还能够输入一组数得到它的编码程序如下:
m=8;n=255;k=239;b=0;
genpoly=rsgenpoly(n,k,[],b);%发生生成多项式
code=rsenc(msg,n,k,genpoly)%信息码,前面51个为零,共239 bytes得到的校验码是:
48,168,46,159,119,162,72,132,139,235,172,28,76,175,171,238.
硬件规划时常用LFSR(线性反应寄存器)来完成,能够图1表明。
运算电路中首要运算是常系数的加罗瓦域乘法,假如有一个八位的二进制数:
域中的数相乘成果仍在域中,那就设成果为r(a)。则有
r(a)=b7a7+b6a6+b5a5+b4a4+b3a3+b2a2+b1a+b0。
与上式相比较就有:
b7=a6;b6=a5;b5=a4;b4=(a7+a3);
b3=(a7+a2);b2=(a7+a1);b1=a0;b0=a7;
同理能够得到编码需求的定系数伽罗瓦域乘法的成果。
测验时参加前面随机的信息码,得到仿真成果见图3。
由图3能够看出,仿真发生的监督码是:
图3编码仿真输出
48,168,46,159,119,162,72,132,139,235,172,28,76,175,171,238.
与MATLAB软件发生的编码比较可知成果是正确的。归纳今后的电路示意图见图4所示。
用Virtex4的4vlx15sf363-11进行归纳,占用352个SLICE,作业频率能够到达233.568 MHz。
3 定论
先选用MATLAB软件取得了域元素、生成了多项式和编码,极大地减轻了核算量。经过改进编码结构。正确取得了编码,也完成了编码的接连性,在工程中有很大的有用含义。