通信系统中的解码设备及方法

申请号 CN200410033324.1 申请日 2000-07-06 公开(公告)号 CN1531235B 公开(公告)日 2010-09-29
申请人 三星电子株式会社; 发明人 金宰烈; 姜熙原;
摘要 在CDMA移动通信系统中编码/解码传输格式组合指示符(TFCI)的设备和方法。在TFCI编码设备中,1-位发生器生成具有相同码元的序列。基 正交 序列发生器生成数个基正交序列。基掩码序列发生器生成数个基掩码序列。运算单元接收被分成代表双正交序列转换的第一信息部分、代表正交序列转换的第二信息部分、和代表掩码序列转换的第三信息部分的TFCI位,并且把根据第二信息从基正交序列中选择的正交序列、把所选正交序列与根据第一信息部分选择的相同码元组合在一起获得的双正交序列、和根据双正交码序列和第三信息部分选择的掩码序列三者组合在一起,从而生成TFCI序列。
权利要求

1.一种通信系统中的传输格式组合指示符解码设备,包括:
掩码序列发生器,用于生成至少一个掩码序列;
至少一个运算电路,用于接收输入信号和生成的掩码序列,并且把掩码序列与输入信号相乘;和
至少一个相关器,用于接收来自运算电路的信号,计算接收信号与用相应索引编号的数个正交序列之间的相关值,和选择极大相关值和与该极大相关值相对应的正交序列索引。
2.根据权利要求1所述的解码设备,其中,掩码序列发生器含有可以加在一起形成哥德码的第一m-序列和第二m-序列,并被用于形成含有通过循环移位第一m-序列生成的序列的第一序列组和含有通过循环移位第二m-序列生成的序列的第二序列组,为第一组中的序列生成列置换函数,以便把第一组中的序列转换成正交序列,把为‘0’的列插入第二组中的序列的前面,和把逆列置换函数应用于第二组中的序列,以便把第二组中的序列转换成掩码序列。
3.根据权利要求1所述的解码设备,其中,运算电路是乘法器。
4.根据权利要求1所述的解码设备,还包括相关性比较器,用于确定从数个相关器接收的最大相关值,和生成与最大相关值相对应的序列索引和掩码序列索引。
5.根据权利要求4所述的解码设备,其中,掩码序列索引是用于从输入信号中移去掩码序列的掩码序列索引。
6.一种通信系统中的传输格式组合指示符解码设备,包括:
掩码序列发生器,用于生成数个掩码序列;
运算电路,用于接收输入信号和来自掩码序列发生器的掩码序列,和把掩码序列与输入信号相乘;
相关器,用于接收来自运算电路的信号,计算每个接收信号与具有相应索引的数个正交序列之间的相关值,和选择极大相关值和与极大相关值相对应的正交序列索引;和
相关性比较器,用于确定来自相关器的、所选择的极大相关值当中的最大相关值,和输出与所确定的最大相关值相对应的正交序列索引和掩码序列索引。
7.根据权利要求6所述的解码设备,其中,掩码序列发生器含有可以加在一起形成哥德码的第一m-序列和第二m-序列,并被用于形成含有通过循环移位第一m-序列生成的序列的第一序列组和含有通过循环移位第二m-序列生成的序列的第二序列组,为第一组中的序列生成列置换函数,以便把第一组中的序列转换成正交序列,把为‘0’的列插入第二组中的序列的前面,和把逆列置换函数应用于第二组中的序列,以便把第二组中的序列转换成掩码序列。
8.根据权利要求6所述的解码设备,还包括存储器,用于存储输入信号和把输入信号输出到运算电路,直到输入信号完全与掩码序列发生器生成的掩码序列相乘。
9.根据权利要求8所述的解码设备,其中,运算电路是乘法器。
10.根据权利要求6所述的解码设备,其中,掩码序列索引是用于从输入信号中移去掩码序列的掩码序列的索引。
11.一种通信系统中的传输格式组合指示符解码方法,包括下列步骤:
生成至少一个掩码序列;
接收输入信号和掩码序列,和把掩码序列与输入信号相乘以生成乘积信号;
接收乘积信号,计算乘积信号与具有相应索引的数个正交序列之间的相关值;和
从所计算相关值当中选择极大相关值和与该极大相关值相对应的正交序列索引,和输出与极大相关值相对应的正交序列索引。
12.根据权利要求11所述的解码方法,其中,生成至少一个掩码序列的步骤含有可以加在一起形成哥德码的第一m-序列和第二m-序列,并被用于形成含有通过循环移位第一m-序列生成的序列的第一序列组和含有通过循环移位第二m-序列生成的序列的第二序列组,为第一组中的序列生成列置换函数,以便把第一组中的序列转换成正交序列,把为‘0’的列插入第二组中的序列的前面,和把逆列置换函数应用于第二组中的序列,以便把第二组中的序列转换成掩码序列。
13.根据权利要求11所述的解码方法,还包括下列步骤:
从通过从所计算的相关值当中选择极大相关值所得的所选极大相关值中确定最大相关值;和
输出与所确定的最大相关值相对应的序列索引和掩码序列索引。
14.根据权利要求13所述的解码方法,其中,掩码序列索引是与最大相关值相对应的、用于从输入信号中移去掩码序列的掩码序列的索引。

说明书全文

1.发明领域

本发明一般涉及IMT 2000系统中的信息发送设备和方法,尤其涉及发送传输格式组合指示符(TFCI)的设备和方法。

2.相关技术描述

CDMA(码分多址)移动通信系统(下文称之为IMT 2000系统)一般以固定或可变数据速率,在诸如专用物理数据信道(DPDCH)之类的物理信道上发送提供话音服务、图像服务、字符服务的。在以固定数据速率发送包括那种服务的数据帧的情况中,不需要把每个数据帧的扩展比通知接收器。另一方面,如果以可变数据速率发送数据帧,这意味着每个数据帧具有不同的数据速率,那么,发送器应该把通过它的数据速率确定的每个数据帧的扩展比通知接收器。在一般IMT 2000系统中,数据速率与数据发送速率成正比,而数据发送速率与扩展比成反比。

对于数据帧以可变数据速率的发送,DPCCH的TFCI字段把当前服务帧的数据速率通知接收器。TFCI字段包括TFCI,TFCI指示包括服务帧的数据速率在内的许多信息。TFCI是有助于可靠提供话音或数据服务的信息。

图1A至1D显示了TFCI的应用的例子。图1A显示了TFCI对上行链路DPDCH和上行链路专用物理控制信道(DPCCH)的应用。图1B显示了TFCI对随机接入信道(RACH)的应用。图1C显示了TFCI对下行链路DPDCH和下行链路DPCCH的应用。图1D显示了TFCI对辅助公用控制物理信道(SCCPCH)的应用。

参照图1A至1D,一个帧由16个时隙组成,每个时隙都含有一个TFCI字段。因此,一个帧包括16个TFCI字段。TFCI字段包括NTFCI个位,在一个帧中TFCI一般具有32个位。为了在一个帧中发送32位的TFCI,可以把2个TFCI位分配给16个时隙的每一个(Tslot=0.625ms)。

图2是一般IMT 2000系统中基站发送器的方图。

参照图2,乘法器211、231和232把输入信号与增益系数G1、G3和G5相乘。乘法器221、241和242把从相应TFCI编码器接收的TFCI码字(TFCI码码元)与增益系数G2、G4和G6相乘。根据服务类型或越区切换状况,增益系数G1至G6可以具有不同的值。输入信号包括DPCCH的导频和功率控制信号(TPC)和DPDCH数据。多路复用器212把从乘法器221接收的32位TFCI码码元(TFCI码字)插入图1C所示的TFCI字段中。多路复用器242把从乘法器241接收的32位TFCI码码元插入TFCI字段中。多路复用器252把从乘法器242接收的32位TFCI码码元插入TFCI字段中。TFCI码码元到TFCI字段的插入显示在图1A至1D中。32个TFCI码码元是通过编码定义相应数据信道上数据信号的数据速率的TFCI位(信息位)获得的。第一、第二和第三串行-并行转换器(S/P)213、233和234把多路复用器212、242和252的输出分解成I信道和Q信道。乘法器214、222和235至238把S/P 213、233和234的输出与信道化码Cch1、Cch2和Cch3相乘。信道化码是正交码。第一加法器215将乘法器214、235和237的输出相加,生成I信道信号,和第二加法器223将乘法器222、236和238的输出相加,生成Q信道信号。移相器224把从第二加法器223接收的Q信道信号的相位移动90°。加法器216将第一加法器215和移相器224的输出相加,生成复信号I+jQ。乘法器217用分配给基站的复PN(伪噪声)序列Cscramb加扰复信号。信号处理器(S/P)218把加扰信号分解成I信道和Q信道。低通滤波器(LPF)219和225通过低通滤波限制从S/P 218接收的I信道和Q信道信号的带宽。乘法器220和226把LPF 219和225的输出分别与载波cos(2πfct)和sin(2πfct)相乘,从而把LPF 219的输出变换成RF(射频)带。加法器227将RF I信道和Q信道信号相加。

图3是一般IMT 2000系统中移动台发送器的方块图。

参照图3,乘法器311、321和323把相应的信号与信道化码Cch1、Cch2和Cch3相乘。信号1、2、3是第一、第二和第三DPDCH信号。输入信号4包括DPCCH的导频和TPC。TFCI信息位由TFCI编码器309编码成32位TFCI码码元。乘法器310按照图1A所示那样把32位TFCI码码元插入信号4中。乘法器325把从乘法器310接收的、包括TFCI码码元的DPCCH信号与信道化码Cch4相乘。信道化码Cch1至Cch4是正交码。32TFCI码码元是通过编码定义DPDCH信号的数据速率的TFCI信息位获得的。乘法器312、322、324和326把乘法器311、321、323和325的输出分别与增益系数G1至G4相乘。增益系数G1至G4可以具有不同值。第一加法器313通过将乘法器312和322的输出相加,生成I信道信号。第二加法器327通过将乘法器324和326的输出相加,生成Q信道信号。移相器328把从第二加法器327接收的Q信道信号的相位移动90°。加法器214将第一加法器313和移相器328的输出相加,生成复信号I+jQ。乘法器315用分配给基站的PN序列Cscramb加扰复信号。S/P 329把加扰信号分解成I信道和Q信道。LPF 316和330低通滤波从S/P 329接收的I信道和Q信道信号,生成带宽受到限制的信号。乘法器317和331把LPF 316和330的输出分别与载波cos(2πfct)和sin(2πfct)相乘,从而把LPF 316和330的输出变换到RF带。加法器318将RF I信道和Q信道信号相加。

TFCI被分类成基本TFCI和扩充TFCI。基本TFCI利用6个TFCI信息位表示包括相应数据信道的数据速率的1到64个不同信息,而扩充TFCI则利用7、8、9或10个TFCI信息位表示1到128个、1到256个、1到512个或1到1024个不同信息。对于更多的各种各样的服务,建议扩充TFCI要满足IMT 2000系统的要求。对于从发送器接收数据帧的接收器来说,TFCI位是必不可少的。这就是由于发送差错的存在,TFCI信息的不可靠发送导致在接收器中各种帧被错误解释的原因。因此,发送器在发送之前,用纠错码编码TFCI位,以便接收器能够纠正TFCI中可能生成的差错。

图4A概念性地显示了传统IMT 2000系统中基本TFCI位编码结构,和图4B是应用于图4A所示的双正交编码器的示范性编码表。如上所述,基本TFCI具有指示1到64个不同信息的6个TFCI位(下文称之为基本TFCI位)。

参照图4A和4B,双正交编码器402接收基本TFCI位和输出32个编码码元(TFCI码字或TFCI码码元)。基本TFCI基本上用6个位来表达。因此,在把小于6个位的基本TFCI位应用于双正交编码器402的情况中,把0附加在基本TFCI位的左端,即MSB(最高有效位)上,以便把基本TFCI位数目增加到6。双正交编码器402具有图4B所示的预定编码表,对于6个基本TFCI位的输入,输出32个编码码元。如图4B所示,编码表列出了32个(32-码元)正交码字c32,1到c32,32和32个双正交码字c32,1到c32,32,双正交码字c32,1到c32,32是码字c32,1到c32,32的补码。如果基本TFCI的LSB(最低有效位)是1,双正交编码器402就从32个双正交码字当中选择。如果LSB是0,双正交编码器402就从32个正交码字当中选择。然后,根据其它TFCI位,选择所选正交码字或双正交码字之一。

TFCI码字应该具有强大的如前所述的纠错能。二进制线性码的纠错能力取决于二进制线性码之间的最短距离(dmin)。A.E.Brouwer和Verhoeff发表的“二进制线性码的最短距离范围的更新表”(“An Updated Table ofMinimun-Distance Bounds for Binary Linear Codes”,A.E.Brouwer and VerhoeffIEEE Transactions on Information Theory,Vol.39,No.2,March 1993(下文称之为参考文献1))描述了最佳二进制线性码的最短距离。

参考文献1给出16作为二进制线性码的最短距离,据此,对于6个位的输入,输出32个位。从双正交编码器402输出的TFCI码字具有16的最短距离,这意味着TFCI码字是最佳码。

