RS编码rs(204,188)设计原理

RS编码rs(204,188)设计原理
RS编码rs(204,188)设计原理

11.9.2 RS(204, 188)译码器的设计

RS码在通信系统、数字电视和计算机存储系统中应用很广泛。例如,DVB(数字电视)标准中信道编/解码采用RS(204, 188);A TM网络中使用RS(128, 124)作为前向纠错编码(Forward Error Correcting, FEC)。

本节将以DVB标准中定义的RS(204, 188)译码器为例,详细介绍基于改进的BM迭代算法、pipeline结构的译码的所有技术细节。考虑到译码器的可扩展性、可维护性,实例中尽可能地使用参数化、模块化的设计。读者可在实例代码基础上作很小的改动,就能实现不同需要的RS译码器。

1. 应用背景

在数字通信、数字电视中,信道编码的使用提高了数据传输的质量。虽然增加了传输带宽,但信道编码减小了数据传输出现误码的概率,同时也减小了所需要的信噪比(signal-to-noise rate)。在大多数应用中,将RS码与卷积码级联使用进行纠错。

在自信源至接收的过程中,数字电视信号的编码包括信源编码、信道编码及加密。信道编码又称做前向纠错编码,其目的是提高信息传送或传输的可靠性,当传输差错在一定范围内,接收机都能将误码纠正过来。

必须指出,信道编码并非指信号经上变频发送出去后,在传输信道中(有线、卫星或地面)进行编码,而是指经过编码后便匹配信道传输和减少差错。因此,自信源编码后的所有编码包括能量随机化扰码、卷积、交织、Reed-Solomon编码等都可划为信道编码。典型的数字电视信道编码如图11-73所示。

为信息位,t为能纠正误码的最大的码位,且RS外码编码的特点是纠正与本组有关的误码,尤其对纠正突发性的误码最有效。通常,n、k、t分别为204、188和8。

如图11-74所示为"EN 300 429"有线数字电视(DVB-C)标准规定的发送端(Cable Head-end)框图,其中包括了数据帧结构(Framing structure)、信道编码及调制。可以看到,使用了RS(204, 188)编码。

2. 理论算法

