错误校正编码设备的制作方法

文档序号:7913062阅读:258来源:国知局
专利名称:错误校正编码设备的制作方法
本申请是申请号为99117949.8,申请日为1999年8月19日,发明名称为″错误校正编码设备″的分案申请本发明涉及一种编码设备,且更具体地说是涉及一种错误校正编码设备。
编码技术在各种领域中得到了广泛的利用。例如,在数据发送中,一个源设备对将要发送的数据进行编码并通过通信通路送出编码的数据,从而使目的地设备接收并解码编码的数据。当数据被存储在存储装置中时,它得到编码并被写入盘等之中。编码数据随后在被从盘中读出之后被解码。编码通常指的是将来自信息源的数据序列转换成一种不同的数据序列,因而通过转换而获得的新的数据序列被称为码。
当编码数据被传送时,在发送通路中会发生错误。当从存储编码数据的存储装置读取编码数据以进行再现时,也会发生错误。为了检测这种错误的发生或为了校正这种错误,经常采用一种错误校正码。
一种已知的错误校正码是一种卷积码。每当n位的数据被输入以处理卷积码时,m(m>n)位的数据,根据这n位数据和刚好在n位数据被输出之前而被输入的s位数据,而得到确定。因此,在处理这种卷积编码时,为对所要发送的数据进行错误校正而添加了(m-n)位的数据。其结果,数据的冗余增大了,因而降低了数据解码时的解码错误率。
所要发送的数据量与编码处理所要获得的数据量(输出数据的位数)之比,通常被称为编码率(或信息率)R,并由以下公式表示R=n/m在错误校正码中编码率R总是低于1。一般地,编码率R是确定错误校正能力的参数之一。例如,编码率R越低,错误校正能力越高。
图20是显示已有的采用卷积码的错误校正编码设备的一个例子的框图。该错误校正编码设备500包括彼此平行设置的两个卷积单元501、502。包括彼此并联的多个卷积单元的编码设备经常被称为“涡轮编码设备”。
错误校正编码设备500为源数据d产生一种数据序列x和用于校正数据序列x的奇偶数据序列y1、y2。数据序列x和奇偶数据序列y1、y2随后被多路复用并被输出。这种输出是源数据d的编码数据。以下描述的是当编码N位的源数据d时所进行的操作。
源数据d象数据序列x一样地得到输出,并被发送至卷积单元501和一个交错器503。卷积单元501对源数据d进行一种卷积编码处理并输出奇偶数据序列y1。交错器503临时存储源数据d,并随后按照不同于输入顺序的一种顺序,读取和输出存储的源数据。因此,源数据d被随机化。来自交错器503的输出随后被提供给卷积单元502。卷积单元502也对来自交错器503的输出进行卷积编码处理,并输出奇偶数据序列y2。
在上述操作中,错误校正编码设备500为N位的源数据d产生N位数据序列x、N位奇偶数据序列y1、以及n位的奇偶数据序列y2。数据序列x和奇偶数据序列y1、y2的每一位都得到例如多路复用,并作为编码数据而得到输出。因此,在此情况下,错误校正编码设备500为每一个N位输入输出了3×N位的数据。其结果,编码率R是1/3。
图21是显示图20所示的错误校正编码设备的一种变形的一个例子的框图。错误校正编码设备510是通过为图20所示的错误校正编码设备提供一个选择单元511而实现的。根据一种预定的选择方式,选择单元511选择分别由卷积单元501、502所产生的奇偶数据序列y1、y2,并将其作为奇偶数据序列Z而输出。选择单元511的操作被称为“穿孔(puncturing)”处理。
选择单元511交替地从卷积单元501、502的输出中选择一个位。表1显示了选择单元511产生的输出序列Z。在表1中,y1(i)表示来自卷积单元501的与源数据d的第i个数据元素相应的输出,且y2(i)表示来自卷积单元502的与源数据d的第i个数据元素相应的输出。当N位源数据d被输入至错误校正编码设备510时,选择单元511输出一个N位输出序列Z(y1(1)、y2(2),y1(3),y2(4),……,y1(N-1),y2(N))
选择单元511所进行的穿孔操作由以下的公式表示。
Z=D·Py1(i) y2(i) 10=y1(i+1) y2(i+1) 01(i=1,3,5,…,N-1)输出序列Z是通过用穿孔矩阵P乘数据矩阵D而获得的。例如,对于源数据d的第i个数据元素,通过用穿孔矩阵P的第一列乘数据矩阵D的第一行而获得y1(i)。对于源数据d的(i+1)数据元素,通过用穿孔矩阵P的第二列乘数据矩阵D的第二行而获得y1(i+1)。因此,选择单元511一位一位地交替地选择卷积单元501、502的输出的操作,被表示为重复地进行上述算法操作的操作。
借助上述配置,错误校正编码设备510为N位的源数据d产生N位的数据序列x和N位的奇偶数据序列Z。数据序列x和奇偶数据序列Z被一位一位地多路复用,并随后作为编码数据而得到输出。由于错误校正编码设备510为每N位的输入输出2N位的数据,编码率R是1/2。
美国专利第5,446,747详细公布了图20和21显示的上述错误校正编码设备。
在移动终端通信系统中,要求与源数据d的数据长度N(位数)相关地可选地设定来自一个编码设备的输出序列的数据长度M。例如,语音数据等通常被分成具有预定的数据长度的数据,并随后在以具有预定的数据长度的帧的方式得到存储之后进行发送。因此,当编码数据在移动终端通信系统中得到处理时,语音数据等被分成具有预定的数据长度的数据,得到编码并随后以帧的形式得到存储。
然而,图20或21所示的传统错误校正编码设备的的编码率R是固定的。因此,由于数据具有预定的固定的长度(上述例子中的帧),无用的信息必须得到存储以填充帧的数据存储区。
图22A显示了采用图20显示的错误校正编码设备500编码源数据并把编码的数据存储在固定长度的帧中的处理。在此例中,源数据d占据了333位,且一个帧的数据存储区占据了1500位。在此情况下,错误校正编码设备500产生一个333位的数据序列x、一个333位的奇偶数据序列y1、和一个333位的奇偶数据序列y2。因此,为了填充一个帧的数据存储区,需要把501位的虚设数据存储到该帧中,如图22B所示。如果通过网络发送该帧,无用的数据得到发送,从而浪费了网络资源。
图23A显示了利用图21显示的错误校正编码设备510编码源数据并将编码的数据存储在固定长度的帧中的过程。在此例中,源数据d占据666位,且帧的数据存储区占据1500位。在此情况下,选择单元511在穿孔过程中从奇偶数据序列y1、y2产生一个奇偶数据序列Z。因此,错误校正编码设备510产生了一个666位数据序列x、一个666位奇偶数据序列Z。其结果,为了填充帧的数据存储区,168位的虚设数据被存储在图23B所示的帧中。因此,无用的数据如图22所示地得到发送。
因此,具有多个彼此并行设置的卷积单元的传统错误校正编码设备的编码率不能被设定至所希望的值。因此,源数据以很低的效率得到编码和被存储在预定的帧中。
本发明的一个目的,是在具有多个彼此并行地设置的卷积单元的错误校正编码设备中获得所希望的编码率。
这些和其他的目的,是借助根据本发明的一种错误校正编码设备而实现的,该设备包括彼此并行地设置的多个卷积单元。还包括了一个随机化单元,用于随机化源数据,从而为多个卷积单元提供不同的数据序列。一个选择单元根据选择信息从相应的卷积单元的输出选择一个数据元素。该选择信息表示多个卷积单元的各个输出中的数据元素是否将要被选择,并具有等于多个卷积单元中的每一个输出的数据长度的数据长度。进一步地,包括了一个输出单元,它输出源数据和由选择单元选定的数据元素。
在这种配置中,各个卷积单元产生一个数据元素,以校正源数据。选择单元根据从多个卷积单元产生的数据元素的选择信息,输出数据元素。其结果,输出单元的编码数据输出的位数取决于上述选择信息。因此,能够根据选择信息获得所希望的编码率。
根据本发明的另一实施例的错误校正编码设备包括一个复制单元,它根据请求的编码率,复制源数据中的预定数目的数据元素。进一步地,一个编码电路带有多个彼此并联的卷积单元,用于编码源数据。
在上述配置中,源数据的数据长度与从编码电路输出的数据的数据长度的比值,通过改变数据元素被复制的时间,而得到改变。因此,编码率得到改变。如果数据元素被复制,解码特性得到改善。
根据本发明的另一种错误校正编码设备包括一个插入单元,用于根据请求的编码率把预定数目的虚设位插入到源数据中。进一步地,一种编码电路带有彼此并联地设置的多个卷积电路,用于把源数据编码成用于被插入单元插入的虚设位。
在上述配置中,源数据的数据长度与从编码电路输出的数据的数据长度的比值得到改变。当预定的虚设位(例如1)被插入时,解码特性得到了改善。