图5A概念性地显示了传统IMT 2000系统中扩充TFCI位编码结构,图5B是在图5A所示的控制器中分配TFCI位的示范性算法,和图5C是应用于图5A所示的双正交编码器的示范性编码表。扩充TFCI也可以通过TFCI位数来定义。也就是说,如上所述,扩充TFCI包括表示1到128个、1到256个、1到512个或1到1024个不同信息的7、8、9或10个TFCI位(下文称之为扩充TFCI位)。

参照图5A、5B和4C,控制器500把TFCI位一分为二。例如,对于10个扩充TFCI位的输入,控制器500输出扩充TFCI的前一半作为第一TFCI位(字1)和输出后一半作为第二TFCI位(字2)。扩充TFCI基本上用10个位来表达。因此,在输入小于10个位的扩充TFCI位的情况中,控制器500把0附加在扩充TFCI位的MSB,以便用10个位表达扩充TFCI。然后,控制器500把10个扩充TFCI位分成字1和字2。字1和字2分别馈送到双正交编码器502和504。把扩充TFCI位a1至a10分成字1和字2的方法显示在图5B中。

双正交编码器502通过编码从控制器500接收的字1,生成具有16个码元的第一TFCI码字。双正交编码器504通过编码从控制器500接收的字2,生成具有16个码元的第二TFCI码字。双正交编码器502和504具有预定编码表,对于2个5位TFCI输入(字1和字2),输出16-码元的TFCI码字。示范性的编码表显示在图5C中。如图5C所示,编码表列出了长度为16个位的16个正交码字c16,1到c16,16和双正交码字c16,1到c16,16,双正交码字c16,1到c16,16是正交码字c16,1到c16,16的补码。如果5个TFCI位的LSB是1,双正交编码器(502或504)就选择16个双正交码字。如果LSB是0,双正交编码器就选择16个正交码字。然后,双正交编码器根据其它TFCI位,选择所选正交码字或双正交码字之一,输出所选码字作为第一或第二TFCI码字。

多路复用器510把第一和第二TFCI码字多路复用成最后的32-码元TFCI码字。

一旦接收到32-码元TFCI码字,接收器就解码分成两半(字1和字2)的TFCI码字,并且通过把两个解码的5-位TFCI半部组合在一起,获得10个TFCI位。在这种情况中,甚至在解码期间输出的解码的5-位TFCI之一中的可能差错也会导致在10个TFCI位上的差错。

扩充TFCI码字还应该具有强大的纠错能力。为此,扩充TFCI码字应该具有如参考文献1所建议的最短距离。

考虑到扩充TFCI位数10和TFCI码字的码元数32,参考文献1给出12作为最佳码的最短距离。然而,因为在解码期间字1和字2的至少一个的差错导致整个10个TFCI位的差错,所以从图5A所示的结构输出的TFCI码字具有8的最短距离。也就是说,尽管扩充TFCI位被分成两半分别编码,但是最后TFCI码字的最短距离等于双正交编码器502和504的码字输出之间的最短距离。

因此,从图5A所示的编码结构发送的TFCI码字不是最佳的,在相同无线电信道环境下,这也许会增加TFCI位的出错概率。随着TFCI位出错概率的增加,接收器误判接收数据帧的数据速率,和以增加了的差错率解码数据帧,从而降低了IMT 2000系统的效率。

根据传统技术,需要独立的硬件结构来支持基本TFCI和扩充TFCI。结果是,在成本和系统尺寸方面制约了IMT 2000系统的实现。

发明概述

因此,本发明的一个目的是提供一种在IMT 2000系统中编码扩充TFCI的设备和方法。

本发明的另一个目的是提供一种在IMT 2000系统中兼容地编码基本TFCI和扩充TFCI的设备和方法。

本发明的另一个目的是提供一种在IMT 2000系统中解码扩充TFCI的设备和方法。

本发明的另一个目的是提供一种在IMT 2000系统中兼容地解码基本TFCI和扩充TFCI的设备和方法。

本发明的另一个目的是提供一种在IMT 2000系统中,通过编码扩充TFCI生成最佳码的设备和方法。

本发明的另一个目的是提供一种在IMT 2000系统中,生成供编码/解码扩充TFCI用的掩码序列的设备和方法。

为了实现上面目的,本发明提供了CDMA移动通信系统中的TFCI编码/解码设备和方法。在TFCI编码设备中,1-位发生器生成具有相同码元的序列。基(basis)正交序列发生器生成数个基正交序列。基掩码序列发生器生成数个基掩码序列。运算单元接收被分成代表双正交序列转换的第一信息部分、代表正交序列转换的第二信息部分、和代表掩码序列转换的第三信息部分的TFCI位,并且把根据第二信息从基正交序列中选择的正交序列、把所选正交序列与根据第一信息部分选择的相同码元组合在一起获得的双正交序列、和根据双正交码序列和第三信息部分选择的掩码序列三者组合在一起,从而生成TFCI序列。

附图简述

通过结合附图,进行如下详细描述,本发明的上面和其它目的、特征和优点将更加清楚,在附图中:

图1A至1D显示了在一般IMT 2000系统中TFCI对信道帧的示范性应用;

图2是一般IMT 2000系统中基站发送器的方块图;

图3是一般IMT 2000系统中移动台发送器的方块图;

图4A概念性地显示了传统IMT 2000系统中的基本TFCI编码结构;

图4B是用在图4A所示的双正交编码器中的编码表的例子;

图5A概念性地显示了传统IMT 2000系统中的扩充TFCI编码结构;

图5B是在图5A所示的控制器中分配TFCI位的算法的例子;

图5C是用在图5A所示的双正交编码器中的编码表的例子;

图6概念性地显示了在根据本发明的IMT 2000系统中的TFCI编码结构;

图7是显示在根据本发明的IMT 2000系统中,有关TFCI编码的掩码序列生成过程的实施例流程图

图8是根据本发明的IMT 2000系统中,TFCI编码设备的实施例的方块图;

图9是根据本发明的IMT 2000系统中,TFCI解码设备的实施例的方块图;

图10是显示图9所示的相关性比较器的控制操作流程图;

图11是显示在根据本发明的IMT 2000系统中,TFCI编码过程的实施例的流程图;

图12是显示在根据本发明的IMT 2000系统中,TFCI编码过程的另一个实施例的流程图;

图13显示了根据本发明通过TFCI确定的正交序列和掩码序列的结构的实施例;

图14是根据本发明的IMT 2000系统中,TFCI编码设备的另一个实施例的方块图;

图15是根据本发明的IMT 2000系统中,TFCI解码设备的另一个实施例的方块图;

图16是显示在根据本发明的IMT 2000系统中,TFCI编码过程的另一个实施例的流程图;和

图17是根据本发明的IMT 2000系统中,TFCI解码设备的第三个实施例的方块图。

优选实施例详述

下文参照附图描述本发明的优选实施例。在如下的描述中,对那些众所周知的功能或结构将不作详细描述,因为,否则的话,它们将会把本发明的特征淹没在不必要的细节之中。

本发明针对在IMT 2000系统中,通过相加源自第一TFCI位的第一码码元(第一TFCI码字)和源自第二TFCI位的第二码码元(第二TFCI码字),输出最终码码元的TFCI编码概念。TFCI编码概念显示在图6中。这里,双正交序列和掩码序列分别作为第一TFCI码字和第二TFCI码字给出。

参照图6,TFCI位被分成第一TFCI位和第二TFCI位。掩码序列发生器602通过编码第二TFCI位生成预定掩码序列,和双正交序列发生器604通过编码第一TFCI位生成预定双正交序列。加法器610把掩码序列与双正交序列相加,输出最终码码元(TFCI码字)。掩码序列发生器602可以含有编码表,该编码表列出所有可能第二TFCI位的掩码序列。双正交序列发生器604也可以含有编码表,该编码表列出所有可能第一TFCI位的双正交序列。

如上所述,应该定义掩码序列和掩码序列生成方法,以便使本发明得以实现。例如,在本发明的实施例中,给出沃尔什(Walsh)码作为正交码。

1.掩码序列生成方法

本发明涉及在IMT 2000系统中TFCI位的编码和解码,以及扩充里德-穆勒(Reed Muller)码的使用。为此目的,使用预定序列,这些序列应该具有保证极好纠错性能的最短距离。

确定线性纠错码的性能或能力的有意义参数是纠错码的码字之间的最短距离。码字的汉明(Hamming)权重是它除0以外的码元数。如果给出码字是“0111”,那么,它的汉明权重是3。除了均为“0”的码字之外一个码字的最小汉明权重被称为最小权重,和每个二进制线性码的最短距离等于最小权重。线性纠错码的最短距离越大,它的纠错性能就越好。详细内容请参看F.J.Macwilliams和N.J.A.Sloane的“纠错码理论”(“The Theory of Error-CorrectingCodes”,F.J.Macwilliams and N.J.A.Sloane,North-Holland(下文称之为参考文献2))。

扩充里德-穆勒码可以从一组序列中推算出来,这组序列的每一个是m-序列和预定序列的元素的总和。为了利用作为线性纠错码的序列组,该序列组应该具有大的最短距离。这样的序列组包括卡沙(Kasami)序列组、哥德(Gold)序列组、和克导克(Kerdock)序列组。如果在这样的序列组中序列的总长度是L=22m,那么,最短距离=(22m-2m)/2。对于22m+1,最短距离=(22m+1-22m)/2。也就是说,如果L=32,最短距离=12。

下面对生成性能极好的线性纠错码,即扩充纠错码(沃尔什码和掩码序列)的方法加以描述。

根据编码理论,存在着从通过循环移位源m-序列1至‘n’次形成的一个组中的m-序列中构造出沃尔什码的列置换(transposition)函数,此处,‘n’是m-序列的长度。换言之,每个m-序列都是通过循环移位源m-序列预定次数形成的。列置换函数是把m-序列组中的序列变换成沃尔什码的变换函数。我们假设,存在通过把源m-序列与另一个源m-序列相加形成的、诸如哥德序列或卡沙马序列之类的序列。类似地,另一组m-序列也是通过循环其它移位源m-序列1至‘n’次形成的,此处,‘n’是预定序列的长度。此后,把逆列置换函数应用于从其它移位源m-序列形成的第二组m-序列。把逆列置换函数应用于第二组m-序列建立起将被定义为掩码序列的另一组序列。

在本发明的实施例中,结合利用哥德序列组生成(2n,n+k)码(扩充里德-穆勒码)(k=1、2、......、n+1),描述掩码序列生成方法。(2n,n+k)码代表对于(n+k)个TFCI位(输入信息位)的输入,输出2n-码元TFCI码字。众所周知,哥德序列可以表示成两个不同m-序列之和。因此,为了生成(2n,n+k)码,应该产生长度为(2n-1)的哥德序列。这里,哥德序列是从生成多顶式f1(x)和f2(x)生成的两个m-序列m1(t)和m2(t)之和。给定生成多顶式f1(x)和f2(x),利用迹函数计算m-序列m1(t)和m2(t)。

m1(t)=Tr(Aαt)    t=0、1、......、30,和

Tr(a)=Σk=0n-1α2ka∈GF(2n)      ......(式1)

此处,A由m-序列的初值确定,α是多顶式的根,和n是多顶式的阶次。

图7是表示供从哥德序列组中生成(2n,n+k)码之用的掩码序列生成过程的流程图。

参照图7,在步骤710,分别利用生成多顶式f1(x)和f2(x),在(式1)中生成m-序列m1(t)和m2(t)。在步骤720,计算列置换函数σ(t),以便从含有循环移位m2(t)0至n-2次形成的m-序列的序列组中构造出沃尔什码,此处,把均为‘0’的列插在从m2(t)中构造出来的m-序列的前面,如下所示:

σ:{0、1、2、......、2n-2}→{1、2、3、......、2n-1}

σ(t)=Σi=0n-1m2(t+i)22kt=0、1、2、......     ......(式2)

在步骤730,利用从σ(t)的逆函数推算出来的σ-1(t)+2,列置换通过循环移位m1(t)0至30次形成的一组31个序列。然后,把0附加在所得到的列置换序列中每一个的开头上,使序列的长度为2n。因此,生成长度为2n的一组(2n-1)个序列di(t)(i=0、......、2n-2,t=1、......、2n)。

{di(t)|t=1、......、2n,i=0、......、2n-2}

......(式3)

数个di(t)是可以用作31个掩码的掩码函数。

di(t)的特征在于,把上面掩码当中的两个不同掩码加入(2n-1)个掩码除了2个掩码之外的某一个中。为了进一步归纳它,把(2n-1)个掩码的每一个表示成特定n个掩码的至少两个之和。这n个掩码被称为基掩码序列。当要生成(2n,n+k)码时,对于n+k个输入信息位(TFCI位),必要码字总数是2n+k。2n个正交序列(沃尔什码)和它们的补码,即双正交序列的总数是2n×2=2n+1。对于(2n,n+k)码的生成,需要非0的2k-1-1(=(2n+k/2n+1)-1)个掩码。如前所述,在这里,2k-1-1个掩码可以利用k-1个基掩码序列表示。

现在,对选择k-1个基掩码序列的方法给出描述。在图7的步骤730,循环移位m-序列m1(t)0至2n-1次,生成一组序列。这里,根据(式1),循环移位m-序列m1(t)i次所得的m-序列被表示成Tr(αi·αt)。也就是说,对于初始序列A={1、α、......、α2n-2},循环移位m-序列m1(t)0至30次生成一组序列。从伽罗瓦(Galois)元素1、α、......、α2n-2中可以找出k-1个线性独立的基元素,和与被当作初始序列的、具有k-1个基元素的迹函数的输出序列相对应的掩码序列成为基掩码序列。线性独立条件表示为

