通信系统中的解码设备及方法转让专利

申请号 : CN200410033325.6

文献号 : CN1531236B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 金宰烈姜熙原

申请人 : 三星电子株式会社

摘要 :

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

权利要求 :

1.一种通信系统中的传输格式组合指示符解码设备,包括:

掩码序列发生器,用于生成数个掩码序列;

数个运算电路,用于接收输入信号和来自掩码序列发生器的掩码序列,和把掩码序列与输入信号相乘;

第一相关器,用于计算接收信号与数个正交序列之间的相关值,和选择极大相关值和与极大相关值相对应的正交序列索引;

数个第二相关器,分别用于接收输入信号和运算电路的输出,计算接收信号与具有相应索引的数个正交序列之间的相关值,和选择极大相关值和与极大相关值相对应的正交序列索引;和相关性比较器,用于确定从相关器接收的所选极大相关值当中的最大相关值,和根据与所确定的最大相关值相对应的正交序列索引和掩码序列索引输出传输格式组合指示符信息。

2.根据权利要求1所述的传输格式组合指示符解码设备,其中,掩码序列发生器含有可以加在一起形成哥德码的第一m-序列和第二m-序列,并且被用于形成含有通过循环移位第一m-序列生成的序列的第一序列组和含有通过循环移位第二m-序列生成的序列的第二序列组,为第一组中的序列生成列置换函数,以便把第一组中的序列转换成正交序列,把为‘0’的列插入第二组中的序列的前面,和把逆列置换函数应用于第二组中的序列,以便把第二组中的序列转换成掩码序列。

3.根据权利要求2所述的传输格式组合指示符解码设备,其中,运算电路是乘法器。

4.根据权利要求3所述的传输格式组合指示符解码设备,其中,掩码序列索引是与所确定相关值相对应的、用于从输入信号中移去掩码序列的掩码序列的索引。

5.一种通信系统中的传输格式组合指示符解码方法,包括下列步骤:

生成数个掩码序列;

接收输入信号和掩码序列,和通过把掩码序列与输入信号相乘,从输入信号中移去掩码序列;

接收乘积信号,计算每个乘积信号与具有相应索引的数个正交序列之间的相关值,和选择极大相关值和与极大相关值相对应的正交序列索引;和确定极大相关值当中的最大相关值,和输出与所确定的最大相关值相对应的正交序列索引和掩码序列索引。

6.根据权利要求5所述的传输格式组合指示符解码方法,其中,生成数个掩码序列的步骤含有可以加在一起形成哥德码的第一m-序列和第二m-序列,并且被用于形成含有通过循环移位第一m-序列生成的序列的第一序列组和含有通过循环移位第二m-序列生成的序列的第二序列组,为第一组中的序列生成列置换函数,以便把第一组中的序列转换成正交序列,把为‘0’的列插入第二组中的序列的前面,和把逆列置换函数应用于第二组中的序列,以便把第二组中的序列转换成掩码序列。

7.根据权利要求5所述的传输格式组合指示符解码方法,其中,掩码序列索引是与最大相关值相对应的、用于从输入信号中移去掩码序列的掩码序列的索引。

8.一种通信系统中的传输格式组合指示符解码方法,包括下列步骤:

生成数个掩码序列;

接收输入信号和掩码序列,和把每个掩码序列与输入信号相乘;

接收相乘信号,和计算每个接收的相乘信号与具有相应索引的数个正交序列之间的相关值;

选择为每个相乘信号计算出的相关值当中的极大相关值、和与极大相关值相对应的正交序列索引;和确定所有极大相关值当中的最大相关值、和与最大相关值相对应的正交码索引。

9.根据权利要求8所述的传输格式组合指示符解码方法,其中,生成数个掩码序列的步骤含有可以加在一起形成哥德码的第一m-序列和第二m-序列,并被用于形成含有通过循环移位第一m-序列生成的序列的第一序列组和含有通过循环移位第二m-序列生成的序列的第二序列组,为第一组中的序列生成列置换函数,以便把第一组中的序列转换成正交序列,把为‘0’的列插入第二组中的序列的前面,和把逆列置换函数应用于第二组中的序列,以便把第二组中的序列转换成掩码序列。

10.根据权利要求8所述的传输格式组合指示符解码方法,其中,掩码序列索引是与最大相关值相对应的、用于从输入信号中移去掩码序列的掩码序列的索引。

说明书 :

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

