1、导言
现在,无线产品的广泛运用使无线音频和视频的高质量传输成为可能。蓝牙、无限局域网等无线传输设备比较复杂,本钱较高,急需开发一种简洁的、仅用于流媒体的无线传输渠道,将音频数据实时地发送到移动终端。因为音频数据的实时性,不宜选用反应重传等形成很大时延的过失操控方法。前向纠错码(FEC)的码字是具有必定纠错才干的码型,它在接纳端解码后不只能够发现过错,并且能够判别过错码元地点的方位并主动纠错。这种纠错码信息不需求贮存,不需求反应,实时性好,故可挑选前向纠错来完结过失操控。
规划的体系方针如下:
●当信道误码率为3×10-3时,经过前向纠错,误码率降到10-7以下;
●数据源运用的是S/PDIF民用数字音频格局规范;
●信号时延远小于人的分辩才干(40ms);
●芯片资源耗用不超越20万门;
RS码即里德-所罗门码,它是能够纠正多个过错的纠错码,具有一起纠正突发性过错和随机性过错的才干,并且编解码相对简略。考虑到体系的误码率和资源耗用,拟选用RS码作为前向纠错码。
在无线信道中,比特过失常常成串产生,这是因为持续时间较长的衰落谷点会影响到几个接连的比特,而信道编码仅在检测和校对单个过失和不太长的过失串时才最有用。为了纠正这些成串产生的比特过失及一些突发过错,能够运用交错技能来涣散这些过错,使长串的比特过失变成短串过失,然后能够用前向码对其纠错。
用本体系传输数据时,在发端先对数据进行RS编码(外码),再进行交错处理,终究再进行RS编码(内码)。收端次第和发端相反,先进行内码解码,接着进行去交积处理完结过错涣散,终究进行外码解码,纠正内码未能纠正的过错。经过这种2维的RS编解码,能够充分利用RS码纠错才干强的特色,下降体系的误码率。也可考虑运用迭代译码。若1次2维译码的作用无法满意需求,则将译码后的数据反应回译码器,进行1次迭代译码。迭代次数的添加会带来相应的资源开支和时延的添加。
2、体系结构及完结
纠错编码运用2维RS码。内码选用(10,8)Rs码,q=4,每个码字含32bit数据。外码选用(20,16)RS码,q=8,每个码字含128个数据。交错器巨细为1 280bit。以1 280bit为1帧,帧之间预留信息时隙。
下面具体介绍交错器,解交错器和(20,16)RS编码器,解码器模块的原理及FPGA完结。(10,8)RS编码器,解码器的原理与(20,16)RS编码器,解码器根本相同。
2.1(20,16)RS编码器
RS码是BCH码的重要子类。因为具有一起纠正突发性过错和随机性过错的才干,且纠正突发性过错更有用,因而被广泛地运用。
(20,16)RS编码器完结RS编码功用,每输入16个码元,推迟1个时钟原样输出,并在这以后添加4个校验码元,构成20个码元的输出码字。因而数据输入16个码字后应预留至少4个码字的空地,防止数据丢掉。
(20,16)RS是(255,251)RS的缩短码,它是在有限域GF(28)上运算得到的,把(255,251)RS的前235个码元都当作0就得到(20,16)RS码。码参数如下:
码长N=20,信息位个数K=16,校验位N-K=4,纠错才干T=2,码距D=5;
来历多项式:
生成多项式:
其间,α是(20,16)RS的来历域元素。
编码选用除法方法完结,其原理如图1所示。
整个电路实际上是GF(28)的除法电路。图中乘单元的系数是生成多项式G(x)的对应项系数,对应的除法电路的除数是
被除数的系数是输人数据的8bit码元,依照输入次序进行降幂摆放。第1个输入码元是x19的系数,终究1个输入码元是x4的系数。系数都是来历多项式P(x)生成的二元扩域GF(28)中的元素。在16个码字都输入后,寄存器D1-D4中保存的数据分别是常数项,x项,x2项和x3项的系数,它们便是所得到的校验码。数据挑选电路用来对不同数据进行挑选输出。前16个时钟,输人数据依照次序输出,后4个时钟输出核算得到的校验码。一切输出数据较之输入数据都要推迟1个时钟周期,时钟上升沿同步输出。电路中的首要部分便是GFf(28)中的乘法单元和模加单元。
2.2(20,16)RS解码器
该电路完结(20,16)RS码的解码作业,将20个8bit码元解码为16个8bit的码元。一起输出码字起始信号、数据有用信号和校验位有用信号。解码器的原理如图2所示。
RS码时域译码法首要有P-G-z法、B-M法和欧氏法。因为P-G-Z法要求解有限域上的逆矩阵,不利于完结,因而工程上很少运用。B-M法和欧氏法都是快速递归法,二者等效,易于硬件完结,因而得到广泛运用。在本次规划中,选用的解码算法是B-M算法。
RS码时域译码由以下几步组成:
(4)误码元过错起伏核算电路。此模块的功用是当数据有错时(由s进行判别)核算过错码元的过错起伏。e是核算得到的过错起伏与相应码元相异或得到的值,可消除过错。假如当时码元无错,那么e=0。
(5)输入数据缓存FIFO。此模块的功用是将原始码字推迟必定周期输出,以便与过错起伏的输出同步。由双端口RAM构成的可复位。FIFO完结此功用。
(6)纠错电路。此模块完结终究的纠错功用,经过与误码过错起伏e异或来完结。data_temp是从FIFO输出的数据。data_out即为纠正过错后的数据输出。以上整个纠错进程有43个时钟的延时。
(7)数据输出电路。此模块首要完结2项功用:生成纠错失利信号fail和输出终究数据。fail信号的生成进程其实便是再求1次随同式s。的进程。若核算出的s1不为0,则阐明纠错不成功,将原始输入数据原样输出,一起fail信号输出高电平。不然,阐明纠错成功,将纠错后的码字输出,。fail坚持低电平。本进程有20个时钟的延时。
上面规划的解码电路的要害便是GF(28)域中乘除法单元的硬件完结[6]。依据FPGA存储器资源丰富的特色,规划中选用了查:ROM表的方法来完结乘除功用。
整个电路体系都在同一体系时钟CLK下作业,高电平复位。
2.3交错器组
本规划中,外编码器的输出按行进入1280bit的交错器,1个交错器存储32个外码码字,然后对交错器的内容按列读出。依据交错器的特性,需求将数据彻底装入后才干读出。在读出时,不能向交错器内写数据。数据的输入是接连的,需求具有缓存功用的模块对数据进行缓存。选用1组2个交错器轮番读写的方法来确保数据的接连性。2个交错器的输出也是轮番进行的,当1个交错器填充结束进行输出时,来自外码编码器的数据将被存储到另1个交错器中。交错器组的架构如图3所示。
本规划中,交错器的巨细是1280bit,这首要是依据以下几方面的考虑。
(1)交错器不宜过大。因为有必要彻底写满后再读出,数据经过交错器的推迟与交错器巨细成正比。因而,较大的交错器会影响整个体系的延时。所以,在确保作用的前提下,交错器要规划得尽量小。
(2)交错器的巨细存在下限,即交错器有交错深度的最小约束[7]。以本规划为例,接纳时第1级解码为(20,16),第2级为(10,8),则第2级的每个码字中不该有2个码元来自于第1级解码器的输出。不然,假如第1级解码器有未成功的解码(多于2个过错码元),则第2级解码器的输入码元中存在多于1个的过错码元的概率大大添加。因而,在本规划中,交错器的下限为第1级解码器的输出码字的10倍,也便是160字节。规划选用的交错器巨细恰为下限。
3、体系验证及定论
体系的全体完结与时序验证均运用Altera0uartusIl4.2和Modelsim5.7完结。FEC体系中各个模块及顶层操控部分悉数运用VerilogHDI。规划。完结时挑选的方针器材是Altera Cyclone公司的EPlC20F400C7。
对整个测验体系的编译成果如下:
在各种信道误码率和不同频率下进行了电路测验,测验成果如表1所示。
依据以上剖析,本规划到达了性能方针。当误码率恰当下降时,纠错作用的提高十分显着。该体系在对S/PDIF格局的音频数据进行编码和解码时共延时3ms。若作业于更高频率,则延时可按份额减小。选用双相标识码串行输入作为数据来历时,数据吞吐量最大可到达32Mb/s,若选用其他数据来历,数据吞吐量最大可达178Mb/s。因而,此体系不只可对音频信号进行前向纠错编解码,还可运用于数据量更大的视频信号等的其他数据传输。
责任编辑:gt