α1、......、αk-1:线性独立

c1α1+c2α2+......ck-1αk-10,c1,c2,......,ck-1......(式4)

为了详细描述上面归纳的掩码函数生成方法,先参照图7描述如何利用哥德序列组生成(32,10)码。众所周知,哥德序列被表示成不同预定m-序列之和。因此,应该首先生成长度为31的哥德序列,以便生成所需的(32,10)码。哥德序列是分别从多顶式x5+x2+1和x5+x4+x+1生成的两个m-序列之和。给定相应的生成多顶式,利用迹函数计算m-序列m1(t)和m2(t)的每一个:

m1(t)=Tr(Aαt)     t=0、1、......、30,和

Tr(a)=Σn=04α2na∈GF(25)                    ......(式5)

此处,A由m-序列的初值确定,α是多顶式的根,和n是多顶式的阶次,在这里是5。

图7显示了生成(32,10)码的掩码序列生成过程。

参照图7,在步骤710,分别利用生成多顶式f1(x)和f2(x),在(式1)中生成m-序列m1(t)和m2(t)。在步骤720,计算列置换函数σ(t),以便构造出m-序列m2(t)的沃尔什码:

σ:{0、1、2、......、30}→{1、2、3、......、31}

σ(t)=Σi=04m2(t-i)24-i......(式6)

然后,在步骤730,利用从σ(t)的逆函数推算出来的σ-1(t)+2,列置换通过循环移位m1(t)0至30次形成的一组31个序列。然后,把0附加在所得到的列置换序列中的每一个的开头上,使序列的长度为31。因此,生成长度为2n的31个di(t)。这里,如果i=0、......、30,那么,t=1、......、32)。在步骤730生成的序列组可以表示成

{di(t)|t=1、......、32,i=0、……、30}

......(式7)

从(式7)获得的数个di(t)可以用作31个掩码序列。

di(t)的特征在于,把上面掩码当中的两个不同掩码加入31个掩码中除了2个掩码之外的某一个中。换言之,31个掩码的每一个可以被表示成5个特定掩码之和。这5个掩码是基掩码序列。

当要生成(32,10)码时,对于所有可能的10个输入信息位(TFCI位),必要码字总数是2n+k=1024。长度为32的双正交序列的总数是32×2=64。生成(32,10)码需要15个掩码。这15个掩码可以表示成4个基掩码序列的组合。

现在,对选择4个基掩码序列的方法给出描述。根据(式1),循环移位m-序列m1(t)i次所得的m-序列被表示成Tr(αi·αt)。也就是说,对于初始序列A={1、α、......、α2n-2),循环移位m-序列m1(t)0至30次生成一组序列。这里,从伽罗瓦元素1、α、......、α2n-2中可以找出4个线性独立的基元素,和与被当作初始序列的、具有4个基元素的迹函数的输出序列相对应的掩码序列成为基掩码序列。线性独立条件表示为

α、β、γ、δ:线性独立

c1α+c2β+c3γ+c4δ0,c1,c2,c3,c4......(式8)

事实上,在伽罗瓦元GF(25)中的1、α、α2、α3是被公认为四个线性独立元素的多顶式子基。通过用多顶式基替换(式1)中的变量A,获得四个基掩码序列M1、M2、M4和M8。

M1=00101000011000111111000001110111

M2=00000001110011010110110111000111

M4=00001010111110010001101100101011

M8=00011100001101110010111101010001

从现在开始,描述在根据本发明实施例的IMT 2000系统中,利用以上面方式获得的基掩码序列编码/解码TFCI的设备和方法。

2.编码/解码设备和方法的第一实施例

图8和9是根据本发明实施例的IMT 2000系统中,TFCI编码和解码设备的方块图。

参照图8,把10个TFCI位a0至a9施加到相应乘法器840至849上。1-位发生器800连续生成预定码位。也就是说,由于本发明处理双正交序列,因此,生成必要的位,以构造正交序列当中的双正交序列。例如,1-位发生器800生成含有1的位,以对从基沃尔什码发生器810生成的正交序列(即,沃尔什码)求逆,因此生成双正交序列。基沃尔什码发生器810生成预定长度的基沃尔什码。基沃尔什码指的是通过对其任意相加可以产生出所有所需沃尔什码的沃尔什码。例如,当利用长度为32的沃尔什码时,基沃尔什码是第1、第2、第4、第8和第16沃尔什码W1、W2、W4、W8和W16,其中:

W1=01010101010101010101010101010101

W2=00110011001100110011001100110011

W4=00001111000011110000111100001111

W8=00000000111111110000000011111111

W16=00000000000000001111111111111111

基掩码序列发生器820生成预定长度的基掩码序列。基掩码序列生成方法在上面已经作了描述,因此,不再描述其细节。如果使用长度为32的掩码序列,那么,基掩码序列是第1、第2、第4和第8掩码序列M1、M2、M4和M8,其中:

M1=00101000011000111111000001110111

M2=00000001110011010110110111000111

M4=00001010111110010001101100101011

M8=00011100001101110010111101010001

乘法器840以码元为基础把从1-位发生器800输出的1与输入信息位a0相乘。

乘法器841把从基沃尔什码发生器810接收的基沃尔什码W1与输入信息位a1相乘。乘法器842把从基沃尔什码发生器810接收的基沃尔什码W2与输入信息位a2相乘。乘法器843把从基沃尔什码发生器810接收的基沃尔什码W4与输入信息位a3相乘。乘法器844把从基沃尔什码发生器810接收的基沃尔什码W8与输入信息位a4相乘。乘法器845把从基沃尔什码发生器810接收的基沃尔什码W16与输入信息位a5相乘。乘法器841至845一个码元一个码元地把接收的基沃尔什码W1、W2、W4、W8和W16与它们相应的输入信息位相乘。

同时,乘法器846把基掩码序列M1与输入信息位a6相乘。乘法器847把基掩码序列M2与输入信息位a7相乘。乘法器848把基掩码序列M4与输入信息位a8相乘。乘法器849把基掩码序列M8与输入信息位a9相乘。乘法器846至849一个码元一个码元地把接收的基掩码序列M1、M2、M4和M8与它们相应的输入信息位相乘。

加法器860相加从乘法器840至849接收的编码输入信息位,并且输出长度为32位的最终码码元(TFCI码字)。最终码码元(TFCI码字)的长度由从基沃尔什码发生器810生成的基沃尔什码和从基掩码序列发生器820生成的基掩码序列的长度确定。

例如,如果输入信息位a0至a9是“0111011000”,那么,乘法器840把作为a0的0与从1-位发生器800接收的1相乘,生成32个均为“0”的码码元。乘法器841把作为a1的1与从基沃尔什码发生器810接收的W1相乘,生成码码元“01010101010101010101010101010101”。乘法器842把作为a2的1与从基沃尔什码发生器810接收的W2相乘,生成码码元“00110011001100110011001100110011”。乘法器843把作为a3的1与从基沃尔什码发生器810接收的W4相乘,生成码码元“00001111000011110000111100001111”。乘法器844把作为a4的0与从基沃尔什码发生器810接收的W8相乘,生成32个均为“0”的码码元。乘法器845把作为a5的1与从基沃尔什码发生器810接收的W16相乘,生成码码元“00000000000000001111111111111111”。乘法器846把作为a6的1与从基掩码序列发生器820接收的M1相乘,生成码码元“00101000011000111111000001110111”。乘法器847把作为a7的0与从基掩码序列发生器820接收的M2相乘,生成32个均为“0”的码码元。乘法器848把作为a8的0与从基掩码序列发生器820接收的M4相乘,生成32个均为“0”的码码元。乘法器849把作为a9的0与从基掩码序列发生器820接收的M8相乘,生成32个均为“0”的码码元。加法器860相加从乘法器840至849接收的码码元,输出最终码码元“010000010000101001100110111 00001”。最终码码元可以通过一个码元一个码元地把与信息位1相对应的基沃尔什码W1、W2、W4和W16与基掩码序列M1相加获得。换句话来说,把基沃尔什码W1、W2、W4和W16相加成W23,然后,相加沃尔什码W23和基掩码序列M1,形成从加法器860输出的TFCI码字(最终码码元)(=W23+M1)。

图11是显示根据本发明的IMT 2000系统中的TFCI编码过程的实施例的流程图。

参照图11,在步骤1100,接收10个输入信息位(即,TFCI位),并且把变量sum和j设置成初始值0。变量sum表示最终码码元,和j表示在基于码元的相加之后输出的最终码码元的计数。在步骤1110,如果用于编码输入信息位的沃尔什码和掩码序列的长度为32个码元,那么,确定j是否是32。执行步骤1110是为了检验输入信息位是否一个码元一个码元地都用沃尔什码和掩码序列编了码。

如果在步骤1110,j不是32,这意味着相对于沃尔什码和掩码序列的所有码元,输入信息位还没有被完全编码,那么,在步骤1120,接收基沃尔什码W1、W2、W4、W8和W16的第j个码元W1(j)、W2(j)、W4(j)、W8(j)和W16(j)和基掩码序列M1、M2、M4和M8的第j个码元M1(j)、M2(j)、M4(j)和M8(j)。然后,在步骤1130,以码元为基础把接收的码元与输入信息位相乘,并且对码元积求和。这个和值就是变量sum。

步骤1130可以表示成

sum=a0+a1·W1(j)+a2·W2(j)+a3·W4(j)+a4·W8(j)+a5·W16(j)+a6·M1(j)+a7·M2(j)+a8·M4(j)+a9·M8(j)          ......(式9)

从(式9)可看出,把输入信息位与基沃尔什码和基掩码序列的相应码元相乘,求和码元积,这个和值就成为所需的码码元。

在步骤1140,输出表示所得的第j个码码元的sum,在步骤1150把j递增1,然后过程返回到步骤1110。同时,如果在步骤1110,j是32,那么,结束编码过程。

根据本发明实施例的、图8所示的编码设备可以支持扩充TFCI以及基本TFCI。支持扩充TFCI的编码器包括(32,10)编码器、(32,9)编码器、和(32,7)编码器。

对于10个输入信息位的输入来说,(32,10)编码器输出长度为32的32个沃尔什码、对沃尔什码反转所得的32个双正交码、和15个掩码序列的组合。32个沃尔什码可以从5个基沃尔什码的组合中产生出来。32个双正交码可以通过把1加入每个沃尔什码的32个码元中得到。这个结果与把-1与被视为实数的32个沃尔什码相乘具有相同的效果。15个掩码序列可以通过5个基掩码序列的组合取得。因此,从(32,10)编码器中可以产生出总共1024个码字。

(32,9)编码器接收9个输入信息位,输出长度为32的32个沃尔什码、对沃尔什码反转所得的32个双正交码、和4个掩码序列的组合。4个掩码序列通过组合4个基掩码序列的两个得到。

(32,7)编码器接收7个输入信息位,输出1024个码字中长度为32的32个沃尔什码、对沃尔什码反转所得的32个双正交码、和4个掩码序列之一的组合。

提供扩充TFCI的上面编码器具有最短距离12,并且可以通过阻塞从基掩码序列发生器820生成的4个基掩码序列的至少一个的输入输出来实现。

也就是说,(32,9)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的4个基掩码序列的一个的输入输出来实现。(32,8)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的基掩码序列的二个的输入输出来实现。(32,7)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的基掩码序列的三个的输入输出来实现。如上所述,根据本发明实施例的编码设备可以按照输入信息位的个数,即,要发送的TFCI位的个数灵活地编码,并且使决定编码设备性能的最短距离达到最大。

在上面编码设备中的码字是通过组合长度为32的32个沃尔什码、把1加入沃尔什码中所得的32个双正交码、和长度为15的15个掩码序列获得的序列。码字的结构显示在图13中。

为了更好地理解TFCI位编码过程,表(Table)1a至1f列出了码码元(TFCI码字)与10个TFCI位之间的关系。