RS译码主要有时域译码和频域译码,时域译码通常采用BM迭代算法或者欧式算法(Euclid's Algorithm)。本文主要介绍BM迭代算法原理及以此算法为基础的RS译码器的FPGA实现。RS译码可分为4步:第一步由接收到的码组计算伴随式;第二步求解关键方程;第三步计算出错误图样;最后由错误图样和接收码组计算出可能发送的码字。图11-75给出了RS译码器的一般步骤框图。

由伴随式计算错误位置多项式的迭代译码算法,这极大地加快了求解错误位置多项式的速度,该方法简单且易于实现,从而从工程上解决了RS译码的问题;1969年梅西(Massey)指出了该算法与序列的最短线性移位寄存器综合之间的关系,并进行了简化,因此,此译码算法就称为BM迭代译码算法。

(1)Reed-Solomon码基本概念

RS循环码是广泛用于数字电视传输系统中的前向纠错码的重要组成,是一个符号取自有限域GF(q),长度为n,信息位长为k的(n, k)线性分组码。其中的任何码矢C = (Cn-1,…, C1,

同理,DFT的逆变换IDFT定义为:

如果通过接收到的R求出伴随式S,能够解出关键方程,然后又解出(x)和(x),就可以很容易地恢复错误图样E。后面会介绍高效的Chien搜索及Forney算法用于恢复E。最后,通过计算C = R - E,就得到了发送码字C。下面将介绍关键方程的求解。

(3)BM及其改进算法求解关键方程

1966年伯利坎普(Berlekamp)提出了可以由伴随式计算错误位置多项式的迭代译码算法,这极大地加快了求解错误位置多项式的速度,该方法简单且易于实现,从而从工程上解决了RS译码的问题;1969年梅西(Massey)指出了该算法与序列的最短线性移位寄存器综合之间的关系,并进行了简化,因此,此译码算法就称为BM迭代译码算法。

在VLSI设计中,RS解码时的关键方程求解比较复杂,主要有以下三种方法:Berlekamp-Massey(BM)算法、Euclidean算法、PGZ 算法。当错误个数(t>3)值较大时,一般认为BM算法占用最少的面积和时间及相对小的结构复杂度。但是,BM算法涉及到有限域元素求逆(inverse),这是个很复杂、很耗时的运算。而本文的RS(204, 188)译码器关键方程求解采用了改进的BM算法,算法迭代时无需求解有限域元素逆(inversionless)。下面首先详细介绍BM算法。

3. RS(204, 188)译码器建模

这里以具体的DVB标准中定义的RS(204, 188)码为例,详细讨论其实现的FPGA/VLSI硬件模型。在DVB标准中,RS(204, 188)码定义如下:

在图11-82中,"Pow"模块表示生成根i的幂次i,"Exp"表示查表求i的幂,"Inv"用查找表求?( -i)的逆。

4. 程序说明

本部分将给出RS(204, 188)译码器的V erilog HDL程序代码,其中RS码的生成多项式g(x)为:

伴随式计算、关键方程求解、Forney算法、Chien搜索等模块并行工作。在经过243个字节的固有延时后,每个时钟周期都能连续输出经校正的码字。同时,与前端及后续电路的接口简单,无需额外的握手控制信号。

考虑到文章篇幅,此处仅给出几个关键模块的代码,在随书光盘中有完整的程序代码,请读者参阅。

下面首先给出伴随式计算模块程序,如下所示。

1.module SCalculate(clk, init, sc_done, r, s_out);

2.parameter t = 8, //t-纠错能力

3. N = 204,//N-RS码长度

4. m = 8; //m-GF(2m)扩展域

5.input clk, init;

6.input [m-1:0] r;

7.output[m-1:0] s_out;

8.output sc_done; //伴随式计算完成信号

9.

10.reg [m-1:0] s[t*2:1], s_latched[t*2:1];

11.wire [m-1:0] r_a[t*2-1:0];

12.integer counter;

13.always @(posedge clk)begin:SC_BLOCK

14.integer j;

15.if((init) || (counter==N))begin

16.for(j=1; j<=t*2; j=j+1) //锁存上一帧数据的伴随式,开始新的计算

17.s_latched[j] <= s[j];

18.

19.for(j=1; j<=t*2; j=j+1)

20.s[j] <= r;

21.counter <= 1;

22.end

23.else if(counter<=N-1)begin

24.for(j=1; j<=t*2; j=j+1)

25.s[j] <= r ^ r_a[j-1];

26.counter <= counter + 1;

27.end

28.end

29./* 下面是有限域的常数乘法器的例化 */

30.ff_const_mul r_x_a0(.din(s[1]), .dout(r_a[0])); //a^0

31.ff_const_mul r_x_a1(.din(s[2]), .dout(r_a[1])); //a^1

32.ff_const_mul r_x_a2(.din(s[3]), .dout(r_a[2])); //a^2

33.ff_const_mul r_x_a3(.din(s[4]), .dout(r_a[3])); // a^3

34.ff_const_mul r_x_a4(.din(s[5]), .dout(r_a[4])); // a^4

35.ff_const_mul r_x_a5(.din(s[6]), .dout(r_a[5])); // a^5

36.ff_const_mul r_x_a6(.din(s[7]), .dout(r_a[6])); // a^6

37.ff_const_mul r_x_a7(.din(s[8]), .dout(r_a[7])); // a^7

38.ff_const_mul r_x_a8(.din(s[9]), .dout(r_a[8])); // a^8

39.ff_const_mul r_x_a9(.din(s[10]), .dout(r_a[9])); // a^9

40.ff_const_mul r_x_a10(.din(s[11]), .dout(r_a[10])); // a^10

41.ff_const_mul r_x_a11(.din(s[12]), .dout(r_a[11])); // a^11

42.ff_const_mul r_x_a12(.din(s[13]), .dout(r_a[12])); // a^12

43.ff_const_mul r_x_a13(.din(s[14]), .dout(r_a[13])); // a^13

基本RS触发器原理

基本RS 触发器原理 图4-1(a)是由两个“与非”门构成的基本R-S 触发器,(b)是其逻辑符号。RD 、SD 是两个输入端,Q 及y 是两个输出端。 正常工作时,触发器的Q 和y 应保持相反,因而触发器具有两个稳定状态: 1)Q=1,y=0。通常将Q 端作为触发器的状态。若Q 端处于高电平,就说触发器是1状态; 2)Q=0,y=1。Q 端处于低电平,就说触发器是0状态;Q 端称为触发器的原端或1端,y 端称为触发器的非端或0端。 由图4-1可看出,如果Q 端的初始状态设为1,RD 、SD 端都作用于高电平(逻辑 1),则y 一定为0。如果RD 、SD 状态不变,则Q 及y 的状态也不会改变。这是一个稳定状态;同理,若触发器的初始状态Q 为0而y 为1,在RD 、SD 为1的情况下这种状态也不会改变。这又是一个稳定状态。可见,它具有两个稳定状态。 输入与输出之间的逻辑关系可以用真值表、状态转换真值表及特征方程来描述。 图4 (一)真值表 R-S 触发器的逻辑功能,可以用输入、输出之间的逻辑关系构成一个真值表(或叫功能表)来描述。 1、当RD =0,SD=1时,不论触发器的初始状态如何,y 一定为1,由于“与非”门2的输入全是1,Q 端应为0。称触发器为0状态,RD 为置0端。 2、当RD =1,SD=0时,不论触发器的初始状态如何,Q 一定为1,从而使y 为0。称触发器为1状态,SD 置1端。 3、当RD =1,SD =1时,如前所述,Q 及y 状态保持原状态不变。 4、当RD =0,SD =0时,不论触发器的初始状态如何,Q=y=1,若RD 、SD 同时由0变成1,在两个门的性能完全一致的情况下, Q 及y 哪一个为1,哪一个为0是不定的,在应用时不允许RD 和SD 同时为0。 综合以上四种情况,可建立R-S 触发器的真值表于表1。应注意的是表中RD = SD =0的一行中Q 及y 状态是指RD 、SD 同时变为1后所处的状态是不定的,用Ф表示。 由于RD =0,SD =1时Q 为0,RD 端称为置0端或复位端。相仿的原因,SD 称置

