一种并行化交织器的仿真生成方法

文档序号:7719953阅读:151来源:国知局

专利名称::一种并行化交织器的仿真生成方法
技术领域
:本发明属于移动无线数据传输
技术领域
,特别涉及一种并行交织器的生成方法。
背景技术
:交织是通信系统中进行数据处理而采用的一种技术,交织器从本质上来说就是一种实现最大限度的改变信息结构而不改变信息内容的器件。从传统上来讲就是使误码离散化,使突发差错信道变为离散差错信道,接收端纠正随机离散差错,从而改善系统性能。交织的功能,从本质上讲,就是按照某种映射关系交换输入信号序列中各个符号的位置,得到相应的输出信号序列,而这个输入信号序列中各个符号对应在输出信号序列中的位置就是交织图案。现有的交织图案的生成方法主要有行列式分组交织、螺旋式分组交织、巻积交织、随机交织等,各方法的内容及特点分别说明如下1.行列式分组交织行列式分组交织器的基本设计思想即"行入列出"或"列入行出"。首先开辟一个大于等于输入信号序列的长度L的矩形存储空间;然后,将输入信号序列中的所有符号以行方向写入,进行行列交换;最后,将所有符号以列方向读出。根据输入信号符号在输出信号序列中的位置得到交织图案。2.螺旋式分组交织分组螺旋交织器的设计过程是首先开辟一个大于等于输入信号序列的长度L的矩形存储空间;然后,将输入信号序列中的所有符号以行方向写入,进行行列交换;最后,将信号序列以对角线方向读出。根据输入信号序列各符号在输出信号序列中的位置得到交织图案。3.巻积交织巻积交织器的设计过程是首先,确定输入信号序列被分成的支路数B和各支路的延时符号周期,其中第一条支路没有延时,第二条支路延时M个符号周期,第三条支路延时2M个符号周期,……,第B条支路延时(B-1)M个符号周期;然后,将输入信号序列各个符号按顺序分别进入B条支路,同时按输入端的节拍分别同步输出对应支路经延迟的符号;最后,根据输入信号序列各符号在输出信号序列中的位置得到交织图案。4.随机交织巻积交织器的设计过程是首先,开辟一个大于等于输入信号序列的长度L的存储空间;其次,待交织的信号序列的各个符号顺序写入这个存储空间;然后,根据交织长度L确定最大长度移位寄存器码的阶数m及其本原多项式,其中L和m的关系为L=2m_l,每阶对应一个移位寄存器;接着,通过寄存器移位、模二和、读取等操作,将信号序列中所有符号都读出;最后,根据输入信号序列各符号在输出信号序列中的位置得到交织图案。从上述几种交织器的设计方法可以看出,对于相同的交织长度,为了得到不同的交织图案行列式分组交织和螺旋式分组交织需要改变矩形存储空间的行数和列数或者交换不同的行列;而巻积交织需要改变支路数B和各条支路的延时周期,它们均必须改变硬件结构才能实现,因此灵活性不够高;而随机交织是利用最大长度移位寄存器码本身作为交织后的地址,从而组成交织图案的,因此,一旦交织长度L固定,其对应的最大长度移位寄存器码的阶数m及其本原多项式也就固定,这样交织图案也就固定,缺乏灵活性。无线通信系统中,为了完成不同用户的所有扩频码片的交织和解交织处理,在系统中需要将每个用户的交织器信息存储起来。若采用上述几种交织图案的设计方法,当交织器长度比较长,用户数目比较多时,存储所有用户的交织器的信息会占用大量的内存,增加了系统的复杂度,生成多种不同的交织图案也不够灵活;另一方面,传统的多用户迭代检测算法,由于其逐码片迭代检测特性,时延较大,系统的吞吐率不高。并行化的交织和解交织操作,可以方便的进行并行译码,从而能有效的降低系统时延。交织器的并行化的一种实现方法是将RAM存储器分割为多个可以并行存储的RAM块。如果是不同的RAM块,则能够独立地进行存取,因此最多能够同时进行与RAM块数相同数目的存取。然而,根据交织图案和RAM块的分割方法的不同,有时候会产生存储器冲突。所谓的存储冲突,就是指在同一时钟周期两个或两个以上并行处理器同时对一个存储器内的数据进行读或者写的操作。为了解决存储冲突问题,设计并行化交织器的时候要保证并行译码/解扩所处理的数据来自不同的存储块。因此,在满足一定条件下,可以设计出冲突避免的交织图案。设将存储器划分为可并行存取的M块,当M个符号从并行译码器输出并同时写入到不同的RAM块中时,可以在存储器冲突避免的情况下,使得并行化达到最大。
发明内容本发明的目的在于为克服多用户检测迭代译码时延大的不足,提出一种无存储争用的并行交织器设计方法,不仅能根据存储的少量信息实时生成不同的交织图案,而且,并行化的交织操作,为并行译码减小了时延,有效提高到了系统吞吐量。所述方法是在计算机中依次按以下步骤实现的步骤(1)把存储器划分为能独立存取的多个块,块数为M,每块内的存储单元数为W,从而得到所述每个存储单元的块地址,用数组(块号,块内地址)表示为{m,wh再把待交织序列按行优先顺序排成M行W列的二维矩阵,所述交织序列中每个符号所在的行号和列号即为该符号的段地址。用数组(段号,段内地址)表示为{m',w'h其中,mG{1,2,…,M),m'G{1,2,.,M},wG{1,2,.,W},w'G{1,2,.,W};步骤(2)对上述二维矩阵排列的待交织序列,采用随机生成的序列作为列内交织图案,对每列符号进行列内重排,把每个所述段地址中的段号映到所述块地址中的块号,其步骤如下步骤(2.1)生成的W个随机种子,并任意分配给并行化交织器的每一列,所述W见步骤(1)中的每个存储块的存储单元数,步骤(2.2)各交织器根据分配到的随机种子生成W个长度各为M的随机序列,并保证每个序列为{0,1,2,...,M-1}的随机重排;步骤(2.3)按下述方法进行列内各符号的重排将随机序列中每个元素的值作为4行号,以该元素所在的列作为列号,映射到步骤(1)中二维矩阵内二维排列的待交织序列的符号中,把每个段地址的段号写入到块地址中的块号,以形成列内重排后的待交织序列的二维矩阵,行数为M,列数为W;步骤(3)在步骤(2)实现列内重排的基础上,通过对每行进行行内重排,把所述的每个段地址中的段内地址映射到相应块的块内地址中,其步骤如下步骤(3.1)根据3G卯Realse8标准中的QPP交织器,采用输入位置索引i与输出位置索引h(i)之间的如下关系式h(i)=^i+f^)modW,其中常数fpf2通过3G卯Realse8标准中查找Turbo码内交织器参数表所述存储单元数W的值得到,从而生成了长度为W的基交织向量;步骤(3.2)把步骤(3.1)中所得到的基交织向量根据所述并行化交织器中各交织器的序号依次进行不同次数k的固定长度的循环移位,k=1,2,...,W,第一次移位便得到每个所述交织器的第一行的交织图案,再把每个交织器第一行的交织图案依次进行M-l次单位长度的循环移位,得到M-l个交织向量,拼成所述每个交织器的行交织图案,步骤(3.3)按下述方法构建各交织器在行交织后的存储表以步骤(3.3)行交织图案中所述基交织向量中的各个分量的值作为列号,所在的行作为行号,映射到步骤(2.3)中的列内重排后的待交织序列的二维矩阵,将段地址所在的行号写入到相应块地址所在的存储单元中,得到各交织器在行交织后的存储表;步骤(4)把步骤(3.3)各交织器存储器中的数据按行顺序依次读出,得到各交织器的序列。本发明的特点及效果根据本发明,对于交织器的个数K,交织器并行度M,存储器长度W,利用相同的方法,可以实时得到多个可进行并行操作的交织图案。仅存储少量信息,就可以生成用于列内重排的随机序列和用于行内重排的基交织向量。只需要对基交织向量进行简单的循环移位操作,就可灵活、方便、快捷得到新的交织图案。不仅节约了存储空间,而且不需要改变硬件结构,算法复杂度低,没有复杂的乘除运算。除此以外,本发明是一种无存储器访问冲突的并行交织器设计方法。在完成列内重排的基础上再进行行内重排,相当于是将符号分配到不同存储块后,再在各存储块中为各符号分配存储单元,最后来自不同存储块的多个符号按存储单元地址顺次读出,从而满足了无存储器冲突的条件VA:,A:'二1,2,…,丄,A;^:A:'k=k'(modW)—M(k)^M(k')k=k'(modW)—M(ji(k))^M(ji(k'))它将交织(解交织)操作在多个存储器间并发进行,克服了传统的多用户迭代检测,特别是用户数量大的情况下,逐码片译码时延大的缺点,加快了交织和并行译码的速度,减小了时延,有效的提高了系统吞吐量。本发明可以作为通信系统中编码器的内交织方法,也可以作为信道交织方法,还可以作为通信系统中为区分不同用户而采用的交织多址技术中的不同用户的地址码(即不同用户的交织图案)的生成方法。图1为本发明并行交织图案生成方法的流程图。具体实施例方式本发明提供了一种并行化交织器图案的生成方法,此方法包括步骤(1)将RAM划分为可独立存取的多个块,块数为M,每块存储单元数为W,即可得到每个存储单元的块地址(块号,块内地址);将待交织序列按顺序等分为M段,每段符号数为W,即可到每个符号段地址(段号,段内地址);步骤(2)对上述二维排列的待交织序列,通过对每列进行列内重新排列,将每个段地址中的段号映射到块地址中的块号;步骤(3)在实现列内重排的基础上,通过对每行进行行内重新排列,将每个段地址中的段内地址映射到相应块的块内地址中;步骤(4)将段地址所在的符号写入到相应块地址所在的RAM存储单元中,并将各个RAM块中的数据,按照地址顺序同时读出;所述步骤(1)中,待交织的序列的行优先二维排列,每个符号的段地址表示为(m,w),m,w分别表示该符号所在二维排列的行号(段号)和列号(段内地址)。RAM存储单元的块地址为(m',w'),m',w'分别表示该存储单元所在RAM块的块号和块内地址,其中m,m'G{1,2,...,M}w,w'G(1'2,…,W);也即待交织序列中的第i(i=(m_l)XW+w)个符号就是交织后序列中的第j(j=(m'-l)XW+w')个符号。所述步骤(2)(3)中,从段地址到块地址的映射通过列内重排和行内重排两步来实现列内重排对段内地址相同的(同一列)符号(a:,J,根据段号m,按照规则C;(m)得到待存RAM块的块号m',即m'=Cw(m)。从段号到块号的映射,相当于是将待交织符号分配到了各个独立存取的RAM块中。例如块号为m'的RAM块分配到的交织符号为&c,-W、i(m.),2,-,"0.),}°行内重排在上述列内重排完成的基础上,对分配到同一RAM块的符号,根据该符号的段内地址w,按照规则IV(w)得到该符号在块号为m'的RAM块中的块内地址w',即w'=Rm,(w)。从段内地址到块内地址的映射,相当于是将分配到RAM块中的符号放入该RAM块相应的存储单元中。至此,完成了待交织序列段地址(m,w)到可独立存取的RAM块地址(m',w')的映射(m,w)—(Cw(m),Rm,(w))所述步骤(4)中,将各个RAM块中的数据同时读出,是指在同一时钟周期将块内地址相同的存储单元的数据同时读出,完成并行交织操作。对段号到块号的映射,即列内重排方法Cw(m),其中一种实现方式是采用随机生成的序列作为列内交织图案;为各交织器分配不同的随机数种子,例如交织器k,根据分配到的随机种子生成W个长度为M的随机序列(每个序列中的元素从{1,2,...,M}中取值,且互不相同),作为每一列的交织图案;对段内地址到块内地址的映射,即行交织图案生成方法Rm,(w),可以通过序列的循环移位来得到不同的交织向量(交织图案);根据存储块RAM的长度W生成基交织向量,将基交织向量依次进行K次固定长度的循环移位,得到每个交织器的第一行交织图案;再将每个交织器的第一行交织图案依次进行M-1次单位长度的循环移位得到的(M-l)个交织向量。由此构成该交织器的M行交织图案;下面结合附图和具体实施例详细说明本发明的技术方案。本发明的并行交织器设计方法,从待交织序列符号的段地址到存储块块地址的映射,相当于是根据存储器块数M和每块的长度W,对交织前的序列按行优先顺序进行M行和W列的二维排列后,先用随机序列作为图案进行列内重新排列,再通过基交织向量的循环移位进行行内重新排列,由此得到多个交织器的交织图案。依次包含如下几个步骤首先,初始化参数可并行化交织的交织器个数为K(也即需要生成的交织图案数);每次交织的序列长度N;并行度M,每个存储块的长度W(则有N=MXW);然后,对每一种可并行化交织的交织图案均可按如下步骤生成步骤(1)将待交织序列按行优先顺序,作M行W列的二维排列;步骤(2)将生成的W个长度为M的随机序列作为每列的交织图案,进行列内重新排列;步骤(3)再根据存储器的长度W生成基交织向量,对基交织向量循环移位,得到各交织器的行交织图案,进行行内重新排列;步骤(4)将各存储块中的数据按地址顺序同时读出,即可得到经过并行化交织后的序列。实施例本实施例为交织器个数K=2、并行度M=4、待交织序列长度N=24、由此得到存储器长度W=N/M=6时的并行交织图案的生成。其中,所述步骤(3)中,基交织向量的生成,采用3GPPRealse8中的QPP交织器,输入位置索引i与输出位置索引(i)采用如下关系式Ji(i)=(fii+f^i^modW,参数4和f^取决于块大小W,可以通过3GPPRealse8标准中查找Turbo码内交织器参数表得到(比如当W=40时,^=3,f2=10)。设定交织前的信号地址序列是按1-24的顺序排列,其交织图案的产生包括如下步骤步骤(1)将待交织序列按行优先顺序,作4行6列的二维排列表1交织前序列的二维排列<table>tableseeoriginaldocumentpage8</column></row><table>步骤(2)各交织器由各自的随机种子数生成W=6个长度为M作为每列的交织图案,如下表2、表3所示表2交织器1的列内交织图案4的随机序列,<table>tableseeoriginaldocumentpage8</column></row><table>2的列交织图案<table>tableseeoriginaldocumentpage8</column></row><table>然后对各二维排列的每一列数据,根据列交织图案进行列内重排,得到如下表4、表5所示表4交织器1列内重排后的数据<table>tableseeoriginaldocumentpage8</column></row><table>表5交织器2列内重排后的数据<table>tableseeoriginaldocumentpage9</column></row><table>步骤(3)根据3GPPRealse8中的QPP交织器,采用的输入位置索引i与输出位置索引h(i)关系式为<formula>formulaseeoriginaldocumentpage9</formula>生成长度为6的基交织向量为Jib^二[402135],则交织器1的第一行交织图案相对于h^循环移位长度为3,交织器2的第一行交织图案相对于^ni循环移位长度为6,则<formula>formulaseeoriginaldocumentpage9</formula>将Jiu和Ji2,。各经过3次循环移位一个单位长度后,得到余下三行的交织图案。由此,可以得到上述两个交织器的并行交织图案分别为<formula>formulaseeoriginaldocumentpage9</formula>各交织器的行交织图案如表6、表7所示表6交织器1的行交织图案<table>tableseeoriginaldocumentpage9</column></row><table>表7交织器2的行交织图案<table>tableseeoriginaldocumentpage10</column></row><table>按表6、表7所示的行交织图案,对各交织器的列交织后存储表的每一行进行行内交织,便得到了写入到存储块各存储单元中的数据,如表8、表9所示表8交织器1行交织后的存储表<table>tableseeoriginaldocumentpage10</column></row><table>表9用户2行交织后的存储表<table>tableseeoriginaldocumentpage10</column></row><table>步骤(4)将各交织器存储器中的数据按行依次读出,即可得到交织后的序列,交织器1发送端序列为{20,20,12,17,19,3,4,18,11,1,9,2,24,23,7,15,8,10,5,13,21,14,16,6},交织器2发送端序列为:{12,8,16,21,5,19,14,10,3,23,7,24,22,9,17,13,18,20,15,11,25,6,2,4}。在本并行化交织器的设计方法中列内重排的交织图案生成方法,也可以是其他随机序列产生方法,如m序列法、线性同余法,而不限于基于随机种子的随机序列生成方法;行内重排的交织图案生成方法,其中基交织器的循环移位的长度也可以采用其他定义;如需要生成更多的交织图案,也可以采用将列内交织图案循环移位的方式来区分不同的交织器。上述实施例只是用于具体说明本发明的交织生成方法,其中的具体数据只是为了说明而随意设置的,不能用以限定本发明的保护范围,即只要按本权利要求所述的步骤实施,其中数据的任意变化均应属于本发明的保护范畴。权利要求一种并行化交织器的仿真生成方法,其特征在于,所述方法是在计算机中依次按以下步骤实现的步骤(1)把存储器划分为能独立存取的多个块,块数为M,每块内的存储单元数为W,从而得到所述每个存储单元的块地址,用数组(块号,块内地址)表示为{m,w},再把待交织序列按行优先顺序排成M行W列的二维矩阵,所述交织序列中每个符号所在的行号和列号即为该符号的段地址。用数组(段号,段内地址)表示为{m′,w′},其中,m∈{1,2,...,M},m′∈{1,2,...,M},w∈{1,2,...,W},w′∈{1,2,...,W};步骤(2)对上述二维矩阵排列的待交织序列,采用随机生成的序列作为列内交织图案,对每列符号进行列内重排,把每个所述段地址中的段号映到所述块地址中的块号,其步骤如下步骤(2.1)生成的W个随机种子,并任意分配给并行化交织器的每一列,所述W见步骤(1)中的每个存储块的存储单元数,步骤(2.2)各交织器根据分配到的随机种子生成W个长度各为M的随机序列,并保证每个序列为{0,1,2,...,M-1}的随机重排;步骤(2.3)按下述方法进行列内各符号的重排将随机序列中每个元素的值作为行号,以该元素所在的列作为列号,映射到步骤(1)中二维矩阵内二维排列的待交织序列的符号中,把每个段地址的段号写入到块地址中的块号,以形成列内重排后的待交织序列的二维矩阵,行数为M,列数为W;步骤(3)在步骤(2)实现列内重排的基础上,通过对每行进行行内重排,把所述的每个段地址中的段内地址映射到相应块的块内地址中,其步骤如下步骤(3.1)根据3GppRealse8标准中的QPP交织器,采用输入位置索引i与输出位置索引π(i)之间的如下关系式π(i)=(f1i+f2i2)modW,其中常数f1,f2通过3GppRealse8标准中查找Turbo码内交织器参数表所述存储单元数W的值得到,从而生成了长度为W的基交织向量;步骤(3.2)把步骤(3.1)中所得到的基交织向量根据所述并行化交织器中各交织器的序号依次进行不同次数k的固定长度的循环移位,k=1,2,...,W,第一次移位便得到每个所述交织器的第一行的交织图案,再把每个交织器第一行的交织图案依次进行M-1次单位长度的循环移位,得到M-1个交织向量,拼成所述每个交织器的行交织图案,步骤(3.3)按下述方法构建各交织器在行交织后的存储表以步骤(3.3)行交织图案中所述基交织向量中的各个分量的值作为列号,所在的行作为行号,映射到步骤(2.3)中的列内重排后的待交织序列的二维矩阵,将段地址所在的行号写入到相应块地址所在的存储单元中,得到各交织器在行交织后的存储表;步骤(4)把步骤(3.3)各交织器存储器中的数据按行顺序依次读出,得到各交织器的序列。全文摘要一种并行化交织器的仿真生成方法,属于移动无线数据传输
技术领域
,其特征在于将RAM划分为能独立存取的M块,每块存储单元数为W,得到每个存储单元的块地址(块号,块内地址);将待交织序列按顺序等分为M段,每段符号数为W,得到每个符号段地址(段号,段内地址);将生成的不同随机序列作为各列交织图案,每个段地址中的段号映射到了块地址中的块号;在此基础上,根据存储器的长度生成基交织向量,通过对基交织向量的循环移位得到不同交织器的各行交织图案,将每个段地址中的段内地址映射到相应块的块内地址中;将段地址所在的符号写入到相应块地址所在的存储单元中,并按照地址顺序同时读出。本发明节约了存储资源,有效降低了时延。文档编号H04L1/00GK101719810SQ20091023717公开日2010年6月2日申请日期2009年11月13日优先权日2009年11月13日发明者吴双,周世东,张秀军,李漪,肖立民,陈翔申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1