(表1a)

  0000000000:  00000000000000000000000000000000  0000000010:  01010101010101010101010101010101  0000000100:  00110011001100110011001100110011  0000000110:  01100110011001100110011001100110  0000001000:  00001111000011110000111100001111  0000001010:  01011010010110100101101001011010  0000001100:  00111100001111000011110000111100  0000001110:  01101001011010010110100101101001  0000010000:  00000000111111110000000011111111  0000010010:   0000000001:  11111111111111111111111111111111  0000000011:  10101010101010101010101010101010  0000000101:  11001100110011001100110011001100  0000000111:  10011001100110011001100110011001  0000001001:  11110000111100001111000011110000  0000001011:  10100101101001011010010110100101  0000001101:  11000011110000111100001111000011  0000001111:  10010110100101101001011010010110  0000010001:  11111111000000001111111100000000  0000010011:

  01010101101010100101010110101010  0000010100:  00110011110011000011001111001100  0000010110:  01100110100110010110011010011001  0000011000:  00001111111100000000111111110000  0000011010:  01011010101001010101101010100101  0000011100:  00111100110000110011110011000011  0000011110:  01101001100101100110100110010110  0000100000:  00000000000000001111111111111111  0000100010:  01010101010101011010101010101010  0000100100:  00110011001100111100110011001100  0000100110:  01100110011001101001100110011001  0000101000:  00001111000011111111000011110000  0000101010:  01011010010110101010010110100101  0000101100:  00111100001111001100001111000011  0000101110:  01101001011010011001011010010110  0000110000:  00000000111111111111111100000000  0000110010:  01010101101010101010101001010101  0000110100:  00110011110011001100110000110011  0000110110:   10101010010101011010101001010101  0000010101:  11001100001100111100110000110011  0000010111:  10011001011001101001100101100110  0000011001:  11110000000011111111000000001111  0000011011:  10100101010110101010010101011010  0000011101:  11000011001111001100001100111100  0000011111:  10010110011010011001011001101001  0000100001:  11111111111111110000000000000000  0000100011:  10101010101010100101010101010101  0000100101:  11001100110011000011001100110011  0000100111:  10011001100110010110011001100110  0000101001:  11110000111100000000111100001111  0000101011:  10100101101001010101101001011010  0000101101:  11000011110000110011110000111100  0000101111:  10010110100101100110100101101001  0000110001:  11111111000000000000000011111111  0000110011:  10101010010101010101010110101010  0000110101:  11001100001100110011001111001100  0000110111:

  01100110100110011001100101100110  0000111000:  00001111111100001111000000001111  0000111010:  01011010101001011010010101011010  0000111100:  00111100110000111100001100111100  0000111110:  01101001100101101001011001101001  0001000000:  00101000011000111111000001110111  0001000010:  01111101001101101010010100100010  0001000100:  00011011010100001100001101000100  0001000110:  01001110000001011001011000010001  0001001000:  00100111011011001111111101111000  0001001010:  01110010001110011010101000101101  0001001100:  00010100010111111100110001001011  0001001110:  01000001000010101001100100011110  0001010000:  00101000100111001111000010001000  0001010010:  01111101110010011010010111011101  0001010100:  00011011101011111100001110111011  0001010110:  01001110111110101001011011101110  0001011000:  00100111100100111111111110000111  0001011010:   10011001011001100110011010011001  0000111001:  11110000000011110000111111110000  0000111011:  10100101010110100101101010100101  0000111101:  11000011001111000011110011000011  0000111111:  10010110011010010110100110010110  0001000001:  11010111100111000000111110001000  0001000011:  10000010110010010101101011011101  0001000101:  11100100101011110011110010111011  0001000111:  10110001111110100110100111101110  0001001001:  11011000100100110000000010000111  0001001011:  10001101110001100101010111010010  0001001101:  11101011101000000011001110110100  0001001111:  10111110111101010110011011100001  0001010001:  11010111011000110000111101110111  0001010011:  10000010001101100101101000100010  0001010101:  11100100010100000011110001000100  0001010111:  10110001000001010110100100010001  0001011001:  11011000011011000000000001111000  0001011011:

  01110010110001101010101011010010  0001011100:  00010100101000001100110010110100  0001011110:  01000001111101011001100111100001  0001100000:  00101000011000110000111110001000  0001100010:  01111101001101100101101011011101  0001100100:  00011011010100000011110010111011  0001100110:  01001110000001010110100111101110  0001101000:  00100111011011000000000010000111  0001101010:  01110010001110010101010111010010  0001101100:  00010100010111110011001110110100  0001101110:  01000001000010100110011011100001  0001110000:  00101000100111000000111101110111  0001110010:  01111101110010010101101000100010  0001110100:  00011011101011110011110001000100  0001110110:  01001110111110100110100100010001  0001111000:  00100111100100110000000001111000  0001111010:  01110010110001100101010100101101  0001111100:  00010100101000000011001101001011  0001111110:   10001101001110010101010100101101  0001011101:  11101011010111110011001101001011  0001011111:  10111110000010100110011000011110  0001100001:  11010111100111001111000001110111  0001100011:  10000010110010011010010100100010  0001100101:  11100100101011111100001101000100  0001100111:  10110001111110101001011000010001  0001101001:  11011000100100111111111101111000  0001101011:  10001101110001101010101000101101  0001101101:  11101011101000001100110001001011  0001101111:  10111110111101011001100100011110  0001110001:  11010111011000111111000010001000  0001110011:  10000010001101101010010111011101  0001110101:  11100100010100001100001110111011  0001110111:  10110001000001011001011011101110  0001111001:  11011000011011001111111110000111  0001111011:  10001101001110011010101011010010  0001111101:  11101011010111111100110010110100  0001111111:

  01000001111101010110011000011110  0010000000:  00000001110011010110110111000111  0010000010:  01010100100110000011100010010010  0010000100:  00110010111111100101111011110100  0010000110:  01100111101010110000101110100001  0010001000:  00001110110000100110001011001000  0010001010:  01011011100101110011011110011101  0010001100:  00111101111100010101000111111011  0010001110:  01101000101001000000010010101110  0010010000:  00000001001100100110110100111000  0010010010:  01010100011001110011100001101101  0010010100:  00110010000000010101111000001011  0010010110:  01100111010101000000101101011110  0010011000:  00001110001111010110001000110111  0010011010:  01011011011010000011011101100010  0010011100:  00111101000011100101000100000100  0010011110:  01101000010110110000010001010001  0010100000:  00000001110011011001001000111000  0010100010:   10111110000010101001100111100001  0010000001:  11111110001100101001001000111000  0010000011:  10101011011001111100011101101101  0010000101:  11001101000000011010000100001011  0010000111:  10011000010101001111010001011110  0010001001:  11110001001111011001110100110111  0010001011:  10100100011010001100100001100010  0010001101:  11000010000011101010111000000100  0010001111:  10010111010110111111101101010001  0010010001:  11111110110011011001001011000111  0010010011:  10101011100110001100011110010010  0010010101:  11001101111111101010000111110100  0010010111:  10011000101010111111010010100001  0010011001:  11110001110000101001110111001000  0010011011:  10100100100101111100100010011101  0010011101:  11000010111100011010111011111011  0010011111:  10010111101001001111101110101110  0010100001:  11111110001100100110110111000111  0010100011:

  01010100100110001100011101101101  0010100100:  00110010111111101010000100001011  0010100110:  01100111101010111111010001011110  0010101000:  00001110110000101001110100110111  0010101010:  01011011100101111100100001100010  0010101100:  00111101111100011010111000000100  0010101110:  01101000101001001111101101010001  0010110000:  00000001001100101001001011000111  0010110010:  01010100011001111100011110010010  0010110100:  00110010000000011010000111110100  0010110110:  01100111010101001111010010100001  0010111000:  00001110001111011001110111001000  0010111010:  01011011011010001100100010011101  0010111100:  00111101000011101010111011111011  0010111110:  01101000010110111111101110101110  0011000000:  00101001101011101001110110110000  0011000010:  01111100111110111100100011100101  0011000100:  00011010100111011010111010000011  0011000110:   10101011011001110011100010010010  0010100101:  11001101000000010101111011110100  0010100111:  10011000010101000000101110100001  0010101001:  11110001001111010110001011001000  0010101011:  10100100011010000011011110011101  0010101101:  11000010000011100101000111111011  0010101111:  10010111010110110000010010101110  0010110001:  11111110110011010110110100111000  0010110011:  10101011100110000011100001101101  0010110101:  11001101111111100101111000001011  0010110111:  10011000101010110000101101011110  0010111001:  11110001110000100110001000110111  0010111011:  10100100100101110011011101100010  0010111101:  11000010111100010101000100000100  0010111111:  10010111101001000000010001010001  0011000001:  11010110010100010110001001001111  0011000011:  10000011000001000011011100011010  0011000101:  11100101011000100101000101111100  0011000111:

  01001111110010001111101111010110  0011001000:  00100110101000011001001010111111   10110000001101110000010000101001

(Table 1b)

  0011001001:  11011001010111100110110101000000  0011001011:  10001100000010110011100000010101  0011001101:  11101010011011010101111001110011  0011001111:  10111111001110000000101100100110  0011010001:  11010110101011100110001010110000  0011010011:  10000011111110110011011111100101  0011010101:  11100101100111010101000110000011  0011010111:  10110000110010000000010011010110  0011011001:  11011001101000010110110110111111  0011011011:  10001100111101000011100011101010  0011011101:  11101010100100100101111010001100  0011011111:  10111111110001110000101111011001  0011100001:  11010110010100011001110110110000  0011100011:  10000011000001001100100011100101  0011100101:  11100101011000101010111010000011   0011001010:  01110011111101001100011111101010  0011001100:  00010101100100101010000110001100  0011001110:  01000000110001111111010011011001  0011010000:  00101001010100011001110101001111  0011010010:  01111100000001001100100000011010  0011010100:  00011010011000101010111001111100  0011010110:  01001111001101111111101100101001  0011011000:  00100110010111101001001001000000  0011011010:  01110011000010111100011100010101  0011011100:  00010101011011011010000101110011  0011011110:  01000000001110001111010000100110  0011100000:  00101001101011100110001001001111  0011100010:  01111100111110110011011100011010  0011100100:  00011010100111010101000101111100  0011100110:  01001111110010000000010000101001

  0011100111:  10110000001101111111101111010110  0011101001:  11011001010111101001001010111111  0011101011:  10001100000010111100011111101010  0011101101:  11101010011011011010000110001100  0011101111:  10111111001110001111010011011001  0011110001:  11010110101011101001110101001111  0011110011:  10000011111110111100100000011010  0011110101:  11100101100111011010111001111100  0011110111:  10110000110010001111101100101001  0011111001:  11011001101000011001001001000000  0011111011:  10001100111101001100011100010101  0011111101:  11101010100100101010000101110011  0011111111:  10111111110001111111010000100110  0100000001:  11110101000001101110010011010100  0100000011:  10100000010100111011000110000001  0100000101:  11000110001101011101011111100111  0100000111:  10010011011000001000001010110010  0100001001:  11111010000010011110101111011011   0011101000:  00100110101000010110110101000000  0011101010:  01110011111101000011100000010101  0011101100:  00010101100100100101111001110011  0011101110:  01000000110001110000101100100110  0011110000:  00101001010100010110001010110000  0011110010:  01111100000001000011011111100101  0011110100:  00011010011000100101000110000011  0011110110:  01001111001101110000010011010110  0011111000:  00100110010111100110110110111111  0011111010:  01110011000010110011100011101010  0011111100:  00010101011011010101111010001100  0011111110:  01000000001110000000101111011001  0100000000:  00001010111110010001101100101011  0100000010:  01011111101011000100111001111110  0100000100:  00111001110010100010100000011000  0100000110:  01101100100111110111110101001101  0100001000:  00000101111101100001010000100100  0100001010:  01010000101000110100000101110001

  0100001011:  10101111010111001011111010001110  0100001101:  11001001001110101101100011101000  0100001111:  10011100011011111000110110111101  0100010001:  11110101111110011110010000101011  0100010011:  10100000101011001011000101111110  0100010101:  11000110110010101101011100011000  0100010111:  10010011100111111000001001001101  0100011001:  11111010111101101110101100100100  0100011011:  10101111101000111011111001110001  0100011101:  11001001110001011101100000010111  0100011111:  10011100100100001000110101000010  0100100001:  11110101000001100001101100101011  0100100011:  10100000010100110100111001111110  0100100101:  11000110001101010010100000011000  0100100111:  10010011011000000111110101001101  0100101001:  11111010000010010001010000100100  0100101011:  10101111010111000100000101110001  0100101101:  11001001001110100010011100010111   0100001100:  00110110110001010010011100010111  0100001110:  01100011100100000111001001000010  0100010000:  00001010000001100001101111010100  0100010010:  01011111010100110100111010000001  0100010100:  00111001001101010010100011100111  0100010110:  01101100011000000111110110110010  0100011000:  00000101000010010001010011011011  0100011010:  01010000010111000100000110001110  0100011100:  00110110001110100010011111101000  0100011110:  01100011011011110111001010111101  0100100000:  00001010111110011110010011010100  0100100010:  01011111101011001011000110000001  0100100100:  00111001110010101101011111100111  0100100110:  01101100100111111000001010110010  0100101000:  00000101111101101110101111011011  0100101010:  01010000101000111011111010001110  0100101100:  00110110110001011101100011101000  0100101110:  01100011100100001000110110111101

  0100101111:  10011100011011110111001001000010  0100110001:  11110101111110010001101111010100  0100110011:  10100000101011000100111010000001  0100110101:  11000110110010100010100011100111  0100110111:  10010011100111110111110110110010  0100111001:  11111010111101100001010011011011  0100111011:  10101111101000110100000110001110  0100111101:  11001001110001010010011111101000  0100111111:  10011100100100000111001010111101  0101000001:  11011101011001010001010010100011  0101000011:  10001000001100000100000111110110  0101000101:  11101110010101100010011110010000  0101000111:  10111011000000110111001011000101  0101001001:  11010010011010100001101110101100  0101001011:  10000111001111110100111011111001  0101001101:  11100001010110010010100010011111  0101001111:  10110100000011000111110111001010  0101010001:  11011101100110100001010001011100   0100110000:  00001010000001101110010000101011  0100110010:  01011111010100111011000101111110  0100110100:  00111001001101011101011100011000  0100110110:  01101100011000001000001001001101  0100111000:  00000101000010011110101100100100  0100111010:  01010000010111001011111001110001  0100111100:  00110110001110101101100000010111  0100111110:  01100011011011111000110101000010  0101000000:  00100010100110101110101101011100  0101000010:  01110111110011111011111000001001  0101000100:  00010001101010011101100001101111  0101000110:  01000100111111001000110100111010  0101001000:  00101101100101011110010001010011  0101001010:  01111000110000001011000100000110  0101001100:  00011110101001101101011101100000  0101001110:  01001011111100111000001000110101  0101010000:  00100010011001011110101110100011  0101010010:  01110111001100001011111011110110

  0101010011:  10001000110011110100000100001001  0101010101:  11101110101010010010011101101111  0101010111:  10111011111111000111001000111010  0101011001:  11010010100101010001101101010011  0101011011:  10000111110000000100111000000110  0101011101:  11100001101001100010100001100000  0101011111:  10110100111100110111110100110101  0101100001:  11011101011001011110101101011100  0101100011:  10001000001100001011111000001001  0101100101:  11101110010101101101100001101111  0101100111:  10111011000000111000110100111010  0101101001:  11010010011010101110010001010011  0101101011:  10000111001111111011000100000110  0101101101:  11100001010110011101011101100000  0101101111:  10110100000011001000001000110101  0101110001:  11011101100110101110101110100011  0101110011:  10001000110011111011111011110110  0101110101:  11101110101010011101100010010000   0101010100:  00010001010101101101100010010000  0101010110:  01000100000000111000110111000101  0101011000:  00101101011010101110010010101100  0101011010:  01111000001111111011000111111001  0101011100:  00011110010110011101011110011111  0101011110:  01001011000011001000001011001010  0101100000:  00100010100110100001010010100011  0101100010:  01110111110011110100000111110110  0101100100:  00010001101010010010011110010000  0101100110:  01000100111111000111001011000101  0101101000:  00101101100101010001101110101100  0101101010:  01111000110000000100111011111001  0101101100:  00011110101001100010100010011111  0101101110:  01001011111100110111110111001010  0101110000:  00100010011001010001010001011100  0101110010:  01110111001100000100000100001001  0101110100:  00010001010101100010011101101111  0101110110:  01000100000000110111001000111010

  0101110111:  10111011111111001000110111000101  0101111001:  11010010100101011110010010101100  0101111011:  10000111110000001011000111111001  0101111101:  11100001101001101101011110011111  0101111111:  10110100111100111000001011001010  0110000001:  11110100110010111000100100010011  0110000011:  10100001100111101101110001000110  0110000101:  11000111111110001011101000100000  0110000111:  10010010101011011110111101110101  0110001001:  11111011110001001000011000011100  0110001011:  10101110100100011101001101001001  0110001101:  11001000111101111011010100101111  0110001111:  10011101101000101110000001111010  0110010001:  11110100001101001000100111101100   0101111000:  00101101011010100001101101010011  0101111010:  01111000001111110100111000000110  0101111100:  00011110010110010010100001100000  0101111110:  01001011000011000111110100110101  0110000000:  00001011001101000111011011101100  0110000010:  01011110011000010010001110111001  0110000100:  00111000000001110100010111011111  0110000110:  01101101010100100001000010001010  0110001000:  00000100001110110111100111100011  0110001010:  01010001011011100010110010110110  0110001100:  00110111000010000100101011010000  0110001110:  01100010010111010001111110000101  0110010000:  00001011110010110111011000010011

