用于分集交织的系统和方法

申请号 CN200580032869.3 申请日 2005-07-29 公开(公告)号 CN101091346B 公开(公告)日 2014-07-09
申请人 高通股份有限公司; 发明人 迈克尔·毛·王; 凌复云; 拉马斯瓦米·穆拉利; 拉吉夫·维贾亚恩;
摘要 用交织实现调制分集的系统和方法。将码比特放置到多个组中,然后打乱在每组中的码比特。
权利要求

1.一种用于对码比特进行交织的方法,包括:
根据将邻近的码比特顺序地分布到不同组中的比特次序将码比特放置到多个组中,使得所述码比特被交织成第一次序;以及
根据每组的组比特次序,重新排列每个给定组内的码比特,使得所述码比特被进一步交织成第二次序,其中,所述交织的码比特根据所述第二次序映射到不同的星座符号。
2.如权利要求1所述的方法,其中,每组码比特的所述组比特次序是相同的。
3.如权利要求1所述的方法,其中,用于将码比特放置到每组中的所述比特次序是线性的。
4.如权利要求2所述的方法,其中,用于将码比特放置到每组中的所述比特次序是线性的。
5.如权利要求2所述的方法,其中,如果将多个给定组视为矩阵,则该多个给定组的所述组比特次序相当于对各列进行交换。
6.如权利要求2所述的方法,其中,如果将多个给定组视为矩阵,则该多个给定组的所述组比特次序相当于对各行进行交换。
7.如权利要求5所述的方法,还包括:根据所述组比特次序发送来自所述多个组的码比特。
8.如权利要求6所述的方法,还包括:根据所述组比特次序发送来自所述多个组的码比特。
9.如权利要求1所述的方法,其中,所述码比特包括Turbo编码的码比特,所述方法还包括:
接收包括所述Turbo编码的码比特的Turbo数据包,
其中,所述Turbo数据包的相互邻近的Turbo编码的码比特被放置在不同组中。
10.如权利要求1所述的方法,其中,所述码比特包括Turbo编码的码比特,所述方法还包括:
在所述放置之前,按次序排列所述Turbo编码的码比特,以及
其中,Turbo数据包的相互邻近的Turbo编码的码比特被放置在不同组中。
11.一种用于对码比特进行交织的装置,包括:
用于根据将邻近的码比特顺序地分布到不同组中的比特次序将码比特放置到多个组中使得所述码比特被交织成第一次序的模;以及
用于根据每组的组比特次序,重新排列每个给定组内的码比特的模块,使得所述码比特被进一步交织成第二次序,其中,所述交织的码比特根据所述第二次序映射到不同的星座符号。
12.如权利要求11所述的装置,其中,所述装置是处理器。
13.如权利要求11所述的装置,其中,每组码比特的所述组比特次序是相同的。
14.如权利要求11所述的装置,其中,用于将码比特放置到每组中的所述比特次序是线性的。
15.如权利要求13所述的装置,其中,用于将码比特放置到每组中的所述比特次序是线性的。
16.如权利要求13所述的装置,其中,如果将多个给定组视为矩阵,则该多个给定组的所述组比特次序相当于对各列进行交换。
17.如权利要求13所述的装置,其中,如果将多个给定组视为矩阵,则该多个给定组的所述组比特次序相当于对各行进行交换。
18.如权利要求16所述的装置,还包括:用于根据所述组比特次序发送来自所述多个组的码比特的模块。
19.如权利要求17所述的装置,还包括:用于根据所述组比特次序发送来自所述多个组的码比特的模块。

说明书全文

用于分集交织的系统和方法

[0001] 根据35U.S.C§119的优先权要求
[0002] 本专利 申请要求2004 年7月29日提交 的题目 为“METHOD OFCHANNELINTERLEAVING IN A OFDM WIRELESSCOMMUNICATIONS SYSTEM”的临时申请No.60/592,999的优先权,该临时申请已转让给本申请的受让人,从而清楚地将其合并于此作为参考。

技术领域

[0003] 本公开的实施例一般涉及无线通信,并且更具体地,涉及无线通信系统中的信道交织。

背景技术