[0001] 本申请是申请日为2000年7月6日、申请号为00810714.9、发明名称为“在码分多址移动通信系统中编码/解码传输格式组合指示符的设备和方法”的发明专利申请的分案申请。
[0002] 发明背景
[0003] 1.发明领域
[0004] 本发明一般涉及IMT 2000系统中的信息发送设备和方法,尤其涉及发送传输格式组合指示符(TFCI)的设备和方法。
[0005] 2.相关技术描述
[0006] CDMA(码分多址)移动通信系统(下文称之为IMT 2000系统)一般以固定或可变数据速率,在诸如专用物理数据信道(DPDCH)之类的物理信道上发送提供话音服务、图像服务、字符服务的帧。在以固定数据速率发送包括那种服务的数据帧的情况中,不需要把每个数据帧的扩展比通知接收器。另一方面,如果以可变数据速率发送数据帧,这意味着每个数据帧具有不同的数据速率,那么,发送器应该把通过它的数据速率确定的每个数据帧的扩展比通知接收器。在一般IMT 2000系统中,数据速率与数据发送速率成正比,而数据发送速率与扩展比成反比。
[0007] 对于数据帧以可变数据速率的发送,DPCCH的TFCI字段把当前服务帧的数据速率通知接收器。TFCI字段包括TFCI,TFCI指示包括服务帧的数据速率在内的许多信息。TFCI是有助于可靠提供话音或数据服务的信息。
[0008] 图1A至1D显示了TFCI的应用的例子。图1A显示了TFCI对上行链路DPDCH和上行链路专用物理控制信道(DPCCH)的应用。图1B显示了TFCI对随机接入信道(RACH)的应用。图1C显示了TFCI对下行链路DPDCH和下行链路DPCCH的应用。图1D显示了TFCI对辅助公用控制物理信道(SCCPCH)的应用。
[0009] 参照图1A至1D,一个帧由16个时隙组成,每个时隙都含有一个TFCI字段。因此,一个帧包括16个TFCI字段。TFCI字段包括NTFCI个位,在一个帧中TFCI一般具有32个位。为了在一个帧中发送32位的TFCI,可以把2个TFCI位分配给16个时隙的每一个(Tslot=
0.625ms)。
[0010] 图2是一般IMT 2000系统中基站发送器的方块图。
[0011] 参照图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信道信号相加。
[0012] 图3是一般IMT 2000系统中移动台发送器的方块图。
[0013] 参照图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信道信号相加。
[0014] 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中可能生成的差错。
[0015] 图4A概念性地显示了传统IMT 2000系统中基本TFCI位编码结构,和图4B是应用于图4A所示的双正交编码器的示范性编码表。如上所述,基本TFCI具有指示1到64个不同信息的6个TFCI位(下文称之为基本TFCI位)。
[0016] 参照图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位,选择所选正交码字或双正交码字之一。
[0017] 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))描述了最佳二进制线性码的最短距离。
[0018] 参考文献1给出16作为二进制线性码的最短距离,据此,对于6个位的输入,输出32个位。从双正交编码器402输出的TFCI码字具有16的最短距离,这意味着TFCI码字是最佳码。
[0019] 图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位)。
[0020] 参照图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中。
[0021] 双正交编码器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码字。
[0022] 多路复用器510把第一和第二TFCI码字多路复用成最后的32-码元TFCI码字。
[0023] 一旦接收到32-码元TFCI码字,接收器就解码分成两半(字1和字2)的TFCI码字,并且通过把两个解码的5-位TFCI半部组合在一起,获得10个TFCI位。在这种情况中,甚至在解码期间输出的解码的5-位TFCI之一中的可能差错也会导致在10个TFCI位上的差错。
[0024] 扩充TFCI码字还应该具有强大的纠错能力。为此,扩充TFCI码字应该具有如参考文献1所建议的最短距离。
[0025] 考虑到扩充TFCI位数10和TFCI码字的码元数32,参考文献1给出12作为最佳码的最短距离。然而,因为在解码期间字1和字2的至少一个的差错导致整个10个TFCI位的差错,所以从图5A所示的结构输出的TFCI码字具有8的最短距离。也就是说,尽管扩充TFCI位被分成两半分别编码,但是最后TFCI码字的最短距离等于双正交编码器502和504的码字输出之间的最短距离。
[0026] 因此,从图5A所示的编码结构发送的TFCI码字不是最佳的,在相同无线电信道环境下,这也许会增加TFCI位的出错概率。随着TFCI位出错概率的增加,接收器误判接收数据帧的数据速率,和以增加了的差错率解码数据帧,从而降低了IMT 2000系统的效率。
[0027] 根据传统技术,需要独立的硬件结构来支持基本TFCI和扩充TFCI。结果是,在成本和系统尺寸方面制约了IMT 2000系统的实现。
[0028] 发明概述
[0029] 因此,本发明的一个目的是提供一种在IMT 2000系统中编码扩充TFCI的设备和方法。
[0030] 本发明的另一个目的是提供一种在IMT 2000系统中兼容地编码基本TFCI和扩充TFCI的设备和方法。
[0031] 本发明的另一个目的是提供一种在IMT 2000系统中解码扩充TFCI的设备和方法。
[0032] 本发明的另一个目的是提供一种在IMT 2000系统中兼容地解码基本TFCI和扩充TFCI的设备和方法。
[0033] 本发明的另一个目的是提供一种在IMT 2000系统中,通过编码扩充TFCI生成最佳码的设备和方法。
[0034] 本发明的另一个目的是提供一种在IMT 2000系统中,生成供编码/解码扩充TFCI用的掩码序列的设备和方法。
[0035] 为了实现上面目的,本发明提供了CDMA移动通信系统中的TFCI编码/解码设备和方法。在TFCI编码设备中,1-位发生器生成具有相同码元的序列。基(basis)正交序列发生器生成数个基正交序列。基掩码序列发生器生成数个基掩码序列。运算单元接收被分成代表双正交序列转换的第一信息部分、代表正交序列转换的第二信息部分、和代表掩码序列转换的第三信息部分的TFCI位,并且把根据第二信息从基正交序列中选择的正交序列、把所选正交序列与根据第一信息部分选择的相同码元组合在一起获得的双正交序列、和根据双正交码序列和第三信息部分选择的掩码序列三者组合在一起,从而生成TFCI序列。
[0036] 附图简述
[0037] 通过结合附图,进行如下详细描述,本发明的上面和其它目的、特征和优点将更加清楚,在附图中:
[0038] 图1A至1D显示了在一般IMT 2000系统中TFCI对信道帧的示范性应用;
[0039] 图2是一般IMT 2000系统中基站发送器的方块图;
[0040] 图3是一般IMT 2000系统中移动台发送器的方块图;
[0041] 图4A概念性地显示了传统IMT 2000系统中的基本TFCI编码结构;
[0042] 图4B是用在图4A所示的双正交编码器中的编码表的例子;
[0043] 图5A概念性地显示了传统IMT 2000系统中的扩充TFCI编码结构;
[0044] 图5B是在图5A所示的控制器中分配TFCI位的算法的例子;
[0045] 图5C是用在图5A所示的双正交编码器中的编码表的例子;
[0046] 图6概念性地显示了在根据本发明的IMT 2000系统中的TFCI编码结构;
[0047] 图7是显示在根据本发明的IMT 2000系统中,有关TFCI编码的掩码序列生成过程的实施例的流程图;
[0048] 图8是根据本发明的IMT 2000系统中,TFCI编码设备的实施例的方块图;
[0049] 图9是根据本发明的IMT 2000系统中,TFCI解码设备的实施例的方块图;
[0050] 图10是显示图9所示的相关性比较器的控制操作流程图;
[0051] 图11是显示在根据本发明的IMT 2000系统中,TFCI编码过程的实施例的流程图;
[0052] 图12是显示在根据本发明的IMT 2000系统中,TFCI编码过程的另一个实施例的流程图;
[0053] 图13显示了根据本发明通过TFCI确定的正交序列和掩码序列的结构的实施例;
[0054] 图14是根据本发明的IMT 2000系统中,TFCI编码设备的另一个实施例的方块图;
[0055] 图15是根据本发明的IMT 2000系统中,TFCI解码设备的另一个实施例的方块图;
[0056] 图16是显示在根据本发明的IMT 2000系统中,TFCI编码过程的另一个实施例的流程图;和
[0057] 图17是根据本发明的IMT 2000系统中,TFCI解码设备的第三个实施例的方块图。
[0058] 优选实施例详述
[0059] 下文参照附图描述本发明的优选实施例。在如下的描述中,对那些众所周知的功能或结构将不作详细描述,因为,否则的话,它们将会把本发明的特征淹没在不必要的细节之中。
[0060] 本发明针对在IMT 2000系统中,通过相加源自第一TFCI位的第一码码元(第一TFCI码字)和源自第二TFCI位的第二码码元(第二TFCI码字),输出最终码码元的TFCI编码概念。TFCI编码概念显示在图6中。这里,双正交序列和掩码序列分别作为第一TFCI码字和第二TFCI码字给出。
[0061] 参照图6,TFCI位被分成第一TFCI位和第二TFCI位。掩码序列发生器602通过编码第二TFCI位生成预定掩码序列,和双正交序列发生器604通过编码第一TFCI位生成预定双正交序列。加法器610把掩码序列与双正交序列相加,输出最终码码元(TFCI码字)。掩码序列发生器602可以含有编码表,该编码表列出所有可能第二TFCI位的掩码序列。双正交序列发生器604也可以含有编码表,该编码表列出所有可能第一TFCI位的双正交序列。
[0062] 如上所述,应该定义掩码序列和掩码序列生成方法,以便使本发明得以实现。例如,在本发明的实施例中,给出沃尔什(Walsh)码作为正交码。
[0063] 1.掩码序列生成方法
[0064] 本发明涉及在IMT 2000系统中TFCI位的编码和解码,以及扩充里德-穆勒(Reed Muller)码的使用。为此目的,使用预定序列,这些序列应该具有保证极好纠错性能的最短距离。
[0065] 确定线性纠错码的性能或能力的有意义参数是纠错码的码字之间的最短距离。码字的汉明(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))。
[0066] 扩充里德-穆勒码可以从一组序列中推算出来,这组序列的每一个是m-序列和预定序列的元素的总和。为了利用作为线性纠错码的序列组,该序列组应该具有大的最短距离。这样的序列组包括卡沙马(Kasami)序列组、哥德(Gold)序列组、和克导克(Kerdock)2m 2m m
序列组。如果在这样的序列组中序列的总长度是L=2 ,那么,最短距离=(2 -2)/2。对
2m 2m+1 2m
于2 +1,最短距离=(2 -2 )/2。也就是说,如果L=32,最短距离=12。
[0067] 下面对生成性能极好的线性纠错码,即扩充纠错码(沃尔什码和掩码序列)的方法加以描述。
[0068] 根据编码理论,存在着从通过循环移位源m-序列1至‘n’次形成的一个组中的m-序列中构造出沃尔什码的列置换(transposition)函数,此处,‘n’是m-序列的长度。换言之,每个m-序列都是通过循环移位源m-序列预定次数形成的。列置换函数是把m-序列组中的序列变换成沃尔什码的变换函数。我们假设,存在通过把源m-序列与另一个源m-序列相加形成的、诸如哥德序列或卡沙马序列之类的序列。类似地,另一组m-序列也是通过循环其它移位源m-序列1至‘n’次形成的,此处,‘n’是预定序列的长度。此后,把逆列置换函数应用于从其它移位源m-序列形成的第二组m-序列。把逆列置换函数应用于第二组m-序列建立起将被定义为掩码序列的另一组序列。
[0069] 在本发明的实施例中,结合利用哥德序列组生成(2n,n+k)码(扩充里德-穆勒码)n(k=1、2、......、n+1),描述掩码序列生成方法。(2,n+k)码代表对于(n+k)个TFCI位n
(输入信息位)的输入,输出2-码元TFCI码字。众所周知,哥德序列可以表示成两个不同n n
m-序列之和。因此,为了生成(2,n+k)码,应该产生长度为(2-1)的哥德序列。这里,哥德序列是从生成多顶式f1(x)和f2(x)生成的两个m-序列m1(t)和m2(t)之和。给定生成多顶式f1(x)和f2(x),利用迹函数计算m-序列m1(t)和m2(t)。
[0070] m1(t)=Tr(Aαt) t=0、1、......、30,和
[0071] a∈GF(2n) ......(式1)
[0072] 此处,A由m-序列的初值确定,α是多顶式的根,和n是多顶式的阶次。
[0073] 图7是表示供从哥德序列组中生成(2n,n+k)码之用的掩码序列生成过程的流程图。
[0074] 参照图7,在步骤710,分别利用生成多顶式f1(x)和f2(x),在(式1)中生成m-序列m1(t)和m2(t)。在步骤720,计算列置换函数σ(t),以便从含有循环移位m2(t)0至n-2次形成的m-序列的序列组中构造出沃尔什码,此处,把均为‘0’的列插在从m2(t)中构造出来的m-序列的前面,如下所示:
[0075] σ:{0、1、2、......、2n-2}→{1、2、3、......、2n-1}
[0076] t=0、1、2、...... ......(式2)-1
[0077] 在步骤730,利用从σ(t)的逆函数推算出来的σ (t)+2,列置换通过循环移位m1(t)0至30次形成的一组31个序列。然后,把0附加在所得到的列置换序列中每一个的开n n n头上,使序列的长度为2。因此,生成长度为2 的一组(2-1)个序列di(t)(i=0、......、n n
2-2,t=1、......、2)。
n n
[0078] {di(t)|t=1、......、2,i=0、......、2-2}
[0079] ......(式3)
[0080] 数个di(t)是可以用作31个掩码的掩码函数。
[0081] di(t)的特征在于,把上面掩码当中的两个不同掩码加入(2n-1)个掩码除了2个掩n码之外的某一个中。为了进一步归纳它,把(2-1)个掩码的每一个表示成特定n个掩码的n
至少两个之和。这n个掩码被称为基掩码序列。当要生成(2,n+k)码时,对于n+k个输入n+k n
信息位(TFCI位),必要码字总数是2 。2 个正交序列(沃尔什码)和它们的补码,即双正n n+1 n k-1 n+k n+1
交序列的总数是2×2=2 。对于(2,n+k)码的生成,需要非0的2 (=(2 /2 )-1)k-1
个掩码。如前所述,在这里,2 -1个掩码可以利用k-1个基掩码序列表示。
[0082] 现在,对选择k-1个基掩码序列的方法给出描述。在图7的步骤730,循环移位n-1m-序列m1(t)0至2 次,生成一组序列。这里,根据(式1),循环移位m-序列m1(t)i次所i t 2n-2
得的m-序列被表示成Tr(α·α)。也就是说,对于初始序列A={1、α、......、α },循环移位m-序列m1(t)0至30次生成一组序列。从伽罗瓦(Galois)元素1、α、......、
2n-2
α 中可以找出k-1个线性独立的基元素,和与被当作初始序列的、具有k-1个基元素的迹函数的输出序列相对应的掩码序列成为基掩码序列。线性独立条件表示为
[0083] α1、......、αk-1:线性独立
[0084] ......(式4)
[0085] 为了详细描述上面归纳的掩码函数生成方法,先参照图7描述如何利用哥德序列组生成(32,10)码。众所周知,哥德序列被表示成不同预定m-序列之和。因此,应该首先5 2
生成长度为31的哥德序列,以便生成所需的(32,10)码。哥德序列是分别从多顶式x+x+1
5 4
和x+x+x+1生成的两个m-序列之和。给定相应的生成多顶式,利用迹函数计算m-序列m1(t)和m2(t)的每一个:
[0086] m1(t)=Tr(Aαt) t=0、1、......、30,和
[0087] a∈GF(25) ......(式5)
[0088] 此处,A由m-序列的初值确定,α是多顶式的根,和n是多顶式的阶次,在这里是5。
[0089] 图7显示了生成(32,10)码的掩码序列生成过程。
[0090] 参照图7,在步骤710,分别利用生成多顶式f1(x)和f2(x),在(式1)中生成m-序列m1(t)和m2(t)。在步骤720,计算列置换函数σ(t),以便构造出m-序列m2(t)的沃尔什码:
[0091] σ:{0、1、2、......、30}→{1、2、3、......、31}
[0092] ......(式6)
[0093] 然后,在步骤730,利用从σ(t)的逆函数推算出来的σ-1(t)+2,列置换通过循环移位m1(t)0至30次形成的一组31个序列。然后,把0附加在所得到的列置换序列中的每一个的开头上,使序列的长度为31。因此,生成长度为2n的31个di(t)。这里,如果i=0、......、30,那么,t=1、......、32)。在步骤730生成的序列组可以表示成[0094] {di(t)|t=1、......、32,i=0、......、30}
[0095] ......(式7)
[0096] 从(式7)获得的数个di(t)可以用作31个掩码序列。
[0097] di(t)的特征在于,把上面掩码当中的两个不同掩码加入31个掩码中除了2个掩码之外的某一个中。换言之,31个掩码的每一个可以被表示成5个特定掩码之和。这5个掩码是基掩码序列。
[0098] 当要生成(32,10)码时,对于所有可能的10个输入信息位(TFCI位),必要码字n+k总数是2 =1024。长度为32的双正交序列的总数是32×2=64。生成(32,10)码需要
15个掩码。这15个掩码可以表示成4个基掩码序列的组合。
[0099] 现在,对选择4个基掩码序列的方法给出描述。根据(式1),循环移位m-序i t列m1(t)i次所得的m-序列被表示成Tr(α·α)。也就是说,对于初始序列A={1、
2n-2
α、......、α },循环移位m-序列m1(t)0至30次生成一组序列。这里,从伽罗瓦元素
2n-2
1、α、......、α 中可以找出4个线性独立的基元素,和与被当作初始序列的、具有4个基元素的迹函数的输出序列相对应的掩码序列成为基掩码序列。线性独立条件表示为[0100] α、β、γ、δ:线性独立
[0101] ......(式8)
[0102] 事实上,在伽罗瓦元GF(25)中的1、α、α2、α3是被公认为四个线性独立元素的多顶式子基。通过用多顶式基替换(式1)中的变量A,获得四个基掩码序列M1、M2、M4和M8。
[0103] M1=00101000011000111111000001110111
[0104] M2=00000001110011010110110111000111
[0105] M4=00001010111110010001101100101011
[0106] M8=00011100001101110010111101010001
[0107] 从现在开始,描述在根据本发明实施例的IMT 2000系统中,利用以上面方式获得的基掩码序列编码/解码TFCI的设备和方法。
[0108] 2.编码/解码设备和方法的第一实施例
[0109] 图8和9是根据本发明实施例的IMT 2000系统中,TFCI编码和解码设备的方块图。
[0110] 参照图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,其中:
[0111] W1=01010101010101010101010101010101
[0112] W2=00110011001100110011001100110011
[0113] W4=00001111000011110000111100001111
[0114] W8=00000000111111110000000011111111
[0115] W16=00000000000000001111111111111111
[0116] 基掩码序列发生器820生成预定长度的基掩码序列。基掩码序列生成方法在上面已经作了描述,因此,不再描述其细节。如果使用长度为32的掩码序列,那么,基掩码序列是第1、第2、第4和第8掩码序列M1、M2、M4和M8,其中:
[0117] M1=00101000011000111111000001110111
[0118] M2=00000001110011010110110111000111
[0119] M4=00001010111110010001101100101011
[0120] M8=00011100001101110010111101010001
[0121] 乘法器840以码元为基础把从1-位发生器800输出的1与输入信息位a0相乘。
[0122] 乘法器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与它们相应的输入信息位相乘。
[0123] 同时,乘法器846把基掩码序列M1与输入信息位a6相乘。乘法器847把基掩码序列M2与输入信息位a7相乘。乘法器848把基掩码序列M4与输入信息位a8相乘。乘法器849把基掩码序列M8与输入信息位a9相乘。乘法器846至849一个码元一个码元地把接收的基掩码序列M1、M2、M4和M8与它们相应的输入信息位相乘。
[0124] 加法器860相加从乘法器840至849接收的编码输入信息位,并且输出长度为32位的最终码码元(TFCI码字)。最终码码元(TFCI码字)的长度由从基沃尔什码发生器810生成的基沃尔什码和从基掩码序列发生器820生成的基掩码序列的长度确定。
[0125] 例如,如果输入信息位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相乘,生成码码元“00000
000000000001111111111111111”。乘法器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接收的码码元,输出最终码码元“01000001
000010100110011011100001”。最终码码元可以通过一个码元一个码元地把与信息位1相对应的基沃尔什码W1、W2、W4和W16与基掩码序列M1相加获得。换句话来说,把基沃尔什码W1、W2、W4和W16相加成W23,然后,相加沃尔什码W23和基掩码序列M1,形成从加法器860输出的TFCI码字(最终码码元)(=W23+M1)。
[0126] 图11是显示根据本发明的IMT 2000系统中的TFCI编码过程的实施例的流程图。
[0127] 参照图11,在步骤1100,接收10个输入信息位(即,TFCI位),并且把变量sum和j设置成初始值0。变量sum表示最终码码元,和j表示在基于码元的相加之后输出的最终码码元的计数。在步骤1110,如果用于编码输入信息位的沃尔什码和掩码序列的长度为32个码元,那么,确定j是否是32。执行步骤1110是为了检验输入信息位是否一个码元一个码元地都用沃尔什码和掩码序列编了码。
[0128] 如果在步骤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。
[0129] 步骤1130可以表示成
[0130] 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)
[0131] 从(式9)可看出,把输入信息位与基沃尔什码和基掩码序列的相应码元相乘,求和码元积,这个和值就成为所需的码码元。
[0132] 在步骤1140,输出表示所得的第j个码码元的sum,在步骤1150把j递增1,然后过程返回到步骤1110。同时,如果在步骤1110,j是32,那么,结束编码过程。
[0133] 根据本发明实施例的、图8所示的编码设备可以支持扩充TFCI以及基本TFCI。支持扩充TFCI的编码器包括(32,10)编码器、(32,9)编码器、和(32,7)编码器。
[0134] 对于10个输入信息位的输入来说,(32,10)编码器输出长度为32的32个沃尔什码、对沃尔什码反转所得的32个双正交码、和15个掩码序列的组合。32个沃尔什码可以从5个基沃尔什码的组合中产生出来。32个双正交码可以通过把1加入每个沃尔什码的32个码元中得到。这个结果与把-1与被视为实数的32个沃尔什码相乘具有相同的效果。
15个掩码序列可以通过5个基掩码序列的组合取得。因此,从(32,10)编码器中可以产生出总共1024个码字。
[0135] (32,9)编码器接收9个输入信息位,输出长度为32的32个沃尔什码、对沃尔什码反转所得的32个双正交码、和4个掩码序列的组合。4个掩码序列通过组合4个基掩码序列的两个得到。
[0136] (32,7)编码器接收7个输入信息位,输出1024个码字中长度为32的32个沃尔什码、对沃尔什码反转所得的32个双正交码、和4个掩码序列之一的组合。
[0137] 提供扩充TFCI的上面编码器具有最短距离12,并且可以通过阻塞从基掩码序列发生器820生成的4个基掩码序列的至少一个的输入输出来实现。
[0138] 也就是说,(32,9)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的4个基掩码序列的一个的输入输出来实现。(32,8)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的基掩码序列的二个的输入输出来实现。(32,7)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的基掩码序列的三个的输入输出来实现。如上所述,根据本发明实施例的编码设备可以按照输入信息位的个数,即,要发送的TFCI位的个数灵活地编码,并且使决定编码设备性能的最短距离达到最大。
[0139] 在上面编码设备中的码字是通过组合长度为32的32个沃尔什码、把1加入沃尔什码中所得的32个双正交码、和长度为15的15个掩码序列获得的序列。码字的结构显示在图13中。
[0140] 为了更好地理解TFCI位编码过程,表(Table)1a至1f列出了码码元(TFCI码字)与10个TFCI位之间的关系。
[0141] (表1a)
[0142]0000000000: 0000000001:
00000000000000000000000000000000 11111111111111111111111111111111
0000000010: 0000000011:
01010101010101010101010101010101 10101010101010101010101010101010
0000000100: 0000000101:
00110011001100110011001100110011 11001100110011001100110011001100
0000000110: 0000000111:
01100110011001100110011001100110 10011001100110011001100110011001
0000001000: 0000001001:
00001111000011110000111100001111 11110000111100001111000011110000
0000001010: 0000001011:
01011010010110100101101001011010 10100101101001011010010110100101
0000001100: 0000001101:
00111100001111000011110000111100 11000011110000111100001111000011
0000001110: 0000001111:
01101001011010010110100101101001 10010110100101101001011010010110
0000010000: 0000010001:
00000000111111110000000011111111 11111111000000001111111100000000
0000010010: 0000010011:
[0143]01010101101010100101010110101010 10101010010101011010101001010101
0000010100: 0000010101:
00110011110011000011001111001100 11001100001100111100110000110011
0000010110: 0000010111:
01100110100110010110011010011001 10011001011001101001100101100110
0000011000: 0000011001:
00001111111100000000111111110000 11110000000011111111000000001111
0000011010: 0000011011:
01011010101001010101101010100101 10100101010110101010010101011010
0000011100: 0000011101:
00111100110000110011110011000011 11000011001111001100001100111100
0000011110: 0000011111:
01101001100101100110100110010110 10010110011010011001011001101001
0000100000: 0000100001:
00000000000000001111111111111111 11111111111111110000000000000000
0000100010: 0000100011:
01010101010101011010101010101010 10101010101010100101010101010101
0000100100: 0000100101:
00110011001100111100110011001100 11001100110011000011001100110011
0000100110: 0000100111:
01100110011001101001100110011001 10011001100110010110011001100110
0000101000: 0000101001:
00001111000011111111000011110000 11110000111100000000111100001111
0000101010: 0000101011:
01011010010110101010010110100101 10100101101001010101101001011010
0000101100: 0000101101:
00111100001111001100001111000011 11000011110000110011110000111100
0000101110: 0000101111:
01101001011010011001011010010110 10010110100101100110100101101001
0000110000: 0000110001:
00000000111111111111111100000000 11111111000000000000000011111111
0000110010: 0000110011:
01010101101010101010101001010101 10101010010101010101010110101010
0000110100: 0000110101:
00110011110011001100110000110011 11001100001100110011001111001100
0000110110: 0000110111:
[0144]01100110100110011001100101100110 10011001011001100110011010011001
0000111000: 0000111001:
00001111111100001111000000001111 11110000000011110000111111110000
0000111010: 0000111011:
01011010101001011010010101011010 10100101010110100101101010100101
0000111100: 0000111101:
00111100110000111100001100111100 11000011001111000011110011000011
0000111110: 0000111111:
01101001100101101001011001101001 10010110011010010110100110010110
0001000000: 0001000001:
00101000011000111111000001110111 11010111100111000000111110001000
0001000010: 0001000011:
01111101001101101010010100100010 10000010110010010101101011011101
0001000100: 0001000101:
00011011010100001100001101000100 11100100101011110011110010111011
0001000110: 0001000111:
01001110000001011001011000010001 10110001111110100110100111101110
0001001000: 0001001001:
00100111011011001111111101111000 11011000100100110000000010000111
0001001010: 0001001011:
01110010001110011010101000101101 10001101110001100101010111010010
0001001100: 0001001101:
00010100010111111100110001001011 11101011101000000011001110110100
0001001110: 0001001111:
01000001000010101001100100011110 10111110111101010110011011100001
0001010000: 0001010001:
00101000100111001111000010001000 11010111011000110000111101110111
0001010010: 0001010011:
01111101110010011010010111011101 10000010001101100101101000100010
0001010100: 0001010101:
00011011101011111100001110111011 11100100010100000011110001000100
0001010110: 0001010111:
01001110111110101001011011101110 10110001000001010110100100010001
0001011000: 0001011001:
00100111100100111111111110000111 11011000011011000000000001111000
0001011010: 0001011011:
[0145]01110010110001101010101011010010 10001101001110010101010100101101
0001011100: 0001011101:
00010100101000001100110010110100 11101011010111110011001101001011
0001011110: 0001011111:
01000001111101011001100111100001 10111110000010100110011000011110
0001100000: 0001100001:
00101000011000110000111110001000 11010111100111001111000001110111
0001100010: 0001100011:
01111101001101100101101011011101 10000010110010011010010100100010
0001100100: 0001100101:
00011011010100000011110010111011 11100100101011111100001101000100
0001100110: 0001100111:
01001110000001010110100111101110 10110001111110101001011000010001
0001101000: 0001101001:
00100111011011000000000010000111 11011000100100111111111101111000
0001101010: 0001101011:
01110010001110010101010111010010 10001101110001101010101000101101
0001101100: 0001101101:
00010100010111110011001110110100 11101011101000001100110001001011
0001101110: 0001101111:
01000001000010100110011011100001 10111110111101011001100100011110
0001110000: 0001110001:
00101000100111000000111101110111 11010111011000111111000010001000
0001110010: 0001110011:
01111101110010010101101000100010 10000010001101101010010111011101
0001110100: 0001110101:
00011011101011110011110001000100 11100100010100001100001110111011
0001110110: 0001110111:
01001110111110100110100100010001 10110001000001011001011011101110
0001111000: 0001111001:
00100111100100110000000001111000 11011000011011001111111110000111
0001111010: 0001111011:
01110010110001100101010100101101 10001101001110011010101011010010
0001111100: 0001111101:
00010100101000000011001101001011 11101011010111111100110010110100
0001111110: 0001111111:
[0146]01000001111101010110011000011110 10111110000010101001100111100001
0010000000: 0010000001:
00000001110011010110110111000111 11111110001100101001001000111000
0010000010: 0010000011:
01010100100110000011100010010010 10101011011001111100011101101101
0010000100: 0010000101:
00110010111111100101111011110100 11001101000000011010000100001011
0010000110: 0010000111:
01100111101010110000101110100001 10011000010101001111010001011110
0010001000: 0010001001:
00001110110000100110001011001000 11110001001111011001110100110111
0010001010: 0010001011:
01011011100101110011011110011101 10100100011010001100100001100010
0010001100: 0010001101:
00111101111100010101000111111011 11000010000011101010111000000100
0010001110: 0010001111:
01101000101001000000010010101110 10010111010110111111101101010001
0010010000: 0010010001:
00000001001100100110110100111000 11111110110011011001001011000111
0010010010: 0010010011:
01010100011001110011100001101101 10101011100110001100011110010010
0010010100: 0010010101:
00110010000000010101111000001011 11001101111111101010000111110100
0010010110: 0010010111:
01100111010101000000101101011110 10011000101010111111010010100001
0010011000: 0010011001:
00001110001111010110001000110111 11110001110000101001110111001000
0010011010: 0010011011:
01011011011010000011011101100010 10100100100101111100100010011101
0010011100: 0010011101:
00111101000011100101000100000100 11000010111100011010111011111011
0010011110: 0010011111:
01101000010110110000010001010001 10010111101001001111101110101110
0010100000: 0010100001:
00000001110011011001001000111000 11111110001100100110110111000111
0010100010: 0010100011:
[0147]01010100100110001100011101101101 10101011011001110011100010010010
0010100100: 0010100101:
00110010111111101010000100001011 11001101000000010101111011110100
0010100110: 0010100111:
01100111101010111111010001011110 10011000010101000000101110100001
0010101000: 0010101001:
00001110110000101001110100110111 11110001001111010110001011001000
0010101010: 0010101011:
01011011100101111100100001100010 10100100011010000011011110011101
0010101100: 0010101101:
00111101111100011010111000000100 11000010000011100101000111111011
0010101110: 0010101111:
01101000101001001111101101010001 10010111010110110000010010101110
0010110000: 0010110001:
00000001001100101001001011000111 11111110110011010110110100111000
0010110010: 0010110011:
01010100011001111100011110010010 10101011100110000011100001101101
0010110100: 0010110101:
00110010000000011010000111110100 11001101111111100101111000001011
0010110110: 0010110111:
01100111010101001111010010100001 10011000101010110000101101011110
0010111000: 0010111001:
00001110001111011001110111001000 11110001110000100110001000110111
0010111010: 0010111011:
01011011011010001100100010011101 10100100100101110011011101100010
0010111100: 0010111101:
00111101000011101010111011111011 11000010111100010101000100000100
0010111110: 0010111111:
01101000010110111111101110101110 10010111101001000000010001010001
0011000000: 0011000001:
00101001101011101001110110110000 11010110010100010110001001001111
0011000010: 0011000011:
01111100111110111100100011100101 10000011000001000011011100011010
0011000100: 0011000101:
00011010100111011010111010000011 11100101011000100101000101111100
0011000110: 0011000111:
[0148]01001111110010001111101111010110 10110000001101110000010000101001
0011001000:
00100110101000011001001010111111
[0149] (Table 1b)
[0150]0011001001: 0011001010:
11011001010111100110110101000000 01110011111101001100011111101010
0011001011: 0011001100:
10001100000010110011100000010101 00010101100100101010000110001100
0011001101: 0011001110:
11101010011011010101111001110011 01000000110001111111010011011001
0011001111: 0011010000:
10111111001110000000101100100110 00101001010100011001110101001111
0011010001: 0011010010:
11010110101011100110001010110000 01111100000001001100100000011010
0011010011: 0011010100:
10000011111110110011011111100101 00011010011000101010111001111100
0011010101: 0011010110:
11100101100111010101000110000011 01001111001101111111101100101001
0011010111: 0011011000:
10110000110010000000010011010110 00100110010111101001001001000000
0011011001: 0011011010:
11011001101000010110110110111111 01110011000010111100011100010101
0011011011: 0011011100:
10001100111101000011100011101010 00010101011011011010000101110011
0011011101: 0011011110:
11101010100100100101111010001100 01000000001110001111010000100110
0011011111: 0011100000:
10111111110001110000101111011001 00101001101011100110001001001111
0011100001: 0011100010:
11010110010100011001110110110000 01111100111110110011011100011010
0011100011: 0011100100:
10000011000001001100100011100101 00011010100111010101000101111100
0011100101: 0011100110:
11100101011000101010111010000011 01001111110010000000010000101001[0151]
0011100111: 0011101000:
10110000001101111111101111010110 00100110101000010110110101000000
0011101001: 0011101010:
11011001010111101001001010111111 01110011111101000011100000010101
0011101011: 0011101100:
10001100000010111100011111101010 00010101100100100101111001110011
0011101101: 0011101110:
11101010011011011010000110001100 01000000110001110000101100100110
0011101111: 0011110000:
10111111001110001111010011011001 00101001010100010110001010110000
0011110001: 0011110010:
11010110101011101001110101001111 01111100000001000011011111100101
0011110011: 0011110100:
10000011111110111100100000011010 00011010011000100101000110000011
0011110101: 0011110110:
11100101100111011010111001111100 01001111001101110000010011010110
0011110111: 0011111000:
10110000110010001111101100101001 00100110010111100110110110111111
0011111001: 0011111010:
11011001101000011001001001000000 01110011000010110011100011101010
0011111011: 0011111100:
10001100111101001100011100010101 00010101011011010101111010001100
0011111101: 0011111110:
11101010100100101010000101110011 01000000001110000000101111011001
0011111111: 0100000000:
10111111110001111111010000100110 00001010111110010001101100101011
0100000001: 0100000010:
11110101000001101110010011010100 01011111101011000100111001111110
0100000011: 0100000100:
10100000010100111011000110000001 00111001110010100010100000011000
0100000101: 0100000110:
11000110001101011101011111100111 01101100100111110111110101001101
0100000111: 0100001000:
10010011011000001000001010110010 00000101111101100001010000100100
0100001001: 0100001010:
11111010000010011110101111011011 01010000101000110100000101110001[0152]
0100001011: 0100001100:
10101111010111001011111010001110 00110110110001010010011100010111
0100001101: 0100001110:
11001001001110101101100011101000 01100011100100000111001001000010
0100001111: 0100010000:
10011100011011111000110110111101 00001010000001100001101111010100
0100010001: 0100010010:
11110101111110011110010000101011 01011111010100110100111010000001
0100010011: 0100010100:
10100000101011001011000101111110 00111001001101010010100011100111
0100010101: 0100010110:
11000110110010101101011100011000 01101100011000000111110110110010
0100010111: 0100011000:
10010011100111111000001001001101 00000101000010010001010011011011
0100011001: 0100011010:
11111010111101101110101100100100 01010000010111000100000110001110
0100011011: 0100011100:
10101111101000111011111001110001 00110110001110100010011111101000
0100011101: 0100011110:
11001001110001011101100000010111 01100011011011110111001010111101
0100011111: 0100100000:
10011100100100001000110101000010 00001010111110011110010011010100
0100100001: 0100100010:
11110101000001100001101100101011 01011111101011001011000110000001
0100100011: 0100100100:
10100000010100110100111001111110 00111001110010101101011111100111
0100100101: 0100100110:
11000110001101010010100000011000 01101100100111111000001010110010
0100100111: 0100101000:
10010011011000000111110101001101 00000101111101101110101111011011
0100101001: 0100101010:
11111010000010010001010000100100 01010000101000111011111010001110
0100101011: 0100101100:
10101111010111000100000101110001 00110110110001011101100011101000
0100101101: 0100101110:
11001001001110100010011100010111 01100011100100001000110110111101[0153]
0100101111: 0100110000:
10011100011011110111001001000010 00001010000001101110010000101011
0100110001: 0100110010:
11110101111110010001101111010100 01011111010100111011000101111110
0100110011: 0100110100:
10100000101011000100111010000001 00111001001101011101011100011000
0100110101: 0100110110:
11000110110010100010100011100111 01101100011000001000001001001101
0100110111: 0100111000:
10010011100111110111110110110010 00000101000010011110101100100100
0100111001: 0100111010:
11111010111101100001010011011011 01010000010111001011111001110001
0100111011: 0100111100:
10101111101000110100000110001110 00110110001110101101100000010111
0100111101: 0100111110:
11001001110001010010011111101000 01100011011011111000110101000010
0100111111: 0101000000:
10011100100100000111001010111101 00100010100110101110101101011100
0101000001: 0101000010:
11011101011001010001010010100011 01110111110011111011111000001001
0101000011: 0101000100:
10001000001100000100000111110110 00010001101010011101100001101111
0101000101: 0101000110:
11101110010101100010011110010000 01000100111111001000110100111010
0101000111: 0101001000:
10111011000000110111001011000101 00101101100101011110010001010011
0101001001: 0101001010:
11010010011010100001101110101100 01111000110000001011000100000110
0101001011: 0101001100:
10000111001111110100111011111001 00011110101001101101011101100000
0101001101: 0101001110:
11100001010110010010100010011111 01001011111100111000001000110101
0101001111: 0101010000:
10110100000011000111110111001010 00100010011001011110101110100011
0101010001: 0101010010:
11011101100110100001010001011100 01110111001100001011111011110110[0154]
0101010011: 0101010100:
10001000110011110100000100001001 00010001010101101101100010010000
0101010101: 0101010110:
11101110101010010010011101101111 01000100000000111000110111000101
0101010111: 0101011000:
10111011111111000111001000111010 00101101011010101110010010101100
0101011001: 0101011010:
11010010100101010001101101010011 01111000001111111011000111111001
0101011011: 0101011100:
10000111110000000100111000000110 00011110010110011101011110011111
0101011101: 0101011110:
11100001101001100010100001100000 01001011000011001000001011001010
0101011111: 0101100000:
10110100111100110111110100110101 00100010100110100001010010100011
0101100001: 0101100010:
1111101011001011110101101011100 01110111110011110100000111110110
0101100011: 0101100100:
10001000001100001011111000001001 00010001101010010010011110010000
0101100101: 0101100110:
11101110010101101101100001101111 01000100111111000111001011000101
0101100111: 0101101000:
10111011000000111000110100111010 00101101100101010001101110101100
0101101001: 0101101010:
11010010011010101110010001010011 01111000110000000100111011111001
0101101011: 0101101100:
10000111001111111011000100000110 000111101010011000101000100111111
0101101101: 0101101110:
11100001010110011101011101100000 01001011111100110111110111001010
0101101111: 0101110000:
10110100000011001000001000110101 00100010011001010001010001011100
0101110001: 0101110010:
11011101100110101110101110100011 01110111001100000100000100001001
0101110011: 0101110100:
10001000110011111011111011110110 00010001010101100010011101101111
0101110101: 0101110110:
11101110101010011101100010010000 01000100000000110111001000111010[0155]
0101110111: 0101111000:
10111011111111001000110111000101 00101101011010100001101101010011
0101111001: 0101111010:
11010010100101011110010010101100 01111000001111110100111000000110
0101111011: 0101111100:
10000111110000001011000111111001 00011110010110010010100001100000
0101111101: 0101111110:
11100001101001101101011110011111 01001011000011000111110100110101
0101111111: 0110000000:
10110100111100111000001011001010 00001011001101000111011011101100
0110000001: 0110000010:
11110100110010111000100100010011 01011110011000010010001110111001
0110000011: 0110000100:
10100001100111101101110001000110 00111000000001110100010111011111
0110000101: 0110000110:
11000111111110001011101000100000 01101101010100100001000010001010
0110000111: 0110001000:
10010010101011011110111101110101 00000100001110110111100111100011
0110001001: 0110001010:
11111011110001001000011000011100 01010001011011100010110010110110
0110001011: 0110001100:
10101110100100011101001101001001 00110111000010000100101011010000
0110001101: 0110001110:
11001000111101111011010100101111 01100010010111010001111110000101
0110001111: 0110010000:
10011101101000101110000001111010 00001011110010110111011000010011
0110010001:
11110100001101001000100111101100
[0156] (Table 1c)
[0157]0110010010: 0110010011:
01011110100111100010001101000110 10100001011000011101110010111001
0110010100: 0110010101:
00111000111110000100010100100000 11000111000001111011101011011111
0110010110: 0110010111:
[0158]01101101101011010001000001110101 10010010010100101110111110001010
0110011000: 0110011001:
00000100110001000111100100011100 11111011001110111000011011100011
0110011010: 0110011011:
01010001100100010010110001001001 10101110011011101101001110110110
0110011100: 0110011101:
00110111111101110100101000101111 11001000000010001011010111010000
0110011110: 0110011111:
01100010101000100001111101111010 10011101010111011110000010000101
0110100000: 0110100001:
00001011001101001000100100010011 11110100110010110111011011101100
0110100010: 0110100011:
01011110011000011101110001000110 10100001100111100010001110111001
0110100100: 0110100101:
00111000000001111011101000100000 11000111111110000100010111011111
0110100110: 0110100111:
01101101010100101110111101110101 10010010101011010001000010001010
0110101000: 0110101001:
00000100001110111000011000011100 11111011110001000111100111100011
0110101010: 0110101011:
01010001011011101101001101001001 10101110100100010010110010110110
0110101100: 0110101101:
00110111000010001011010100101111 11001000111101110100101011010000
0110101110: 0110101111:
01100010010111011110000001111010 10011101101000100001111110000101
0110110000: 0110110001:
00001011110010111000100111101100 11110100001101000111011000010011
0110110010: 0110110011:
01011110100111101101110010111001 10100001011000010010001101000110
0110110100: 0110110101:
00111000111110001011101011011111 11000111000001110100010100100000
0110110110: 0110110111:
01101101101011011110111110001010 10010010010100100001000001110101
0110111000: 0110111001:
00000100110001001000011011100011 11111011001110110111100100011100
0110111010: 0110111011:
[0159]01010001100100011101001110110110 10101110011011100010110001001001
0110111100: 0110111101:
00110111111101111011010111010000 11001000000010000100101000101111
0110111110: 0110111111:
01100010101000101110000010000101 10011101010111010001111101111010
0111000000: 0111000001:
00100011010101111000011010011011 11011100101010000111100101100100
0111000010: 0111000011:
01110110000000101101001111001110 10001001111111010010110000110001
0111000100: 0111000101:
00010000011001001011010110101000 11101111100110110100101001010111
0111000110: 0111000111:
01000101001100011110000011111101 10111010110011100001111100000010
0111001000: 0111001001:
00101100010110001000100110010100 11010011101001110111011001101011
0111001010: 0111001011:
01111001000011011101110011000001 10000110111100100010001100111110
0111001100: 0111001101:
00011111011010111011101010100111 11100000100101000100010101011000
0111001110: 0111001111:
01001010001111101110111111110010 10110101110000010001000000001101
0111010000: 0111010001:
00100011101010001000011001100100 11011100010101110111100110011011
0111010010: 0111010011:
01110110111111011101001100110001 10001001000000100010110011001110
0111010100: 0111010101:
00010000100110111011010101010111 11101111011001000100101010101000
0111010110: 0111010111:
01000101110011101110000000000010 10111010001100010001111111111101
0111011000: 0111011001:
00101100101001111000100101101011 11010011010110000111011010010100
0111011010: 0111011011:
01111001111100101101110000111110 0000110000011010010001111000001
0111011100: 0111011101:
00011111100101001011101001011000 1100000011010110100010110100111
0111011110: 0111011111:
[0160]01001010110000011110111100001101 10110101001111100001000011110010
0111100000: 0111100001:
001000110101011101111100101100100 11011100101010001000011010011011
0111100010: 0111100011:
01110110000000100010110000110001 10001001111111011101001111001110
0111100100: 0111100101:
00010000011001000100101001010111 11101111100110111011010110101000
0111100110: 011100111:
01000101001100010001111100000010 10111010110011101110000011111101
0111101000: 0111101001:
00101100010110000111011001101011 11010011101001111000100110010100
0111101010: 0111101011:
01111001000011010010001100111110 10000110111100101101110011000001
0111101100: 0111101101:
00011111011010110100010101011000 11100000100101001011101010100111
0111101110: 0111101111:
01001010001111100001000000001101 10110101110000011110111111110010
0111110000: 0111110001:
00100011101010000111100110011011 11011100010101111000011001100100
0111110010: 0111110011:
01110110111111010010110011001110 10001001000000101101001100110001
0111110100: 0111110101:
00010000100110110100101010101000 11101111011001001011010101010111
0111110110: 0111110111:
01000101110011100001111111111101 10111010001100011110000000000010
0111111000: 0111111001:
00101100101001110111011010010100 11010011010110001000100101101011
0111111010: 0111111011:
01111001111100100010001111000001 10000110000011011101110000111110
0111111100: 0111111101:
00011111100101000100010110100111 11100000011010111011101001011000
0111111110: 0111111111:
01001010110000010001000011110010 10110101001111101110111100001101
1000000000: 1000000001:
00011100001101110010111101010001 11100011110010001101000010101110
1000000010: 1000000011:
[0161]01001001011000100111101000000100 10110110100111011000010111111011
1000000100: 1000000101:
00101111000001000001110001100010 11010000111110111110001110011101
1000000110: 1000000111:
01111010010100010100100100110111 10000101101011101011011011001000
1000001000: 1000001001:
00010011001110000010000001011110 11101100110001111101111110100001
1000001010: 1000001011:
01000110011011010111010100001011 10111001100100101000101011110100
1000001100: 1000001101:
00100000000010110001001101101101 11011111111101001110110010010010
1000001110: 1000001111:
01110101010111100100011000111000 10001010101000011011100111000111
1000010000: 1000010001:
00011100110010000010111110101110 11100011001101111101000001010001
1000010010: 1000010011:
01001001100111010111101011111011 10110110011000101000010100000100
1000010100: 1000010101:
00101111111110110001110010011101 11010000000001001110001101100010
1000010110: 1000010111:
01111010101011100100100111001000 10000101010100011011011000110111
1000011000: 1000011001:
00010011110001110010000010100001 11101100001110001101111101011110
1000011010: 1000011011:
01000110100100100111010111110100 10111001011011011000101000001011
1000011100: 1000011101:
00100000111101000001001110010010 11011111000010111110110001101101
1000011110: 1000011111:
01110101101000010100011011000111 10001010010111101011100100111000
1000100000: 1000100001:
00011100001101111101000010101110 11100011110010000010111101010001
1000100010: 1000100011:
01001001011000101000010111111011 10110110100111010111101000000100
1000100100: 1000100101:
00101111000001001110001110011101 11010000111110110001110001100010
1000100110: 1000100111:
[0162]01111010010100011011011011001000 10000101101011100100100100110111
1000101000: 1000101001:
00010011001110001101111110100001 11101100110001110010000001011110
1000101010: 1000101011:
01000110011011011000101011110100 10111001100100100111010100001011
1000101100: 1000101101:
00100000000010111110110010010010 11011111111101000001001101101101
1000101110: 1000101111:
01110101010111101011100111000111 10001010101000010100011000111000
1000110000: 1000110001:
00011100110010001101000001010001 11100011001101110010111110101110
1000110010: 1000110011:
01001001100111011000010100000100 10110110011000100111101011111011
1000110100: 1000110101:
00101111111110111110001101100010 11010000000001000001110010011101
1000110110: 1000110111:
01111010101011101011011000110111 10000101010100010100100111001000
1000111000: 1000111001:
00010011110001111101111101011110 11101100001110000010000010100001
1000111010: 1000111011:
01000110100100101000101000001011 10111001011011010111010111110100
1000111100: 1000111101:
00100000111101001110110001101101 11011111000010110001001110010010
1000111110: 1000111111:
01110101101000011011100100111000 10001010010111100100011011000111
1001000000: 1001000001:
00110100010101001101111100100110 11001011101010110010000011011001
1001000010: 1001000011:
01100001000000011000101001110011 10011110111111100111010110001100
1001000100: 1001000101:
00000111011001111110110000010101 11111000100110000001001111101010
1001000110: 1001000111:
01010010001100101011100101000000 10101101110011010100011010111111
1001001000: 1001001001:
00111011010110111101000000101001 11000100101001000010111111010110
1001001010: 1001001011:
[0163]01101110000011101000010101111100 10010001111100010111101010000011
1001001100: 1001001101:
00001000011010001110001100011010 11110111100101110001110011100101
1001001110: 1001001111:
01011101001111011011011001001111 10100010110000100100100110110000
1001010000: 1001010001:
00110100101010111101111111011001 11001011010101000010000000100110
1001010010: 1001010011:
01100001111111101000101010001100 10011110000000010111010101110011
1001010100: 1001010101:
00000111100110001110110011101010 11111000011001110001001100010101
1001010110: 1001010111:
01010010110011011011100110111111 10101101001100100100011001000000
1001011000: 1001011001:
00111011101001001101000011010110 11000100010110110010111100101001
1001011010:
01101110111100011000010110000011
[0164] (Table 1d)
[0165]1001011011: 1001011100:
10010001000011100111101001111100 00001000100101111110001111100101
1001011101: 1001011110:
11110111011010000001110000011010 01011101110000101011011010110000
1001011111: 1001100000:
10100010001111010100100101001111 0110100010101000010000011011001
1001100001: 1001100010:
11001011101010111101111100100110 1100001000000010111010110001100
1001100011: 1001100100:
10011110111111101000101001110011 00000111011001110001001111101010
1001100101: 1001100110:
1111000100110001110110000010101 01010010001100100100011010111111
1001100111: 1001101000:
10101101110011011011100101000000 00111011010110110010111111010110
1001101001: 1001101010:
1000100101001001101000000101001 01101110000011100111101010000011[0166]
1001101011: 1001101100:
10010001111100011000010101111100 0001000011010000001110011100101
1001101101: 1001101110:
11110111100101111110001100011010 01011101001111010100100110110000
1001101111: 1001110000:
10100010110000101011011001001111 0110100101010110010000000100110
1001110001: 1001110010:
11001011010101001101111111011001 01100001111111100111010101110011
1001110011110011110000000011000101 1001110100:
010001100 0000111100110000001001100010101
1001110101: 1001110110:
11111000011001111110110011101010 1010010110011010100011001000000
1001110111: 1001111000:
10101101001100101011100110111111 00111011101001000010111100101001
1001111001: 1001111010:
11000100010110111101000011010110 01101110111100010111101001111100
1001111011: 1001111100:
0010001000011101000010110000011 00001000100101110001110000011010
1001111101: 1001111110:
11110111011010001110001111100101 01011101110000100100100101001111
1001111111: 1010000000:
10100010001111011011011010110000 00011101111110100100001010010110
1010000001: 1010000010:
1100010000001011011110101101001 01001000101011110001011111000011
1010000011: 1010000100:
0110111010100001110100000111100 0101110110010010111000110100101
1010000101: 1010000110:
1010001001101101000111001011010 01111011100111000010010011110000
1010000111: 1010001000:
10000100011000111101101100001111 0010010111101010100110110011001
1010001001: 1010001010:
1101101000010101011001001100110 1000111101000000001100011001100
1010001011: 1010001100:
10111000010111111110011100110011 00100001110001100111111010101010
1010001101: 1010001110:
1011110001110011000000101010101 01110100100100110010101111111111[0167]
1010001111: 1010010000:
0001011011011001101010000000000 0011101000001010100001001101001
1010010001: 1010010010:
11100010111110101011110110010110 1001000010100000001011100111100
1010010011: 1010010100:
10110111101011111110100011000011 0101110001101100111000101011010
1010010101: 1010010110:
1010001110010011000111010100101 01111011011000110010010000001111
1010010111: 1010011000:
10000100100111001101101111110000 0010010000010100100110101100110
1010011001: 1010011010:
11101101111101011011001010011001 01000111010111110001100000110011
1010011011: 1010011100:
10111000101000001110011111001100 00100001001110010111111001010101
1010011101: 1010011110:
1011110110001101000000110101010 01110100011011000010101100000000
1010011111: 1010100000:
10001011100100111101010011111111 00011101111110101011110101101001
1010100001: 1010100010:
1100010000001010100001010010110 01001000101011111110100000111100
1010100011: 1010100100:
0110111010100000001011111000011 0101110110010011000111001011010
1010100101: 1010100110:
1010001001101100111000110100101 01111011100111001101101100001111
1010100111: 1010101000:
0000100011000110010010011110000 0010010111101011011001001100110
1010101001: 1010101010:
1101101000010100100110110011001 01000111101000001110011100110011
1010101011: 1010101100:
0111000010111110001100011001100 0100001110001101000000101010101
1010101101: 1010101110:
11011110001110010111111010101010 1110100100100111101010000000000
1010101111: 1010110000:
10001011011011000010101111111111 00011101000001011011110110010110
1010110001: 1010110010:
1100010111110100100001001101001 1001000010100001110100011000011[0168]
1010110011: 1010110100:
10110111101011110001011100111100 0101110001101101000111010100101
1010110101: 1010110110:
1010001110010010111000101011010 01111011011000111101101111110000
1010110111: 1010111000:
0000100100111000010010000001111 0010010000010101011001010011001
1010111001: 1010111010:
11101101111101010100110101100110 01000111010111111110011111001100
1010111011: 1010111100:
0111000101000000001100000110011 0100001001110011000000110101010
1010111101: 1010111110:
11011110110001100111111001010101 01110100011011001101010011111111
1010111111: 1011000000:
0001011100100110010101100000000 00110101100110011011001011100001
1011000001: 1011000010:
1001010011001100100110100011110 01100000110011001110011110110100
1011000011: 1011000100:
0011111001100110001100001001011 0000110101010101000000111010010
1011000101: 1011000110:
11111001010101010111111000101101 01010011111111111101010010000111
1011000111: 1011001000:
0101100000000000010101101111000 00111010100101101011110111101110
1011001001: 1011001010:
1000101011010010100001000010001 01101111110000111110100010111011
1011001011: 1011001100:
0010000001111000001011101000100 00001001101001011000111011011101
1011001101: 1011001110:
1110110010110100111000100100010 01011100111100001101101110001000
1011001111: 1011010000:
10100011000011110010010001110111 00110101011001101011001000011110
1011010001: 1011010010:
1001010100110010100110111100001 01100000001100111110011101001011
1011010011: 1011010100:
10011111110011000001100010110100 0000110010101011000000100101101
1011010101: 1011010110:
11111001101010100111111011010010 1010011000000001101010001111000[0169]
1011010111: 1011011000:
10101100111111110010101110000111 00111010011010011011110100010001
1011011001: 1011011010:
1000101100101100100001011101110 01101111001111001110100001000100
1011011011: 1011011100:
10010000110000110001011110111011 0001001010110101000111000100010
1011011101: 1011011110:
11110110101001010111000111011101 01011100000011111101101101110111
1011011111: 1011100000:
10100011111100000010010010001000 00110101100110010100110100011110
1011100001: 1011100010:
11001010011001101011001011100001 01100000110011000001100001001011
1011100011: 1011100100:
10011111001100111110011110110100 00000110101010100111111000101101
1011100101: 1011100110:
11111001010101011000000111010010 01010011111111110010101101111000
1011100111: 1011101000:
10101100000000001101010010000111 00111010100101100100001000010001
1011101001: 1011101010:
11000101011010011011110111101110 01101111110000110001011101000100
1011101011: 1011101100:
10010000001111001110100010111011 00001001101001010111000100100010
1011101101: 1011101110:
11110110010110101000111011011101 01011100111100000010010001110111
1011101111: 1011110000:
10100011000011111101101110001000 00110101011001100100110111100001
1011110001: 1011110010:
11001010100110011011001000011110 01100000001100110001100010110100
1011110011: 1011110100:
10011111110011001110011101001011 00000110010101010111111011010010
1011110101: 1011110110:
11111001101010101000000100101101 01010011000000000010101110000111
1011110111: 1011111000:
10101100111111111101010001111000 00111010011010010100001011101110
1011111001: 1011111010:
11000101100101101011110100010001 01101111001111000001011110111011[0170]
1011111011: 1011111100:
10010000110000111110100001000100 00001001010110100111000111011101
1011111101: 1011111110:
11110110101001011000111000100010 01011100000011110010010010001000
1011111111: 1100000000:
10100011111100001101101101110111 00010110110011100011010001111010
1100000001: 1100000010:
11101001001100011100101110000101 01000011100110110110000100101111
1100000011: 1100000100:
10111100011001001001111011010000 00100101111111010000011101001001
1100000101: 1100000110:
11011010000000101111100010110110 01110000101010000101001000011100
1100000111: 1100001000:
10001111010101111010110111100011 00011001110000010011101101110101
1100001001: 1100001010:
11100110001111101100010010001010 01001100100101000110111000100000
1100001011: 1100001100:
10110011011010111001000111011111 00101010111100100000100001000110
1100001101: 1100001110:
11010101000011011111011110111001 01111111101001110101110100010011
1100001111: 1100010000:
10000000010110001010001011101100 00010110001100010011010010000101
1100010001: 1100010010:
11101001110011101100101101111010 01000011011001000110000111010000
1100010011: 1100010100:
10111100100110111001111000101111 0100101000000100000011110110110
1100010101: 1100010110:
11011010111111011111100001001001 01110000010101110101001011100011
1100010111: 1100011000:
10001111101010001010110100011100 00011001001111100011101110001010
1100011001: 1100011010:
11100110110000011100010001110101 01001100011010110110111011011111
1100011011:10110011100101001001000 1100011100:
100100000 0101010000011010000100010111001
1100011101: 1100011110:
11010101111100101111011101000110 01111111010110000101110111101100[0171]
1100011111: 1100100000:
10000000101001111010001000010011 00010110110011101100101110000101
1100100001: 1100100010:
11101001001100010011010001111010 01000011100110111001111011010000
1100100011:
10111100011001000110000100101111
[0172] (Table 1e)
[0173]1100100100: 1100100101:
00100101111111011111100010110110 11011010000000100000011101001001
1100100110: 1100100111:
01110000101010001010110111100011 10001111010101110101001000011100
1100101000: 1100101001:
00011001110000011100010010001010 11100110001111100011101101110101
1100101010: 1100101011:
01001100100101001001000111011111 10110011011010110110111000100000
1100101100: 1100101101:
00101010111100101111011110111001 11010101000011010000100001000110
1100101110: 1100101111:
01111111101001111010001011101100 10000000010110000101110100010011
1100110000: 1100110001:
000101100011000111001101101111010 11101001110011100011010010000101
1100110010: 1100110011:
01000011011001001001111000101111 10111100100110110110000111010000
1100110100: 1100110101:
00100101000000101111100001001001 11011010111111010000011110110110
1100110110: 1100110111:
011100000010101111010110100011100 10001111101010000101001011100011
1100111000: 1100111001:
00011001001111101100010001110101 11100110110000010011101110001010
1100111010: 1100111011:
01001100011010111001000100100000 10110011100101000110111011011111
1100111100: 1100111101:
00101010000011011111011101000110 11010101111100100000100010111001
1100111110: 1100111111:
[0174]01111111010110001010001000010011 10000000101001110101110111101100
1101000000: 1101000001:
00111110101011011100010000001101 11000001010100100011101111110010
1101000010: 1101000011:
01101011111110001001000101011000 10010100000001110110111010100111
1101000100: 1101000101:
00001101100111101111011100111110 11110010011000010000100011000001
1101000110: 1101000111:
01011000110010111010001001101011 10100111001101000101110110010100
1101001000: 1101001001:
00110001101000101100101100000010 11001110010111010011010011111101
1101001010: 1101001011:
01100100111101111001111001010111 10011011000010000110000110101000
1101001100: 1101001101:
00000010100100011111100000110001 11111101011011100000011111001110
1101001110: 1101001111:
01010111110001001010110101100100 10101000001110110101001010011011
1101010000: 1101010001:
00111110010100101100010011110010 11000001101011010011101100001101
1101010010: 1101010011:
01101011000001111001000110100111 10010100111110000110111001011000
1101010100: 1101010101:
00001101011000011111011111000001 11110010100111100000100000111110
1101010110: 1101010111:
01011000001101001010001010010100 10100111110010110101110101101011
1101011000: 1101011001:
00110001010111011100101111111101 11001110101000100011010000000010
1101011010: 1101011011:
01100100000010001001111010101000 10011011111101110110000101010111
1101011100: 1101011101:
00000010011011101111100011001110 11111101100100010000011100110001
1101011110: 1101011111:
01010111001110111010110110011011 10101000110001000101001001100100
1101100000: 1101100001:
00111110101011010011101111110010 11000001010100101100010000001101
1101100010: 1101100011:
[0175]01101011111110000110111010100111 10010100000001111001000101011000
1101100100: 1101100101:
00001101100111100000100011000001 11110010011000011111011100111110
1101100110: 1101100111:
01011000110010110101110110010100 10100111001101001010001001101011
1101101000: 1101101001:
00110001101000100011010011111101 11001110010111011100101100000010
1101101010: 1101101011:
01100100111101110110000110101000 10011011000010001001111001010111
1101101100: 1101101101:
00000010100100010000011111001110 111111010110111011111000000110001
1101101110: 1101101111:
01010111110001000101001010011011 10101000001110111010110101100100
1101110000: 1101110001:
00111110010100100011101100001101 11000001101011011100010011110010
1101110010: 1101110011:
01101011000001110110111001011000 10010100111110001001000110100111
1101110100: 1101110101:
00001101011000010000100000111110 11110010100111101111011111000001
1101110110: 1101110111:
01011000001101000101110101101011 10100111110010111010001010010100
1101111000: 1101111001:
00110001010111010011010000000010 11001110101000101100101111111101
1101111010: 1101111011:
01100100000010000110000101010111 10011011111101111001111010101000
1101111100: 1101111101:
00000010011011100000011100110001 11111101100100011111100011001110
1101111110: 1101111111:
01010111001110110101001001100100 10101000110001001010110110011011
1110000000: 1110000001:
00010111000000110101100110111101 11101000111111001010011001000010
1110000010: 1110000011:
01000010010101100000110011101000 10111101101010011111001100010111
1110000100: 1110000101:
00100100001100000110101010001110 11011011110011111001010101110001
1110000110: 1110000111:
[0176]01110001011001010011111111011011 10001110100110101100000000100100
1110001000: 1110001001:
00011000000011000101011010110010 11100111111100111010100101001101
1110001010: 1110001011:
01001101010110010000001111100111 10110010101001101111110000011000
1110001100: 1110001101:
00101011001111110110010110000001 1101010011000000100110100111110
1110001110: 1110001111:
01111110011010100011000011010100 10000001100101011100111100101011
1110010000: 1110010001:
0001011111111000101100101000010 1110100000000111010011010111101
1110010010: 1110010011:
01000010101010010000110000010111 10111101010101101111001111101000
1110010100: 1110010101:
00100100110011110110101001110001 11011011001100001001010110001110
1110010110: 1110010111:
01110001100110100011111100100100 10001110011001011100000011011011
1110011000: 1110011001:
00011000111100110101011001001101 11100111000011001010100110110010
1110011010: 1110011011:
01001101101001100000001100011000 10110010010110011111110011100111
1110011100: 1110011101:
00101011110000000110010101111110 11010100001111111001101010000001
1110011110: 1110011111:
01111110100101010011000000101011 10000001011010101100111111010100
1110100000: 1110100001:
00010111000000111010011001000010 11101000111111000101100110111101
11101000010: 1110100011:
01000010010101101111001100010111 10111101101010010000110011101000
1110100100: 1110100101:
00100100001100001001010101110001 11011011110011110110101010001110
1110100110: 1110100111:
01110001011001011100000000100100 10001110100110100011111111011011
1110101000: 1110101001:
00011000000011001010100101001101 11100111111100110101011010110010
1110101010: 1110101011:
[0177]01001101010110011111110000011000 10110010101001100000001111100111
1110101100: 1110101101:
00101011001111111001101001111110 11010100110000000110010110000001
1110101110: 1110101111:
01111110011010101100111100101011 10000001100101010011000011010100
1110110000: 1110110001:
00010111111111001010011010111101 11101000000000110101100101000010
1110110010: 1110110011:
01000010101010011111001111101000 10111101010101100000110000010111
1110110100: 1110110101:
00100100110011111001010110001110 11011011001100000110101001110001
1110110110: 1110110111:
01110001100110101100000011011011 10001110011001010011111100100100
1110111000: 1110111001:
00011000111100111010100110110010 11100111000011000101011001001101
1110111010: 1110111011:
01001101101001101111110011100111 10110010010110010000001100011000
1110111100: 1110111101:
00101011110000001001101010000001 11010100001111110110010101111110
1110111110: 1110111111:
01111110100101011100111111010100 10000001011010100011000000101011
1111000000: 1111000001:110000001001111101010110
00111111011000001010100111001010 00110101
1111000010: 1111000011:
01101010001101011111110010011111 1001010111001010000000110110000
1111000100: 1111000101:
00001100010100111001101011111001 11110011101011000110010100000110
1111000110: 1111000111:
01011001000001101100111110101100 10100110111110010011000001010011
1111001000: 1111001001:
00110000011011111010011011000101 11001111100100000101100100111010
1111001010: 1111001011:
01100101001110101111001110010000 10011010110001010000110001101111
1111001100: 1111001101:
00000011010111001001010111110110 11111100101000110110101000001001
1111001110: 1111001111:
[0178]01010110000010011100000010100011 101010011111011000011111101011100
1111010000: 1111010001:
00111111100111111010100100110101 11000000011000000101011011001010
1111010010: 1111010011:
01101010110010101111110001100000 10010101001101010000001110011111
1111010100: 1111010101:
00001100101011001001101000000110 11110011010100110110010111111001
1111010110: 1111010111:
01011001111110011100111101010011 10100110000001100011000010101100
1111011000: 1111011001:
00110000100100001010011000111010 11001111011011110101100111000101
1111011010: 1111011011:
01100101110001011111001101101111 10011010001110100000110010010000
1111011100: 1111011101:
00000011101000111001010100001001 11111100010111000110101011110110
1111011110: 1111011111:
010101101111011011000000011100 10101001000010010011111110100011
1111100000: 1111100001:
00111111011000000101011000110101 11000000100111111010100111001010
1111100010: 1111100011:
01101010001101010000001101100000 10010101110010101111110010011111
1111100100: 1111100101:
00001100010100110110010100000110 11110011101011001001101011111001
1111100110: 1111100111:
01011001000001100011000001010011 10100110111110011100111110101100
1111101000: 1111101001:
00110000011011110101100100111010 11001111100100001010011011000101
1111101010: 1111101011:
01100101001110100000110001101111 10011010110001011111001110010000
1111101100:
00000011010111000110101000001001
[0179] (Table 1f)
[0180]1111101101:
11111100101000111001010111110110
[0181]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
[0182] 现在参照图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。
[0183] 相关性计算器922计算乘法器902的输出与64个双正交码之间的相关值,选择64个相关性的极大值,并且把所选的相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“0001”输出到相关性比较器940。相关性计算器924计算乘法器904的输出与64个双正交码之间的相关值,选择64个相关值的极大者,并且把所选的相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“0010”输出到相关性比较器940。其它相关性计算器(未示出)分别计算相应乘法器的输出与64个双正交码之间的相关值,并且进行与上述相关性计算器相似的操作。
[0184] 最后,相关性计算器926计算乘法器906的输出与64个双正交码之间的相关值,选择64个相关性的极大值,并且把所选的相关值、与所选相关值相对应的双正交码索引、和它的唯一索引“1111”输出到相关性比较器940。
[0185] 相关性计算器920至926的唯一索引与在乘法器902至906中被输入信号r(t)所乘的掩码序列的索引相同。表2举例列出了在乘法器中被乘的15个掩码索引和分配给没有使用掩码序列的情况的一个掩码索引。
[0186] (表2)
[0187]掩码序列 掩码序列索引 掩码序列 掩码序列索引
未使用 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
[0188] 如表2所示,接收作为输入信号r(t)与掩码序列M1之积的信号的相关性计算器922输出“0001”作为它的索引。接收作为输入信号r(t)与掩码序列M15之积的信号的相关性计算器926输出“1111”作为它的索引。只接收输入信号r(t)的相关性计算器920输出“0000”作为它的索引。
[0189] 同时,双正交码索引用二进制码表示。例如,如果与作为W4补码的W4的相关性具有极大相关值,那么,相应双正交码索引(a0至a9)是“001001”。
[0190] 相关性比较器940对从相关性计算器920至926接收的16个极大相关值进行比较,从接收的这16个极大相关值中选择最大相关值,和根据与这个最大相关值相对应的、从相关性计算器接收的双正交码索引和掩码序列索引(唯一索引),输出TFCI位。TFCI位可以通过组合双正交码索引和掩码序列索引来确定。例如,如果掩码序列索引是M4(0100)的索引,和双正交码索引是W4(001001)的索引,那么,TFCI(a0至a9)就是“M4索引(0100)+W4索引(001001)”。也就是说,TFCI位(a0至a9)是“0100001001。
[0191] 假设发送器发送了与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”。
[0192] 在解码设备的实施例中,根据掩码序列的个数并行地处理输入信号r(t)。在解码设备的另一个实施例中,可以进一步设想为,把输入信号r(t)依次与掩码序列相乘,并且依次计算积的相关性。
[0193] 图17显示了解码设备的另一个实施例。
[0194] 参照图17,存储器1720存储输入的32-码元信号r(t)。掩码序列发生器1710生成用在发送器中的16个掩码序列,并且依次输出它们。乘法器1730把从掩码序列发生器1710接收的16个掩码序列之一与从存储器1720接收的输入信号r(t)相乘。相关性计算器1740计算乘法器1730的输出与长度为32的64个双正交码的相关性,并且向相关性比较器1750输出极大相关值和与最大相关值相对应的双正交码的索引。相关性比较器1750存储从相关性计算器1740接收的极大相关值和双正交码索引、和从掩码序列发生器1710接收的掩码序列的索引。
[0195] 当用掩码序列完成上面处理时,存储器1720把存储的输入信号r(t)输出到乘法器1730。乘法器1730把输入信号r(t)与其它掩码序列之一相乘。相关性计算器1740计算乘法器1730的输出与长度为32的64个双正交码的相关性,并且输出极大相关值和与极大相关值相对应的双正交码的索引。相关性比较器1750存储极大相关值、与极大相关值相对应的双正交码索引、和从掩码序列发生器1710接收的掩码序列索引。
[0196] 对掩码序列发生器1710生成的所有16个掩码序列都执行上面过程。然后,把16个极大相关值和与极大相关值相对应的双正交码的索引存储在相关性比较器1750中。相关性比较器1750比较存储的16个相关值,选择相关程度最高的那一个,并且通过组合与所选极大相关值相对应的双正交码索引和掩码序列索引,输出TFCI位。当TFCI位的解码完成时,从存储器1720中删除输入信号r(t),存储下一个输入信号r(t+1)。
[0197] 虽然在图17的解码设备中,相关性比较器1750在一个时间上比较16个极大相关值,但是,也可以设想出实时相关值比较。也就是说,把首先输入的极大相关值与接着输入的极大相关值相比较,存储两个相关值的较大者和与该相关值相对应的掩码序列索引和双正交码索引。然后,把第三输入的极大相关值与存储的相关值相比较,存储两个相关值的较大者和与所选相关值相对应的掩码序列索引和双正交码索引。进行这种比较/操作15次,15是掩码序列发生器1710生成的掩码序列的个数。当完成所有操作时,相关性比较器1710输出最终存储的双正交码索引(a0至a6)和掩码序列索引(a7至a9),并且输出相加的位作为TFCI位。
[0198] 图10是图9所示的相关性比较器940的操作的流程图。相关性比较器940存储16个极大相关值,选择16个极大相关值当中的最大相关值,和根据与所选最大相关值相对应的双正交码和掩码序列的索引,输出TFCI位。因此,16个相关值得到了比较,和TFCI位根据与所选最大相关值相对应的双正交码和掩码序列的索引来输出。
[0199] 参照图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。然后,重复上面过程。
[0200] 在步骤1050,相关性比较器940输出与最终极大相关值相对应的双正交码和掩码序列的索引,作为解码位。与解码位相对应的双正交码索引和掩码序列索引是与从16个相关性计算器接收的16个极大相关值当中的最终极大相关值相对应的那样双正交码索引和掩码序列索引。
[0201] 3.编码/解码设备和方法的第二实施例
[0202] 在本发明的第一实施例中已经描述了就16个时隙来说,输出32-码元TFCI码字的(32,10)TFCI编码器。近来,IMT-2000标准规范规定,在一个帧中具有15个时隙。因此,本发明的第二实施例针对就15个时隙来说,输出30-码元TFCI码字的(30,10)TFCI编码器。因此,本发明的第二实施例提出了通过把如(32,10)TFCI编码器生成那样的32个编码码元(码字)收缩掉(puncturing)2个码元,输出30个码码元的编码设备和方法。
[0203] 根据本发明第一和第二实施例的编码设备除了从1-位发生器、基沃尔什码发生器和基掩码序列发生器输出的序列之外,在结构上是相同的。编码器设备输出在第二实施例的编码设备中收缩了码元# 0(第1码元)和码元#16(第17码元)的长度为30的编码码元。
[0204] 参照图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“00110
011001100110011001100110011”相乘。乘法器843把输入信息位a3与基沃尔什码W4“000
01111000011110000111100001111”相乘。乘法器844把输入信息位a4与基沃尔什码W8“0
0000000111111110000000011111111”相乘。乘法器845把输入信息位a5与基沃尔什码W1
6“00000000000000001111111111111111”相乘。
[0205] 基掩码序列发生器820同时生成长度为32的基掩码序列M1、M2、M4和M8。乘法器846把输入信息位a6与基掩码序列发生器M1“00101000011000111111000001110111”相乘。乘法器847把输入信息位a7与基掩码序列M2“00000001110011010110110111000111”相乘。乘法器848把输入信息位a8与基掩码序列M4“00001010111110010001101100101
011”相乘。乘法器849把输入信息位a9与基掩码序列M8“000111000011011100101111010
10001”相乘。乘法器840至849的功能象控制来自1-位发生器的各个位、每个基沃尔什码和每个基掩码序列的输出或生成的开关。
[0206] 加法器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码元。
[0207] 图12是本发明第二实施例的编码方法。该流程图显示了当时隙数是15时,根据本发明第二实施例的编码设备执行的步骤。
[0208] 参照图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,那么,结束编码过程。
[0209] (30,10)编码器输出与码元# 0和# 16被收缩了的(32,10)编码器的码字等效的1024个码字。因此,可以表示的总信息数是1024。
[0210] (30,9)编码器的输出是通过收缩长度为32的32个沃尔什码中每个的码元# 0和# 16所得的长度为30的32个沃尔什码、通过把1加入收缩的沃尔什码的每个码元(在实数的情况下把-1与每个码元相乘)所得的32个双正交码、和通过组合四个收缩的基掩码序列的任意三个所得的8个掩码序列的组合。
[0211] (30,8)编码器的输出是通过从长度为32个码元的32个沃尔什码的每一个中收缩掉# 0和# 16码元所得的长度为30的32个沃尔什码、通过把1加入收缩的沃尔什码的每个码元(在实数的情况下把-1与每个码元相乘)所得的32个双正交码、和通过组合四个收缩基掩码序列的任意二个所得的4个掩码序列的组合。
[0212] (30,7)编码器的输出是通过从长度为32个码元的32个沃尔什码的每一个中收缩掉# 0和# 16码元所得的长度为30的32个沃尔什码、通过把1加入收缩的沃尔什码的每个码元(在实数的情况下把-1与每个码元相乘)所得的32个双正交码、和四个收缩基掩码序列之一的组合。
[0213] 提供扩充TFCI的所有上述编码器都具有10的最短距离。(30,9)、(30,8)和(30,7)编码器可以通过阻塞图8所示的基掩码序列发生器820生成的四个基掩码序列的至少一个的输入输出来实现。
[0214] 上述编码器根据TFCI位的个数,灵活地编码TFCI位,并且具有决定编码性能的极大化最短距离。
[0215] 根据本发明第二实施例的解码设备除了编码码元的信号长度不同之外,在结构和操作上与第一实施例的解码设备相同。也就是说,在(32,10)编码之后,收缩掉32个编码码元当中的两个码元,或两个码元被收缩了的基沃尔什码和两个码元被收缩了的基掩码序列用于生成30个编码码元。因此,除了接收信号r(t)包括30个编码码元的信号和把哑信号插在收缩位置中之外,所有解码操作都与对本发明第一实施例所描述的相同。
[0216] 至于图17,解码的这个第二实施例也可以通过把掩码与r(t)相乘的单个乘法器和计算双正交码的相关值的单个相关性计算器来实现。
[0217] 4.编码/解码设备和方法的第三实施例
[0218] 本发明的第三实施例提供了阻塞第二实施例的(30,7)、(30,8)、(30,9)和(30,10)(下文我们把它们表示成(30,7-10))编码器中1-位发生器的输出,而是生成另一个掩码序列,以便把最短距离设置成11的编码设备。编码器指的是对于7、8、9、或10个TFCI位的输入,输出30-码元TFCI码字的编码器。
[0219] 图14是IMT 2000系统中用于编码TFCI的编码设备的第三实施例的方块图。在这个图形中,(30,7-10)编码器被构造成具有11的最短距离。
[0220] 根据本发明的第三实施例,除了还为编码设备配备了生成基掩码序列M16的掩码序列发生器1480和把掩码序列发生器1480和1-位发生器1400切换到乘法器1440的切换器1470之外,第三实施例的编码设备在结构上与第二实施例的编码设备相同。
[0221] 如用在图14中那样的两位被收缩了的基掩码序列M1、M2、M4、M8和M16是[0222] M1=000001011111000010110100111110
[0223] M2=000110001100110001111010110111
[0224] M4=010111100111101010000001100111
[0225] M8=011011001000001111011100001111
[0226] M16=100100011110011111000101010011
[0227] 参照图14,当使用(30,6)编码器时,切换器1470把1-位发生器1400切换到乘法器1440,并且阻塞基掩码序列发生器1480生成的所有基掩码序列。乘法器1440一个码元一个码元地把来自1-位发生器1400的码元与输入信息位a0相乘。
[0228] 当使用(30,7-10)编码器时,切换器1470把掩码序列发生器1480切换到乘法器1440,并且有选择地使用基掩码序列发生器1420生成的四个基掩码序列。在这种情况中,通过组合5个基掩码序列可以生成31个掩码序列M1至M31。
[0229] 利用乘法器1440至1449为输入信息位a0至a9输出码码元的结构和操作与第一和第二实施例相同。因此,省略对它们的描述。
[0230] 如上所述,为了使用(30,7-10)编码器,切换器1470把掩码序列发生器1480切换到乘法器1440,,而为了使用(30,6)编码器,切换器1470把1-位发生器1400切换到乘法器1440。
[0231] 对于6个信息位的输入,(30,6)编码器通过把长度为30的32个沃尔什码与利用1-位发生器1400求逆沃尔什码所得的32个双正交码组合在一起,输出30-码元码字。
[0232] 对于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个掩码序列是通过组合五个基掩码序列中的二个取得的。
[0233] 为了提供扩充TFCI,所有上述(30,7-10)编码器都具有11的最短距离。(32,7-10)编码器可以通过控制图14所示的基掩码序列发生器1420和掩码序列发生器1480生成的五个基掩码序列的至少一个的使用来实现。
[0234] 图16是显示在根据本发明的IMT 2000系统中TFCI编码过程的第三实施例的流程图。
[0235] 参照图16,在步骤1600,接收10个信息位(TFCI位)a0至a9,并且把变量sum和j设置成初始值0。变量sum表示在基于码元的相加之后输出的最终码码元,和j表示在基于码元的相加之后输出的最终码码元的计数。如果用于编码的收缩沃尔什码和掩码序列的长度为30,那么,在步骤1610,确定j是否是30。执行步骤1610的目的是为了判断对于每个沃尔什码的30个码元和每个掩码序列的30个码元,输入信息位是否已经被编码了。
[0236] 如果在步骤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,一个码元一个码元地把输入信息位与接收的码元相乘,并且对码元积求和。
[0237] 步骤1630可以表示成
[0238] 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)
[0239] 从(式10)可看出,把每个输入信息位与相应基沃尔什码或基掩码序列的码元相乘,并且求和这个乘积,可以获得所需的码码元。
[0240] 在步骤1640,输出表示所得的第j个码码元的sum,在步骤1650,把j递增1,然后过程返回到步骤1610。同时,如果在步骤1610,j是30,那么,结束编码过程。
[0241] 现在参照图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。
[0242] 相关性比较器1540比较从相关性计算器1520至1526接收的32个极大相关值,并且确定这些极大相关值的极大者,作为最终极大相关值。然后,相关性比较器1540根据与最终极大相关值相对应的双正交码和掩码序列的索引,输出由发送器发送的解码的TFCI位。如图17所示,本发明的第三实施例也可以通过把掩码与r(t)相乘的单个乘法器和计算双正交码的相关值的单个相关性计算器来实现。
[0243] 如上所述,本发明提供了可变地编码和解码基本TFCI和扩充TFCI,以便简化硬件的设备和方法。另一个优点是,对基本TFCI和扩充TFCI纠错编解码方案两者的支持提高了服务稳定性。此外,最短距离,即,确定编码设备性能的一个因素,大到足以满足IMT 2000系统的要求,从而保证了极好的性能。
[0244] 虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。