(Table 1c)

  0110010010:  01011110100111100010001101000110  0110010100:  00111000111110000100010100100000  0110010110:   0110010011:  10100001011000011101110010111001  0110010101:  11000111000001111011101011011111  0110010111:

  01101101101011010001000001110101  0110011000:  00000100110001000111100100011100  0110011010:  01010001100100010010110001001001  0110011100:  00110111111101110100101000101111  0110011110:  01100010101000100001111101111010  0110100000:  00001011001101001000100100010011  0110100010:  01011110011000011101110001000110  0110100100:  00111000000001111011101000100000  0110100110:  01101101010100101110111101110101  0110101000:  00000100001110111000011000011100  0110101010:  01010001011011101101001101001001  0110101100:  00110111000010001011010100101111  0110101110:  01100010010111011110000001111010  0110110000:  00001011110010111000100111101100  0110110010:  01011110100111101101110010111001  0110110100:  00111000111110001011101011011111  0110110110:  01101101101011011110111110001010  0110111000:  00000100110001001000011011100011  0110111010:   10010010010100101110111110001010  0110011001:  11111011001110111000011011100011  0110011011:  10101110011011101101001110110110  0110011101:  11001000000010001011010111010000  0110011111:  10011101010111011110000010000101  0110100001:  11110100110010110111011011101100  0110100011:  10100001100111100010001110111001  0110100101:  11000111111110000100010111011111  0110100111:  10010010101011010001000010001010  0110101001:  11111011110001000111100111100011  0110101011:  10101110100100010010110010110110  0110101101:  11001000111101110100101011010000  0110101111:  10011101101000100001111110000101  0110110001:  11110100001101000111011000010011  0110110011:  10100001011000010010001101000110  0110110101:  11000111000001110100010100100000  0110110111:  10010010010100100001000001110101  0110111001:  11111011001110110111100100011100  0110111011:

  01010001100100011101001110110110  0110111100:  00110111111101111011010111010000  0110111110:  01100010101000101110000010000101  0111000000:  00100011010101111000011010011011  0111000010:  01110110000000101101001111001110  0111000100:  00010000011001001011010110101000  0111000110:  01000101001100011110000011111101  0111001000:  00101100010110001000100110010100  0111001010:  01111001000011011101110011000001  0111001100:  00011111011010111011101010100111  0111001110:  01001010001111101110111111110010  0111010000:  00100011101010001000011001100100  0111010010:  01110110111111011101001100110001  0111010100:  00010000100110111011010101010111  0111010110:  01000101110011101110000000000010  0111011000:  00101100101001111000100101101011  0111011010:  01111001111100101101110000111110  0111011100:  00011111100101001011101001011000  0111011110:   10101110011011100010110001001001  0110111101:  11001000000010000100101000101111  0110111111:  10011101010111010001111101111010  0111000001:  11011100101010000111100101100100  0111000011:  10001001111111010010110000110001  0111000101:  11101111100110110100101001010111  0111000111:  10111010110011100001111100000010  0111001001:  11010011101001110111011001101011  0111001011:  10000110111100100010001100111110  0111001101:  11100000100101000100010101011000  0111001111:  10110101110000010001000000001101  0111010001:  11011100010101110111100110011011  0111010011:  10001001000000100010110011001110  0111010101:  11101111011001000100101010101000  0111010111:  10111010001100010001111111111101  0111011001:  1010011010110000111011010010100  0111011011:  0000110000011010010001111000001  0111011101:  1100000011010110100010110100111  0111011111:

  01001010110000011110111100001101  0111100000:  00100011010101110111100101100100  0111100010:  01110110000000100010110000110001  0111100100:  00010000011001000100101001010111  0111100110:  01000101001100010001111100000010  0111101000:  00101100010110000111011001101011  0111101010:  01111001000011010010001100111110  0111101100:  00011111011010110100010101011000  0111101110:  01001010001111100001000000001101  0111110000:  00100011101010000111100110011011  0111110010:  01110110111111010010110011001110  0111110100:  00010000100110110100101010101000  0111110110:  01000101110011100001111111111101  0111111000:  00101100101001110111011010010100  0111111010:  01111001111100100010001111000001  0111111100:  00011111100101000100010110100111  0111111110:  01001010110000010001000011110010  1000000000:  00011100001101110010111101010001  1000000010:   10110101001111100001000011110010  0111100001:  11011100101010001000011010011011  0111100011:  10001001111111011101001111001110  0111100101:  11101111100110111011010110101000  0111100111:  10111010110011101110000011111101  0111101001:  11010011101001111000100110010100  0111101011:  10000110111100101101110011000001  0111101101:  11100000100101001011101010100111  0111101111:  10110101110000011110111111110010  0111110001:  11011100010101111000011001100100  0111110011:  10001001000000101101001100110001  0111110101:  11101111011001001011010101010111  0111110111:  10111010001100011110000000000010  0111111001:  11010011010110001000100101101011  0111111011:  10000110000011011101110000111110  0111111101:  11100000011010111011101001011000  0111111111:  10110101001111101110111100001101  1000000001:  11100011110010001101000010101110  1000000011:

  01001001011000100111101000000100  1000000100:  00101111000001000001110001100010  1000000110:  01111010010100010100100100110111  1000001000:  00010011001110000010000001011110  1000001010:  01000110011011010111010100001011  1000001100:  00100000000010110001001101101101  1000001110:  01110101010111100100011000111000  1000010000:  00011100110010000010111110101110  1000010010:  01001001100111010111101011111011  1000010100:  00101111111110110001110010011101  1000010110:  01111010101011100100100111001000  1000011000:  00010011110001110010000010100001  1000011010:  01000110100100100111010111110100  1000011100:  00100000111101000001001110010010  1000011110:  01110101101000010100011011000111  1000100000:  00011100001101111101000010101110  1000100010:  01001001011000101000010111111011  1000100100:  00101111000001001110001110011101  1000100110:   10110110100111011000010111111011  1000000101:  11010000111110111110001110011101  1000000111:  10000101101011101011011011001000  1000001001:  11101100110001111101111110100001  1000001011:  10111001100100101000101011110100  1000001101:  11011111111101001110110010010010  1000001111:  10001010101000011011100111000111  1000010001:  11100011001101111101000001010001  1000010011:  10110110011000101000010100000100  1000010101:  11010000000001001110001101100010  1000010111:  10000101010100011011011000110111  1000011001:  11101100001110001101111101011110  1000011011:  10111001011011011000101000001011  1000011101:  11011111000010111110110001101101  1000011111:  10001010010111101011100100111000  1000100001:  11100011110010000010111101010001  10001 0011:  10110110100111010111101000000100  1000100101:  11010000111110110001110001100010  1000100111:

  01111010010100011011011011001000  1000101000:  00010011001110001101111110100001  1000101010:  01000110011011011000101011110100  1000101100:  00100000000010111110110010010010  1000101110:  01110101010111101011100111000111  1000110000:  00011100110010001101000001010001  1000110010:  01001001100111011000010100000100  1000110100:  00101111111110111110001101100010  1000110110:  01111010101011101011011000110111  1000111000:  00010011110001111101111101011110  1000111010:  01000110100100101000101000001011  1000111100:  00100000111101001110110001101101  1000111110:  01110101101000011011100100111000  1001000000:  00110100010101001101111100100110  1001000010:  01100001000000011000101001110011  1001000100:  00000111011001111110110000010101  1001000110:  01010010001100101011100101000000  1001001000:  00111011010110111101000000101001  1001001010:   10000101101011100100100100110111  1000101001:  11101100110001110010000001011110  1000101011:  10111001100100100111010100001011  1000101101:  11011111111101000001001101101101  1000101111:  10001010101000010100011000111000  1000110001:  11100011001101110010111110101110  1000110011:  10110110011000100111101011111011  1000110101:  11010000000001000001110010011101  1000110111:  10000101010100010100100111001000  1000111001:  11101100001110000010000010100001  1000111011:  10111001011011010111010111110100  1000111101:  11011111000010110001001110010010  1000111111:  10001010010111100100011011000111  1001000001:  11001011101010110010000011011001  1001000011:  10011110111111100111010110001100  1001000101:  11111000100110000001001111101010  1001000111:  10101101110011010100011010111111  1001001001:  11000100101001000010111111010110  1001001011:

  01101110000011101000010101111100  1001001100:  00001000011010001110001100011010  1001001110:  01011101001111011011011001001111  1001010000:  00110100101010111101111111011001  1001010010:  01100001111111101000101010001100  1001010100:  00000111100110001110110011101010  1001010110:  01010010110011011011100110111111  1001011000:  00111011101001001101000011010110  1001011010:  01101110111100011000010110000011   10010001111100010111101010000011  1001001101:  11110111100101110001110011100101  1001001111:  10100010110000100100100110110000  1001010001:  11001011010101000010000000100110  1001010011:  10011110000000010111010101110011  1001010101:  11111000011001110001001100010101  1001010111:  10101101001100100100011001000000  1001011001:  11000100010110110010111100101001