[0004] 正交频分复用(OFDM)是用于广播高速率数字信号的技术。在OFDM系统中,将单个高速率数据流分割成若干个并行的低速率子流,使用每个子流对各自的子载频进行调制。应该注意,虽然将本发明描述为正交幅度调制的形式,但是本发明同样可应用于相移键控调制系统。
[0005] OFDM系统中所使用的调制技术称为正交幅度调制(QAM),其中,对载频的相位和幅度都进行了调制。在QAM调制中,从多个数据比特中生成复QAM符号,其中,每个符号包括实数项和虚数项,并且每个符号代表用于生成该符号的多个数据比特。将多个QAM比特以可以通过复平面图形表示的一种模式一起进行发送。典型地,该模式被称为“星座”。通过使用QAM调制,OFDM系统可以改善其效率。
[0006] 当对信号进行广播时,它可以通过不止一条路径传播到接收机。例如,来自单个发射机的信号可以沿着直线传播到接收机,并且还可以被物理对象反射成沿着不同的路径传播到接收机。此外,当系统使用所谓的“蜂窝”广播技术增加频谱效率时,可以通过不止一个发射机对打算提供给接收机的信号进行广播。因此,同样的信号将沿着不止一条路径发送到接收机。无论是人为的(即,由从不止一个发射机对同一个信号进行广播造成)还是自然的(即,由回波造成),信号的这种并行传播被称为“多径”。可以显而易见,当蜂窝数字广播的频谱效率高时,必须做出规定有效地对多径因素进行处理。
[0007] 幸运的是,在多径情况(如上所述,当使用蜂窝广播技术时,其必然出现)面前,使用QAM调制的OFDM系统比在其中仅使用单个载频的QAM调制技术更加有效。更具体地,在单载波QAM系统中,必须使用复均衡器对具有与主路径一样强回波的信道进行均衡,并且该均衡很难执行。相反,在OFDM系统中,简单地通过在每个符号的起始处插入具有适当长度的防护间隔,就可以完全消除对复均衡器的需求。因此,当预期到多径情况时,使用QAM调制的OFDM系统是优选的。
[0008] 在典型的网格编码方案中,以卷积编码器对数据流进行编码,并且随后将连续的多个比特合成到一个比特组中成为一个QAM符号。若干个比特在一组中,每组的比特数目定义为整数“m”(因此,将每个组称为具有“m进制”维)。典型地,“m”的值是4、5、6或7,但是该值可以更大或更小。
[0009] 在将多个比特分组成多比特符号之后,对符号进行交织。通过“交织”,意味着在次序上对符号流进行重新排列,从而对由信道衰退造成的可能误差进行随机化。为了说明,假设将要发送5个字。如果在未交织信号的传输期间,出现了暂时性的信道干扰,在这些情况下,在信道干扰减少之前,可能丢失整个字,并且将很困难甚至不可能知道所丢失的字将要传达何种信息。
[0010] 相反,如果在传输之前对5个字的字母按次序进行了重新排列(即“交织”),并且出现了信道干扰,则可能丢失若干个字母,也许每个字丢失一个字母。然而,对重新排列后的字母进行解码时,虽然一些字丢失了一些字母,但是所有5个字将出现。显而易见,在这些情况下,对于数字解码器来说,充分全面地对数据进行恢复将是相对容易的。在对m进制符号进行交织之后,使用上述QAM原理将符号映射到复符号,将其复用到它们各自的子载波信道中,进行发送。附图说明
[0011] 图1a示出了根据一个实施例的信道交织器;
[0012] 图1b示出了根据另一个实施例的信道交织器;
[0013] 图2a示出了根据一个实施例被放置入交织缓冲器中的Turbo数据包的码比特;
[0014] 图2b示出了根据一个实施例的交织缓冲器,该交织缓冲器排列成N/m行乘m列矩阵;
[0015] 图3示出了根据一个实施例的交织交错表;
[0016] 图4示出了根据一个实施例的信道化图;
[0017] 图5示出了根据一个实施例的信道化图,其中,全一次移位序列导致对于特定时隙长期的好的和差的信道估计;
[0018] 图6示出了信道化图,其中,全二次移位序列导致好的和差的信道估计交错均匀分布;以及
[0019] 图7示出了根据一个实施例配置为实现交织的无线设备。

具体实施方式