同步RS触发器电路结构、工作原理及功能表示

同步RS 触发器电路结构、工作原理及功能表示 1.电路结构 主从RS 触发器是时钟触发器的一种。由与非门构成的时钟RS 触发器电路结构如图8.9所示,CP 为时钟脉冲输入端。 1S C1S CP Q Q 1R R (a)同步RS 触发器电路 (b )逻辑符号 图8.9 同步RS 触发器 2.功能分析 当CP =0时,G 3、G 4门关闭,不论R 、S 如何变化,触发器输出保持不变。 而CP =1时,R 、S 端的信号经与非门反相后引到基本RS 触发器的输入端,此时触发器输出由R 、S 及CP 决定。S =0、R =1时,S =1、R =0,Q =1,反馈到G 1门使Q =0,即不论触发器原态是0态还是1态,电路的输出一定为0;S =1、R =0时,S =0、R =1,Q =1,反馈到G 2门使Q =0,即不论触发器原态是0态还是1态,电路的输出一定为1;S =0、R =0时,S =1、R =1,触发器的状态将保持不变。 S =1、R =1时,S =0、R =0,使Q =1、Q =1,破坏了输出信号互补的原则,而随后S =0、R =0时,输出状态可能是1也可能是0,出现了不定状态,这在触发器工作时是不允许出现的。 R 、S 控制输出状态转换,CP 控制何时发生状态转换。时钟RS 触发器是在CP =1时发生状态转换,称为高电平触发。 3.功能表示方法 (1)功能表 时钟RS 触发器的功能表如表8.3。其功能与基本RS 触发器功能相似,但在CP =1到 Q & & G 1 G Q S R & G 3 & G 4 S R

