CN101227195A - 一种交织装置、解交织装置及其应用 - Google Patents

一种交织装置、解交织装置及其应用 Download PDF

Info

Publication number
CN101227195A
CN101227195A CNA2007100009909A CN200710000990A CN101227195A CN 101227195 A CN101227195 A CN 101227195A CN A2007100009909 A CNA2007100009909 A CN A2007100009909A CN 200710000990 A CN200710000990 A CN 200710000990A CN 101227195 A CN101227195 A CN 101227195A
Authority
CN
China
Prior art keywords
interweaves
deinterleaving
interleaving
interleaver
cyclic shift
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007100009909A
Other languages
English (en)
Inventor
耿东玉
梁伟光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNA2007100009909A priority Critical patent/CN101227195A/zh
Publication of CN101227195A publication Critical patent/CN101227195A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

一种交织装置、解交织装置及其应用。基于循环移位的原理来实现交织、解交织过程。交织装置包括:交织控制模块和交织模块。交织控制模块用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;交织模块接收需要交织的数据串和交织控制信息,根据交织控制信息对数据串进行交织,并输出交织后的数据串。相比现有技术需要存储交织器、解交织的信息的技术方案而言,与循环移位相关的交织控制信息、解交织控制信息占用的存储空间较少;本发明实施方式的交织、解交织技术方案简单易实现,能够适用于多种需要交织、解交织的系统;从而通过本发明提供的技术方案实现了降低系统复杂度、保证系统交织、解交织性能的目的。

Description