(Table 1d)

  1001011011:  10010001000011100111101001111100  1001011101:  11110111011010000001110000011010  1001011111:  10100010001111010100100101001111  1001100001:  11001011101010111101111100100110  1001100011:  10011110111111101000101001110011  1001100101:  1111000100110001110110000010101  1001100111:  10101101110011011011100101000000  1001101001:  1000100101001001101000000101001   1001011100:  00001000100101111110001111100101  1001011110:  01011101110000101011011010110000  1001100000:  0110100010101000010000011011001  1001100010:  1100001000000010111010110001100  1001100100:  00000111011001110001001111101010  1001100110:  01010010001100100100011010111111  1001101000:  00111011010110110010111111010110  1001101010:  01101110000011100111101010000011

  1001101011:  10010001111100011000010101111100  1001101101:  11110111100101111110001100011010  1001101111:  10100010110000101011011001001111  1001110001:  11001011010101001101111111011001  1001110011 10011110000000011000101  010001100  1001110101:  11111000011001111110110011101010  1001110111:  10101101001100101011100110111111  1001111001:  11000100010110111101000011010110  1001111011:  0010001000011101000010110000011  1001111101:  11110111011010001110001111100101  1001111111:  10100010001111011011011010110000  1010000001:  1100010000001011011110101101001  1010000011:  0110111010100001110100000111100  1010000101:  1010001001101101000111001011010  1010000111:  10000100011000111101101100001111  1010001001:  1101101000010101011001001100110  010001011:  0111000010111111110011100110011  010001101:  011110001110011000000101010101   1001101100:  0001000011010000001110011100101  1001101110:  01011101001111010100100110110000  1001110000:  0110100101010110010000000100110  1001110010:  01100001111111100111010101110011  1001110100:  0000111100110000001001100010101  1001110110:  1010010110011010100011001000000  1001111000:  00111011101001000010111100101001  1001111010:  01101110111100010111101001111100  1001111100:  00001000100101110001110000011010  1001111110:  01011101110000100100100101001111  1010000000:  00011101111110100100001010010110  1010000010:  01001000101011110001011111000011  1010000100:  0101110110010010111000110100101  1010000110:  01111011100111000010010011110000  1010001000:  0010010111101010100110110011001  1010001010:  1000111101000000001100011001100  1010001100:  00100001110001100111111010101010  1010001110:  01110100100100110010101111111111

  1010001111:  0001011011011001101010000000000  1010010001:  11100010111110101011110110010110  1010010011:  10110111101011111110100011000011  1010010101:  1010001110010011000111010100101  1010010111:  10000100100111001101101111110000  1010011001:  11101101111101011011001010011001  1010011011:  10111000101000001110011111001100  1010011101:  1011110110001101000000110101010  1010011111:  10001011100100111101010011111111  1010100001:  1100010000001010100001010010110  1010100011:  0110111010100000001011111000011  1010100101:  1010001001101100111000110100101  1010100111:  0000100011000110010010011110000  1010101001:  1101101000010100100110110011001  1010101011:  0111000010111110001100011001100  1010101101:  11011110001110010111111010101010  1010101111:  10001011011011000010101111111111  1010110001:  1100010111110100100001001101001   1010010000:  0011101000001010100001001101001  1010010010:  1001000010100000001011100111100  1010010100:  0101110001101100111000101011010  1010010110:  01111011011000110010010000001111  1010011000:  0010010000010100100110101100110  1010011010:  01000111010111110001100000110011  1010011100:  00100001001110010111111001010101  1010011110:  01110100011011000010101100000000  1010100000:  00011101111110101011110101101001  1010100010:  01001000101011111110100000111100  1010100100:  0101110110010011000111001011010  1010100110:  01111011100111001101101100001111  1010101000:  0010010111101011011001001100110  1010101010:  01000111101000001110011100110011  1010101100:  0100001110001101000000101010101  1010101110:  11101010100100111101010000000000  1010110000:  00011101000001011011110110010110  1010110010:  1001000010100001110100011000011

  1010110011:  10110111101011110001011100111100  1010110101:  1010001110010010111000101011010  1010110111:  0000100100111000010010000001111  1010111001:  11101101111101010100110101100110  1010111011:  0111000101000000001100000110011  1010111101:  11011110110001100111111001010101  1010111111:  0001011100100110010101100000000  1011000001:  1001010011001100100110100011110  1011000011:  0011111001100110001100001001011  1011000101:  11111001010101010111111000101101  1011000111:  0101100000000000010101101111000  1011001001:  1000101011010010100001000010001  1011001011:  0010000001111000001011101000100  1011001101:  1110110010110100111000100100010  1011001111:  10100011000011110010010001110111  1011010001:  1001010100110010100110111100001  1011010011:  10011111110011000001100010110100  1011010101:  11111001101010100111111011010010   1010110100:  0101110001101101000111010100101  1010110110:  01111011011000111101101111110000  1010111000:  0010010000010101011001010011001  1010111010:  01000111010111111110011111001100  1010111100:  0100001001110011000000110101010  1010111110:  01110100011011001101010011111111  1011000000:  00110101100110011011001011100001  1011000010:  01100000110011001110011110110100  1011000100:  0000110101010101000000111010010  1011000110:  01010011111111111101010010000111  1011001000:  00111010100101101011110111101110  1011001010:  01101111110000111110100010111011  1011001100:  00001001101001011000111011011101  1011001110:  01011100111100001101101110001000  1011010000:  00110101011001101011001000011110  1011010010:  01100000001100111110011101001011  1011010100:  0000110010101011000000100101101  1011010110:  1010011000000001101010001111000

  1011010111:  10101100111111110010101110000111  1011011001:  1000101100101100100001011101110  1011011011:  10010000110000110001011110111011  1011011101:  11110110101001010111000111011101  1011011111:  10100011111100000010010010001000  1011100001:  11001010011001101011001011100001  1011100011:  10011111001100111110011110110100  1011100101:  11111001010101011000000111010010  1011100111:  10101100000000001101010010000111  1011101001:  11000101011010011011110111101110  1011101011:  10010000001111001110100010111011  1011101101:  11110110010110101000111011011101  1011101111:  10100011000011111101101110001000  1011110001:  11001010100110011011001000011110  1011110011:  10011111110011001110011101001011  1011110101:  11111001101010101000000100101101  1011110111:  10101100111111111101010001111000  1011111001:  11000101100101101011110100010001   1011011000:  00111010011010011011110100010001  1011011010:  01101111001111001110100001000100  1011011100:  0001001010110101000111000100010  1011011110:  01011100000011111101101101110111  1011100000:  00110101100110010100110100011110  1011100010:  01100000110011000001100001001011  1011100100:  00000110101010100111111000101101  1011100110:  01010011111111110010101101111000  1011101000:  00111010100101100100001000010001  1011101010:  01101111110000110001011101000100  1011101100:  00001001101001010111000100100010  1011101110:  01011100111100000010010001110111  1011110000:  00110101011001100100110111100001  1011110010:  01100000001100110001100010110100  1011110100:  00000110010101010111111011010010  1011110110:  01010011000000000010101110000111  1011111000:  00111010011010010100001011101110  1011111010:  01101111001111000001011110111011

  1011111011:  10010000110000111110100001000100  1011111101:  11110110101001011000111000100010  1011111111:  10100011111100001101101101110111  1100000001:  11101001001100011100101110000101  1100000011:  10111100011001001001111011010000  1100000101:  11011010000000101111100010110110  1100000111:  10001111010101111010110111100011  1100001001:  11100110001111101100010010001010  1100001011:  10110011011010111001000111011111  1100001101:  11010101000011011111011110111001  1100001111:  10000000010110001010001011101100  1100010001:  11101001110011101100101101111010  1100010011:  10111100100110111001111000101111  1100010101:  11011010111111011111100001001001  1100010111:  10001111101010001010110100011100  1100011001:  11100110110000011100010001110101  1100011011:10110011100101001001000  100100000  1100011101:  11010101111100101111011101000110   1011111100:  00001001010110100111000111011101  1011111110:  01011100000011110010010010001000  1100000000:  00010110110011100011010001111010  1100000010:  01000011100110110110000100101111  1100000100:  00100101111111010000011101001001  1100000110:  01110000101010000101001000011100  1100001000:  00011001110000010011101101110101  1100001010:  01001100100101000110111000100000  1100001100:  00101010111100100000100001000110  1100001110:  01111111101001110101110100010011  1100010000:  00010110001100010011010010000101  1100010010:  01000011011001000110000111010000  1100010100:  0100101000000100000011110110110  1100010110:  01110000010101110101001011100011  1100011000:  00011001001111100011101110001010  1100011010:  01001100011010110110111011011111  1100011100:  0101010000011010000100010111001  1100011110:  01111111010110000101110111101100

  1100011111:  10000000101001111010001000010011  1100100001:  11101001001100010011010001111010  1100100011:  10111100011001000110000100101111   1100100000:  00010110110011101100101110000101  1100100010:  01000011100110111001111011010000

(Table 1e)

  1100100100:  00100101111111011111100010110110  1100100110:  01110000101010001010110111100011  1100101000:  00011001110000011100010010001010  1100101010:  01001100100101001001000111011111  1100101100:  00101010111100101111011110111001  1100101110:  01111111101001111010001011101100  1100110000:  000101100011000111001101101111010  1100110010:  01000011011001001001111000101111  1100110100:  00100101000000101111100001001001  1100110110:  011100000010101111010110100011100  1100111000:  00011001001111101100010001110101  1100111010:  01001100011010111001000100100000  1100111100:  00101010000011011111011101000110  1100111110:   1100100101:  11011010000000100000011101001001  1100100111:  10001111010101110101001000011100  1100101001:  11100110001111100011101101110101  1100101011:  10110011011010110110111000100000  1100101101:  11010101000011010000100001000110  1100101111:  10000000010110000101110100010011  1100110001:  11101001110011100011010010000101  1100110011:  10111100100110110110000111010000  1100110101:  11011010111111010000011110110110  1100110111:  10001111101010000101001011100011  1100111001:  11100110110000010011101110001010  1100111011:  10110011100101000110111011011111  1100111101:  11010101111100100000100010111001  1100111111:

  01111111010110001010001000010011  1101000000:  00111110101011011100010000001101  1101000010:  01101011111110001001000101011000  1101000100:  00001101100111101111011100111110  1101000110:  01011000110010111010001001101011  1101001000:  00110001101000101100101100000010  1101001010:  01100100111101111001111001010111  1101001100:  00000010100100011111100000110001  1101001110:  01010111110001001010110101100100  1101010000:  00111110010100101100010011110010  1101010010:  01101011000001111001000110100111  1101010100:  00001101011000011111011111000001  1101010110:  01011000001101001010001010010100  1101011000:  00110001010111011100101111111101  1101011010:  01100100000010001001111010101000  1101011100:  00000010011011101111100011001110  1101011110:  01010111001110111010110110011011  1101100000:  00111110101011010011101111110010  1101100010:   10000000101001110101110111101100  1101000001:  11000001010100100011101111110010  1101000011:  10010100000001110110111010100111  1101000101:  11110010011000010000100011000001  1101000111:  10100111001101000101110110010100  1101001001:  11001110010111010011010011111101  1101001011:  10011011000010000110000110101000  1101001101:  11111101011011100000011111001110  1101001111:  10101000001110110101001010011011  1101010001:  11000001101011010011101100001101  1101010011:  10010100111110000110111001011000  1101010101:  11110010100111100000100000111110  1101010111:  10100111110010110101110101101011  1101011001:  11001110101000100011010000000010  1101011011:  10011011111101110110000101010111  1101011101:  11111101100100010000011100110001  1101011111:  10101000110001000101001001100100  1101100001:  11000001010100101100010000001101  1101100011:

  01101011111110000110111010100111  1101100100:  00001101100111100000100011000001  1101100110:  01011000110010110101110110010100  1101101000:  00110001101000100011010011111101  1101101010:  01100100111101110110000110101000  1101101100:  00000010100100010000011111001110  1101101110:  01010111110001000101001010011011  1101110000:  00111110010100100011101100001101  1101110010:  01101011000001110110111001011000  1101110100:  00001101011000010000100000111110  1101110110:  01011000001101000101110101101011  1101111000:  00110001010111010011010000000010  1101111010:  01100100000010000110000101010111  1101111100:  00000010011011100000011100110001  1101111110:  01010111001110110101001001100100  1110000000:  00010111000000110101100110111101  1110000010:  01000010010101100000110011101000  1110000100:  00100100001100000110101010001110  1110000110:   10010100000001111001000101011000  1101100101:  11110010011000011111011100111110  1101100111:  10100111001101001010001001101011  1101101001:  11001110010111011100101100000010  1101101011:  10011011000010001001111001010111  1101101101:  111111010110111011111000000110001  1101101111:  10101000001110111010110101100100  1101110001:  11000001101011011100010011110010  1101110011:  10010100111110001001000110100111  1101110101:  11110010100111101111011111000001  1101110111:  10100111110010111010001010010100  1101111001:  11001110101000101100101111111101  1101111011:  10011011111101111001111010101000  1101111101:  11111101100100011111100011001110  1101111111:  10101000110001001010110110011011  1110000001:  11101000111111001010011001000010  1110000011:  10111101101010011111001100010111  1110000101:  11011011110011111001010101110001  1110000111:

  01110001011001010011111111011011  1110001000:  00011000000011000101011010110010  1110001010:  01001101010110010000001111100111  1110001100:  00101011001111110110010110000001  1110001110:  01111110011010100011000011010100  1110010000:  0001011111111000101100101000010  1110010010:  01000010101010010000110000010111  1110010100:  00100100110011110110101001110001  1110010110:  01110001100110100011111100100100  1110011000:  00011000111100110101011001001101  1110011010:  01001101101001100000001100011000  1110011100:  00101011110000000110010101111110  1110011110:  01111110100101010011000000101011  1110100000:  00010111000000111010011001000010  11101000010:  01000010010101101111001100010111  1110100100:  00100100001100001001010101110001  1110100110:  01110001011001011100000000100100  1110101000:  00011000000011001010100101001101  1110101010:   10001110100110101100000000100100  1110001001:  11100111111100111010100101001101  1110001011:  10110010101001101111110000011000  1110001101:  1101010011000000100110100111110  1110001111:  10000001100101011100111100101011  1110010001:  1110100000000111010011010111101  1110010011:  10111101010101101111001111101000  1110010101:  11011011001100001001010110001110  1110010111:  10001110011001011100000011011011  1110011001:  11100111000011001010100110110010  1110011011:  10110010010110011111110011100111  1110011101:  11010100001111111001101010000001  1110011111:  10000001011010101100111111010100  1110100001:  11101000111111000101100110111101  1110100011:  10111101101010010000110011101000  1110100101:  11011011110011110110101010001110  1110100111:  10001110100110100011111111011011  1110101001:  11100111111100110101011010110010  1110101011:

  01001101010110011111110000011000  1110101100:  00101011001111111001101001111110  1110101110:  01111110011010101100111100101011  1110110000:  00010111111111001010011010111101  1110110010:  01000010101010011111001111101000  1110110100:  00100100110011111001010110001110  1110110110:  01110001100110101100000011011011  1110111000:  00011000111100111010100110110010  1110111010:  01001101101001101111110011100111  1110111100:  00101011110000001001101010000001  1110111110:  01111110100101011100111111010100  1111000000:  00111111011000001010100111001010  1111000010:  01101010001101011111110010011111  1111000100:  00001100010100111001101011111001  1111000110:  01011001000001101100111110101100  1111001000:  00110000011011111010011011000101  1111001010:  01100101001110101111001110010000  1111001100:  00000011010111001001010111110110  1111001110:   10110010101001100000001111100111  1110101101:  11010100110000000110010110000001  1110101111:  10000001100101010011000011010100  1110110001:  11101000000000110101100101000010  1110110011:  10111101010101100000110000010111  1110110101:  11011011001100000110101001110001  1110110111:  10001110011001010011111100100100  1110111001:  11100111000011000101011001001101  1110111011:  10110010010110010000001100011000  1110111101:  11010100001111110110010101111110  1110111111:  10000001011010100011000000101011  1111000001:110000001001111101010110  00110101  1111000011:  1001010111001010000000110110000  1111000101:  11110011101011000110010100000110  1111000111:  10100110111110010011000001010011  1111001001:  11001111100100000101100100111010  1111001011:  10011010110001010000110001101111  1111001101:  11111100101000110110101000001001  1111001111:

  01010110000010011100000010100011  1111010000:  00111111100111111010100100110101  1111010010:  01101010110010101111110001100000  1111010100:  00001100101011001001101000000110  1111010110:  01011001111110011100111101010011  1111011000:  00110000100100001010011000111010  1111011010:  01100101110001011111001101101111  1111011100:  00000011101000111001010100001001  1111011110:  010101101111011011000000011100  1111100000:  00111111011000000101011000110101  1111100010:  01101010001101010000001101100000  1111100100:  00001100010100110110010100000110  1111100110:  01011001000001100011000001010011  1111101000:  00110000011011110101100100111010  1111101010:  01100101001110100000110001101111  1111101100:  00000011010111000110101000001001   101010011111011000011111101011100  1111010001:  11000000011000000101011011001010  1111010011:  10010101001101010000001110011111  1111010101:  11110011010100110110010111111001  1111010111:  10100110000001100011000010101100  1111011001:  11001111011011110101100111000101  1111011011:  10011010001110100000110010010000  1111011101:  11111100010111000110101011110110  1111011111:  10101001000010010011111110100011  1111100001:  11000000100111111010100111001010  1111100011:  10010101110010101111110010011111  1111100101:  11110011101011001001101011111001  1111100111:  10100110111110011100111110101100  1111101001:  11001111100100001010011011000101  1111101011:  10011010110001011111001110010000

