交织系统和方法

文档序号:7948996阅读:639来源:国知局
专利名称:交织系统和方法
技术领域
概括地说,本发明涉及无线通信,具体地说,本发明涉及无线通信系统中的信道交织。
背景技术
正交频分复用(OFDM)是一种用于广播高速率数字信号的技术。在OFDM系统中,将单个高速率数据流分为数个并行的低速率子流,其中的每个子流用于调制相应的子载波频率。应当注意的是,虽然本发明是围绕正交幅度调制展开描述的,但它同样也适用于相移键控调制系统。OFDM系统中使用的调制技术被称作正交幅度调制(QAM),其中对载波频率的相位和幅度均进行调制。在QAM调制中,QAM复信号是由多个数据比特生成的,其中的每个符号包括实数项和虚数项,每个符号表示它是由哪些数据比特生成的。多个QAM比特在一个可按照由复平面以图形方式表示的模式一起传输。通常情况下,该模式被称作“星座(constellation)”。OFDM系统可采用QAM调制来提高其效率。当广播信号时,该信号可能会通过一条以上的路径传播到接收机。例如,信号可能从单个发射机沿着一条直线传播到接收机,它也可能经过多个物理实体的反射,从而沿着不同的路径抵达接收机。此外,当系统使用所谓的“蜂窝”广播技术来提高频谱效率时,原本要发往某一个接收机的信号可能会由一个以上的发射机进行广播。因此。相同的信号沿着一条以上的路径传输到接收机。信号的这种并行传播,不管是人为的(即,由一个以上发射机广播相同的信号所致)还是自然的(即,反射所致),均被称作“多径效应”。可以很容易理解的是,虽然蜂窝数字广播在频谱方面是高效的,但必须提供如何有效地解决多径问题的方法。幸运的是,当存在多径状况时(如上所述,在使用蜂窝广播技术时必定会出现多径状况),采用QAM调制的OFDM系统比其中仅仅使用单载波频率的QAM调制技术要有效。具体而言,在单载波QAM系统中,如果有些信道的回音跟主路径一样强,则必须用复杂的均衡器来均衡这些信道,而这样的均衡往往是很难执行的。相比之下,在OFDM系统中,只要在每个符号开始处插入长度合适的保护间隔,就完全不需要复杂的均衡器。因此,当预期存在多径状况时,优选使用采用QAM调制的OFDM系统。在一般的网格编码(Trellis Coding)方案中,数据流是用卷积编码器进行编码的,因此,连续的多个比特合并成一个比特组,比特组进而将成为一个QAM符号。多个比特处于一组中,每组的比特数量由整数“m”来给定(因此,每个组被称作有“m元”维)。通常,“m”的值是4、5、6或7,但它亦可是更大或更小值。将这些比特分组成多个多比特符号后,对这些符号进行交织。“交织”意味着对符号流重新排序,从而将信道恶化所造成的潜在错误随机化。为便于说明,假设要发送五个字,并且在非交织信号传输期间出现了临时的信道扰乱。在这种情形下,在信道扰乱缓解之前,整个字可能都会丢失,因此,要知道丢失的字传达了什么信息将会是很困难的,甚至是不可能的。相比之下,如果将这五个字的字母在发送之前重新排序(即,“交织”),那么当出现信道扰乱时,可能会丢失一些字母,例如每个字丢失一个字母。当对重排序后的字母进行解码时,尽管有的字丢失了字母,但所有五个字都会出现。很容易理解的是,在这种情形下,数字解码器可以相对比较容易地将数据基本上全部恢复出来。在将m元符号交织后,用上述QAM原理,将这些符号映射成复符号,复用到它们的相应子载波信道中,然后发送出去。