图1是框图,显示了包括根据本发明的错误校正编码设备的移动通信系统的配置;图2是框图,显示了包括根据本发明的错误校正编码设备的存储设备;图3是显示根据本发明的一个实施例的错误校正编码设备的框图;图4是穿孔单元的框图5是穿孔表的一个例子;图6是穿孔处理的流程图;图7是多路复用单元的框图;图8是解码装置的框图;图9显示了去穿孔单元;图10是去穿孔处理的流程图;图11是显示具有改善的解码精度的解码装置的一个例子的框图;图12显示了根据本发明的错误校正编码设备与传统设备的输出的不同;图13是显示根据本发明的另一实施例的错误校正编码设备的框图;图14显示了由位复制单元进行的操作;图15是位复制单元的操作的流程图;图16是显示根据本发明的又一个实施例的错误校正编码设备的框图;图17显示了虚设位插入单元进行的操作;图18是包括m个卷积单元的错误校正编码设备的框图;图19是显示不受组织码的限制的错误校正编码设备的框图;图20是显示采用卷积码的已有错误校正编码设备的一个例子的框图;图21是图20所示的错误校正编码设备的一种变形的一个例子的框图;图22A显示了利用图20所示的错误校正编码设备进行的源数据编码和编码数据至固定长度的帧中的存储处理;图22B显示了存储在帧中的数据的类型;图23A显示了利用图21所示的错误校正编码设备进行源数据编码和编码数据至具有固定长度的帧中的存储处理;图23B显示了存储在帧中的数据的类型。
根据本发明的错误校正编码设备可被应用于各种领域,例如通信系统和数据存储装置。
图1显示了其中应用根据本发明的错误校正编码设备的移动通信系统。该无线系统可以是例如CDMA系统。如所示,一个基站10包括一个编码器11,用于编码将要被发送至一个移动站20的数据(数据A)。基站10还包括一个用于调制编码数据的调制器12和用于发送调制的数据的发送器13。
从基站10发送的无线信号被移动站20的接收器21所接收,被一个解调器22所解调,并被一个解码器23所解码。基站10包括用于接收从移动站20发送的信号的接收器14,用于解调接收信号的解调器15和用于对解调的数据进行解码的解码器16。移动站20利用一个编码器24对将要被发送至基站10的数据(数据B)进行编码,利用一个调制器25调制编码数据,并通过一个发送器26发送调制的数据。
在上述通信系统中,根据本发明的错误校正编码设备对应于基站10中的编码器11或移动站20中的编码器24。
图2显示了其中应用根据本发明的错误校正编码设备的一种存储装置。存储装置30包括用于编码将要被写入一个数据存储单元33的数据编码器31和用于把编码数据写入数据存储单元33的一个写入控制单元32。数据存储单元33包含存储介质,例如光盘、磁盘、半导体存储器等等。存储装置30包括用于从数据存储单元33读取数据的读取控制单元34和用于解码读取的数据的解码器35。
在上述存储介质中,根据本发明的错误校正编码设备对应于编码器31。
图3是显示根据本发明的一个实施例的错误校正编码设备的框图。该错误校正编码设备的基本配置与图21中显示的传统错误校正编码设备的配置相同。然而,本发明包括了穿孔单元45、46而不是图21中的传统错误校正编码设备的选择单元511。根据本发明的错误校正编码设备,通过由穿孔单元45、46进行的一种穿孔处理,实现了所希望的编码率。以下描述根据本发明的错误校正编码设备的配置和操作。
根据本发明的错误校正编码设备40利用一种编码对源数据u进行编码。在一种系统码中,当在数据发送期间产生了错误时,将要发送的数据被从用于校正错误的数据(以下称为“奇偶数据”)中分离出来。因此,当错误校正编码设备40接收到源数据u时,它把奇偶数据Zk加到源数据u上,并随后发送编码的数据。错误校正编码设备40对源数据u的N位进行编码。错误校正编码设备40以数据序列Xk的形式输出源数据u,并以奇偶数据序列Zk的形式输出奇偶数据。
一个输入I/F单元41向一个多路复用单元47、一个第一卷积单元43、 以及一个交错器42提供接收的源数据u。从输入I/F单元41提供至多路复用单元47的源数据u被称为数据序列Xk。
交错器42把输入的源数据u随机化。交错器42包含用于临时存储N位源数据u的存储器。N位的源数据u被一位一位地写入该存储器。写入至该存储器的数据,按照不同于该数据被写入存储器的顺序的顺序被读出,从而使源数据u随机化。
交错器42为卷积单元43和44提供了不同且独立的数据序列。因此,虽然在图3中只在第二卷积单元44之前提供了一个交错器,它也能够被提供在第一卷积单元43与第二卷积单元44之前。在此情况下,两个交错器进行的随机化处理必须是彼此不同的。
第一卷积单元43对输入的源数据u进行卷积处理。第二卷积单元44对交错器42随机化的源数据u进行卷积处理。第一卷积单元43和第二卷积单元44可以具有相同或不同的配置。在以下的描述中,假定两个卷积单元43和44具有相同的配置。
第一卷积单元43包含多个彼此串联的多个存储器单元M和一或多个加法器。各个存储器单元M是例如一个触发器,并存储1位的数据。彼此串联的存储器单元M形成了移位寄存器的一部分。加法器可以是例如“异或”操作单元、mod2加法器等等。对于图3所示的配置,第一卷积单元43包括两个存储器单元M和三个加法器。在此情况下,由于存储在存储器单元M中的数据量占据了2位,限制长度是2。因此,卷积单元的限制长度等于存储在卷积单元的存储器中的数据的位数。
每次第一卷积单元43接收到源数据u的数据元素时,它输出与接收的数据元素相应的奇偶数据序列Y1k的数据元素。奇偶数据序列Y1k的数据元素,是以新输入第一卷积单元43的数据元素和当该数据元素被输入时存储在存储器单元M中的数据元素之和的形式,而获得的。因此,在这种卷积处理中,根据一或多个前面输入的数据元素和新输入的数据元素,产生与新输入的数据元素相应的数据元素并随后输出之。
在第一卷积单元43的各个存储器单元M中设定了一个初始值“0”。当N位数据序列被输入时,第一卷积单元43输出N位奇偶数据序列,并随后输出一个末尾位。该末尾位的数据长度例如等于存储器单元M的数目。在此例中,它是2。
第二卷积单元44的配置和操作基本上与上述的第一卷积单元43的相同。第二卷积单元44对由交错器42随机化的源数据u进行卷积处理,以产生一个奇偶数据序列Y2k。由于卷积处理是一种传统技术,并且是本领域的技术人员所众所周知的,所以在此省略了详细描述。
一个第一穿孔单元45按照一种预定的方式选择第一卷积单元43产生的奇偶数据序列Y1k的各个数据元素,并输出一个奇偶数据序列Z1k。类似地,一个第二穿孔单元46按照一种预定的方式选择第二卷积单元44产生的奇偶数据序列Y2k的数据元素,并输出一个奇偶数据序列Z2k。图3显示的错误校正编码设备40的特征包括借助这些穿孔单元选择数据元素的一种方法。用于选择数据元素的方法将在后面得到描述。
多路复用单元47对从输入I/F单元41接收的数据序列Xk、从第一穿孔单元45接收的奇偶数据序列Z1k、以及从第二穿孔单元46接收的奇偶数据序列Z2k进行多路复用,以输出输出序列C。多路复用单元47的输出序列C包括用于源数据u的编码数据。多路复用单元47具有调节三输入数据序列的时序的功能。因此,当源数据u的各个数据元素(数据序列Xk)被输出时,与源数据u的数据元素相对应的奇偶数据序列Z1k和Z2k的各个数据元素与源数据的数据元素相关地得到输出。
因此,当源数据u被输入时,错误校正编码设备40把用于错误校正的奇偶数据序列Z1k和Z2k加到数据序列Xk(它是与源数据u相同的数据序列)上,并输出结果。
以下描述第一穿孔单元45和第二穿孔单元46的配置和操作。在此情况下,设源数据u的数据长度是N位和输出序列C的数据长度是M位。因此,错误校正编码设备40具有编码率=N/M。源数据u和输出序列C的数据长度是由例如通信的具体情况确定的。特别地,输出序列C的数据长度是由通信系统中发送的帧的格式确定形成。
图4是显示第一穿孔单元45的框图。第二穿孔单元46具有基本上与第一穿孔单元45相同的配置。一个锁存电路51一位一位地保持从第一卷积单元43输出的奇偶数据序列Y1k。因此,锁存电路51在每次从第一卷积单元43输出奇偶数据序列Y1k的数据元素时都得到更新。一个CPU 52,通过执行存储在存储器53中的程序,从存储在锁存电路51中的数据元素,产生奇偶数据序列Z1k的数据元素。奇偶数据序列Z1k的数据元素,通过一个输出端口54,被发送到多路复用单元47。存储器53存储将要由CPU 52执行的程序,以及程序所使用的一个穿孔表。该程序将在后面得到详细描述。
图5显示了一个穿孔表的一个例子。该穿孔表存储表示奇偶数据序列Y1k的数据元素是否得到选择的选择信息(穿孔方式信息)。因此,选择信息的数据长度等于来自第一卷积单元43的输出数据序列的数据长度。第一卷积单元43,当源数据u的数据长度是N位时,输出一个N位的奇偶数据序列Z1k。因此,选择信息的长度也是N位。
当第一卷积单元43接收到源数据u时,它输出奇偶数据序列Y1k,并随后输出一个末尾位。然而,穿孔处理不是在末尾位上进行的。即,末尾位是在没有被输入至穿孔单元的情况下被发送至多路复用单元47的。
在图5中,选择信息=0表示没有选择奇偶数据元素,且选择信息=1表示奇偶数据元素得到了选择。例如,根据图5所示的选择信息,第二、第四、第五、……第N个数据元素被从输入的数据序列中选出。因此,当利用穿孔表进行穿孔处理时,如果奇偶数据序列Y1k=Y11、Y12、Y13、Y14、Y15被依次输入,Y12、Y14、Y15、……得到选择。
第二穿孔单元46基本上与第一穿孔单元45相同。第二穿孔单元46中提供的穿孔表基本上与提供在第二穿孔单元46中的穿孔表相同。然而,包括在这两个表中的选择信息可以是相同或不同的。
图4所示的CPU 52和存储器53可以被第一穿孔单元45和第二穿孔单元46所共享。进一步地,穿孔方式可以作为第一穿孔单元45和第二穿孔单元46所共享的选择信息而得到准备。
进一步地,穿孔表被存储在存储器53的RAM区中。因此,选择信息可以根据表示而得到改变,从而能够获得所希望的编码率。进一步地,选择信息的数据长度可以根据源数据的数据长度或来自卷积单元的输出序列的数据长度,而得到改变。
以下描述穿孔表的一种产生方法(即选择信息的产生方法)。在以下描述中,假定源数据u的数据长度是N位且输出序列C的数据长度是M位。在此情况下,要求编码率R=N/M。由于第一卷积单元43和第二卷积单元44分别产生的末尾位的数据长度比源数据u的数据长度短很多,这样的位在以下的描述中被忽略了。
当源数据u的数据长度是N位时,数据序列Xk、第一卷积单元43产生的奇偶数据序列Y1k以及第二卷积单元44产生的奇偶数据序列Y2k的数据长度也是N位。因此,为把输出序列C的数据长度设定为M位,当奇偶数据序列Z1k和Z2k的数据长度分别为K1和K2时,以下的公式成立。
N+K1+K2=M如果K1=K2=K,则获得以下的公式。
K=(M-N)/2(其中M>N,N>K)在此情况下,第一穿孔单元45从包括N个数据元素的奇偶数据序列Y1k中选择K个数据元素,并输出选定的位,作为奇偶数据序列Z1k。类似地,第二穿孔单元46从包括N个数据元素的奇偶数据序列Y2k中选择K个数据元素,并输出选定的位,作为奇偶数据序列Z2k。
该穿孔表在从N个数据元素中选出K个数据元素时得到采用。存储在穿孔表中的选择信息表明一个输入序列中的各个数据元素是否得到选择,如上所述。因此,为了选择K个数据元素,N位选择信息中的K位被赋值1(选择),且其他的位被赋值0(不选择)。以下描述的是给N位中的K位赋值1的方法的一个实际例子。
生成多个种子序列k/n。k/n是一个n位序列,其中被相等地赋值了k个1(k=1,2,3,……;n=1,2,3,……;且n>k)例如,生成一个种子序列,其中10被定义为n的最大值,且9被定义为k的最大值。种子序列的一部分在下面得到显示,其中0被赋值给各个种子序列的开始位。
K/n=2/7:(0001001)1/3:(001)3/8:(00100101)2/5:(00101)3/7:(0010101)4/9:(001010101)5/9:(010101011)1/2:(01)4/7:(0110101)3/5:(01101)5/8:(01110101)3/4:(0111)4/5:(01111)5/6:(011111)
优化的种子序列得到选择。实际上,k/n是以这样的方式确定的,即其中r的最大值可以在K/N≥k/n的条件下由以下公式获得。
r=minKN-kn]]>其中KN≥kn]]>例如,当源数据u的数据长度N是300个元素,且在穿孔处理中从300个数据元素中选出了155个数据元素时,通过把155/300代入K/N,得到k/n为1/2。在此情况下,也获得了r=0.01666。
将要写入穿孔表的选择信息的一种基本形式是利用以上选出的种子序列而生成的。实际上,具有N数据长度的基本形式是通过重复选定的种子序列而生成的。例如,当选定了k/n=1/2的种子序列时,通过如在上述例子中描述的种子序列(01),而获得了一个300位的基本形式。
选择信息是通过修改基本形式而获得的。实际中,A=rN被首先计算出来。随后,在上述基本形式中,在偶数位置上选出与A相应的数目的“0”,并用1代替它们。基本形式的开始位不被取代。例如,由于在上述例子中获得了A=0.166×300=5,在基本形式中五个0被1所取代。
以上述方法获得的形式被存储在穿孔表中,作为选择信息(穿孔方式信息)。
在本发明的一个实施例中,在第一穿孔单元45和第二穿孔单元46中提供的穿孔表是彼此相同的。然而,这两个表并不总是一定要彼此相同。然而,较好的是包含在存储于两个表中的选择信息中的1的数目彼此相等或非常接近。当包含在选择信息中的1的数目彼此差别很大时,可能得到差的解码特性。
选择信息的开始位,由于以下的原因,被设定为0。即,选择信息的开始位表示第一卷积单元43产生的奇偶数据序列Y1k(或第二卷积单元44产生的奇偶数据序列Y2k)的开始数据元素是否将要被选择。奇偶数据序列Y1k的开始数据元素,是在第一卷积单元43中,通过把源数据u的开始数据元素加到存储在图3所示的存储器M中的初始值上,而生成的。然而,由于该初始值通常是“0”,奇偶数据序列Y1k的开始数据元素就是源数据u的开始数据元素本身。即,卷积处理没有作用。因此,即使奇偶数据序列Y1k的数据元素得到选择并在把1赋值给选择信息的开始位之后被发送至一个接收装置,解码过程中的错误校正能力也不能得到改善。
因此,根据本发明,通过给选择信息赋值1以选择开始数据元素以外的一个数据元素,解码过程中的错误校正能力得到了改善。
以下描述利用穿孔表进行的穿孔处理。第一穿孔单元45在每次接收到奇偶数据序列Y1k的数据元素时访问一个穿孔表,并确定该数据元素是否将要被选择。选定的数据元素被发送至多路复用单元47,作为奇偶数据序列Z1k。另一方面,当一个数据元素不被选择时,它被放弃,而不被发送至多路复用单元47。这种处理与第二穿孔单元46中的处理相同。
图6是穿孔处理的流程图。这种处理在卷积单元产生的奇偶数据序列Yk的数据元素每次被写入锁存电路51时都得到进行。奇偶数据序列Yk表示奇偶数据序列Y1k或Y2k。换言之,根据该流程图的处理显示了第一穿孔单元45的操作。当Yk=Y1k时。进一步地,根据该流程图的处理显示了当Yk=Y2k时的操作。
在步骤S1,从锁存电路51获得一个数据元素。在步骤S2,用于计数奇偶数据序列Yk中被写入到锁存电路51的数据元素的顺序的计数器加1。计数值k对应于有关数据元素的位置信息或其序列号。该计数器在每次完成对一组源数据的处理时都被复位。
在步骤S3,利用上述计数器的计数值k检查图5中显示的穿孔表。因此,获得了有关写入锁存电路51的数据元素的选择信息P(k)。在步骤S4,检查在步骤S3获得的选择信息P(k)是“1”还是“0”。如果选择信息P(k)=1,则写入锁存电路51的数据元素在步骤S5通过输出端口54被发送至多路复用单元47。此时,当穿孔表被检查时采用的计数值k也被发送至多路复用单元47。另一方面,如果选择信息P(k)=0,则写入锁存电路51的数据元素在步骤S6被放弃。
在步骤S7,检查计数值k是否已经达到了N。如果计数值k已经达到N,则假定对一组源数据的处理已经完成,且计数器在步骤S8得到复位。
因此,第一穿孔单元45和第二穿孔单元46从输入的N位奇偶数据序列Yk中选出K位,并输出选定的位。这种是由执行步骤S1至步骤S8描述的程序的CPU 52实现的。
表2显示了第一穿孔单元45和第二穿孔单元46的输出的一个例子。
表2
该输出是当输入的源数据u是9位数据时获得的,且第一穿孔单元45和第二穿孔单元46中的穿孔方式P都是(001101001)。
图7是显示多路复用单元47的框图。多路复用单元47包括用于存储数据序列Xk的缓存器61、用于存储第一穿孔单元45生成的奇偶数据序列Z1k的存储器62、用于存储第二穿孔单元46生成的奇偶数据序列Z2k的存储器63、以及用于从存储器62、63读取数据元素的读取控制单元64。
数据序列Xk的数据元素被依次写入缓存器61。奇偶数据序列Z1k是由第一穿孔单元45选定的数据元素。这些数据元素被写入与序列号相应的存储器62。与各个数据元素相应的序列号由例如参见图6描述的计数器的计数值k表示。在存储器62中,设定了“有效”或“无效”来表示一个数据元素是否与各个序列号相应地被写入。存储器63的配置与存储器62的配置相同。
读取控制单元64以预定的间隔从缓存器61、存储器62、或存储器63读取数据元素,并输出选定的数据元素。实际上,该数据元素是通过重复地执行以下的步骤(1)至(4)而得到读取的。
(1)读取具有由缓存器61指定的序列号的数据元素。
(2)如果具有指定的序列号的数据元素被存储在存储器62中,读取该数据元素。
(3)如果具有指定序列号的数据元素被存储在存储器63中,读取该数据元素。
(4)指定下一个序列号。
当缓存器61、存储器62、63处于图7所示的状态下时,通过重复执行上述步骤(1)至(4),输出序列C如下。即,输出序列C=(X1,X2,X3,Y23,X4,X14,Y14,Y24,X5,……)。
因此,图3所示的错误校正编码设备40能够利用存储在穿孔单元中的选择信息改变为错误校正而加上的奇偶数据的量。因此,能够根据选择信息的设定而获得所希望的编码率R。
以下简单描述用于对错误校正编码设备40编码的数据序列进行解码的解码装置。作为解码处理,已经发展了各种方法。然而,这种装置基本上通过按照相反的顺序进行编码处理而解码数据序列。
图8是根据本发明的解码装置的框图。假定穿孔处理是利用相同的选择信息,在错误校正编码设备40的第一穿孔单元45和第二穿孔单元46中,分别对奇偶数据序列Y1k、Y2k进行的。虽然在图8中没有显示,该解码装置具有分离在错误校正编码设备40中被多路复用的数据序列X和奇偶数据序列Z的功能。
一个串行/并行转换器71把接收的奇偶数据序列Z分离成奇偶数据序列Z1k和奇偶数据序列Z2k。奇偶数据序列Z1k和Z2k是由包含在错误校正编码设备40中的第一穿孔单元45和第二穿孔单元46生成的序列。
第一去穿孔单元(p-1)72和第二去穿孔单元(p-1)73包含与错误校正编码设备40相同的穿孔表,并对奇偶数据序列Z1k和Z2k进行去穿孔处理。
图9显示了根据本发明的去穿孔单元72、73的一个例子。在此例中,假定奇偶数据序列Z1k=(Z11,Z12,Z13,Z14和Z15)已经被输入,且穿孔表已经被存储在图10所示的选择信息中。以下描述的是第一去穿孔单元72所进行的处理,它与第二去穿孔单元73所进行的处理相同。
当第一去穿孔单元72接收到奇偶数据序列Z1k时,它首先检查与穿孔表中的序列号=1相应的选择信息。由于在此例中选择信息=0,第一去穿孔单元72输出一个0。它随后检查与穿孔表的序列号=2相应的选择信息。在此情况下,由于该选择信息=1,第一去穿孔单元72输出Z11,即奇偶数据序列Z1k的开始数据元素。类似地,第一去穿孔单元72当选择信息=0时输出一个0,并在选择信息=1时一个一个地依次输出奇偶数据序列Z1k的数据元素。结果,第一去穿孔单元72输出以下的数据序列。
输出序列(0,Z11,0,Z12,0,Z13,0,Z14,Z15)。
参见图8,上述的序列作为用于第一解码器74的奇偶数据序列Y1k而得到提供。类似地,第二去穿孔单元73生成一个奇偶数据序列Y2k并为一个第二解码器75提供它。
图10是去穿孔处理的流程图。在此例中,为一个输入数据序列Z生成了数据序列Y。数据序列Z和Y的数据元素分别由Zi和Yk表示。
在步骤S11,利用k搜索穿孔表,以获得相应的选择信息。具体地,第k个位置的选择信息被获得。在步骤S12,检查在步骤S11获得的选择信息是“1”还是“0”。如果获得的选择信息是“1”,则数据序列Zi的数据元素之一在步骤S13被输出,作为数据序列Yk的数据元素。随后,在步骤S14,I被增值。另一方面,如果所获得的选择信息是“0”,则在步骤S150被作为数据序列Yk的数据元素而被输出。
在步骤S16,k随后被增值。在步骤S17,检查k是否达到了N,其中N表示源数据的数据长度。除非k已经达到N,控制返回到步骤S11。如果k已经达到N,则k和I被复置。
参见图8,为第一解码器74提供第一去穿孔单元72生成的奇偶数据序列Y1k。类似地,为第二解码器75提供第二去穿孔单元73生成的奇偶数据序列Y2k。第一解码器74利用奇偶数据序列Y1k对接收的数据序列Xk进行解码。第二解码器75利用奇偶数据序列Y2k对第一解码器74的输出进行解码。
一个确定单元76把第二解码器75的输出同一个预定的阈值进行比较。一个去交错器77随后对比较结果进行去交错处理(一种用于以相反的顺序进行错误校正编码设备40的随机化处理的处理),且结果作为解码数据而得到输出。
除了生成奇偶数据序列的处理以外的解码处理可利用传统技术实现。例如,它在美国专利第5,446,747中得到了描述。因此,在此省略了对解码过程的详细描述。
为了改善解码精度,具有上述配置的解码装置可以如图11所示地串联。在此情况下,图8所示的解码装置对应于一个解码模块。各个解码模块接收一个接收数据序列(将要被解码的数据序列Xk和奇偶数据序列(Z1k+Z2k))和来自前一解码模块的数据序列的一个预测值(序列T)。各个解码模块还生成解码数据S,它是新预测的数据序列。该新预测的数据序列X随后被发送至随后的解码模块。
借助上述配置,通过增大串联的解码模块的数目,解码精度能够得到改善。例如,从解码模块70-4输出的解码数据S的解码精度高于从解码模块70-1输出的解码数据S的精度。借助这种配置的操作在美国专利第5,446,747号中进行了描述。
借助图11所示的配置,可为第一解码模块70-1设置图8所示的串行/并行转换器71、第一去穿孔单元72、以及第二去穿孔单元73。
以下描述根据本发明的另一实施例的错误校正编码设备。传统的错误校正编码设备通常具有固定的编码率。例如,对于图20所示的配置,编码率R=1/3。借助图21所示的配置,编码率R=1/2。在以下描述的错误校正编码设备中,采用了一种可选的编码率。特别地,能够获得低于1/3的可选编码率。
图12显示了根据本发明的错误校正编码设备40与传统设备的输出的不同。在以下的描述中,将参照图21所示的设备。在如结合图23描述的传统设备中,例如当源数据的数据长度是666位而所需的输出数据长度是1500位时,168位的虚设数据被赋值给编码的数据。在此情况下,用于错误校正的奇偶数据是666位长。
相比之下,当采用错误校正编码设备40时,分别从图12所示的666位的奇偶数据序列Y1k、Y2k生成了417位的奇偶数据序列Z1k、Z2k。结果,用于校正错误的奇偶数据是834位长的。即,用于错误校正的数据量大于传统设备中采用的数据量。结果,本实施例具有高的解码能力。
图13显示了根据本发明的另一实施例的错误校正编码设备80。在图13中,交错器42、第一卷积单元43、第二卷积单元44、以及多路复用单元47与图3中显示的相同。然而,图13中省略了输入I/F单元41。
根据该实施例的错误校正编码设备80包括一个位复制单元81。位复制单元81复制源数据u中预定数目的数据元素,以获得所希望的编码率。
以下描述位复制单元81的操作。在以下的描述中,假定源数据u的数据长度是N位,且输出数据序列C的数据长度是M位。假定M>3N。换言之,假定要求低于1/3的编码率。
假定通过由位复制单元81在源数据u中复制r位的数据而获得了数据序列Xk,数据序列Xk、奇偶数据序列Y1k、以及奇偶数据序列Y2k的各个数据长度是“N+r”。因此,为了把一个输出数据序列的数据长度设定为M位,将要由位复制单元81复制的位数由以下公式获得。
(N+r)×3=M所以r=M/3-N例如,假定源数据u的数据长度是250位且所希望的输出序列的数据长度是900位,通过把N=250和M=900代入上述公式得到了R=50。
所希望的是,位复制单元81对于每一个“限制长度+1”复制源数据u的数据元素。限制长度指的是存储在存储器中的用于卷积处理的数据位数。例如,借助图13显示的配置,限制长度=2。因此,源数据u的数据元素每3位地得到复制。
因此,当其预定数目的数据元素被复制的数据序列被编码和发送时,在数据元素复制之后对随后的数据元素的解码过程的精度能够得到改善。
图14显示了由位复制单元81进行的操作的一个例子。在此例中,第二去穿孔单元73的数据长度是7位,限制长度是2,且要求的输出序列的数据长度是27位。在此情况下,两个数据元素被复制。进一步地,数据元素被3位地得到复制。在此处理中,错误校正编码设备80的编码率是7/27。
图15是位复制单元81的操作流程图。在此例中,源数据u(u0,u1,u2,u3,……,ui,……)得到输入。所要复制的数据元素数目是r。另外,数据元素每x位地得到复制。
在步骤S21,获得源数据u的数据元素ui。在以下描述中,“1”被作为序列号。在步骤S22,检查位复制的频率j是否已经达到“r”,即将要复制的数据元素数目。位复制的频率j表示已经对源数据u进行的位复制的次数。如果j>r,则假定所需的位复制频率已经得到进行,且所获得的数据元素ui象在步骤S23中那样得到输出。另一方面,如果j≤r,假定位复制应该被进一步重复,且控制进行到步骤S24。
在步骤S24,检查序列号i是否是x的倍数。除非序列号i是x的倍数,不进行位复制且控制进行到步骤S23。另一方面,如果序列号i是x的倍数,则源数据ui在步骤S25和步骤S26得到输出。因此,源数据ui得到复制。在步骤S27,位复制的频率j随后被增值。
在步骤S28,检查序列号i是否已经达到N。如果序列号i未达到N,序列号i在步骤S29被增值,且随后控制返回到步骤S21,以获得下一个数据元素。另一方面,如果序列号i已经达到N,假定源数据的所有数据元素都已经在步骤S21至步骤S29中得到了处理。随后,i和j在步骤S30被复置,从而结束处理。
参见图13,错误校正编码设备80复制了源数据中的预定数目的数据元素,以获得所希望的编码率。换言之,所希望的编码率,是通过复制源数据中预定数目的数据元素,而获得的。由于复制的位被用在解码过程中,它们能够减小发送通路中的错误率。
用于对错误校正编码设备80所编码的数据的数据序列进行解码的解码装置,只需要在进行了正常的解码过程之后,按照相反的顺序,进行位复制单元81所进行的处理。
图16显示了根据本发明的再一个实施例的错误校正编码设备90的配置。在图16中,交错器42、第一卷积单元43、第二卷积单元44、以及多路复用单元47与图3中的相同。
错误校正编码设备90进一步包括一个虚设位插入单元91。虚设位插入单元91把预定数目的虚设位插入源数据u,以获得所希望的编码率。
以下描述的是虚设位插入单元91的操作。在以下描述中,假定源数据u的数据长度是N位,且输出的数据序列的数据长度是M位。例如,M大于3N,则希望编码率的值小于1/3。
当虚设位插入单元91通过把r个虚设位插入源数据u而获得了数据序列Xk时,数据序列Xk、奇偶数据序列Y1k、以及奇偶数据序列Y2k的数据长度是N+r。因此,为了把输出数据序列的数据长度设定在M位,将要由虚设位插入单元91插入的位数可由以下公式获得。
(N+r)×3=M所以r=M/3-N所希望的是,虚设位插入单元91插入具有与限制长度相同长度的虚设位。限制长度指的是在上述卷积处理中存储在存储器中的数据的位数。因此,借助图13显示的配置,虚设位以2位的单位被插入源数据u。
虚设位可以是1或0。如果1被用作虚设位,且限制长度是2,则11被作为虚设数据而被插入。例如,如果源数据u的数据长度是250位,且所需的输出序列的数据长度是900位,则r=50。因此,要求50个虚设位被插入源数据u。如果限制长度是2,“11”在25个点被插入源数据u。还希望,虚设数据以均匀的分布被插入。
当具有虚设位“1”的数据序列被插入、编码和发送时,对虚设数据之后的随后数据元素的解码过程的精度得到了改善。
如以上结合图22和23所描述的,传统的错误校正编码设备经常采用虚设数据。然而,在传统方法中虚设数据被加到编码的数据序列中。相比之下,错误校正编码设备90把虚设位插入源数据中,且随后包含虚设位的源数据得到编码。因此,虚设数据在传统的方法中是无意义的数据,而错误校正编码设备80采用了虚设位作为先前的概率。因此,这些虚设位是有用的数据。
图17显示了虚设位插入单元91进行的操作的一个例子。在此例中,源数据u的数据长度是7位,限制长度是2,且所需的输出序列的数据长度是27位。在此情况下,通过把2位的虚设数据插入源数据u,实现了编码率7/27。
因此,图16所示的错误校正编码设备90把预定数目的虚设位插入源数据,以获得所希望的编码率。换言之,所希望的编码率可通过把预定数目的虚设位插入源数据而获得。由于插入的虚设位被用在编码处理中,发送通路中的错误率能够得到改善。
用于对错误校正编码设备90所编码的数据序列进行解码的解码装置,只需要具有在进行了正常的解码过程之后除去虚设位的的功能。
图3、13、16中显示的错误校正编码设备,具有两个彼此并联的卷积单元。本发明不限于这种配置。即,本发明可应用于具有彼此并联的多个卷积单元的装置。
图18是包括m个卷积单元的错误校正编码设备100的框图。卷积单元101-1至101-m对源数据u进行卷积处理。为卷积单元101-1至101-m提供了不同的交错器。结果,为卷积单元101-1至101-m提供了不同的序列。
一个穿孔单元102从分别从卷积单元101-1至101-m输出的奇偶数据序列Y1k至Ymk中选出预定数目的数据元素,并输出选定的元素。例如,当源数据u的数据长度是N位且输出序列C的数据长度是M位,即编码率=N/M时,穿孔单元102如以下地选择数据元素。卷积单元101-1至101-m的每一个,当它被赋值一个N位序列时,输出N位的奇偶数据。
如果穿孔单元102分别从奇偶数据序列Y1k至Ymk选择了K1至Km数据元素,则获得了以下公式。
N+K1+K2+K3+……+Km=M如果K1=K2=K3=……=Km=K,则获得以下的公式K=(M-N)/m所以,编码率R=N/M=(M-m·K)/M(其中M>N,N>K)因此,错误校正编码设备的编码率R能够根据彼此并联地设置的卷积单元的数目,以及将要从一个N位序列选出的数据元素的数目,而得到确定。
根据上述实施例,图3、13和16中显示的错误校正编码设备是彼此独立的。然而,它们能够可选地彼此结合。例如,图3显示的错误校正编码设备40的输入单元,可带有图13中显示的位复制单元81,或者图10所示的虚设位插入单元91。
根据上述实施例的错误校正编码设备,采用了系统码,以及其中进行卷积处理的配置。然而,本发明不限于这种配置。即,根据本发明的错误校正编码设备不一定限于系统码,也不一定限于包括卷积单元的配置。
图19是不限于系统码的错误校正编码设备的框图。一个错误校正编码设备110包括多个编码器111。每一个编码器111都能够还原卷积码,或另一种段码(例如,汉明码、BCH码、等)。进一步地,一个交错器112被以这样的方式设置,即为各个编码器111提供的序列彼此不同。至于穿孔处理和多路复用处理,采用了根据上述实施例的配置。
在用于编码源数据的一种错误校正编码设备中获得了所希望的编码率(信息率)。因此,通过在通信系统中采用这种设备,不需要发送无用的数据。结果,发送效率得到了改善,且解码特性也得到了改善。
权利要求
1.一种用于以预定的编码率对源数据进行编码的设备,包括第一编码器,用于对源数据进行编码以产生第一奇偶数据;一个交错器,用于交错源数据以产生随机化的数据;一个第二编码器,用于对随机化的数据进行编码以产生第二奇偶数据;穿孔单元,用于从第一和第二奇偶数据选择若干位以产生第一选定数据和第二选定数据,其中选定的位数对应于预定的编码率;以及一个多路复用器,用于把源数据与第一和第二选定数据相结合。
2.根据权利要求1的设备,其中第一和第二编码器是卷积编码器。
3.根据权利要求1的设备,进一步包括向第一编码器、交错器和多路复用器提供源数据的一个输入单元。
4.根据权利要求1的设备,其中源数据、第一奇偶数据和第二奇偶数据包括N位,且第一和第二选定数据包括少于N位。
5.根据权利要求1的设备,其中各个穿孔单元包括存储穿孔表的存储器,其中从第一和第二奇偶数据选出的位是根据穿孔表而进行的。
6.用于以一种预定的编码率对源数据进行编码的方法,包括以下步骤对源数据进行编码以产生第一奇偶数据;交错源数据,以产生随机化的数据;对随机化的数据进行编码,以产生第二奇偶数据;从第一和第二奇偶数据选出若干位,以产生第一选定数据和第二选定数据,其中选出的位数对应于预定的编码率;以及把源数据与第一和第二选定数据相结合。
7.根据权利要求6的方法,其中源数据、第一奇偶数据和第二奇偶数据包括N位,且第一和第二选定数据包括少于N位。
8.根据权利要求6的方法,其中从第一和第二奇偶数据选出的位是根据穿孔表进行的。
9.用于以一种预定的编码率对源数据进行编码的设备,包括多个交错器,用于交错源数据,以产生随机化的数据流;多个编码器,用于对源数据和随机化的数据流进行编码,以产生奇偶数据流;穿孔单元,用于从奇偶数据流选择若干位,以产生选定的数据流,其中从奇偶数据流选出的位数对应于预定的编码率;以及一个多路复用器,用于把源数据与选定的数据流相结合。
10.根据权利要求9的设备,其中编码器是卷积编码器。
11.根据权利要求9的设备,其中源数据和奇偶数据包括N位,且选定的数据流包括少于N位。
12.用于以一种预定的编码率对源数据进行编码的设备,包括一个复制单元,用于复制预定位数的源数据,以提供一个数据序列,其中复制的位数对应于预定的编码率;一个第一编码器,用于编码数据序列,以产生第一奇偶数据;一个交错器,用于交错数据序列,以产生随机化的数据;一个第二编码器,用于对随机化的数据进行编码,以产生第二奇偶数据;一个多路复用器,用于把数据序列与第一和第二奇偶数据相结合。
13.根据权利要求12的设备,其中第一和第二编码器是卷积编码器。
14.用于以一种预定的编码率对源数据进行编码的方法,包括以下步骤复制预定位数的源数据,以产生一个数据序列,其中复制的位数对应于该预定编码率;对数据序列进行编码,以产生第一奇偶数据;交错数据序列,以产生随机化的数据;对随机化的数据进行编码,以产生第二奇偶数据;把数据序列与第一和第二奇偶数据相结合。
15.用于以一种预定的编码率编码源数据的设备,包括一个插入单元,用于把预定的位数插入源数据,以提供一个数据序列,其中添加的位数对应于该预定的编码率;一个第一编码器,用于编码数据序列,以产生第一奇偶数据;一个交错器,用于交错数据序列,以产生随机化的数据;一个第二编码器,用于编码随机化的数据,以产生第二奇偶数据;一个多路复用器,用于把数据序列与第一和第二奇偶数据相结合。
16.根据权利要求15的设备,其中第一和第二编码器是卷积编码器。
17.根据权利要求15的设备,其中添加的位是虚设位。
18.用于以一种预定的编码率对源数据进行编码的方法,包括以下步骤把预定的位数插入源数据,以提供一个数据序列,其中插入的位数对应于该预定的编码率;对数据序列进行编码以产生第一奇偶数据;交错数据序列,以产生随机化的数据;对随机化的数据进行编码,以产生第二奇偶数据;把数据序列与第一和第二奇偶数据相结合。
19.用于以一种预定的编码率编码源数据的设备,包括第一编码器,用于编码源数据,以产生第一奇偶数据;随机化装置,用于随机化源数据,以产生随机化的数据;第二编码器,用于编码随机化的数据,以产生第二奇偶数据;选择装置,用于从第一和第二奇偶数据选出若干位,以产生第一选定数据和第二选定数据,其中选定的位数对应于该预定编码率;以及多路复用器,用于把源数据与第一和第二选定数据相多路复用。
全文摘要
借助包括彼此并联地设置的卷积单元的错误校正编码设备,获得所希望的编码率。彼此并联地设置的卷积单元,对源数据进行卷积处理。一个交错器对从卷积单元之一提供的源数据进行随机化处理。穿孔单元从卷积产生的奇偶数据序列,根据预定的穿孔方式,选择数据元素。一个多路复用单元为输出数据序列提供由穿孔单元选定的奇偶数据元素。
文档编号H04L1/00GK1516345SQ03128588
公开日2004年7月28日 申请日期1999年8月19日 优先权日1998年8月19日
发明者李继峰 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1