一种交织装置、解交织装置及其应用
技术领域
本发明涉及交织技术领域,具体涉及一种交织装置、解交织装置、产生交织器的装置和产生解交织器的装置。
背景技术
在移动通信系统中经常会使用到交织技术。交织器的作用是把码字顺序相关的数据帧重新排序成另一个序列,如原来的码字序列为{0,1,2,3,4,5,6,7,8,9},经过交织器交织后变成{2,4,7,6,3,0,8,5,1,9}的码字序列。相反,解交织器的作用是把经过交织器交织后打乱顺序的码字序列恢复成原来的码字序列。
在移动通信系统中,由于许多用户需要同时通过一个基站和其他用户进行通信,因此,必须对不同用户和基站发出的信号赋予不同的特征,使基站能从众多用户的信号中区分出某个信号是哪个用户发送出来的,而且,各用户也能识别出基站发出的信号中哪个是发给自己的。这就是多址技术解决的问题。
DS-CDMA(direct sequence code division multiple access,直扩码分多址)已经应用到了第二代和第三代移动通信系统。传统的CDMA(code division multiple access,码分多址)系统的典型特点是依靠不同的扩频码来区分不同的用户。在CDMA系统中,交织器通常置于FEC(forward error correction,前向纠错)编码器和扩频器之间,交织器的作用是:使误码离散化,使突发差错信道变为离散差错信道,接收端纠正随机离散差错,从而改善系统的性能。
CDMA系统发射装置的示意图如附图1所示。在图1中,不同的用户可以使用相同的交织器。
2002年10月的Information Theory Workshop,ITW′02中,Li Ping,K.Y.Wu,Lihai Liu和W.K.Leung写的题为“A simple,unified approach to nearly optimal multiuser detection and space-time coding”的论文中,作者提出了一种新的多址技术-IDMA(interleave-division multiple-access,交织多址)技术以及相应的多用户检测方案。
交织多址是一种用码片交织(chip-level interleaving)方法来区分不同用户的多址方式,交织多址可以看作是一种特殊的CDMA。
IDMA系统保留了CDMA系统的许多优点,如抗衰落分集和降低其他蜂窝用户干扰等优点。与CDMA系统相比,这种用码片交织来区分用户的IDMA方式能够更加有效地提高整个系统的容量和性能。
与CDMA系统不同的是,在IDMA系统中,交织器置于扩频器的后面。不同用户的扩频器可以是相同的也可以是不同的。但是,为了将用户区分开来,不同用户对应的交织器必须是不同的。
IDMA系统的发射装置的示意图如附图2所示。
在图2中,dk={dk,0,dk,1,…}表示第k个用户的源数据帧。ck={ck,0,ck,1,…}表示第k个用户的源数据帧经过编码器编码后的码字。vk={vk,0,vk,1,…,vk,L-1}表示第k个用户的码字经过扩频器扩频后的扩频码,其长度为L,扩频码一般被称之为码片(chip)。xk={xk,0,xk,1,…,xk,L-1}表示第k个用户的码片经过交织器k交织后的序列,其长度亦为L。这样各用户就可以由各自的交织器来标识,交织多址的名字就是由此而来。
IDMA系统的接收装置的示意图如附图3所示。
图3所示的接收装置的实现接收的具体过程如文章“A simple approach to near-optimal multiuserdetection:interleave-division multiple-access”中的描述,该文章的作者为:Li Ping,Lihai Liu和W.K.Leung。其具体过程在此不再详细描述。
从上述描述可以看出,IDMA技术的关键是:为不同的用户分配不同的交织器。因此,需要单独为每个用户设计交织器,而且,为了完成不同用户的所有扩频码片的交织和解交织处理,在系统中需要将每个用户的交织器和解交织器的信息存储起来。当交织器和解交织器的长度比较长、且用户数目比较多时,存储所有用户的交织器和解交织器的信息就会占用大量的内存,从而增加了系统的复杂度。
在无线通信系统中,交织器和解交织器的应用是非常广泛的,当需要为无线通信系统中的发送端、接收端设计交织器和解交织器时,同样存在上述缺点。
发明内容
本发明实施方式的目的在于,提供一种交织装置、解交织装置及其应用,只需要存储与循环移位相关的交织控制信息和解交织控制信息即可,节省了系统的存储空间,实现交织过程简单,降低了系统复杂度。
为达到上述目的,本发明实施方式提供的一种交织装置,包括:交织控制模块、交织模块;
交织控制模块:用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;
交织模块:接收需要交织的数据串和交织控制信息,根据交织控制信息对数据串进行交织,并输出交织后的数据串。
本发明实施方式还提供一种解交织装置,包括:解交织控制模块、解交织模块;
解交织控制模块:用于存储与循环移位相关的解交织控制信息,并将该解交织控制信息提供给解交织模块,解交织控制信息与交织控制信息对应;
解交织模块:接收需要解交织的数据串和解交织控制信息,根据解交织控制信息对交织后的数据串进行解交织,并输出解交织后的数据串。
本发明实施方式还提供一种产生交织器的装置,所述产生交织器装置包括:交织控制模块、交织模块、交织存储模块和产生交织器模块;
交织控制模块:用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;
交织模块:接收需要交织的数据串的地址信息和交织控制信息,根据交织控制信息对数据串的地址信息进行交织,得到相应交织器的交织信息,将所述交织信息输出至交织存储模块;
交织存储模块:用于接收并存储交织信息;
产生交织器模块:用于从存储模块中获取交织信息,并对该交织信息进行循环移位,产生多个不同的交织器。
本发明实施方式还提供一种产生解交织器的装置,所述产生解交织器的装置包括:解交织控制模块、解交织模块、解交织存储模块和产生解交织器模块;
解交织控制模块:用于存储与循环移位相关的解交织控制信息,并将该解交织控制信息提供给解交织模块,解交织控制信息与交织控制信息对应;
解交织模块:接收需要解交织的数据串的地址信息和解交织控制信息,根据解交织控制信息对交织后的数据串的地址信息进行解交织,得到相应解交织器的解交织信息,将所述解交织信息输出至解交织存储模块;
解交织存储模块:用于接收并存储解交织信息;
产生解交织器模块:用于从解交织存储模块中获取解交织信息,并对该解交织信息进行循环移位,产生多个不同的解交织器。
本发明实施方式还提供一种交织装置,所述交织装置包括:交织控制模块、交织模块、交织存储模块和交织循环移位控制模块;
交织控制模块:用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;
交织模块:接收需要交织的数据串的地址信息和交织控制信息,根据交织控制信息对数据串的地址信息进行交织,得到相应交织器的交织信息,将所述交织信息输出至交织存储模块;
交织存储模块:用于存储交织信息,该交织信息为基交织器的交织信息,基交织器对其接收的数据串进行交织,并输出;
交织循环移位控制模块:用于将基交织器输出的数据串进行循环移位。
本发明实施方式还提供一种解交织装置,所述解交织装置包括:解交织控制模块、解交织模块、解交织存储模块和解交织循环移位控制模块;
解交织控制模块:用于存储与循环移位相关的解交织控制信息,并将该解交织控制信息提供给解交织模块,解交织控制信息与交织控制信息对应;
解交织模块:接收需要解交织的数据串的地址信息和解交织控制信息,根据解交织控制信息对交织后的数据串的地址信息进行解交织,得到相应解交织器的解交织信息,将所述解交织信息输出至解交织存储模块;
解交织循环移位控制模块:用于将接收的数据串进行循环移位,并输出;
解交织存储模块:用于存储解交织信息,该解交织信息为基解交织器的解交织信息,基解交织器对解交织循环移位控制模块输出的数据串进行解交织,并输出。
通过上述技术方案的描述可知,本发明实施方式的交织装置、解交织装置是基于循环移位来实现交织、解交织过程的,本发明实施方式的交织装置中只需要存储与循环移位相关的交织控制信息和解交织控制信息,相比现有技术需要存储交织器、解交织的信息的技术方案而言,本发明实施方式的控制信息占用的存储空间较少,当系统中需要数目较多的交织器和解交织器时,非常有效的节省了系统的存储空间;本发明实施方式提供的装置能够采用多种交织、解交织方式来实现交织、解交织过程,实现方式灵活;本发明实施方式通过设置交织控制信息、解交织控制的函数、通过设置多个块交织器、通过设置多个交织函数和多个解交织函数,尽可能的减少了交织控制信息、解交织控制信息对存储空间的占用;本发明实施方式的交织、解交织技术方案简单易实现,能够适用于多种需要交织、解交织的系统;当本发明实施方式适用于IDMA系统时,本发明实施方式的交织装置、解交织装置可以作为基交织器、基解交织器,从而能够方便的为不同用户设置不同的交织器和解交织器;当本发明实施方式的交织装置和解交织装置适用于IDMA等需要多个交织器、解交织器的系统中时,不会使系统的交织、解交织性能低于目前采用随机设计交织器、解交织器技术方案的系统性能;从而通过本发明实施方式提供的技术方案实现了降低系统复杂度、保证系统交织、解交织性能的目的。
附图说明
图1是CDMA系统发射装置示意图;
图2是IDMA系统的发射装置的示意图;
图3是IDMA系统的接收装置的示意图;
图4(a)是本发明实施例的行向量循环移位的方法示意图;
图4(b)是本发明实施例的列向量循环移位的方法示意图;
图5(a)、(b)是本发明实施例的向量交织器1、2的交织图案、以及用向量表示向量交织器、向量解交织器的示意图;
图6是本发明实施例的用两个向量交织器来控制块交织器行和列向量循环移位位数的示意图;
图7是本发明实施例一的交织装置、解交织装置的交织和解交织过程示意图一;
图8是本发明实施例一的交织装置、解交织装置的交织和解交织过程示意图二;
图9是本发明实施例一的交织装置、解交织装置的交织和解交织过程示意图三;
图10是本发明实施例一的交织装置、解交织装置的交织和解交织过程示意图四;
图11是本发明实施例二的交织装置的交织过程示意图;
图12是本发明实施例二的解交织装置的解交织过程示意图;
图13(a)、(b)是本发明实施例三的通过控制函数控制块交织器的行向量、列向量的循环移位位数的示意图;
图14是本发明实施例三的交织装置、解交织装置的交织和解交织过程示意图;
图15是本发明实施例三的交织装置、解交织装置通过控制函数产生循环移位位数的示意图;
图16是本发明实施例四的交织装置用循环移位的交织列表对块交织器行、列向量进行交织的示意图;
图17是本发明实施例四的交织装置、解交织装置的交织和解交织过程示意图一;
图18是本发明实施例四的交织装置、解交织装置的交织和解交织过程示意图二;
图19是本发明实施例四的交织装置、解交织装置的交织和解交织过程示意图三;
图20是本发明实施例四的交织装置、解交织装置的交织和解交织过程示意图四;
图21是本发明实施例五的交织装置的交织过程示意图;
图22是本发明实施例五的解交织装置的解交织过程示意图;
图23是本发明实施例六的交织装置、解交织装置的交织和解交织过程示意图一;
图24是本发明实施例六的交织装置的块交织器中的各行列采用相同交织方式示意图;
图25是本发明实施例六的交织装置、解交织装置的交织和解交织过程示意图二;
图26是本发明实施例六的交织装置、解交织装置的交织和解交织过程示意图三;
图27是本发明实施例七的交织装置、解交织装置的交织和解交织过程示意图一;
图28是本发明实施例七的交织装置、解交织装置的交织和解交织过程示意图二;
图29是本发明实施例八的交织装置的交织过程示意图一;
图30是本发明实施例八的交织装置的交织过程示意图二;
图31是本发明实施例八的交织装置的交织过程示意图三;
图32是本发明实施例九的交织装置的交织过程示意图;
图33是本发明实施例十的交织装置对不同用户数据进行交织的原理图;
图34是本发明实施例十的解交织装置对不同用户数据进行解交织的原理图;
图35是本发明实施例十应用在IDMA系统中的发射装置;
图36是本发明实施例十应用在IDMA系统中的接收装置。
具体实施方式
本发明实施方式利用循环移位的方式来设计交织装置。本发明实施方式提出的交织装置的设计方案针对现有技术而言,实现比较简单,节省了大量的内存,而且能够达到现有方案所能达到的性能。
下面结合附图对本发明实施方式提供的技术方案进行详细说明。
实施例一:交织装置用交织控制模块中存储的两个向量交织器作为控制列表来分别控制交织模块即块交织器的行和列的循环移位的位数,对块交织器中的数据进行行和列的循环移位,从而完成数据的交织,其具体实现过程为:
由于在本申请文件中使用了行和列的循环移位,下面首先介绍一下循环移位。
对于行向量,循环移位n位是指所有数据比特依次向左/右移n位。下面以行向量向左移n位为例对行向量的循环移位进行说明。由于行向量最左面的n位数据比特无法向左移满n位,因此,行向量最左面的n位数据比特被搬移到行向量的右面,如附图4(a)中,存有10个数据比特的行向量{0,1,2,3,4,5,6,7,8,9}向左移3位,其结果为{3,4,5,6,7,8,9,0,1,2}。
对于列向量,循环移位n位是指所有数据比特依次向上/下移n位。下面以列向量向上移n位为例对列向量的循环移位进行说明。由于列向量最上面的n位数据比特无法向上移满n位,因此,列向量最上面的n位数据比特被搬移到列向量的下面,如附图4(b)中,存储10个数据比特的列向量{0,1,2,3,4,5,6,7,8,9}向上移3位,其结果为{3,4,5,6,7,8,9,0,1,2}。
在实施例一中,用来控制块交织器的循环移位位数的两个控制列表是向量交织器的形式,用向量π来表示向量交织器,向量解交织器用向量π-1的形式来表示。向量交织器的大小为整数L。
π(0),π(1),…π(L-1)表示向量交织器π的交织信息。π-1(0),π-1(1),…π-1(L-1)表示向量解交织器π-1的解交织信息。
π(i)=j(i=0,1,…L-1;j=0,1,…L-1)表示的含义为:交织前输入数据串中的第j个位置的数据经过交织后,成为交织后数据串中第i个位置的数据。π-1(j)=i(i=0,1,…L-1;j=0,1,…L-1)表示的含义为:交织后数据串中第i个位置的数据经过解交织后,恢复到交织前输入数据串中的第j个位置。
向量交织器1和2的交织图案、以及用向量表示的向量交织器、向量解交织器如附图5(a)和(b)所示。
图5(a)、(b)中,向量交织器1用向量π1来表示,向量交织器2用向量π2来表示,向量交织器1和向量交织器2的大小分别为L1=5、L2=4。相应的,向量解交织器1、向量解交织器2用π1 -1和π2 -1来表示。根据向量π和π-1之间的关系,可以从向量交织器的交织图案得出向量表示的形式。
用两个向量交织器来控制块交织器行和列向量循环移位位数的示意图如附图6所示。
图6中,块交织器的大小为L2(=4)×L1(=5)。向量π1中相应位置的元素控制了块交织器相应列向量循环移位的位数,向量π1中的第一个元素用来控制块交织器第一列向量循环移位的位数,其循环移位位数为3,向量π1中的第二个元素用来控制块交织器第二列向量循环移位的位数,其循环移位位数为2,依次类推,向量π1中后续元素依次控制块交织器其他列向量循环移位的位数。同理,向量π2中的相应位置的元素控制块交织器相应行向量循环移位的位数。
下面结合附图7对本发明的实施例一的交织装置、解交织装置实现交织和解交织的具体过程进行说明。
在图7的交织装置的交织过程中,交织装置利用两个控制列表对块交织器行/列循环移位的位数进行控制,这两个控制列表是两个小向量交织器,这两个小向量交织器的大小分别是块交织器的行数和列数。这两个小的向量交织器可以通过多种方式来产生,如通过产生伪随机序列的线性同余多项式来产生这两个小的向量交织器,再如采用随机置乱的方式来产生这两个小的向量交织器,即将0,1,2,…,N-1(其中N为向量交织器的大小)的顺序随机置乱。
图7中的两个控制列表是通过随机置乱的方式产生的,图7中的标记10即为控制列表1,标记20即为控制列表2,后续本申请文件中的标记10和20均与图7中的含义相同。控制列表1为向量{3,2,0,4,1},控制列表2为向量{2,3,1,0}。实现交织的具体过程如下:
步骤1、包含L(L=20)比特数据的数据串301逐行写入块交织器302中,块交织器302的大小为:L2×L1,其中,L1=5,L2=4。
步骤2、块交织器302根据控制列表1中的数据进行各列向量的向上循环移位,向上循环移位的结果为:块交织器302成为块交织器304。
步骤3、块交织器304根据控制列表2中的数据进行各行向量的向左循环移位,向左循环移位结果为:块交织器304成为块交织305。
然后,块交织器305输出数据,本发明实施方式可以采用多种输出方式,如块交织器305逐行输出数据得到交织器306所示的交织结果,再如块交织器305逐列输出数据得到交织器307所示的交织结果。交织器306或交织器307即为交织存储模块。
需要说明的是,上述块交织器302、304和305是同一个块交织器在移位前、行移位后、列移位后的不同状态,为方便描述,对块交织器的不同状态进行了编号。
本发明实施方式解交织装置进行的解交织过程与上述交织过程相对应,即解交织控制模块将其存储的控制与列表提供给用于解交织的块交织器,解交织控制模块中存储的控制列表与上述交织过程中的控制列表相对应,解交织装置中的块交织器根据解交织控制模块中的控制列表进行行列向量的循环移位,进行解交织,解交织器进行解交织后的数据串传输至解交织存储模块中。图7中的40为解交织后的结果,其中解交织器308对应的是交织器306的解交织形式,解交织器309对应的是交织器307对应的解交织形式。解交织器308或解交织器309即为解交织存储模块。由于交织装置的交织过程和解交织装置的解交织过程是完全相对应的,所以,本申请文件中只对交织装置的交织过程进行详细说明。
图7只是实施例一的一个具体的例子,实施例一的交织装置的块交织器可以为通用的L2×L1的块交织器,而且,L1和L2可以相同,也可以不同。后续实施例也是如此,以后不再赘述。
在上述图7中,数据串301是按行写入块交织器的,并且块交织器是先进行列循环移位、再进行行循环移位的。上述实施例的交织装置也可以通过改变写入块交织器的方式、改变行、列循环移位的顺序等进行演变来实现交织,下面以三种具体的演变方式为例对本发明实施方式的交织装置实现交织的过程进行说明。
演变方式一如附图8所示。图8描述的交织装置的交织过程与图7描述的交织装置的交织过程的实现原理相同,只是在数据串301逐行读入块交织器302后,块交织器302先根据控制列表2进行行向量向左循环移位,向左循环移位的结果为:块交织器302成为块交织器404,然后,块交织器404再根据控制列表1进行列向量向上循环移位,向上循环移位的结果为:块交织器404成为块交织器405。图8中的408和409是与交织器406和407相对应的解交织器的形式。对比图7与图8可知,两者的区别在于行、列向量进行循环移位的先后顺序不同。
演变方式二如附图9所示。图9中描述的交织装置的交织过程与图7中描述的交织装置的交织过程的实现原理相同,只是在数据串301读入块交织器时,是逐列读入的,即数据串301逐列读入块交织器303中。后续处理过程为:块交织器303先根据控制列表1进行列向量向上循环移位,向上循环移位的结果为:块交织器303成为块交织器504,然后,块交织器504再根据控制列表2进行行向量向左循环移位,向左循环移位的结果为:块交织器504成为块交织器505。图9中的508和509是与交织器506和507相对应的解交织器的形式。对比图7与图9可知,两者的区别在于数据串301读入块交织器的方式不同。
演变方式三如附图10所示。图10中描述的交织装置的交织过程与图7中描述的交织装置的交织过程的实现原理相同,具体实现过程的区别为:数据串301逐列读入块交织器303,块交织器303先根据控制列表2进行行向量向左循环移位,向左循环移位的结果为:块交织器303成为块交织器604,然后,块交织器604再根据控制列表1进行列向量向上循环移位,向上循环移位的结果为:块交织器604成为块交织器605。图10中的608和609是与交织器606和607相对应的解交织器的形式。对比图7与图10可知,两者的区别在于数据串301读入块交织器的方式不同,块交织器行、列向量进行循环移位的顺序不同。
当然,本发明实施例一的交织装置实现交织的过程还有其他演变方式,如行循环移位可以替换为向右循环移位、列循环移位可以替换为向下循环移位等等,其具体的实现过程在此不再详细描述。
本发明实施例一设计交织装置的方式、以及实现交织的方式比较简单,系统只需要存储用户对应的控制列表1和控制列表2即可,而现有技术中需要存储用户对应的交织器、解交织器的信息,如当需要对一个长度为N比特的数据串进行交织时,如果现有技术使用随机交织的方法,则系统需要存储的交织器信息的大小为N,而在本发明的实施例一中,系统只需要存储两个N的平方根大小的交织器π1、π2的信息,本发明实施方式的交织装置即可完成对N比特的数据串的交织,如果交织器π1和π2相同的话,则系统只需要存储一个N的平方根大小的交织器即可完成对N比特的数据串的交织,从而大大节省了系统的存储空间。
实施例二、交织装置用交织控制模块中的两个向量交织器作为控制列表,并利用控制列表中的内容产生行和列循环移位位数的参数,然后该参数对交织函数模块中的交织函数进行赋值,最后,交织函数模块利用赋值后的交织函数完成数据的交织,其具体实现过程如下。
实施例二的交织过程如附图11所示。
图11中,控制列表1、控制列表2已知,控制列表1、2的向量输入交织函数模块311,得到交织函数I(i),得到交织函数I(i)的过程即为对交织函数模块311中存储的交织函数进行赋值的过程。对交织函数进行赋值后,交织函数模块311即可根据交织函数I(i)计算输入的数据串301中的每个数据经过交织后的地址,即交织装置对数据串301进行了交织处理。在实施例二中,数据串301中存储的是数据地址。
实施例二的交织装置实现交织的原理与实施例一的交织装置实现交织的原理是完全一样的。与实施例一不同的是:实施例二的交织装置中不存在实际的块交织器,实施例二的交织装置采用对交织函数模块中的交织函数I(i)进行赋值的方式确定了块交织器的形式,实施例二的交织装置不需要对块交织器分别进行列向量、行向量的循环移位操作,但是,实施例二的交织装置通过交织函数模块的交织函数I(i)实现了实施例一中块交织器的行向量、列向量的循环移位操作。实施例二中的交织函数模块可以通过微处理器对交织函数I(i)的计算来实现交织。交织装置通过设置控制列表1、控制列表2、以及交织函数I(i),实施例二的交织装置对数据串进行交织的结果可以和实施例一对数据串进行交织的结果完全相同,而且,实施例二可以对输入的数据串进行实时交织。
实施例二的解交织装置的解交织过程如附图12所示。
图12中,控制列表1、控制列表2已知,控制列表1、2的向量输入解交织函数模块313,得到解交织函数I-1(i),这里的解交织函数I-1(i)与上述交织函数I(i)是对应的。得到解交织函数I-1(i)的过程即为对解交织函数模块313中存储的解交织函数进行赋值的过程。对解交织函数进行赋值后,解交织函数模块313即可根据解交织函数I-1(i)计算交织后的数据串301中的每个数据经过解交织后的地址,即对数据串301进行了解交织处理。
下面以实施例一中数据串301交织后得到数据串306、解交织后得到数据串308的过程为例,对实施例二的交织函数模块中交织函数I(i)和解交织函数模块中的解交织函数I-1(i)的运算过程进行说明。
交织函数模块311中存储的交织函数I(i)为:
其中:
Figure A20071000099000142
0≤i≤N-1;I[i]为交织后的数据串,i表示交织前的数据串的地址,在本申请文件中i的取值为整数,其范围均为0到N-1;π1、π2分别为控制列表1和控制列表2;L1、L2分别为向量π1、π2的长度,亦为交织函数所表示的块交织器的列数和行数;“%”表示取模操作,“i%L1”表示整数i除以数L1后的余数;表示取整数操作,
Figure A20071000099000144
表示整数i除以数L1后的整数部分;N为需要交织或者解交织的数据串的长度。如果不作特别说明,在下述本申请文件中出现的上述符号的含义不会改变,下述本申请文件中再出现上述变量或符号时,不再对变量或符号的含义进行重复解释。
交织函数I(i)的含义为:交织前的数据串中的第i个位置的数据经过交织函数后成为交织后的数据串中的第I(i)个位置。
可以将公式(1)简化为:
Figure A20071000099000145
其中:
Figure A20071000099000146
在实施例一中,输入数据串301的长度为20,因此,数据串301中数据的地址可以为从0到19。块交织器302的大小为4×5,因此,L1=5,L2=4。控制列表1、2分别用π1和π2表示为:π1={3,2,0,4,1},π2={2,3,10}。将上述变量代入到公式(2)可以计算得到交织器的形式,具体实现过程为:
当i=0时,
Figure A20071000099000147
Figure A20071000099000148
当i=1时,
Figure A20071000099000149
Figure A200710000990001410
当i=2时,
Figure A20071000099000151
......
当i=19时,
Figure A20071000099000152
Figure A20071000099000153
因此,经过计算得到交织后的结果为:I={2,3,9,15,11,8,14,0,16,7,1,12,13,19,5,10,6,17,18,4}。该结果与实施例一中306的结果是完全相同的。
解交织函数模块313中存储的解交织函数为:
Figure A20071000099000154
其中:
Figure A20071000099000155
解交织函数I-1[i]的含义为:交织后的数据串中的第i个位置的数据经过解交织函数后成为解交织后的数据串中的第I-1[i]个位置。
可以对公式(3)进行简化,设定:
π 1 * ( i ) = L 2 - [ π 1 ( i ) % L 2 ] - - - ( 4 )
π 2 * ( i ) = L 1 - [ π 2 ( i ) % L 1 ] - - - ( 5 )
则公式(3)可以写成: I - 1 [ i ] = { π 2 * ( t ) + ( i % L 1 ) } % L 1 + L 1 × t - - - ( 6 )
其中:
Figure A20071000099000159
由于,该解交织装置的解交织过程与上述实施例二中交织装置的交织过程相对应,因此,公式6中L1=5,L2=4,公式(4)、(5)中的π1={3,2,0,4,1},π2={2,3,10}。利用公式(6)可以计算得到解交织器的形式。解交织的结果与实施例一中数据串308是完全相同的,具体解交织的实现过程在此不再详细描述。
实施例一中各种交织、解交织方式对应的交织函数模块中的交织函数和解交织函数模块中的解交织函数如表1所示。
表1交织和解交织函数
Figure A20071000099000161
表1交织和解交织函数(续)
Figure A20071000099000162
Figure A20071000099000171
需要说明的是:表1中 π 1 * ( i ) = L 2 - [ π 1 ( i ) % L 2 ] , π 2 * ( i ) = L 1 - [ π 2 ( i ) % L 1 ] ; 而且,实施例二中交织装置的交织过程、解交织装置的解交织过程、表1等的内容都是针对实施例一进行说明的,但是,实施例二中交织装置利用交织函数实现交织、解交织装置利用解交织函数实现解交织的过程不局限于上述描述,如当控制列表不采用向量交织器的形式,而采用函数等其他形式时,实施例二中交织函数模块、解交织函数模块的交织和解交织函数同样适用,只不过对交织、解交织函数中的π1、π2进行替换即可。
实施例三、交织装置采用交织控制模块中的两组序列或者两组函数等方式来产生控制列表,控制列表控制交织模块即块交织器的行和列的循环移位的位数,对块交织器中的数据进行行和列的循环移位,从而完成数据的交织,其具体实现过程如下:
上述交织控制模块中的两组序列可以是两组简单的有规律的序列,为了描述方便,在本申请文件中将上述序列或函数统称为控制函数。交织装置通过控制函数控制块交织器的行向量、列向量的循环移位位数的示意图如附图13所示。
在图13(a)中,交织控制模块中的控制函数g(n)控制块交织器行向量的循环移位位数,n为控制函数所控制的块交织器的行号,n的取值范围可以为0至L2-1,L2为块交织器的行数。在图13(b)中,交织控制模块中的控制函数f(n)控制块交织器列向量的循环移位位数,n控制函数所控制的块交织器的列号,n的取值范围可以为0至L1-1,L1为块交织器的列数。
下面结合附图14对本发明实施例三的交织装置、解交织装置实现交织和解交织的过程进行说明。
在图14中,交织控制模块中的控制函数为两组简单的序列,行控制函数的形式为:g(n)=C1×n,n=1,2,3,…,列控制函数的形式为:f(n)=C2×n,n=1,2,3,…,且C1和C2分别取2和1。这里的行控制函数和列控制函数也可以是相同的,即C1=C2。控制函数也可以为其他形式,如行控制函数为:g(n)=c1n;列控制函数为:f(n)=c2n2等等。图14中交织装置、解交织装置实现交织、解交织的过程和上述实施例一中图7所示的交织装置、解交织装置实现交织、解交织的过程完全相同,其区别仅仅在于实施例三的交织控制模块中控制块交织器行和列向量循环移位位数的是简单的序列形式,而不是图7中交织器的形式。
由于实施例三中系统只需要存储行列控制函数即可,而实施例一中系统需要存储控制块交织器行和列向量循环移位位数的控制信息,因此,实施例三相比实施例一而言,节省了系统的存储空间。在需要交织的数据比较长时,实施例三节省存储空间的效果会更明显。当行控制函数和列控制函数相同时,系统可以只存储一个控制函数,这样可以进一步节省系统的存储空间。
除图14所示的交织装置、解交织装置的交织和解交织的实现过程外,实施例三的交织装置也存在诸多演变的实现方式,如改变写入块交织器的方式、改变行、列循环移位的顺序等等,也就是说,交织装置、解交织装置利用控制函数也能够实现图8、9、10所示的交织、解交织的过程,只不过需要将图8、9、10中的向量交织器控制列表替换为控制函数即可。在此不再对实施例三中交织装置、解交织装置的演变实现交织、解交织的过程进行详细描述。
图14交织控制模块中的控制函数也可以为函数的形式,如控制函数为随机数产生函数f(n)=(a×f(n-1))%k,在设定函数中的参数a和k之后,一旦给出此函数的初始值,则下一状态的函数值就可以得到,该函数既可以作为行控制函数也可以作为列控制函数;再如控制函数为:将一给定的十进制的整数转化为二进制的形式,然后,该二进制形式的数据进行不同位数的移位,以得到控制函数的不同值。
下面结合附图15对上述交织控制模块中的十进制、二进制之间转化获得块交织器行、列向量移位位数的过程进行说明。
图15中,交织控制模块首次给定的整数为10,交织控制模块将10作为控制函数的初始值,即块交织器的第一行或第一列向量循环移位的位数为10,10的二进制形式为01010,交织控制模块对该二进制序列进行循环移位,如果每次循环移位的位数为1,则01010移位的结果为10100,然后,交织控制模块将10100转换为十进制的数,10100的十进制的数为20,将20作为块交织器的下一行或列向量循环移位的位数,依次类推,交织控制模块就可以得到块交织器各行向量、各列向量的循环移位的位数。
当然,实施例三交织控制模块中的控制函数也可以为二次函数之类的其他形式。实施三交织控制模块中的控制函数也可以替换实施例二中交织器形式的控制列表,即利用控制函数产生的数值对交织函数和解交织函数进行赋值,然后,利用赋值后的交织函数、解交织函数对数据串进行交织、解交织处理。
实施例四、利用交织控制模块中循环移位的交织列表控制块交织器的各行列向量的交织过程,从而实现数据串的交织。
在实施例四中,交织装置利用交织控制模块中的两个交织列表来控制交织模块即块交织器的各行、各列的交织,其中,控制行交织的交织列表经过不同的循环移位操作得到一系列交织列表,以控制块交织器各行的交织。同样,控制列交织的交织列表经过不同的循环移位操作得到一系列交织列表,以控制块交织器各列的交织。交织列表循环移位的操作如附图4所示。
下面结合附图16对本发明实施例四的交织装置利用交织列表对块交织器的各行向量、各列向量分别交织的过程进行说明。
图16中,4×5的块交织器的第一行向量根据交织列表π2{3,2,0,4,1}进行交织,然后,π2向左循环移位1位,得到新的交织列表{2,0,4,1,3},块交织器的第二行向量根据这个新的交织列表进行交织,依次类推,块交织器的各行向量分别进行交织。4×5的块交织器的第一列向量根据交织列表π1{2,3,1,0}进行交织,然后,π1向上循环移位1位,得到新的交织列表{3,1,0,2},块交织器的第二列向量根据这个新的交织列表进行交织,依次类推,块交织器的各列向量分别进行交织。
在介绍了块交织器的各行列向量根据交织列表进行交织的过程后,下面以几种不同的实现方式为例对实施例四的交织装置进行说明。
实现方式一如附图17所示。图17中,交织装置中控制块交织器的行向量、列向量进行交织的两个交织列表20、10分别为向量{2,3,1,0}和{3,2,0,4,1},解交织列表20’和10’分别为向量{3,2,0,1}和{2,4,1,0,3},交织列表20即交织列表1、交织列表10即交织列表2,解交织列表20’即解交织列表1、解交织列表10’即解交织列表2。交织装置对数据串301进行交织的具体过程如下:
步骤1、包含L(L=20)比特数据的数据串301逐行写入块交织器302中,块交织器302的大小为:L2×L1,其中,L1=5,L2=4。
步骤2、交织控制模块中的交织列表2进行向左循环移位,获得一系列交织列表,块交织器302中的各行向量根据交织列表2循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器302成为块交织器804。
步骤3、交织控制模块中的交织列表1进行向上循环移位,获得一系列交织列表,块交织器804中的各列向量根据交织列表1循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器804成为块交织器805。
然后,块交织器805输出数据,本发明实施方式中的块交织器805可以采用多种输出方式,如块交织器805逐行输出数据得到806所示的交织结果,再如块交织器805逐列输出数据得到807所示的交织结果。806、807即交织存储模块。
需要说明的是,上述块交织器302、804和805是同一个块交织器在行交织前、行交织后、列交织后的不同状态,为方便描述,对块交织器的不同状态进行了编号。
图17中的40为解交织的形式,其中808对应的是交织器806的解交织形式,809对应的是交织器807对应的解交织形式。808、809即解交织存储模块。
在上述图17中,数据串301是按行写入块交织器的,并且块交织器是先进行行交织、再进行列交织的。上述实施例的交织装置、解交织装置也可以通过改变写入块交织器的方式、改变行、列交织的顺序等来实现交织、解交织,下面简单介绍三种其他的实现方式。
实现方式二如附图18所示。图18描述的交织装置实现交织的过程与图17描述的交织装置实现交织过程的实现原理相同,只是在数据串301逐行读入块交织器302后,交织列表1先进行向上循环移位,获得一系列交织列表,块交织器302中的各列向量根据交织列表1循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器302成为块交织器904,然后,交织列表2进行向左循环移位,获得一系列交织列表,块交织器904中的各行向量根据交织列表2循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器904成为块交织器905。图18中的908和909是与交织器906和907相对应的解交织器的形式。对比图17与图18可知,两者的区别在于行、列向量进行交织的先后顺序不同。
实现方式三如附图19所示。图19中描述的交织装置实现交织的过程与图17中描述的交织装置实现交织过程的实现原理相同,只是在数据串301读入块交织器时,是逐列读入的,即数据串301逐列读入块交织器303中。后续处理过程为:交织列表2进行向左循环移位,获得一系列交织列表,块交织器303中的各行向量根据交织列表2循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器303成为块交织器1004,然后,交织列表1进行向上循环移位,获得一系列交织列表,块交织器1004中的各列向量根据交织列表1循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器1004成为块交织器1005。图19中的1008和1009是与交织器1006和1007相对应的解交织器的形式。对比图17与图19可知,两者的区别在于数据串301读入块交织器的方式不同。
实现方式四如附图20所示。图20中描述的交织装置实现交织过程与图17中描述的交织装置实现交织过程的实现原理相同,具体实现过程的区别为:数据串301逐列读入块交织器303,交织列表1先进行向上循环移位,获得一系列交织列表,块交织器303中的各列向量根据交织列表1循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器303成为块交织器1104,然后,交织列表2进行向左循环移位,获得一系列交织列表,块交织器1104中的各行向量根据交织列表2循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器1104成为块交织器1105。图20中的1108和1109是与交织器1106和1107相对应的解交织器的形式。对比图17与图20可知,两者的区别在于数据串301读入块交织器的方式不同,行、列向量进行交织的先后顺序不同。
当然,实施例四还有其他实现方式,如交织列表2的向左循环移位可以替换为向右循环移位、交织列表1的向上循环移位可以替换为向下循环移位,而且,交织列表1、交织列表2也可以每次循环移位2位等等,其具体的实现过程在此不再详细描述。
对于一个长度为N比特的数据串进行交织,如果使用现有技术随机交织的方法,则交织器的大小为N,系统需要存储大小为N的交织器信息,而采用本实施例四的技术方案,系统只需要存储N的平方根×2大小的交织列表π1、π2,就可以完成对N个数据的交织过程;如果两个交织列表π1和π2相同的话,则系统只需要存储N的平方根大小的交织列表π1、π2,就可以完成对N个数据的交织过程,节省了大量的存储空间。而且,实施例四设计交织器以及实现交织的方式比较简单。
在实施例四的交织列表进行循环移位过程中,交织列表每次移位的位数可以相同,也可以不同。
实施例五、利用交织控制模块中循环移位的交织列表产生行列交织的参数,然后利用该参数对交织函数模块中交织函数进行赋值,最后,交织函数模块利用赋值后的交织函数完成数据的交织,其具体实现过程如下。
实施例五的交织过程如附图21所示。
图21中,交织控制模块中的交织列表1、交织列表2已知,交织列表1、2的向量输入交织函数模块811,得到交织函数I(i),得到交织函数I(i)的过程即为对交织函数模块811中存储的交织函数进行赋值的过程。对交织函数模块中的交织函数进行赋值后,交织函数模块811即可根据交织函数I(i)计算输入的数据串301中的每个数据经过交织后的地址,即对数据串301进行了交织处理。
实施例五的交织装置与实施例四的交织装置实现交织的原理是完全一样的。与实施例四的交织装置不同的是:实施例五的交织装置中不存在实际的块交织器,实施例五的交织模块采用对交织函数I(i)进行赋值的方式确定了块交织器的形式,实施例五的交织装置通过交织函数I(i)实现了实施例四中块交织器与交织列表进行交织的操作。实施例五中交织函数模块的交织过程可以通过微处理器对交织函数I(i)的计算来实现。通过设置交织列表1、交织列表2、以及交织函数I(i),实施例五的交织装置对数据串进行交织的结果可以和实施例四的交织装置对数据串进行交织的结果完全相同,而且,实施例五的交织装置可以对输入的数据串进行实时交织。
实施例五的解交织装置实现解交织的过程如附图22所示。
图22中,交织控制模块中的解交织列表1、解交织列表2已知,解交织列表1、2的向量输入解交织函数模块813,得到解交织函数I-1(i),这里的解交织函数I-1(i)与上述交织函数I(i)是对应的。得到解交织函数I-1(i)的过程即为对解交织函数模块813中存储的解交织函数进行赋值的过程。对解交织函数进行赋值后,解交织函数模块313即可根据解交织函数I-1(i)计算交织后的数据串301中的每个数据经过解交织后的地址,即对数据串301进行了解交织处理。
下面以实施例四中交织装置对数据串301交织后得到数据串806、解交织后得到数据串808的过程为例,对实施例五中交织函数模块的交织函数I(i)和解交织函数模块中的解交织函数I-1(i)的运算过程进行说明。
第四实施方案的交织装置采用实现方式一实现交织、解交织对应的交织函数和解交织函数为:
交织函数模块811中存储的交织函数I(i)为:I[i]=π2((i+t)%L2)+L2×t    (7)
其中,
Figure A20071000099000211
0≤i≤N-1;π1、π2分别为交织列表1和交织列表2,L1、L2分别为向量π1、π2的长度,亦为交织函数所表示的块交织器的行数和列数。
交织函数I(i)的含义为:交织前的数据串中的第i个位置的数据经过交织函数后成为交织后的数据串中的第I(i)个位置。
在实施例四中,数据串301的长度为20,因此,数据串301中数据的地址可以为从0到19。块交织器302的大小为4×5,因此,L1=5,L2=4。交织列表1、2分别用π1和π2表示为:π1={2,3,10},π2={3,2,0,4,1}。将上述变量代入到公式(7)可以计算得到交织器的形式,具体实现过程为:
当i=0时,
Figure A20071000099000212
I[0]=π2((0+2)%5)+5×2=π2(2)+10=0+10=10。
当i=1时,
Figure A20071000099000213
I[1]=π2((1+3)%5)+5×3=π2(4)+15=1+15=16。
当i=2时,
Figure A20071000099000214
I[2]=π2((2+1)%5)+5×1=π2(3)+5=4+5=9。
当i=18时,
Figure A20071000099000221
I[18]=π2((18+1)%5)+5×1=π2(4)+5=1+5=6。
当i=19时,
Figure A20071000099000222
I[19]=π2((19+0)%5)+5×0=π2(4)+15=1+0=1。
因此,交织函数模块经过计算得到交织后的结果为:
I={10,16,9,4,12,19,5,0,13,15,7,2,11,17,8,3,14,18,6,1}。该结果与实施例四中806的结果是完全相同的。
解交织函数模块813中存储的解交织函数为:
Figure A20071000099000223
其中:
Figure A20071000099000224
π1 -1、π2 -1分别为解交织列表1和解交织列表2,π1 -1、π2 -1与π1和π2相对应。
解交织函数I-1[i]的含义为:交织后的数据串中的第i个位置的数据经过解交织函数后成为解交织后的数据串中的第I-1[i]个位置。
由于,该解交织过程与上述实施例五中的交织过程相对应,因此,公式8中L1=5,L2=4,公式8中的 π 1 - 1 = { 3,2,0,1 } , π 2 - 1 = { 2,4,1,0,3 } . 利用公式(8)可以计算得到解交织的形式。利用上述变量、公式(8)得到解交织器的具体实现过程为:
当i=0时,
Figure A20071000099000227
Figure A20071000099000228
当i=1时,
Figure A20071000099000229
Figure A200710000990002210
......
当i=18时,
Figure A200710000990002212
当i=19时,
Figure A200710000990002213
交织函数模块经过计算得到解交织后的结果为:
I-1={7,19,11,15,3,6,18,10,14,2,0,12,4,8,16,9,1,13,17,5}。解交织的结果与实施例四中数据串808是完全相同的。
实施例四中交织装置、解交织装置进行的各种交织、解交织方式对应的交织函数和解交织函数如表2所示。
表2交织和解交织函数
Figure A20071000099000231
表2交织和解交织函数(续)
Figure A20071000099000232
需要说明的是:实施例五中交织装置、解交织装置进行交织、解交织的过程、以及表2等的内容都是针对实施例四进行说明的,但是,实施例四中交织装置、解交织装置利用交织函数、解交织函数实现交织、解交织的过程不局限于上述描述。
实施例六、块交织器中的行向量和列向量采用不同的方式进行交织。在本实施例中提供多种块交织器的行向量和列向量进行交织的组合实现方式,下面以几种具体的实现方式为例对本实施例的交织装置进行说明:
组合方式一、块交织器的各行向量采用循环移位的交织列表进行交织,即块交织器的各行向量按照实施例四中的交织方式进行交织,具体实现过程如附图16所示;块交织器的各列向量根据控制列表进行列循环移位的方式实现列交织,即块交织器的各列向量按照实施例一中的交织方式进行交织,具体实现过程如附图6所示。在组合方式一中,交织列表和控制列表的大小均为5。
组合方式一的具体实现过程如附图23所示。
在图23中,步骤1、包含L(L=20)比特数据的数据串301逐行写入块交织器302中,块交织器302的大小为:L2×L1,其中,L1=5,L2=4。
步骤2、交织列表进行向左循环移位,获得一系列交织列表,块交织器302中的各行向量根据交织列表循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器302成为块交织器1204。
步骤3、块交织器1204中的各列向量根据控制列表进行向上循环移位,向上循环移位的结果为:块交织器1204成为块交织器1205。
然后,块交织器1205输出数据,本发明实施方式可以采用多种输出方式,如块交织器1205逐行输出数据得到1206所示的交织结果,再如块交织器1205逐列输出数据得到1207所示的交织结果。
需要说明的是,上述块交织器302、1204和1205是同一个块交织器在移位前、行移位后、列移位后的不同状态,为方便描述,对块交织器的不同状态进行了编号。
图23中1208对应的是交织器1206的解交织形式,1209对应的是交织器1207的解交织形式。
在上述图23中,数据串301是按行写入块交织器的,并且块交织器是先进行行交织、再进行列交织的。组合方式一也可以通过改变写入块交织器的方式、改变块交织器行列交织的顺序、使用交织函数、解交织函数等等来实现交织、解交织,组合方式一的演变实现方式在此不再详细描述。
组合方式二、块交织器的各列向量采用控制列表控制块交织器列循环移位的方式实现列交织,即块交织器的各列向量按照实施例一中的交织方式进行交织;块交织器的各行向量根据不循环移位的交织列表进行行交织。在组合方式二中,交织列表和控制列表的大小均为5。具体实现过程如图25所示。
图25中,在步骤1、包含L(L=20)比特数据的数据串301逐行写入块交织器302中,块交织器302的大小为:L2×L1,其中,L1=5,L2=4。
步骤2、块交织器302中的各列向量根据控制列表1进行向上循环移位,向上循环移位的结果为:块交织器302成为块交织器1304。
步骤3、块交织器1304中的各行向量根据交织列表2进行交织,块交织器行向量的交织过程如附图24所示,图24中块交织器中的各行向量进行的交织过程相同,即交织列表2不需要进行循环移位等变换,块交织器中的各行向量均与{3,2,0,4,1}进行交织。在图25中块交织器1304中的各行向量均与{2,3,1,4,0}进行交织。块交织器1304成为块交织器1305。
然后,块交织器1305输出数据,本发明实施方式可以采用多种输出方式,如块交织器1305中逐行输出数据得到1306所示的交织结果,再如块交织器1305逐列输出数据得到1307所示的交织结果。
图25中1308对应的是交织器1306的解交织形式,1309对应的是交织器1307的解交织形式。
在上述图25中,数据串301是按行写入块交织器的,并且块交织器是先进行列交织、再进行行交织的。组合方式二也可以通过改变写入块交织器的方式、改变行列交织的顺序、使用交织函数、解交织函数等等来实现交织、解交织,组合方式二的演变实现方式在此不再详细描述。
组合方式三、块交织器的各列向量、各行向量根据两个交织列表进行行列交织。在组合方式三中,两个交织列表的大小均为4、5,具体实现过程如附图26所示。
图26的交织装置实现交织的过程与图25的交织装置实现交织过程的区别在于步骤2、3的实现过程。在步骤2、交织列表2进行向左循环移位,获得一系列交织列表,块交织器302中的各行向量根据交织列表2循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器302成为块交织器1404。
步骤3、块交织器1404中的各列向量根据交织列表1对进行交织,块交织器1404中列向量交织的过程如附图24所示,图24中块交织器中的各列向量进行的交织过程相同,即图24中的交织列表2不需要进行循环移位等变换,块交织器中的各列向量均与{2,3,1,0}进行交织。在图26中块交织器1404中的各列向量均与{2,3,1,0}进行交织。块交织器1404成为块交织器1405。
然后,块交织器1405输出数据,本发明实施方式可以采用多种输出方式,如块交织器1405逐行输出数据得到1406所示的交织结果,再如块交织器1405逐列输出数据得到1407所示的交织结果。
图26中1408对应的是交织器1406的解交织形式,1409对应的是交织器1407的解交织形式。
在上述图26中,数据串301是按行写入块交织器的,并且块交织器是先进行行交织、再进行列交织的。组合方式三也可以通过改变写入块交织器的方式、改变行列交织的顺序、使用交织函数、解交织函数等等来实现交织、解交织,组合方式三的演变实现方式在此不再详细描述。
实施例七、块交织器中的行向量、列向量采用重复交织的方式。上述六种实施例中,块交织器无论是根据控制列表还是根据交织列表进行交织,块交织器的行、列向量只进行一次交织过程。本实施例中,块交织器的行、列向量需要进行多次交织,直到满足交织的要求为止。在本实施例中,交织装置的块交织器有多种对行向量和列向量进行交织的组合方式,下面以几种具体的实现方式为例对本实施例的组合方式进行说明:
组合方式一如附图27所示。
图27中,步骤1、包含L(L=20)比特数据的数据串301逐行写入块交织器302中,块交织器302的大小为:L2×L1,其中,L1=5,L2=4。
步骤2、块交织器302中的各列向量根据控制列表1进行向上循环移位,向上循环移位的结果为:块交织器302成为块交织器304。
步骤3、块交织器304中的各行向量根据控制列表2进行向左循环移位,向左循环移位的结果为:块交织器304成为块交织器305。
重复步骤2,块交织器305中的数据进行各列向量再根据控制列表1进行向上循环移位,向上循环移位的结果为:块交织器305成为块交织器304’。
重复步骤3,再根据控制列表2对块交织器304’中的数据进行各行向量的向左循环移位,向左循环移位的结果为:块交织器304’成为块交织器305’。然后,从块交织器305’中读取数据,本发明实施方式可以采用多种读取方式,如从块交织器305’中逐行读出数据得到310所示的交织结果,再如从块交织器305’中逐列读出数据得到311所示的交织结果。图27中312对应的是交织器310的解交织形式,313对应的是交织器311的解交织形式。
在上述图27中,数据串301是按行写入块交织器的,并且块交织器是按照列交织、行交织、列交织、行交织的顺序实现交织的。组合方式一也可以通过改变写入块交织器的方式、改变行列交织的顺序、使用交织函数、解交织函数、改变重复交织的次数、行列重复交织的次数不同、采用交织列表等等来实现交织、解交织,组合方式一的演变实现方式在此不再详细描述。
组合方式二、块交织器的行向量和列向量分别采用不同的交织方式,并且重复交织,具体实现过程如附图28所示。
图28中,步骤1、包含L(L=20)比特数据的数据串301逐行写入块交织器302中,块交织器302的大小为:L2×L1,其中,L1=5,L2=4。
步骤2、块交织器302中的各列向量根据控制列表1进行向上循环移位,向上循环移位的结果为:块交织器302成为块交织器304。
步骤3、块交织器304中的各行向量根据控制列表2进行向左循环移位,向左循环移位的结果为:块交织器304成为块交织器305。
步骤4,交织列表2进行向上循环移位,获得一系列交织列表,块交织器305中的各列向量根据交织列表2循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器305成为块交织器904。
步骤5、交织列表1进行向左循环移位,获得一系列交织列表,块交织器904中的各列向量根据交织列表1循环移位后得到的一系列交织列表分别进行交织,交织后的块交织器904成为块交织器905。
然后,块交织器905输出数据,本发明实施方式可以采用多种输出方式,如块交织器905逐行输出数据得到1506所示的交织结果,再如块交织器905中逐列输出数据得到1507所示的交织结果。图28中1508对应的是交织器1506的解交织形式,1509对应的是交织器1507的解交织形式。
在上述图28中,数据串301是按行写入块交织器的,并且块交织器是按照列交织、行交织、列交织、行交织的顺序实现交织的。组合方式二也可以通过改变写入块交织器的方式、改变行列交织的顺序、使用交织函数、解交织函数、改变重复交织的次数、行列重复交织的次数不同、采用交织列表等等来实现交织、解交织,组合方式二的演变实现方式在此不再详细描述。
在上述七种实施例中,需要交织的数据串的长度和交织装置的块交织器的大小一致,或者交织函数、解交织函数表示的块交织器也是和数据串的长度一致,即数据串的大小为20比特,块交织器的大小为4×5=20。在实际应用中,可能存在需要交织的数据串和块交织器大小不一致的情况,下面的实施例八给出了数据串长度和块交织器的大小不一致时,交织装置、解交织装置的交织、解交织的实现过程。
实施例八、数据串长度和块交织器的大小不一致时,交织装置、解交织装置的交织、解交织实现过程。
实现方式一如附图29所示。图29中,需要交织的数据串301’的大小为18比特,块交织器302为:4×5=20。实现方式一的交织装置、解交织装置和实施例一中交织装置、解交织装置实现交织、解交织的过程基本相同,其区别在于:在数据串301’写入块交织器302中时,补入地址18、19,这样,块交织器305输出数据时,将地址大于等于18的数据舍弃,从而得到交织后的结果,如从305中逐行读取数据时,得到交织结果306’,再如从305中逐列读取数据时,得到交织结果307’。
实现方式一的交织装置也可以通过交织函数模块中的交织函数来实现,如交织装置利用下述公式(2)得到交织结果306’:
Figure A20071000099000271
其中,
Figure A20071000099000272
0≤i≤N-1;
再如交织装置利用下述公式(3)得到交织结果307’。
I[i]=L1×{[π1(t)+(i%L2))]%L2}+t
其中,
Figure A20071000099000273
0≤i≤N-1。
交织装置将交织结果1[i]大于等于18的数据舍弃。
实现方式二、设定需要交织的数据串为18比特,对数据串进行交织其实是对数据串的地址进行交织,实现方式二的交织装置与实现方式一的交织装置实现交织的过程基本相同,只是在20比特的块交织器305输出数据时,输出的原则为:如果输出的数据小于18,则块交织器将输出的数据写入到交织存储模块中;如果块交织器输出的数据大于或等于18,与上述实现方式一不同的是,不将其舍弃,而是块交织器输出将该位置号为此数据值所对应的数据,如果输出的数据仍然大于或等于18,则块交织器以最新输出的数据为位置号,再输出该位置号为此数值所对应的数据,直到块交织器输出的数据小于18,块交织器将小于18的数据写入交织存储模块中。然后,交织存储模块中存储的18比特数据,即为交织后的结果;如附图30中,块交织器依次输出数据,并将输出的小于18的数据依次写入交织存储模块中,在块交织器输出到19时,则读取块交织器中地址19中的数据4,然后,将4顺序存储在交织存储模块中,块交织器继续顺序输出数据,直到块交织器中的数据全部读取完成。
实现方式二的交织装置也可以通过交织函数的方式来实现,即相应的数据代入交织函数就可以得到交织后的数据,该交织装置可以实现数据的实时交织,且交织结果和附图30的交织结果是完全相同的。具体实现过程如附图31所示。
图31中,设定交织控制模块中的控制列表1、控制列表2和交织函数模块中的交织函数I(i)已知,需要交织的数据的地址输入到交织函数模块的交织函数中,如果经过交织函数得到的函数结果I(i)小于18,那么交织函数模块就将其写入到对应的交织存储模块中。如果经过交织函数得到的函数结果I(i)大于等于18,交织函数模块就进行I(I(i))运算,如果I(I(i))运算得到的结果小于18,交织函数模块就将此结果写入到对应的交织存储模块中;如果I(I(i))运算得到的结果大于等于18,则交织函数模块再进行I(I(I(i)))运算;如果I(I(I(i)))运算得到的结果小于18,交织函数模块将此结果写入到对应的交织存储模块中,如果I(I(I(i)))运算得到的结果仍大于等于18,则交织函数模块再进行I(I…(I(i)))运算,直到运算得到的结果小于18为止。交织函数模块依次将i的值从0写到17就得到交织后的数据。
交织装置利用交织函数进行交织的最大优点是:实现了实时交织。数据串中的每一位数据经过交织计算就可以得到交织后的数据所在的地址,而不是要等到数据串中的所有数据均经过交织后,才能确定出每一位数据的交织结果。该交织装置实现交织的缺点是:交织函数模块在进行多次运算才能够满足条件时,会由于多次计算而产生时延问题。因此,在确定块交织器的行数和列数时,尽量使其乘积接近需要交织的数据串的比特数。
同理,解交织装置的解交织过程也可以采用解交织函数来实现。设定解交织函数模块中的解交织函数为I-1(i),交织后的数据的地址输入到解交织函数模块中,如果解交织函数模块进行I-1(i)运算的结果小于18,则解交织函数模块将I-1(i)运算的结果写入解交织存储器中,如果解交织函数模块进行I-1(i)运算的结果大于等于18,则解交织函数模块进行I-1(I-1(i))运算,如果I-1(I-1(i))运算的结果小于18,则解交织函数模块将I-1(I-1(i))运算的结果写入解交织存储模块中,如果I-1(I-1(i))运算的结果大于等于18,则解交织函数模块再进行I-1(I-1(I-1(i)))运算,如果I-1(I-1(I-1(i)))运算的结果小于18,则解交织函数模块将I-1(I-1(I-1(i)))运算的结果写入解交织存储模块中,如果I-1(I-1(I-1(i)))运算的结果仍大于等于18,则再进行I-1(I-1…(I-1(i)))运算,直到运算结果小于18为止。解交织函数模块依次将i的值从0写到17就可以得到解交织后的数据。
实施例八中描述的两种实现方式只是两种具体的例子,上述实施例一至实施例七任一实施例中,当需要交织的数据串的长度与块交织器的大小不一致时,均可利用上述实施例八中描述的交织装置、解交织装置的实现原理来实现交织、解交织过程。
实施例九、交织装置中设置有多个块交织器,实现并行交织,具体实现过程如附图32所示。
图32中,包含80比特数据的数据串并行写入到4个大小为4×5的交织器中。具体的写入方法为:数据串的第一比特数据写入到块交织器1即缓存器1中的第一行的第一个位置,数据串的第二比特数据写入到块交织器2即缓存器2中的第一行第一个位置,…,数据串的第五比特数据写入到缓存器1中的第一行的第二个位置,数据串的第六比特数据写入到缓存器2中的第一行的第二个位置,…,依次类推,直到数据串中的所有数据写入到这四个缓存器中。然后,4个缓存器中的数据分别进行交织,4个缓存器进行交织的过程可以为上述八个实施例中描述的任何一种交织过程。
在图32中,采用了图7描述的交织装置的交织过程。当交织装置的交织过程完成后,块交织器1先按行或按列输出数据,然后,块交织器2再按行或按列输出数据,依次类推,4个块交织器中的数据输出完成后就得到交织后的数据串。当然,4个块交织器的输出顺序也可以变化为其他方式,而且,块交织器的个数和大小也可以变化为其他方式。
图32的交织装置实现了用两个较小的控制列表即向量交织器,实现较大长度的数据串的交织操作。如果采用实施例一至实施例七中的交织过程,则交织装置的两个控制列表即向量交织器、或者交织列表的大小需满足:L1×L2=80;而实施例九的交织装置中,向量交织器、或者交织列表的大小需满足L1×L2=20,系统存储两个向量的内存节省了1/4。因此,实施例九的交织装置、解交织装置节省了系统存储向量交织器等所需的内存,而且,简化了交织过程中的运算。
实施例十、在IDMA系统中,基于基交织器实现交织的过程。在该过程中,利用了本发明实施方式的产生交织器的装置。也就是说,本发明实施方式的产生交织器的装置先利用交织控制模块、交织模块和交织存储模块产生基交织器,交织存储模块中存储的内容即基交织器;然后,产生交织器模块利用基交织器的循环移位产生多个交织器。交织控制模块、交织模块和交织存储模块产生基交织器的具体实现过程如上述方法中的描述。
在IDMA系统中,需要为每个用户单独设计交织器,每个交织器都需要占用存储空间,本发明实施方式的产生交织器的装置可以利用上述实施例一至实施例九中描述的各种循环移位的方法来设计基交织器,并实现每个用户的交织、解交织。在本实施例中,IDMA系统中只设计了一个基交织器,各用户的交织器是通过基交织器的变换得来的,这样,IDMA系统中可以只存储与基交织器相关的信息,节省了系统的存储空间。
IDMA系统实现各用户的交织、解交织的具体实现过程为:
设定基交织器和基解交织器分别用向量π和π-1来表示。第k个交织器和解交织器分别用πk和πk -1来表示。产生交织器模块对基交织器和基解交织器进行循环移位变换,可以得到第k个交织器和解交织器。第k个交织器可以由基交织器通过循环移位ak位来得到,第k个交织器为:
πk(i)=π((i+ak)%L),i=0,1,…,L-1(9)
其中:%表示取模操作,L为交织器的大小。
第k个解交织器为:
π k - 1 ( i ) = ( π - 1 ( i ) - a k + L ) % L , i=0,1,…,L-1(10)
下面以获得图7中交织器306为例,来说明本发明实施方式利用基交织器产生其他交织器的实现过程。设定基交织器、基解交织器的大小均为20,基交织器的向量形式为:
π → = 2 3 9 15 11 8 14 0 16 7 1 12 13 19 5 10 6 17 18 4 ;
π - 1 → = 7 10 0 1 19 14 16 9 5 2 15 4 11 12 6 3 8 17 18 13 ;
设定ak的值为3,则产生交织器模块将向量π、ak的值代入到公式(9)中,得到:
πk(0)=π(0+ak)%20)=π(0+3)%20)=π(3)=15
πk(1)=π(1+ak)%20)=π(1+3)%20)=π(4)=11
πk(2)=π(2+ak)%20)=π(2+3)%20)=π(5)=8
......
πk(17)=π(17+ak)%20)=π(17+3)%20)=π(0)=2
πk(18)=π(18+ak)%20)=π(18+3)%20)=π(1)=3
πk(19)=π(19+ak)%20)=π(19+3)%20)=π(2)=9
则产生交织器模块得到的第k个交织器的向量形式为:
π k → = 15 11 8 14 0 16 7 1 12 13 19 5 10 6 17 18 4 2 3 9 ;
产生解交织器模块将向量π-1代入到公式(10),可以得到第k个解交织器,运算过程如下:
π k - 1 ( 0 ) = ( π - 1 ( 0 ) + L - a k ) % L = ( π - 1 ( 0 ) + 20 - 3 ) % 20 = ( 7 + 20 - 3 ) % 20 = 4
π k - 1 ( 1 ) = ( π - 1 ( 1 ) + L - a k ) % L = ( π - 1 ( 1 ) + 20 - 3 ) % 20 = ( 10 + 20 - 3 ) % 20 = 7
π k - 1 ( 2 ) = ( π - 1 ( 2 ) + L - a k ) % L = ( π - 1 ( 2 ) + 20 - 3 ) % 20 = ( 0 + 20 - 3 ) % 20 = 17
......
π k - 1 ( 19 ) = ( π - 1 ( 19 ) + L - a k ) % L = ( π - 1 ( 19 ) + 20 - 3 ) % 20 = ( 3 + 20 - 3 ) % 20 = 0
则产生解交织器模块得到的第k个解交织器的向量形式为:
π k - 1 → = 4 7 17 18 16 11 13 6 2 19 12 1 8 9 3 0 5 14 15 10 ;
下面以获得实施例五中交织器806、解交织器808为例,来说明本发明实施方式的产生交织器的装置利用基交织器、基解交织器产生其他交织器、解交织器的过程。
在实施例五中,获得交织器806的交织函数为公式(7):
I[i]=L2×t+π2((i+t)%L2);
其中,
Figure A20071000099000311
0≤i≤N-1。
产生交织器模块将公式(7)代入公式(9)获得:πk(i)=I((i+ak)%L),i=0,1,…,L-1;
产生交织器模块通过对ak设定不同的值可以得到不同的交织器。当ak的值为0时,产生交织器模块产生的交织器和基交织器相同。
获得解交织器808的解交织函数为公式(8):
Figure A20071000099000312
其中,
Figure A20071000099000313
产生解交织器模块将公式(8)代入公式(10)获得: π k - 1 ( i ) = ( I - 1 ( i ) - a k + L ) % L , i=0,1,…,L-1;
产生解交织模块通过对ak设定不同的值可以得到不同的解交织器。当ak的值为0时,产生解交织模块产生的解交织器和基解交织器相同。
在IDMA系统中,不同用户的数据通过上述产生交织器的装置、产生解交织器的装置产生的与之对应的交织器和解交织器后,便可完成交织和解交织的过程。
本发明实施方式还可以通过如附图33和附图34所示的用户的交织装置和解交织装置来实现对不同用户的数据的交织和解交织。
图33中,Vk表示第k个用户需要交织的数据串,Xk表示第k个用户的交织后的数据串。基交织器即为上述实施例一至实施例九中描述的利用各种循环移位的方法得到的交织器。第k个用户需要交织的数据Vk经过基交织器交织后,再循环移位ak位,便可以得到交织后的数据串Xk,其中ak的含义和前面的描述相同。上述循环移位的控制由交织循环移位控制模块实现。
图34中,Xk表示第k个用户的交织后的数据串,Vk表示第k个用户解交织后的数据串。基解交织器即为上述实施例一至实施例九中描述的利用各种循环移位的方法得到的交织器所对应的解交织器。第k个用户交织后的数据Xk,先循环移位L-ak位,然后,再经过基解交织器解交织后,便可以得到解交织后的数据串Vk。其中L为交织/解交织器的大小。上述循环移位的控制由解交织循环移位控制模块实现。
结合图2和图3的IDMA系统的发射和接收装置,本实施方案可以将图33中用户k的交织装置分别替换掉图2中的用户k的交织器模块,得到如图35所示的发射装置。用图34中用户k的解交织装置分别替换掉掉图3中的用户k的解交织器模块,得到如图36所示的接收装置。
本发明实施方式设计基交织器、基解交织器的技术方案比较简单,同现有技术中随机设计交织器的技术方案相比,同样是存储一个交织器的信息,本发明实施方式占用的存储空间少,而且,本发明实施方式可以通过基交织器的变换得到一组交织器,进一步节省了系统的存储空间,降低了系统设计交织器的复杂度。经过仿真测试,采用本发明实施方式技术方案的IDMA系统性能与使用随机方式为每个用户设计交织器的IDMA系统性能计基本相同。
实施例十一、在上述实施例一、二、三中,是通过两个控制列表来控制块交织器的行和列向量的循环移位的位数的,这两个控制列表是向量交织器或者是控制函数的形式,通过对这两个向量交织器或控制函数进行设计,可以生成多个向量交织器或多个控制函数。通过从中抽取两个向量交织器或控制函数,并控制块交织器的行和列向量的循环移位的位数,就可以得到多个交织器,从而满足IDMA系统等需要多个交织器的需求。
下面仍以实施例一为例,对产生多个交织器的实现过程进行说明。设定作为控制列表的两个向量交织器π1和π2分别为:π1={3,2,0,4,1}和π2={2,3,1,0}。
向量交织器π1和π2的所有的交织图案都罗列出来,如π1的交织图案可以为{3,2,0,4,1}、{4,3,1,0,2}、{0,4,2,1,3}、{1,0,3,2,4}、{2,1,4,3,0}等共 C 5 1 · C 4 1 · C 3 1 · C 2 1 = 5 × 4 × 3 × 2 = 120 种情况,所有的这些交织图案构成向量交织器组1;π2的交织图案可以为{2,3,1,0}、{3,0,2,1}、{0,1,3,2}、{1,2,0,3}等共 C 4 1 · C 3 1 · C 2 1 = 4 × 3 × 2 = 24 种情况,这24种交织图案构成向量交织器组2。交织控制模块中的向量交织器可以为向量交织器组1和向量交织器组2中任一选取一个向量交织器作为π1和π2,选取不同的向量交织器对,产生交织器的装置生成的基交织器也不同,这样就得到了多个基交织器。不难看出,通过上面的方法,可以得到的基交织器的数目为 C 120 1 · C 24 1 = 2880 个。
上述实施例十和实施例十一中,基交织器是通过实施例一至实施例九的技术方案生成的。上述根据基交织器为各用户产生交织器的过程由产生交织器模块实现,根据基解交织器为各用户产生解交织器的过程由产生解交织器模块实现。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。