图1a示出了依据一个实施例的信道交织器; 图1b示出了依据另一个实施例的信道交织器; 图2a示出了依据一个实施例放置到交织缓冲区中的turbo分组的码比特; 图2b示出了依据一个实施例排成N/m行、m列矩阵的交织器缓冲区; 图3示出了依据一个实施例的交织后交错体表; 图4示出了依据一个实施例的信道化示意图。
图5示出的依据一个实施例的信道化示意图中,对于特定的时隙,所有的1移位序列导致一长串的良和差信道估计; 图6示出的信道化示意图中,所有的2移位序列导致均匀扩展的良和差信道估计交错体;以及 图7示出了依据一个实施例用于实现交织的无线设备。
具体实施例方式在一个实施例中,信道交织器包括比特交织器和符号交织器。图1示出了两种类型的信道交织方案。这两种方案都使用比特交织(interleaving)和交错(interlacing)来实现最大的信道分集。
图1a示出了依据一个实施例的信道交织器。图1b示出了依据另一个实施例的信道交织器。图1b的交织器仅仅使用比特交织器来实现m元调制分集,使用二维交织后交错体表和运行时间时隙—交错体映射来实现频率分集,从而提高交织性能,而无需进行明确的符号交织。
图1a示出了输入到比特交织模块104中的Turbo编码比特102。比特交织模块104输出交织比特,后者被输入星座符号映射模块106。星座符号映射模块106输出星座符号映射比特,后者被输入星座符号交织模块108。星座符号交织模块108把星座符号交织比特输出到信道化模块110中。信道化模块110用交错体表112使星座符号交织比特交错,然后输出OFDM符号114。
图1b示出了输入到比特交织模块154中的Turbo编码比特152。比特交织模块154输出交织比特,后者被输入星座符号映射模块156。星座符号映射模块156输出星座符号映射比特,后者被输入信道化模块158。信道化模块158用交织的交错体表和动态的时隙—交错体映射160,使星座符号交织比特信道化,并输出OFDM符号162。
调制分集的比特交织 图1b的交织器使用比特交织154来实现调制分集。以一种将相邻码比特映射成不同星座符号的模式,对Turbo分组的编码比特152进行交织。例如,对于2m元调制,将N比特交织器缓冲区划分为N/m个块。将相邻码比特顺序地写入相邻块,然后从缓冲区的开始到结束按排列顺序一个一个地读出相邻码比特,如图2a(上方)所示。这样能确保将相邻码比特映射成不同的星座符号。同样,如图2b(下方)所示,将交织器缓冲区排成N/m行、m列矩阵。将码比特一列一列地写入缓冲区的列中,然后将前者一行一行地读出。为了避免将相邻的码比特映射到星座符号的相同比特位置(因为对于16QAM来说,根据映射,星座符号的某些比特比其它比特要可靠,例如,第一比特和第三比特比第二和第四比特要可靠),应当交替地从左向右和从右向左读取各行。
图2a示出了依据一个实施例放置到交织缓冲区204中的turbo分组202的码比特。图2b示出了根据一个实施例的比特交织操作。将Turbo分组250的码比特放置到交织缓冲区252中,如图2b所示。依据一个实施例,交织缓冲区252是通过交换第二列和第三列而进行变换的,从而创建了交织缓冲区254,其中m=4。从交织缓冲区254中读取Turbo分组256的交织码比特。
为简单起见,如果最高的调制等级为16并且如果码比特长度总是能被4整除,则可以使用固定的m=4。在这种情况下,为了提高QPSK(正交相移键控)的间距(separation),则先交换中间两列,然后再将其读取出来。图2b(下方)示出了该过程。对于本领域普通技术人员显而易见的是,任何两列都是可以交换的。对于本领域普通技术人员还显而易见的是,这些列的次序是可以任意设置的。对于本领域普通技术人员还显而易见的是,这些行的次序也是可以任意设置的。
在另一个实施例中,在第一步中,将turbo分组202的码比特分成多组。需要注意的是,图2a和图2b的实施例也将码比特分成多组。但是,每组内的码比特是按照每个给定组的组比特顺序来进行混洗(shuffle)的,而不是简单地交换行或列。因此,使用组的简单线性排序将16个码比特分成四组以后,这16个码比特组成的四组的次序可以是{1,5,9,13}{2,6,10,14}{3,7,11,15}{4,8,12,16},混洗后这16个码比特组成的四组的次序可以是{13,9,5,1}{2,10,6,14}{11,7,15,3}{12,8,4,16}。需要注意的是,交换行或列是组内混洗的回归情形。
频率分集的交织后交错体 依据一个实施例,信道交织器使用交织后交错体进行星座符号交织,从而实现频率分集。这样就不需要明确的星座符号交织。交织是分两级进行的 交错体内交织在一个实施例中,交错体的500个子载波以比特倒置方式交织。
交错体间交织在一个实施例中,8个交错体以比特倒置方式交织。
对于本领域普通技术人员显而易见的是,子载波的数量也可以不是500。对于本领域普通技术人员还显而易见的是,交错体的数量也可以不是8。
需要注意的是,根据一个实施例,由于500不是2的幂,所以,应当使用简约集(reduced-set)比特倒置操作。下面的代码示出了该操作。
<pre listing-type="program-listing"><![CDATA[ vector<int>reducedSetBitRev(int n) { int m=exponent(n); vector<int>y(n); for(int i=0,j=0;i<n;i++,j++) {int k;for(;(k=bitRev(j,m))>=n;j++);y[i]=k; } return y; }]]></pre> 其中,n=500,m=8,即使2m>n的最小整数,bitRev是常规的比特倒置操作。
依据一个实施例,使用图3所示的交错体表,按照顺序线性方式,根据由信道化器确定的分配的时隙索引,将一个数据信道的星座符号序列的符号映射到相应的子载波上。
图3示出了依据一个实施例的交织后交错体表。图3示出了Turbo分组302、星座符号304和交织后交错体表306。图3还示出了交错体3(308)、交错体4(310)、交错体2(312)、交错体6(314)、交错体1(316)、交错体5(318)、交错体3(320)以及交错体7(322)。
在一个实施例中,上述8个交错体中有一个交错体用于导频符号,即,交错体2和交错体6二中选一地用于导频符号。所以,信道化器可将七个交错体用于调度。为便于描述,信道化器用时隙作为调度单位。将一个时隙定义为OFDM符号的一个交错体。交错体表用于将时隙映射到特定的交错体。因为使用了8个交错体,所以有8个时隙。留出7个时隙用于信道化,留出1个时隙用于导频符号。不失一般性,时隙0用于导频符号,时隙1到7用于信道化,如图4所示,其中,垂直轴是时隙索引402,水平轴是OFDM符号索引404,粗体条目是在OFDM符号时间分配给相应时隙的交错体索引。
图4给出了依据一个实施例的信道化示意图。图4示出了为调度器406预留的时隙索引和为导频符号408预留的时隙索引。粗体条目是交错体索引。加方框的数字是与导频相邻的交错体,故而有良好信道估计。
方框环绕的数字是与导频相邻的交错体,故而有良好信道估计。由于调度器总是把连续的时隙块和OFDM符号分配给数据信道,所以很清楚的一点是,由于交错体内交织,分配给数据信道的这些连续时隙将会映射到不连续的交错体上。故而,可以提高频率分集增益。
但是,这种静态分配方案(即,时隙—物理交错体映射表1不随时间而变)确实存在一个问题。即,如果数据信道分配块(假设为矩形)占据了多个OFDM符号,则分配给数据信道的交错体不随时间而变,从而导致频率分集的降低。补救措施是,随着不同的OFDM符号,将调度器交错体表(即,不包括导频交错体)简单地循环移位。
图5示出了对于每个OFDM符号将调度器交错体表移位一次的操作。该方案成功地解决了静态交错体分配问题,即,在不同的OFDM符号时间,将特定的时隙映射到不同的交错体。
图5依据一个实施例给出的信道化示意图中,对于特定的时隙502,所有的1移位序列导致一长串的良和差信道估计。图5示出了预留给调度器506的时隙索引和预留给导频508的时隙索引。时隙符号索引504显示在水平轴上。
但是,应该注意到,多个时隙被分配给具有良信道估计的四个连续交错体,再接着,被分配给具有差信道估计的一长串交错体,与此形成鲜明对比的是,在优选模式中,一短串的良好信道估计交错体和一短串的差信道估计交错体。在图中,用方框标记与导频交错体相邻的交错体。长串的良和差信道估计问题的解决方案是,使用移位序列,而非全1序列。很多序列可用来完成这项任务。最简单的序列是--------------------------------1调度器时隙表不包括导频时隙。全2序列,即,对于每个OFDM符号调度器交错体表移位两次,而非一次。图6示出了该结果,其明显改善了信道化器交错体模式。注意,该模式对于每2×7=14个OFDM符号重复一次,其中,2是导频交错体交错周期,7是信道化器交错体移位周期。
为了简化发射机和接收机的操作,在给定的OFDM符号时间,可以使用简单的公式来确定从时隙到交错体的映射。
其中, N=I-1是业务数据调度所用的交错体的数量,其中的I是交错体总数量; i∈{0,1,…,I-1},不包括导频交错体,是时隙s在OFDM符号t时所映射到的交错体索引; t=0,1,…,T-1是超级帧内的OFDM符号索引,其中,T是/帧2中OFDM符号的总数量; s=1,2,…S-1,s是时隙索引,其中S是时隙的总数量; R是每个OFDM符号的移位次数; 是简约集比特倒置运算符。即,导频所用的交错体应当从比特倒置运算中排除出去。
例如在一个实施例中,I=8,R=2。对应的时隙—交错体映射公式为 其中, 对应于下表 001422或631-----------------------------2由于在当前设计中,帧中的OFDM符号的数量无法被14整除,所以超级帧(而非帧)中的OFDM符号索引为帧提供了附加分集。
4553 67 该表可由以下代码产生<pre listing-type="program-listing"><![CDATA[ int reducedSetBitRev(int x,int exclude,int n) { int m=exponent(n); int y; for(int i=0;j=0;i<=x;i++,j++) { for(;(y=bitRev(j,m))=exclude;j++); } return y; }]]></pre> 其中,m=3,bitRev是常规的比特倒置操作。
对于OFDM符号t=11,导频使用交错体6。时隙和交错体之间的映射是 时隙1映射到交错体 时隙2映射到交错体 时隙3映射到交错体 时隙4映射到交错体 时隙5映射到交错体 时隙6映射到交错体 时隙7映射到交错体 这样的映射与图6中的映射一致。在图6给出的信道化示意图中,所有的2移位序列导致均匀扩展的良和差的信道估计交错体。
根据一个实施例,交织器具有以下特点 比特交织器能通过将码比特交织成不同的调制符号,从而充分利用m元调制分集; 通过交错体内交织和交错体间交织,“符号交织”能实现频率分集; 通过随着不同的OFDM符号而改变时隙—交错体映射表,可以实现附加的频率分集增益和信道估计增益。为实现该目标,提出了一种简单的旋转序列。
图7示出了依据一个实施例用于实现交织的无线设备。无线设备702包括天线704、双工器706、接收机708、发射机710、处理器712和存储器714。依据一个实施例,处理器712能进行交织。处理器712使用存储器714,以使缓冲区或数据结构执行其操作。
本领域技术人员应当理解,多种不同的技术和方法均可用来表示信息和信号。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子,或者其任意组合来表示。
本领域技术人员还应当了解的是,结合本申请的实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地表示硬件和软件之间的可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能体是实现成硬件还是实现成软件,取决于整个系统的特定应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以各种方式实现所描述的功能,但是,这种实现决策不应解释为造成背离本发明的保护范围。
用于执行本申请所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合,可以用于实现或执行结合本申请的实施例所描述的各种示例性的逻辑框图、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可能实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个结合DSP内核的微处理器,或者任何其它此种结构。
结合本申请的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或这两者的组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。或者,存储介质也可以集成到处理器中。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
为使本领域技术人员能够实现或者使用本发明,上面围绕着本发明的实施例进行了描述。对于本领域技术人员来说,对这些实施例的各种修改都是显而易见的,并且,本申请定义的总体原理也可以在不脱离本发明的精神和保护范围的基础上适用于其它实施例。因此,本发明并不限于本申请给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
权利要求
1.一种交织方法,包括用比特倒置的方式对一个交错体的多个子载波进行交织处理;以及用所述比特倒置的方式对多个交错体进行交织处理。
2.权利要求1的方法,其中,如果子载波的数量不是2的幂,则所述比特倒置的方式是简约集比特倒置运算。
3.权利要求2的方法,其中,子载波的数量是500。
4.权利要求3的方法,其中,交错体的数量是8。
5.权利要求1的方法,其中,用比特倒置的方式对一个交错体的多个子载波进行交织包括使用交错体表,根据分配的时隙索引,以顺序线性方式,将星座符号序列中的符号映射到相应的子载波中。
6.一种处理器,用于用比特倒置的方式对一个交错体的多个子载波进行交织处理;以及用所述比特倒置的方式对多个交错体进行交织处理。
7.一种处理器,包括用比特倒置的方式对一个交错体的多个子载波进行交织处理的模块;以及用所述比特倒置的方式对多个交错体进行交织处理的模块。
8.一种可读介质,包含一种交织方法,所述交织方法包括用比特倒置的方式对一个交错体的多个子载波进行交织处理;以及用所述比特倒置的方式对多个交错体进行交织处理。
全文摘要
频率分集系统和方法使用交织技术。用比特倒置的方式,对一个交错体的多个子载波进行交织处理,并且,用比特倒置的方式,对多个交错体进行交织处理。
文档编号H04L1/00GK101036336SQ200580032787
公开日2007年9月12日 申请日期2005年7月29日 优先权日2004年7月29日
发明者迈克尔·毛·王, 凌复云, 拉马斯瓦米·穆拉利, 拉吉夫·维贾亚恩 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1