[0020] 在一个实施例中,信道交织器包括比特交织器和符号交织器。图1示出了两种类型的信道交织方案。两种方案都使用比特交织和交错,实现最大信道分集。
[0021] 图1a示出了根据一个实施例的信道交织器。图1b示出了根据另一个实施例的信道交织器。图1b的交织器仅使用比特交织器来实现m进制调制分集,并且使用二维交织交错表和运行时间时隙-交错映射来实现频率分集,该频率分集无需明确的符号交织就提供更好的交织性能。
[0022] 图1a示出了输入比特交织104的Turbo码比特102。比特交织块104输出交织比特,将其输入星座符号映射块106。星座符号映射块106输出星座符号映射比特,将其输入星座符号交织块108。星座符号交织块108将星座符号交织比特输出到信道化块110中。信道化块110使用交错表112对星座符号交织比特进行交错,并且输出OFDM符号114。
[0023] 图1b示出了输入比特交织块154的Turbo码比特152。比特交织块154输出交织比特,将其输入星座符号映射块156。星座符号映射块156输出星座符号映射比特,将其输入信道化块158中。信道化块158使用交织交错表和动态时隙-交错映射160对星座符号交织比特进行信道化,并且输出OFDM符号162。
[0024] 用于调制分集的比特交织
[0025] 图1b的交织器使用比特交织154实现调制分集。以将邻近的码比特映射到不同星座符号中的模式对Turbo数据包的码比特152进行交织。例如,对于2m进制调制,将N比特交织缓冲器分割成N/m块。如图2a中所示(顶部),按顺序将邻近的码比特写入邻近的块中,并且随后以顺序的次序从缓冲器的起始到结束一个接一个读出这些码比特。这保证将邻近的码比特映射到不同的星座符号。等价地,如图2b中所说明(底部),将交织缓冲器排列成N/m行乘m列矩阵。将码比特逐列写入缓冲器中,并且逐行读出。由于对于取决于映射的16QAM来说,一个星座符号的某些比特比其它比特更可靠,例如,第一个和第三个比特比第二个和第四个比特更可靠,所以为了避免将邻近的码比特映射到星座符号的相同比特位置,应该从左到右或者从右到左读出行。
[0026] 图2a示出了根据一个实施例被放置入交织缓冲器204的Turbo数据包202的码比特。图2b说明了根据一个实施例的比特交织操作。将Turbo数据包250的码比特放置入如图2b中所示的交织缓冲器252中。根据一个实施例,通过交换第二列和第三列对交织缓冲器252进行变换,从而创建交织缓冲器254,其中,m=4。从交织缓冲器254读出Turbo数据包256的交织码比特。
[0027] 为简便起见,如果最高调制级别是16并且如果码比特长度总是能被4除尽,就可以使用固定的m=4。在该情况下,为了改善QPSK的分隔,在读出之前对中间两列进行交换。在图2b中(底部)对该过程进行了描述。对本领域的技术人员来说,可以交换任何两列,这将是显而易见的。对本领域的技术人员来说,可以以任何次序放置各列,这也将是显而易见的。对本领域的技术人员来说,可以以任何次序放置各行,这也将是显而易见的。
[0028] 在另一个实施例中,作为第一个步骤,将Turbo数据包202的码比特分布在多个组中。注意到,图2a和图2b的实施例也都将码比特分布在多个组中。然而,根据用于每个给定组的组比特次序打乱每个组内的码比特,而不是简单地交换行或列。这样,使用对各组的简单线性排序,在分布到各组中之后,具有16个码比特的4个组的次序可以是{1,5,9,13}、{2,6,10,14}、{3,7,11,15}、{4,8,12,16},并且在打乱之后,具有16个码比特的4个组的次序可以是{13,9,5,1}、{2,10,6,14}、{11,7,15,3}、{12,8,4,16}。注意到,交换行或列将是该组内打乱的回归情况。
[0029] 交织交错
[0030] 根据一个实施例,信道交织器将交织交错用于星座符号交织,以实现频率分集。这样就不再需要显示的星座符号交织。在两个级别上进行交织:
[0031] ——在交错内或者交错内交织:在一个实施例中,以比特反转的形式对一个交错的500个子载波进行交织;
[0032] ——在交错之间或者交错间交织:在一个实施例中,以比特反转的形式对8个交错进行交织。
[0033] 对本领域的技术人员来说,子载波的数目可以是除了500之外其它的数,这是显而易见的。对本领域的技术人员来说,交错的数目可以是除了8之外其它的数,这也将是显而易见的。
[0034] 注意到,由于500不是2的幂,根据一个实施例,应该使用缩减集比特反转操作。下列代码示出了该操作:
[0035] vectorreducedSetBitRev(int n)
[0036] {
[0037] int m=exponent(n);
[0038] vectory(n);
[0039] for(int i=0,j=0;i<n;i++,j++)
[0040] {
[0041] int k;
[0042] for(;(k=bitRev(j,m))>=n;j++);
[0043] y[i]=k;
[0044] }
[0045] return y;
[0046] }
[0047] 其中,n=500,m是使得2m>n的最小整数,其为8,并且bitRev是常规比特反转操作。
[0048] 根据一个实施例,使用如图3中所描述的交错表,按照信道化器确定的所分配的时隙标号,以顺序线性方式将一个数据信道的星座符号序列的多个符合映射到相应子载波中。
[0049] 图3示出了根据一个实施例的交织交错表。示出了Turbo数据包302、星座符号304、以及交织交错表306。还示出了交错3(308)、交错4(310)、交错2(312)、交错6(314)、交错1(316)、交错5(318)、交错3(320)、以及交错7(322)。
[0050] 在一个实施例中,8个交错中的一个用于导频,即,交错2和交错6交替用于导频。结果,信道化器可以使用7个交错用于调度。为方便起见,信道化器使用时隙作为调度单元。将时隙定义为OFDM符号的一个交错。使用交错表将时隙映射到特定的交错。由于使用了8个交错,那么就存在8个时隙。留出7个时隙用于信道化并且1个时隙用于导频。如图4中所示,不失一般性,将时隙0用于导频并且将时隙1到7用于信道化,在图4中,垂直轴是时隙标号402,平轴是OFDM符号标号404,并且粗体条目是在OFDM符号时间上被分配给相应时隙的交错标号。
[0051] 图4示出了根据一个实施例的信道化图。图4示出了为调度器406保留的时隙标号以及为导频408保留的时隙标号。粗体条目是交错标号数字。具有方框的数字是邻近导频并且因此具有好的信道估计的交错。
[0052] 具有方框的数字是邻近导频并且因此具有好的信道估计的交错。显然,调度器总是将一块连续的时隙和OFDM符号分配给一个数据信道,很显然由于交错间交织,分配给数据信道的连续时隙将被映射到不连续的交错上。那么就可以实现更多的频率分集增益。
[0053] 然而,这种静态分配(即,时隙到物理交错映射表1不随着时间变化)确实遇到一个问题。即,如果数据信道分配块(假设是矩形的)占用了多个OFDM符号,被分配给数据信道的交错不随着时间变化,就将导致频率分集的损失。补救办法是从一个OFDM符号到另一个OFDM符号简单地循环移位调度器交错表(即,除导频交错之外)。
[0054] 图5描述了每个OFDM符号对调度器交错表移位一次的操作。该方案成功地消灭了静态交错分配问题,即,在不同的OFDM符号时间上将特定的时隙映射到不同的交错。
[0055] 图5示出了根据一个实施例的信道化图,其中,全一次移位序列导致对于特定时隙502长期的好的和差的信道估计。图5示出了为调度器506保留的时隙标号以及为导频508保留的时隙标号。在水平轴上示出了时隙符号标号504。
[0056] 然而,注意到,优选的模式是具有好的信道估计的短期交错和具有差的信道估计的短期交错,相比之下,所述时隙被分配有四个具有好的信道估计的连续交错,后跟具有差信道估计的长期交错。在图中,用方框标记出邻近导频交错的交错。对长期好的和差的信道估计问题的解决方法是,使用全一次移位序列之外的移位序列。有许多序列可以用于完成该任务。最简单的序列是全二次移位序列,即,调度器交错表每个OFDM符号移位两次而不是一次。在图6中示出了结果,
[0057] 1调度器时隙表不包括导频时隙
[0058] 其显著改善了信道化器交错模式。注意到,该模式每2×7=14个OFDM符号重复一次,其中,2是导频交错的错列周期并且7是信道化器交错移位周期。
[0059] 为了简化在发射机和接收机处的操作,可以使用简单的公式来确定在给定OFDM符号时间上从时隙到交错的映射:
[0060]
[0061] 其中,N=I-1是用于业务数据调度的交错的数目,I是交错的总数;除导频交错之外,i∈{0,1,…I-1}是OFDM符号t上的时隙s映射到的交错标号;2
[0062] t=0,1,…,T-1是超内的OFDM符号标号,其中,T是一帧 内的OFDM符号的总数;
[0063] s=0,1,…,S-1是时隙标号,其中,S是时隙的总数;
[0064] R是每个OFDM符号的移位数目;
[0065] 是缩减集比特反转操作符。即,导频所使用的交错将被排除在比特反转操作之外。
[0066] 例:在一个实施例中,I=8,R=2。相应的时隙-交错映射公式变成:
[0067]
[0068] 其中,对应于下表:
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077] 2由于在当前设计中,一帧内OFDM符号的数目不能被14除尽,所以超帧而不是帧内的OFDM符号标号为为各帧提供了额外的分集
[0078] 可以通过下列代码生成该表:
[0079] int reducedSetBitRev(int x,int exclude,int n)
[0080] {
[0081] int m=exponent(n);
[0082] int y;
[0083] for(int i=0;j=0;i<=x;i++,j++)
[0084] {
[0085] for(;(y=bitRev(j,m))=exclude;j++);
[0086] }
[0087] return y;
[0088] }
[0089] 其中,m=3并且bitRev是常规比特反转操作。
[0090] 对于OFDM符号t=11,导频使用交错6。时隙和交错之间的映射变成:
[0091] ——时隙1映射到交错
[0092] ——时隙2映射到交错
[0093] ——时隙3映射到交错
[0094] ——时隙4映射到交错
[0095] ——时隙5映射到交错
[0096] ——时隙6映射到交错
[0097] ——时隙7映射到交错
[0098] 所得到的映射与图6中的映射一致。图6示出了信道化图,其中,全二次移位序列导致均匀分布的好的和差的信道估计交错。
[0099] 根据一个实施例,交织器具有下列特征:
[0100] 将比特交织器设计为,通过将码比特交织到不同的调制符号中来利用m进制调制分集;
[0101] 将“符号交织”设计为,通过交错内交织和交错间交织实现频率分集;
[0102] 从一个OFDM符号到另一个OFDM符号通过改变时隙-交错映射表,来实现额外的频率分集增益和信道估计增益。提出了简单的旋转序列来实现该目标。
[0103] 图7示出了根据一个实施例被配置来实现交织的无线设备。无线设备702包括天线704、双工器706、接收机708、发射机710、处理器712、以及存储器714。根据一个实施例,处理器712能够执行交织。处理器712将存储器714用于缓冲器或数据结构,执行其操作。
[0104] 本领域的技术人员应该明白,可以使用各种不同技术和技巧中的任何一种来表示信息和信号。例如,可以由电压电流电磁波、电磁场或微粒、光场或微粒、或者其任何组合来表示可以在贯穿上述说明中提及的数据、指令、命令、信息、信号、比特、符号和码片。
[0105] 本领域的技术人员还应该意识到,与这里所公开的实施例有关的各种示例性逻辑块、模块、电路算法步骤可以通过电子硬件、计算机软件、或者二者的组合来实现。为了清楚地说明硬件和软件的这种可交换性,上文通常按照它们的功能对各种示例性部件、块、模块、电路和步骤进行了描述。将该功能实现为硬件还是软件取决于特定的应用和施加在整个系统上的设计约束。对于每种特定的应用,熟练的技术人员可以以不同的方式实现所描述的功能,但是不应该将这种实现决定解释为造成偏离本发明的范围。
[0106] 与这里所公开的实施例有关的各种示例性逻辑块、模块和电路可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)或其它可编程逻辑部件、离散门或晶体管逻辑、离散硬件部件、或者设计为实现这里所描述的功能的任何组合来实现或者执行。。通用处理器可以是微处理器,但是可替换地,处理器可以是任何常规处理器、控制器微控制器、或者状态机。还可以将处理器实现为计算器件的组合,例如:DSP和微处理器的组合、多个微处理器、与DSP核相结合的一个或多个微处理器、或者任何其它这种配置。
[0107] 与这里所公开的实施例有关的所述方法或算法的步骤可以直接具体化在硬件、通过处理器执行的软件模块、或者二者的组合中。软件模块可以常驻在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或者本领域已知的任何其它形式的存储介质中。可以将示例性存储媒体连接到处理器,使得处理器可以从存储介质中读取信息,并且将信息写入存储介质。可替换地,可以将存储介质集成到处理器中。处理器和存储介质可以位于ASIC中。ASIC可以位于用户终端中。可替换地,处理器和存储介质可以作为分立部件位于用户终端中。
[0108] 提供了已公开实施例的上述说明,以使本领域的任何技术人员都能够实现或使用本发明。这些实施例的各种修改对本领域的技术人员来说将是显而易见的,并且在不脱离本发明的精神或范围的情况下,可以将这里定义的一般原理应用到其它实施例。因此,本发明不限制于这里所示的实施例,而是要符合与这里所公开的原理和新颖特征一致的最宽范围。
QQ群二维码
意见反馈