Claims (20)

1.一种交织装置,其特征在于,包括:交织控制模块、交织模块;
交织控制模块:用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;
交织模块:接收需要交织的数据串和交织控制信息,根据交织控制信息对数据串进行交织,并输出交织后的数据串。
2.如权利要求1所述的装置,其特征在于,所述交织模块为:块交织器;
需要交织的数据串逐行/逐列写入块交织器中,块交织器根据控制模块提供的行循环移位位数、列循环移位位数的交织控制信息进行行列循环移位,实现行列交织,块交织器逐行/逐列输出数据。
3.如权利要求2所述的装置,其特征在于,所述行循环移位位数的表现形式为:控制列表、或者函数、或者序列;所述列循环移位位数的表现形式为:控制列表、或者函数、或者序列。
4.如权利要求2所述的装置,其特征在于,所述块交织器循环移位的过程包括:先进行行循环移位、再进行列循环移位;或者先进行列循环移位、再进行行循环移位。
5.如权利要求1所述的装置,其特征在于,交织模块为:块交织器,交织控制模块存储有控制块交织器交织方式的交织列表,所述交织控制信息为:通过循环移位产生的一系列交织列表;
需要交织的数据串逐行/逐列写入块交织器中;
块交织器中的各行、各列根据交织控制模块提供的循环移位后产生的各交织列表进行行、列向量交织,然后,块交织器逐行/逐列输出数据。
6.如权利要求5所述的装置,其特征在于:
控制块交织器行向量交织的交织列表进行循环移位的次数为块交织器行向量的行数,各次循环移位后的交织列表控制块交织器中对应的行向量进行行交织;控制块交织器列向量交织的交织列表进行循环移位的次数为块交织器列向量的列数,各次循环移位后的交织列表控制块交织器中对应的列向量进行列交织;或者
控制块交织器行向量交织的交织列表进行循环移位的次数为块交织器行向量的行数,各次循环移位后的交织列表来控制块交织器中对应的行向量进行行交织;控制块交织器列向量交织的交织列表不进行循环移位,控制块交织器中各列向量的列交织;或者
与块交织器行向量交织的交织列表不进行循环移位,控制块交织器中各行向量的行交织;控制块交织器列向量交织的交织列表进行循环移位的次数为块交织器列向量的列数,各次循环移位后的交织列表控制块交织器中对应的列向量进行列交织。
7.如权利要求5所述的装置,其特征在于,所述块交织器先进行行交织、再进行列交织;或者先进行列交织、再进行行交织。
8.如权利要求1所述的装置,其特征在于,所述交织模块为:块交织器;交织控制模块存储有交织列表,所述交织控制信息为:控制块交织器行/列循环移位位数的控制信息和通过循环移位产生的一系列交织列表;
需要交织的数据串逐行/逐列写入块交织器中,块交织器根据交织控制模块提供的行/列循环移位位数的交织控制信息进行行/列循环移位,实现行/列交织;
交织控制模块中的交织列表循环移位后控制块交织器中的各列/各行向量进行列/行交织;
块交织器逐行/逐列输出数据。
9.如权利要求2至8中任一权利要求所述的装置,其特征在于,所述行交织和/或列交织的过程包括一次或多次。
10.如权利要求2至8中任一权利要求所述的装置,其特征在于,当需要交织的数据串的长度小于块交织器的大小时,数据串依次写入到块交织器中,块交织器利用额外数据填充其剩余空间,且块交织器输出数据的过程包括:
块交织器依次判断需要输出的数据地址是否属于数据串的数据地址,如果属于数据串中的数据地址,则输出数据地址,否则丢弃需要输出数据地址;或者
块交织器依次判断需要输出的数据地址是否属于数据串的数据地址,如果属于数据串中的数据地址,则输出数据地址,否则将该需要输出的数据地址对应的块交织器中相应位置的数据地址作为下一个需要输出的数据地址,并进行上述判断过程;
块交织器输出的各数据地址对应的数据串即为交织后的数据串。
11.如权利要求2至8中任一权利要求所述的装置,其特征在于,当需要交织的数据串的长度大于块交织器的大小时,所述交织模块包括:多个块交织器;数据串分别写入多个块交织器中;
各块交织器分别进行行列交织,且各交织器逐行/逐列输出数据。
12.如权利要求2至8中任一权利要求所述的装置,其特征在于,所述交织模块为交织函数模块,交织函数模块中存储有交织函数,所述交织函数是基于块交织器的交织过程设置的。
13.如权利要求1至12中任一权利要求所述的一种解交织装置,其特征在于,包括:解交织控制模块、解交织模块;
解交织控制模块:用于存储与循环移位相关的解交织控制信息,并将该解交织控制信息提供给解交织模块,解交织控制信息与交织控制信息对应;
解交织模块:接收需要解交织的数据串和解交织控制信息,根据解交织控制信息对交织后的数据串进行解交织,并输出解交织后的数据串。
14.如权利要求13所述的解交织装置,其特征在于,所述解交织模块为块交织器、或存储有解交织函数的解交织函数模块,所述解交织函数是基于块交织器的交织过程设置的。
15.如权利要求1至12中任一权利要求所述的一种产生交织器的装置,其特征在于:所述产生交织器装置包括:交织控制模块、交织模块、交织存储模块和产生交织器模块;
交织控制模块:用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;
交织模块:接收需要交织的数据串的地址信息和交织控制信息,根据交织控制信息对数据串的地址信息进行交织,得到相应交织器的交织信息,将所述交织信息输出至交织存储模块;
交织存储模块:用于接收并存储交织信息;
产生交织器模块:用于从存储模块中获取交织信息,并对该交织信息进行循环移位,产生多个不同的交织器。
16.如权利要求15所述的装置,其特征在于:
设定交织存储模块中存储的交织信息为基交织器的交织信息;
产生交织器模块产生的第k个交织器为:πk(i)=π((i+ak)%L);
其中:i=0,1,…,L-1,π表示基交织的交织信息,%表示取模操作,L为基交织器的大小。
17.如权利要求13或14所述的一种产生解交织器的装置,其特征在于:所述产生解交织器的装置包括:解交织控制模块、解交织模块、解交织存储模块和产生解交织器模块;
解交织控制模块:用于存储与循环移位相关的解交织控制信息,并将该解交织控制信息提供给解交织模块,解交织控制信息与交织控制信息对应;
解交织模块:接收需要解交织的数据串的地址信息和解交织控制信息,根据解交织控制信息对交织后的数据串的地址信息进行解交织,得到相应解交织器的解交织信息,将所述解交织信息输出至解交织存储模块;
解交织存储模块:用于接收并存储解交织信息;
产生解交织器模块:用于从解交织存储模块中获取解交织信息,并对该解交织信息进行循环移位,产生多个不同的解交织器。
18.如权利要求17所述的装置,其特征在于:
设定解交织存储模块中存储的解交织信息为基解交织器的解交织信息;
产生解交织器模块产生的第k个解交织器为: π k - 1 ( i ) = ( π - 1 ( i ) - a k + L ) % L ;
其中:i=0,1,…,L-1,π-1表示基解交织的解交织信息,%表示取模操作,L为交织器的大小。
19.如权利要求1至12中任一权利要求所述的一种交织装置,其特征在于:所述交织装置包括:交织控制模块、交织模块、交织存储模块和交织循环移位控制模块;
交织控制模块:用于存储与循环移位相关的交织控制信息,并将该交织控制信息提供给交织模块;
交织模块:接收需要交织的数据串的地址信息和交织控制信息,根据交织控制信息对数据串的地址信息进行交织,得到相应交织器的交织信息,将所述交织信息输出至交织存储模块;
交织存储模块:用于存储交织信息,该交织信息为基交织器的交织信息,基交织器对其接收的数据串进行交织,并输出;
交织循环移位控制模块:用于将基交织器输出的数据串进行循环移位。
20.如权利要求13或14所述的一种解交织装置,其特征在于:所述解交织装置包括:解交织控制模块、解交织模块、解交织存储模块和解交织循环移位控制模块;
解交织控制模块:用于存储与循环移位相关的解交织控制信息,并将该解交织控制信息提供给解交织模块,解交织控制信息与交织控制信息对应;
解交织模块:接收需要解交织的数据串的地址信息和解交织控制信息,根据解交织控制信息对交织后的数据串的地址信息进行解交织,得到相应解交织器的解交织信息,将所述解交织信息输出至解交织存储模块;
解交织循环移位控制模块:用于将接收的数据串进行循环移位,并输出;
解交织存储模块:用于存储解交织信息,该解交织信息为基解交织器的解交织信息,基解交织器对解交织循环移位控制模块输出的数据串进行解交织,并输出。
CNA2007100009909A 2007-01-17 2007-01-17 一种交织装置、解交织装置及其应用 Pending CN101227195A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100009909A CN101227195A (zh) 2007-01-17 2007-01-17 一种交织装置、解交织装置及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100009909A CN101227195A (zh) 2007-01-17 2007-01-17 一种交织装置、解交织装置及其应用