(Table 1f)

  1111101101:  11111100101000111001010111110110

  1111101110:  01010110000010010011111101011100  1111101111:  10101001111101101100000010100011  1111110000:  00111111100111110101011011001010  1111110001:  11000000011000001010100100110101  1111110010:  01101010110010100000001110011111  1111110011:  10010101001101011111110001100000  1111110100:  00001100101011000110010111111001  1111110101:  11110011010100111001101000000110  1111110110:  01011001111110010011000010101100  1111110111:  10100110000001101100111101010011  1111111000:  00110000100100000101100111000101  1111111001:  11001111011011111010011000111010  1111111010:  01100101110001010000110010010000  1111111011:  10011010001110101111001101101111  1111111100:  00000011101000110110101011110110  1111111101:  11111100010111001001010100001001  1111111110:  01010110111101100011111110100011  1111111111:  10101001000010011100000001011100

现在参照图9描述根据本发明实施例的解码设备。输入信号r(t)施加于15个乘法器902至906和相关性计算器920。输入信号r(t)在发送器中用预定沃尔什码和预定掩码序列编码。掩码序列发生器910生成所有可能的15个掩码序列M1至M15。乘法器902至906把从掩码序列发生器910接收的掩码序列与输入信号r(t)相乘。乘法器902把输入信号r(t)与从掩码序列发生器910接收的掩码序列M1相乘。乘法器904把输入信号r(t)与从掩码序列发生器910接收的掩码序列M2相乘。乘法器906把输入信号r(t)与从掩码序列发生器910接收的掩码序列M15相乘。如果发送器用预定掩码序列编码TFCI位,那么,乘法器902至906的输出之一是不含掩码序列的,这意味着掩码序列对通过相关性计算器之一计算的相关性没有影响。例如,如果发送器把掩码序列M2用于编码TFCI位,那么,把掩码序列M2与输入信号r(t)相乘的乘法器904的输出是不含掩码序列的。无掩码序列信号是用预定沃尔什码编码的TFCI位。相关性计算器920至926计算输入信号r(t)和乘法器902至906的输出与64个双正交码之间的相关性。在前面已经定义了64个双正交码。相关性计算器920计算输入信号r(t)与长度为32的64个双正交码之间的相关性,从64个相关值中选择极大相关值,并且把所选相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“0000”输出到相关性比较器940。

相关性计算器922计算乘法器902的输出与64个双正交码之间的相关值,选择64个相关性的极大值,并且把所选的相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“0001”输出到相关性比较器940。相关性计算器924计算乘法器904的输出与64个双正交码之间的相关值,选择64个相关值的极大者,并且把所选的相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“0010”输出到相关性比较器940。其它相关性计算器(未示出)分别计算相应乘法器的输出与64个双正交码之间的相关值,并且进行与上述相关性计算器相似的操作。

最后,相关性计算器926计算乘法器906的输出与64个双正交码之间的相关值,选择64个相关性的极大值,并且把所选的相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“1111”输出到相关性比较器940。

相关性计算器920至926的唯一索引与在乘法器902至906中被输入信号r(t)所乘的掩码序列的索引相同。表2举例列出了在乘法器中被乘的15个掩码索引和分配给没有使用掩码序列的情况的一个掩码索引。

(表2)

  掩码序列   掩码序列索引   掩码序列   掩码序列索引   未使用   0000   M9   1000   M1   0001   M9   1001   M2   0010   M10   1010   M3   0011   M11   1011   M4   0100   M12   1100   M5   0101   M13   1101   M6   0110   M14   1110   M7   0111   M15   1111

如表2所示,接收作为输入信号r(t)与掩码序列M1之积的信号的相关性计算器922输出“0001”作为它的索引。接收作为输入信号r(t)与掩码序列M15之积的信号的相关性计算器926输出“1111”作为它的索引。只接收输入信号r(t)的相关性计算器920输出“0000”作为它的索引。

同时,双正交码索引用二进制码表示。例如,如果与作为W4补码的W4的相关性具有极大相关值,那么,相应双正交码索引(a0至a9)是“001001”。

相关性比较器940对从相关性计算器920至926接收的16个极大相关值进行比较,从接收的这16个极大相关值中选择最大相关值,和根据与这个最大相关值相对应的、从相关性计算器接收的双正交码索引和掩码序列索引(唯一索引),输出TFCI位。TFCI位可以通过组合双正交码索引和掩码序列索引来确定。例如,如果掩码序列索引是M4(0100)的索引,和双正交码索引是W4(001001)的索引,那么,TFCI(a0至a9)就是“M4索引(0100)+W4索引(001001)”。也就是说,TFCI位(a0至a9)是“0100001001。

假设发送器发送了与TFCI位(a0至a9)“1011000010”相对应的码码元,可以认为发送器根据上述编码过程,用W6和M4编码了TFCI位。接收器通过把输入信号r(t)与所有掩码序列相乘,可以确定输入信号r(t)是用掩码序列M4编码的,和通过计算输入信号r(t)与所有双正交码的相关性,可以确定输入信号r(t)是用W6编码的。根据上面例子,第五相关性计算器(未示出)将输出最大相关值、W6(101100)的索引和它的唯一索引(0010)。然后,接收器通过把W6“101100”的索引与M4索引“0010”相加,输出解码的TFCI位(a0至a9)“1011000010”。

在解码设备的实施例中,根据掩码序列的个数并行地处理输入信号r(t)。在解码设备的另一个实施例中,可以进一步设想为,把输入信号r(t)依次与掩码序列相乘,并且依次计算积的相关性。

图17显示了解码设备的另一个实施例。

参照图17,存储器1720存储输入的32-码元信号r(t)。掩码序列发生器1710生成用在发送器中的16个掩码序列,并且依次输出它们。乘法器1730把从掩码序列发生器1710接收的16个掩码序列之一与从存储器1720接收的输入信号r(t)相乘。相关性计算器1740计算乘法器1730的输出与长度为32的64个双正交码的相关性,并且向相关性比较器1750输出极大相关值和与最大相关值相对应的双正交码的索引。相关性比较器1750存储从相关性计算器1740接收的极大相关值和双正交码索引、和从掩码序列发生器1710接收的掩码序列的索引。

当用掩码序列完成上面处理时,存储器1720把存储的输入信号r(t)输出到乘法器1730。乘法器1730把输入信号r(t)与其它掩码序列之一相乘。相关性计算器1740计算乘法器1730的输出与长度为32的64个双正交码的相关性,并且输出极大相关值和与极大相关值相对应的双正交码的索引。相关性比较器1750存储极大相关值、与极大相关值相对应的双正交码索引、和从掩码序列发生器1710接收的掩码序列索引。

对掩码序列发生器1710生成的所有16个掩码序列都执行上面过程。然后,把16个极大相关值和与极大相关值相对应的双正交码的索引存储在相关性比较器1750中。相关性比较器1750比较存储的16个相关值,选择相关程度最高的那一个,并且通过组合与所选极大相关值相对应的双正交码索引和掩码序列索引,输出TFCI位。当TFCI位的解码完成时,从存储器1720中删除输入信号r(t),存储下一个输入信号r(t+1)。

虽然在图17的解码设备中,相关性比较器1750在一个时间上比较16个极大相关值,但是,也可以设想出实时相关值比较。也就是说,把首先输入的极大相关值与接着输入的极大相关值相比较,存储两个相关值的较大者和与该相关值相对应的掩码序列索引和双正交码索引。然后,把第三输入的极大相关值与存储的相关值相比较,存储两个相关值的较大者和与所选相关值相对应的掩码序列索引和双正交码索引。进行这种比较/操作15次,15是掩码序列发生器1710生成的掩码序列的个数。当完成所有操作时,相关性比较器1710输出最终存储的双正交码索引(a0至a6)和掩码序列索引(a7至a9),并且输出相加的位作为TFCI位。

图10是图9所示的相关性比较器940的操作的流程图。相关性比较器940存储16个极大相关值,选择16个极大相关值当中的最大相关值,和根据与所选最大相关值相对应的双正交码和掩码序列的索引,输出TFCI位。因此,16个相关值得到了比较,和TFCI位根据与所选最大相关值相对应的双正交码和掩码序列的索引来输出。

参照图10,在步骤1000,把极大相关性索引i设置成1,和把要检验的极大相关值、双正交码、和掩码序列的索引设置成0。在步骤1010,相关性比较器940从相关性计算器920接收第1个极大相关值、第1个双正交码索引、和第1个掩码序列索引。在步骤1020,相关性比较器940把第1个极大相关值与以前的极大相关值相比较。如果第1个极大相关值大于以前的极大相关值,过程就转到步骤1030。如果第1个极大相关值等于或小于以前的极大相关值,过程就转到步骤1040。在步骤1030,相关性比较器940把第1个极大相关值指定为最终极大相关值,并且存储第1个双正交码和掩码序列索引作为最终双正交码和掩码序列索引。在步骤1040,相关性比较器940把索引i与相关性计算器的个数16相比较,以确定所有16个极大相关值是否都比较完了。如果i不是16,那么,在步骤1060把索引i递增1,和过程转到步骤1010。然后,重复上面过程。

在步骤1050,相关性比较器940输出与最终极大相关值相对应的双正交码和掩码序列的索引,作为解码位。与解码位相对应的双正交码索引和掩码序列索引是与从16个相关性计算器接收的16个极大相关值当中的最终极大相关值相对应的那样双正交码索引和掩码序列索引。

3.编码/解码设备和方法的第二实施例

在本发明的第一实施例中已经描述了就16个时隙来说,输出32-码元TFCI码字的(32,10)TFCI编码器。近来,IMT-2000标准规范规定,在一个帧中具有15个时隙。因此,本发明的第二实施例针对就15个时隙来说,输出30-码元TFCI码字的(30,10)TFCI编码器。因此,本发明的第二实施例提出了通过把如(32,10)TFCI编码器生成那样的32个编码码元(码字)收缩掉(puncturing)2个码元,输出30个码码元的编码设备和方法。