来时状态才能变化。Q n 为CP 脉冲到来前触发器的状态,称为现态,Q n+1为CP 脉冲到来后触发器的状态,称为次态。 表8.3 RS 触发器的功能表 (2)特征方程 表示触发器次态与触发器输入及现态的逻辑关系式称为触发器的特征方程。 根据功能表画出卡诺图,如图8.10,经过化简,得到时钟RS 触发器在CP =1时的特征方程: n n Q R S Q +=+1;RS =0约束条件 RS =0为约束条件,表示S 、R 不能同时为1。 图8.10 时钟RS 触发器卡诺图 (3)状态转换图 用两个圆表示触发器的两种稳态0和1。箭头表示由现态到次态的转换方向,箭尾表示原态,箭头线上的数字标注出了原态转换成次态所需的触发条件。如图8.11所示。 图8.11 时钟RS 触发器状态转换图 (4)波形图 触发器的功能可以通过输入输出波形表示。图8.12为RS 触发器的波形图。 R S Q n Q n+1 功能说明 0 0 0 0 0 1 0 1 保持 0 0 1 1 0 1 1 1 置1 1 1 0 0 0 1 0 0 置0 1 1 1 1 0 1 不定 不定 禁止 Q n RS 0 1 10 11 00 01 0 1 × 0 1 1 × ×0 01 10 0× 1

RS触发器的工作原理

斯密特触发器 斯密特触发器波形图 [1] 斯密特触发器又称斯密特与非门,是具有滞后特性的数字传输门。该器件既可以像普通“与非”门那样工作, 也可以接成斯密特触发器来使用。斯密特触发器具有如下两个特点: 1、电路具有两个阈值电压,分别称为正向阈值电压和负向阈值电压; 2、与双稳态触发器和单稳态触发器不同,斯密特触发器属于“电平触发型”电路,不依赖于边沿陡峭的脉冲。 它是一种阈值开关电路,具有突变输入——输出特性的门电路。这种电路被设计成阻止输入电压出现微小变化(低于某一阈值)而引起的输出电压的改变。当输入电压由低向高增加,到达V+时,输出电压发生突变,而输入电压Vi由高变低,到达V-时,输出电压发生突变,因而出现输出电压变化滞后的现象,可以看出对于要求一定延迟启动的电路,它是特别适用的。 斯密特触发器原理图 [2] 而从IC内部的逻辑符号和“与非”门的逻辑符号相比就略有不同,它增加了一个类似方框的图形,该图形正是代表斯密特触发器一个重要的滞后特性。滞后特性是指当把输入端并接成非门时,它们的输入、输出特

性是:当输入电压V1上升到VT+电平时,触发器翻转,输出负跳变;过了一段时间输入电压回降到VT+电平时,输出并不回到初始状态而需输入V1继续下降到VT-电平时,输出才翻转至高电平(正跳变),用公式:VT+—VT-=△VT 表示,△VT称为斯密特触发器的滞后电压。△VT与IC的电源电压有关,当电源电压提高时,△VT略有增加,一般△VT值在3V左右。因斯密特触发器具有电压的滞后特性,常用它对脉冲波形整形,使波形的上升沿或下降沿变得陡直;有时还用它作电压幅度鉴别,在数字电路中它也是很常用的器件。 电路结构斯密特触发器 把两个与非门G1、G2的输入、输出端交叉连接,即可构成基本RS触发器,其逻辑电路如图7.2.1.(a)所示。它有两个输入端R、S和两个输出端Q、Q。 工作原理 基本RS触发器的逻辑方程为: 根据上述两个式子得到它的四种输入与输出的关系: 1.当R端无效,S端有效时,则Q=0,Q=1,触发器置1。 2.当R端有效、S端无效时,则Q=1,Q=0,触发器置0。 如上所述,当触发器的两个输入端加入不同逻辑电平时,它的两个输出端Q和Q有两种互补的稳定状态。一般规定触发器Q端的状态作为触发器的状态。通常称触发器处于某种状态,实际是指它的Q端的状态。Q=1、Q=0时,称触发器处于1态,反之触发器处于0态。S=0,R=1使触发器置1,或称置位。因置位的决定条件是S=0,故称S 端为置1端。R=0,S=1时,使触发器置0,或称复位。 同理,称R端为置0端或复位端。若触发器原来为1态,欲使之变为0态,必须令R端的电平由1变0,S端的电平由0变1。这里所加的输入信号(低电平)称为触发信号,由它们导致的转换过程称为翻转。由于这里的触发信号是电平,因此这种触发器称为电平控制触发器。从功能方面看,它只

RS触发器