Publications (1)

Publication Number Publication Date
CN101227195A true CN101227195A (zh) 2008-07-23

Family

ID=39858989

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100009909A Pending CN101227195A (zh) 2007-01-17 2007-01-17 一种交织装置、解交织装置及其应用

Country Status (1)

Country Link
CN (1) CN101227195A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977093A (zh) * 2010-09-26 2011-02-16 东南大学 一种ofdm-uwb中不同并行度的交织方法
CN103873187A (zh) * 2012-12-11 2014-06-18 清华大学 正交频分复用系统中的交织方法及装置
US9442661B2 (en) 2013-12-09 2016-09-13 International Business Machines Corporation Multidimensional storage array and method utilizing an input shifter to allow an entire column or row to be accessed in a single clock cycle
US9715343B2 (en) 2013-12-09 2017-07-25 International Business Machines Corporation Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle
CN108880757A (zh) * 2018-07-19 2018-11-23 北京邮电大学 一种交织器确定方法、装置、设备及存储介质
CN109314601A (zh) * 2016-06-14 2019-02-05 索尼公司 用于交织多址接入通信的电子设备和方法
CN111431662A (zh) * 2014-09-25 2020-07-17 索尼公司 无线通信装置和无线通信方法
CN112929125A (zh) * 2019-12-05 2021-06-08 中国科学院上海高等研究院 一种基于数据块变换的块交织方法及系统
CN112997434A (zh) * 2018-11-02 2021-06-18 上海诺基亚贝尔股份有限公司 基于交织模式的noma技术
CN112994835A (zh) * 2019-12-02 2021-06-18 中国科学院上海高等研究院 一种块交织处理方法及系统

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977093A (zh) * 2010-09-26 2011-02-16 东南大学 一种ofdm-uwb中不同并行度的交织方法
CN101977093B (zh) * 2010-09-26 2013-04-03 东南大学 一种ofdm-uwb中不同并行度的交织方法
CN103873187A (zh) * 2012-12-11 2014-06-18 清华大学 正交频分复用系统中的交织方法及装置
CN103873187B (zh) * 2012-12-11 2017-07-07 清华大学 正交频分复用系统中的交织方法及装置
US9442661B2 (en) 2013-12-09 2016-09-13 International Business Machines Corporation Multidimensional storage array and method utilizing an input shifter to allow an entire column or row to be accessed in a single clock cycle
US9715343B2 (en) 2013-12-09 2017-07-25 International Business Machines Corporation Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle
CN111431662A (zh) * 2014-09-25 2020-07-17 索尼公司 无线通信装置和无线通信方法
CN111431662B (zh) * 2014-09-25 2023-09-19 索尼公司 无线通信装置和无线通信方法
CN109314601A (zh) * 2016-06-14 2019-02-05 索尼公司 用于交织多址接入通信的电子设备和方法
US11128393B2 (en) 2016-06-14 2021-09-21 Sony Corporation Electronic device and method for interleave division multiple access communication
CN109314601B (zh) * 2016-06-14 2021-10-12 索尼公司 用于交织多址接入通信的电子设备和方法
CN108880757A (zh) * 2018-07-19 2018-11-23 北京邮电大学 一种交织器确定方法、装置、设备及存储介质
CN108880757B (zh) * 2018-07-19 2020-07-31 北京邮电大学 一种交织器确定方法、装置、设备及存储介质
CN112997434A (zh) * 2018-11-02 2021-06-18 上海诺基亚贝尔股份有限公司 基于交织模式的noma技术
CN112997434B (zh) * 2018-11-02 2023-08-22 上海诺基亚贝尔股份有限公司 基于交织模式的noma技术
CN112994835A (zh) * 2019-12-02 2021-06-18 中国科学院上海高等研究院 一种块交织处理方法及系统
CN112929125A (zh) * 2019-12-05 2021-06-08 中国科学院上海高等研究院 一种基于数据块变换的块交织方法及系统