根据本发明第一和第二实施例的编码设备除了从1-位发生器、基沃尔什码发生器和基掩码序列发生器输出的序列之外,在结构上是相同的。编码器设备输出在第二实施例的编码设备中收缩了码元# 0(第1码元)和码元#16(第17码元)的长度为30的编码码元。

参照图8,把10个TFCI位a0至a9施加到乘法器840至849的输入端上。1-位发生器800把码元1(长度为32)输出到乘法器840。乘法器840把输入信息位a0与从1-位发生器800接收的32个码元的每一个相乘。基沃尔什码发生器810同时生成长度为32的基沃尔什码W1、W2、W4、W8和W16。乘法器841把输入信息位a1与基沃尔什码W1“01010101010101010101010101010101”相乘。乘法器842把输入信息位a2与基沃尔什码W2“00110011001100110011001100110011”相乘。乘法器843把输入信息位a3与基沃尔什码W4“00001111000011110000111100001111”相乘。乘法器844把输入信息位a4与基沃尔什码W8“00000000111111110000000011111111”相乘。乘法器845把输入信息位a5与基沃尔什码W16“00000000000000001111111111111111”相乘。

基掩码序列发生器820同时生成长度为32的基掩码序列M1、M2、M4和M8。乘法器846把输入信息位a6与基掩码序列发生器M1“00101000011000111111000001110111”相乘。乘法器847把输入信息位a7与基掩码序列M2“00000001110011010110110111000111”相乘。乘法器848把输入信息位a8与基掩码序列M4“00001010111110010001101100101011”相乘。乘法器849把输入信息位a9与基掩码序列M8“00011100001101110010111101010001”相乘。乘法器840至849的功能象控制来自1-位发生器的各个位、每个基沃尔什码和每个基掩码序列的输出或生成的开关

加法器860一个码元一个码元地相加乘法器840至849的输出,并且输出32个编码码元(即,TFCI码字)。32个编码码元当中,两个码元将在预定位置上被收缩掉(即,收缩掉加法器860输出的码元# 0(第1码元)和码元#16(第17码元)。余下的30个码元将变成30个TFCI码元。对本发明的实施例进行修改是轻而易举的。例如,1-位发生器800、基沃尔什码发生器810和基掩码序列发生器820可以生成不包括# 0和# 16码元的30个码元。然后,加法器860逐位相加1-位发生器800、基沃尔什码发生器810和基掩码序列发生器820的输出,和输出30个编码码元作为TFCI码元。

图12是本发明第二实施例的编码方法。该流程图显示了当时隙数是15时,根据本发明第二实施例的编码设备执行的步骤。

参照图12,在步骤1200,接收10个输入信息位a0至a9,并且把变量sum和j设置成初始值0。在步骤1210,确定j是否是30。如果在步骤1210,j不是30,那么,在步骤1220,接收基沃尔什码W1、W2、W4、W8和W16(每一个含有两个收缩位)的第j个码元W1(j)、W2(j)、W4(j)、W8(j)和W16(j)和基掩码序列M1、M2、M4和M8(每一个含有两个收缩位)的第j个码元M1(j)、M2(j)、M4(j)和M8(j)。然后,在步骤1230,以码元为基础把接收的码元与输入信息位相乘,并且对所乘的码元求和。在步骤1240,输出表示所得到的第j个码码元的sum,在步骤1250把j递增1,然后过程返回到步骤1210。同时,如果在步骤1210,j是30,那么,结束编码过程。

(30,10)编码器输出与码元# 0和# 16被收缩了的(32,10)编码器的码字等效的1024个码字。因此,可以表示的总信息数是1024。

(30,9)编码器的输出是通过收缩长度为32的32个沃尔什码中每个的码元# 0和# 16所得的长度为30的32个沃尔什码、通过把1加入收缩的沃尔什码的每个码元(在实数的情况下把-1与每个码元相乘)所得的32个双正交码、和通过组合四个收缩的基掩码序列的任意三个所得的8个掩码序列的组合。

(30,8)编码器的输出是通过从长度为32个码元的32个沃尔什码的每一个中收缩掉# 0和# 16码元所得的长度为30的32个沃尔什码、通过把1加入收缩的沃尔什码的每个码元(在实数的情况下把-1与每个码元相乘)所得的32个双正交码、和通过组合四个收缩基掩码序列的任意二个所得的4个掩码序列的组合。

(30,7)编码器的输出是通过从长度为32个码元的32个沃尔什码的每一个中收缩掉# 0和# 16码元所得的长度为30的32个沃尔什码、通过把1加入收缩的沃尔什码的每个码元(在实数的情况下把-1与每个码元相乘)所得的32个双正交码、和四个收缩基掩码序列之一的组合。

提供扩充TFCI的所有上述编码器都具有10的最短距离。(30,9)、(30,8)和(30,7)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的四个基掩码序列的至少一个的输入输出来实现。

上述编码器根据TFCI位的个数,灵活地编码TFCI位,并且具有决定编码性能的极大化最短距离。

根据本发明第二实施例的解码设备除了编码码元的信号长度不同之外,在结构和操作上与第一实施例的解码设备相同。也就是说,在(32,10)编码之后,收缩掉32个编码码元当中的两个码元,或两个码元被收缩了的基沃尔什码和两个码元被收缩了的基掩码序列用于生成30个编码码元。因此,除了接收信号r(t)包括30个编码码元的信号和把哑信号插在收缩位置中之外,所有解码操作都与对本发明第一实施例所描述的相同。

至于图17,解码的这个第二实施例也可以通过把掩码与r(t)相乘的单个乘法器和计算双正交码的相关值的单个相关性计算器来实现。

4.编码/解码设备和方法的第三实施例

本发明的第三实施例提供了阻塞第二实施例的(30,7)、(30,8)、(30,9)和(30,10)(下文我们把它们表示成(30,7-10))编码器中1-位发生器的输出,而是生成另一个掩码序列,以便把最短距离设置成11的编码设备。编码器指的是对于7、8、9、或10个TFCI位的输入,输出30-码元TFCI码字的编码器。

图14是IMT 2000系统中用于编码TFCI的编码设备的第三实施例的方块图。在这个图形中,(30,7-10)编码器被构造成具有11的最短距离。

根据本发明的第三实施例,除了还为编码设备配备了生成基掩码序列M16的掩码序列发生器1480和把掩码序列发生器1480和1-位发生器1400切换到乘法器1440的切换器1470之外,第三实施例的编码设备在结构上与第二实施例的编码设备相同。

如用在图14中那样的两位被收缩了的基掩码序列M1、M2、M4、M8和M16是

M1=000001011111000010110100111110

M2=000110001100110001111010110111

M4=010111100111101010000001100111

M8=011011001000001111011100001111

M16=100100011110011111000101010011

参照图14,当使用(30,6)编码器时,切换器1470把1-位发生器1400切换到乘法器1440,并且阻塞基掩码序列发生器1480生成的所有基掩码序列。乘法器1440一个码元一个码元地把来自1-位发生器1400的码元与输入信息位a0相乘。

当使用(30,7-10)编码器时,切换器1470把掩码序列发生器1480切换到乘法器1440,并且有选择地使用基掩码序列发生器1420生成的四个基掩码序列。在这种情况中,通过组合5个基掩码序列可以生成31个掩码序列M1至M31。

利用乘法器1440至1449为输入信息位a0至a9输出码码元的结构和操作与第一和第二实施例相同。因此,省略对它们的描述。

如上所述,为了使用(30,7-10)编码器,切换器1470把掩码序列发生器1480切换到乘法器1440,,而为了使用(30,6)编码器,切换器1470把1-位发生器1400切换到乘法器1440。

对于6个信息位的输入,(30,6)编码器通过把长度为30的32个沃尔什码与利用1-位发生器1400求逆沃尔什码所得的32个双正交码组合在一起,输出30-码元码字。

对于10个信息位的输入,(30,10)编码器通过把长度为30的32个沃尔什码与利用五个基掩码序列生成的32个掩码序列组合在一起,输出30-码元码字。这里,五个基掩码序列是如上所述的M1、M2、M4、M8和M16,和基掩码序列M16是从为根据本发明第三实施例的编码设备添加的掩码序列发生器1480中输出的。因此,从(30,10)编码器中可以获得1024个码字。对于9个信息位的输入,(30,9)编码器通过把32个沃尔什码与16个掩码序列组合在一起,输出30-码元码字。16个掩码序列是通过组合五个基掩码序列中的四个取得的。对于8个信息位的输入,(30,8)编码器通过把32个沃尔什码与8个掩码序列组合在一起,输出30-码元码字。8个掩码序列是通过组合五个基掩码序列中的三个取得的。对于7个信息位的输入,(30,7)编码器通过把32个沃尔什码与4个掩码序列组合在一起,输出30-码元码字。4个掩码序列是通过组合五个基掩码序列中的二个取得的。

为了提供扩充TFCI,所有上述(30,7-10)编码器都具有11的最短距离。(32,7-10)编码器可以通过控制图14所示的基掩码序列发生器1420和掩码序列发生器1480生成的五个基掩码序列的至少一个的使用来实现。

图16是显示在根据本发明的IMT 2000系统中TFCI编码过程的第三实施例的流程图。

参照图16,在步骤1600,接收10个信息位(TFCI位)a0至a9,并且把变量sum和j设置成初始值0。变量sum表示在基于码元的相加之后输出的最终码码元,和j表示在基于码元的相加之后输出的最终码码元的计数。如果用于编码的收缩沃尔什码和掩码序列的长度为30,那么,在步骤1610,确定j是否是30。执行步骤1610的目的是为了判断对于每个沃尔什码的30个码元和每个掩码序列的30个码元,输入信息位是否已经被编码了。

如果在步骤1610,j不是30,这意味着相对于沃尔什码和掩码序列的所有码元,编码还没有完成,那么,在步骤1620,接收基沃尔什码W1、W2、W4、W8和W16的第j个码元W1(j)、W2(j)、W4(j)、W8(j)和W16(j)和基掩码序列M1、M2、M4、M8和M16的第j个码元M1(j)、M2(j)、M4(j)、M8(j)和M16(j)。在步骤1630,一个码元一个码元地把输入信息位与接收的码元相乘,并且对码元积求和。

步骤1630可以表示成

sum=a0·M16(j)+a1·W1(j)+a2·W2(j)+a3·W4(j)+a4·W8(j)+a5·W16(j)+a6·M1(j)+a7·M2(j)+a8·M4(j)+a9·M8(j)        ......(式10)

从(式10)可看出,把每个输入信息位与相应基沃尔什码或基掩码序列的码元相乘,并且求和这个乘积,可以获得所需的码码元。

在步骤1640,输出表示所得的第j个码码元的sum,在步骤1650,把j递增1,然后过程返回到步骤1610。同时,如果在步骤1610,j是30,那么,结束编码过程。

现在参照图15给出对解码设备的第三实施例的描述。把包括发送器发送的30个编码码元的信号和已经被插在编码器收缩掉的位置中的两个哑码元的输入信号r(t)供应给31个乘法器1502至1506和相关性计算器1520。掩码序列发生器1500生成长度为32的所有可能的31个掩码序列M1至M31。乘法器1502至1506把从掩码序列发生器1500接收的掩码序列与输入信号r(t)相乘。如果发送器用预定掩码序列对TFCI位编码,那么,乘法器1502至1506的输出之一不含掩码序列,这意味着该掩码序列对下面的相关性计算器没有影响。例如,如果发送器把掩码序列M31用于编码TFCI位,那么,把掩码序列M31与输入信号r(t)相乘的乘法器1506的输出不含掩码序列。但是,如果发送器没有使用掩码序列,那么,施加给相关性计算器1520的输入信号r(t)本身是不含掩码序列的信号。每个相关性计算器1520至1526计算乘法器1502至1506的输出与长度为32的64个双正交码的相关值,确定64个相关值组当中的极大相关值,并且分别把所确定的极大相关值、与所确定极大相关值相对应的每个双正交码的索引、和每个掩码序列的索引输出到相关性比较器1540。

相关性比较器1540比较从相关性计算器1520至1526接收的32个极大相关值,并且确定这些极大相关值的极大者,作为最终极大相关值。然后,相关性比较器1540根据与最终极大相关值相对应的双正交码和掩码序列的索引,输出由发送器发送的解码的TFCI位。如图17所示,本发明的第三实施例也可以通过把掩码与r(t)相乘的单个乘法器和计算双正交码的相关值的单个相关性计算器来实现。

如上所述,本发明提供了可变地编码和解码基本TFCI和扩充TFCI,以便简化硬件的设备和方法。另一个优点是,对基本TFCI和扩充TFCI纠错编解码方案两者的支持提高了服务稳定性。此外,最短距离,即,确定编码设备性能的一个因素,大到足以满足IMT 2000系统的要求,从而保证了极好的性能。

虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

申请是申请日为2000年7月6日、申请号为00810714.9、发明名称为“在码分多址移动通信系统中编码/解码传输格式组合指示符的设备和方法”的发明专利申请的分案申请。

发明背景

QQ群二维码
意见反馈