基本触发器的设计 预备知识:RS触发器是一种基本的触发器 一触发器 1触发器的概念 触发器:具有记忆功能的基本逻辑电路,能存储二进制信息(数字信息)。 触发器有二个基本特性: ( 1 )有两个稳态,可分别表示二进制数码 0 和 1 ,无外触发时可维持稳态; 触发器的两个稳定状态 ①Q=1,通常将Q端作为触发器的状态。若Q端处于高电平,就说触发器是1状态; ②Q=0,Q端处于低电平,就说触发器是0状态;Q端称为触发器的原端或1端,端称为触发器的非端或0端。 ( 2 )外触发下,两个稳态可相互转换(称翻转),已转换的稳定状态可长期保持下来,这就使得触发器能够记忆二进制信息,常用作二进制存储单元。 (3 )触发器的分类:根据 逻辑功能不同:RS触发器、D触发器、JK触发器、T触发器和触发器等。 触发方式不同:电平触发器、边沿触发器和主从触发器等。 电路结构不同:基本RS触发器,同步触发器、维持阻塞触发器、主从触发器和边沿触发器。 二、RS触发器的知识 1 基本RS触发器原理 图2-1是由两个“与非”门构成的基本R-S触发器。RD、SD是两个输入端,Q及Qn是两个输出端。 图2-1 RS触发器

2 稳定状态 正常工作时,触发器的Q和Qn应保持相反,因而触发器具有两个稳定状态: ①Q=1,Qn=0。通常将Q端作为触发器的状态。若Q端处于高电平,就说触发器是1状态; ②Q=0,Qn=1。Q端处于低电平,就说触发器是0状态; Q端称为触发器的原端或1端,Qn端称为触发器的非端或0端。 3 真值表 R-S触发器的逻辑功能,可以用输入、输出之间的逻辑关系构成一个真值表(或叫功能表)来描述。 ①当RD=0,SD=1时,不论触发器的初始状态如何,Qn 为1,由于“与非”门2的输入全是1,Q端应为0。称触发器为 状态,R D为置0端 ②当RD =1,SD =0时,不论触发器的初始状态如何,Q 为1,从而使Qn为0。称触发器为1状态,SD置1端。 ③当RD =1,SD =1时,如前所述,Q及Qn 态不变。 4 当RD =0,SD =0时,显然,在此条件下,两个与非门的输 出端Q,Qn全为1,若RD、SD同时由0变成1 完全一致的情况下, Q及Qn究竟哪一个为1,哪一个为0是不 定的,因此称这种情况为不定状态,在应用时不允许RD和SD同时为0。归纳:由上面的分析我们得出如表2-1的真值表 5 RS触发器逻辑表达式 为约束条件 该逻辑表达式也称为触发器的特性方程

基本RS触发器工作原理

基本RS触发器工作原理 基本RS触发器工作原理 基本RS触发器的电路如图1(a)所示。它是由两个与非门,按正反馈方式闭合而成,也可以用两个或非门按正反馈方式闭合而成。图(b)是基本RS触发器逻辑符号。基本RS触发器也称为闩锁(Latch)触发器。 (a) (b) 图1 基本RS触发器电路图和逻辑符号 定义A门的一个输入端为R d端,低电平有效,称为直接置“0”端,或直接复位端(Reset),此时S d端应为高电平;B门的一个输入端为S d端,称为直接置“1”端,或直接置位端(Set),此时R d端应为高电平。我们定义一个与非门的输出端为基本RS触发器的输出端Q ,图中为B门的输出端。另一个与非门的输出端为Q 端,这两个端头的状态应该相反。因基本RS触发器的电路是对称的,定义A门的输出端为Q端,还是定义B门的输出端为Q端都是可以的。一旦Q端确定,R d和S d端就随之确定,再不能任意更改。 2 两个稳态 这种电路结构,可以形成两个稳态,即 Q=1,Q=0,Q=0,Q =1 当Q=1时,Q=1和R d=1决定了A门的输出,即Q=0 ,Q=0反馈回来又保证了Q=1 ;当Q=0时,Q=1,Q=1和S d=1决定了B门的输出,即Q=0,Q=0又保证了Q =1 。 在没有加入触发信号之前,即R d和S d端都是高电平,电路的状态不会改变。 3 触发翻转 电路要改变状态必须加入触发信号,因是与非门构成的基本RS触发器,所以,触发信号是低电平有效。若是由或非门构成的基本RS触发器,触发信号是高电平有效。