Similar Documents

Publication Publication Date Title
CN101227195A (zh) 一种交织装置、解交织装置及其应用
CN101047393B (zh) 一种产生交织器/解交织器的方法及其应用
CN100536359C (zh) 通信系统的交织/解交织装置和方法
CN102208210B (zh) 闪存设备及其数据存储方法
CN101719810A (zh) 一种并行化交织器的仿真生成方法
CN100568745C (zh) 通信系统中的交织器和交织方法
CN101257313B (zh) 一种基于fpga实现的解卷积交织器及解卷积交织方法
CN102142928B (zh) 交织、解交织外码编码输出码字的方法和交织、解交织器
CN103873186B (zh) Td-scdma上行传输信道处理方法
RU2007116510A (ru) Устройство и способ для перемежения каналов в системе мобильной связи
CN101662331A (zh) 多址编码、传输、译码的方法、装置及系统
CN101510781A (zh) 交织和解交织处理中哑元的填充方法和装置及处理系统
CN1319300C (zh) 码分多址通信系统中的数据发送设备和方法
CN101242200B (zh) 差分跳频g函数构造方法
CN101043284B (zh) 一种宽带码分多址系统中turbo编码器内的交织器
CN109474373A (zh) 交织方法和交织装置
CN101577556B (zh) 一种实现矩形交织的装置
CN101286816B (zh) 一种应用于多媒体传感网的并行信道编码装置
CN101517902A (zh) 采用比特位对处理的用于多级交织方案的解交织器
CN101777923B (zh) Ctc编码器、内码交织器以及内码交织方法、编码处理方法
CN101188435B (zh) 一种比特交织装置与方法
CN101459494A (zh) 多层交织复用空时码系统、数据交织的装置及方法
CN101540651A (zh) 一种实现列交织的方法和装置
CN105187151B (zh) 一种wcdma系统下行扰码序列的产生方法及系统
CN100592642C (zh) 交织器和编/译码器以及交织实现方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20080723