R d和S d是一次信号,只能一个一个的加,即它们不能同时为低电平。 在R d端加低电平触发信号,R d =0,于是Q =1 ,Q =1和S d=1决定了Q=0 ,触发器置“0”。R d是置“0”的触发器信号。 Q=0以后,反馈回来就可以替代R d=0的作用,R d=0就可以撤消了。所以,R d不需要长时间保留,是一个触发器信号。 在S d端加低电平触发信号,S d=0,于是Q=1 ,Q=1和R d=1决定了Q=0 ,触发器置“1”。但Q=0 反馈回来,S d=0才可以撤消,S d是置“1”的触发器信号。 如果是由或非门构成的基本RS触发器,触发信号是高电平有效。此时直接置“0”端用符号Rd;直接置“1”端用符号Sd。 4 真值表和特征方程 以上过程,可以用真值表来描述,见上表。表中的Q n和Q n表示触发器的现在状态,简称现态;Qn+1和Qn+1表示触发器在触发脉冲作用后输出端的新状态,简称次态。对于新状态Qn+1而言,Qn也称为原状态。 上表真值表表中Qn=Qn+1表示新状态等于原状态,即触发器没有翻转,触发器的状态保持不变。必须注意的是,一般书上列出的基本RS触发器的真值表中,当R d =0、S d=0时,Q 的状态为任意态。这是指当R d、S d同时撤消时,Q端状态不定。若当R d=0、S d =0时,Q =1,状态都为“1”,是确定的。但这一状态违背了触发器Q端和Q端状态必须相反的规定,是不正常的工作状态。若R d、S d不同时撤消时,Q端状态是确定的,但若R d、S d同时撤消时,Q端状态是不确定的。由于与非门响应有延迟,且两个门延迟时间不同,这时哪个门先动做了,触发器就保持该状态,这一点一定不要误解。但具体可见例1 。 把上表所列逻辑关系写成逻辑函数式,则得到

RS触发器工作原理

电路结构 把两个与非门G1、G2的输入、输出端交叉连接,即可构成基本RS触发器,其逻辑电路如图7.2.1.(a)所示。它有两个输入端R、S和两个输出端Q、Q。 工作原理 基本RS触发器的逻辑方程为: 根据上述两个式子得到它的四种输入与输出的关系: 1.当R端无效,S端有效时,则Q=0,Q=1,触发器置1。 2.当R端有效、S端无效时,则Q=1,Q=0,触发器置0。 如上所述,当触发器的两个输入端加入不同逻辑电平时,它的两个输出端Q和Q有两种互补的稳定状态。一般规定触发器Q端的状态作为触发器的状态。通常称触发器处于某种状态,实际是指它的Q端的状态。Q=1、Q=0时,称触发器处于1态,反之触发器处于0态。S=0,R=1使触发器置1,或称置位。因置位的决定条件是S=0,故称S 端为置1端。R=0,S=1时,使触发器置0,或称复位。 同理,称R端为置0端或复位端。若触发器原来为1态,欲使之变为0态,必须令R端的电平由1变0,S端的电平由0变1。这里所加的输入信号(低电平)称为触发信号,由它们导致的转换过程称为翻转。由于这里的触发信号是电平,因此这种触发器称为电平控制触发器。从功能方面看,它只能在S和R的作用下置0和置1,所以又称为置0置1触发器,或称为置位复位触发器。其逻辑符号如图7.2.1(b)所示。由于置0或置1都是触发信号低电平有效,因此,S端和R端都画有小圆圈。 3.当RS端均无效时,触发器状态保持不变。 触发器保持状态时,输入端都加非有效电平(高电平),需要触发翻转时,要求在某一输入端加一负脉冲,例如在S端加负脉冲使触发器置1,该脉冲信号回到高电平后,触发器仍维持1状态不变,相当于把S端某一时刻的电平信号存储起来,这体现了触发器具有记忆功能。 4.当RS端均有效时,触发器状态不确定 在此条件下,两个与非门的输出端Q和Q全为1,在两个输入信号都同时撤去(回到1)后,由于两个与非门的延迟时间无法确定,触发器的状态 不能确定是1还是0,因此称这种情况为不定状态,这种情况应当避免。从另

相关文档
最新文档