WCDMA编码技术探微

应用在W-CDMA的展频码(Spreading Codes in W-CDMA)

为了实现分码多工进接(Code Division Multiple Access;CDMA),展频技术一定要和正交编码技术相结合。例如在一个DS-CDMA的系统中,每一个用户将採用不同的展频码来扩展其发射讯号之频谱,并保证每个用户之间的展频码都存在着一个严格的正交性(orthogonality),以保证展频码间的互相关函数远低于其自相关函数的峰值。


 

最常见的展频码不外乎是m序列(m-sequence)、金氏码(Gold Codes)、Walsh Codes和OVSF Codes等。Walsh Codes是使用在cdma2000系统中,而OVSF码则是使用在W-CDMA的系统。


 

《表一 应用在W-CDMA系统的编码技术》

Walsh-Hadamard码(Walsh-Hadamard Codes)

Walsh函数可以利用Hadamard矩阵来产生。假设,则Hadamard矩阵可以利用(公式一)的递迴(recursion)来产生。直觉上也可以利用(图一)所示的方式来产生Hadamard矩阵。


 

《公式一》

Walsh码即是Hadamard矩阵的第j个阵列。


 

《图一 Hadamard矩阵的产生法》

如(公式二)所示,Walsh码具有良好的互相关性,因此可以使用来做为不同频道间的区别;但前提是必须具有良好的时间同步。若时间位移超过一个码片的时间,Walsh码的正交性便被破坏殆尽。


 

《公式二》

Walsh码可以利用(图二)所示的电路来产生,其中的j为码数(code number)的二元表示式(例如code number为6的二元表示式为0110)。


 

《图二 Walsh码产生器》

Walsh码是使用在IS-95和cdma2000系统中做为展频码和频道码;在W-CDMA中,(图二)所示的产生电路可以用于产生副同步码(Secondary Synchronization Code;SSC)。


 

OVSF码的产生(Generation of OVSF Codes)

WCDMA系统在下传方向利用一组正交码来做频道的识别(频道码),这组正交码除了提供下传频道的识别外同时也被用来对资料做展频(展频码)。频道码的功能为在一个连结(connection)上作实体频道的区分,在WCDMA里面所用到的频道码为正交可变展频因数码(Orthogonal Variable Spreading Factor;OVSF)。OVSF码除了作实体频道(physical channels)的区分之外也提供了原始基频讯号的展频。


 

OVSF码的长度被定义为展频因数(spreading factor;SF),展频因数的值会等于用来展频一个符码的码片数(chip numbers)。OVSF码的特色就是在不同的展频因数下仍然可以保持正交性,但前提是必须妥善的规划OVS码的指派,唯有这样正交性方能被维持。因此在W-CDMA网路里面OVSF的码系(code tree)是由无线网路控制器(Radio Network Controller;RNC)来管理。


 

在整个OVSF码系的架构里面定义一个参数,频道码可以利用此一参数来代表。其中:


 

SF:展频因数


 

ch:频道码


 

k:频道码的排序(code number);


 

在OVSF码系图中的第一组码只有一个且其值为1,第二组码的展频因数等于2且是由第一组码所衍生出来的。OVSF码的产生可以利用(图三)来说明。从图三中可以发现且。利用上面的结果可以推导出OVSF码的产生式如下:


《公式三》

《图三 OVSF码的产生》

另外,也可以利用(公式四)以递回的方式来产生OVSF矩阵。


 

《公式四》

W-CDMA系统允许频道具有不同的速率,因此採用可变展频因数的OVSF码来做展频;当频道的资料传输速率越高时所使用的展频码其展频因数就越小,反之资料率越低则展频因数越高。目前W-CDMA系统所能允许最小的展频因数为4,而最大的展频因数在下传方向为512,上传方向则为256。


 

比较公式一和公式四可以发现实际上Hadamard矩阵和OVSF矩阵的惟一差别在于列向量的排序,也就是使用在cdma2000系统的Walsh码和使用在W-CDMA的OVSF码事实上是系出同源。利用一个交换矩阵(permutation matrix)的概念可以从Hadamard矩阵转换至OVSF矩阵;(公式五)即为Hadamard至OVSF矩阵的转换公式,(公式六)则为交换矩阵。


 

《公式五》

OVSF码的产生电路可以利用图二所示Walsh码产生器并结合公式六来建构;在电路上,公式六可以利用位元反转器来产生。(图四)所示的电路为OVSF码的产生器,从图中可以指出二元的码数表示j在进入Walsh码产生器之前会先经过一个位元反向器(bit reverse cicuit),利用这个位元反向器来实现公式五。


 

《图四 OVSF码产生器》

OVSF码的正交性(Orthogonality of OVSF Codes)

OVSF码具有良好的正交性因此被使用作为频道的识别。OVSF码的正交性有其限制,在相同展频因数下的所有OVSF码皆具有良好的正交性,介于不同SF下的码未必会具有正交性。因此在下传方向OVSF码的管理会变得非常重要,若正交性被破坏则使用者便无法正确的解出频道的内容。另外OVSF码的正交性只存在于时间同步的条件下,若时间不同步则整个正交性便被破坏。


 

可以藉由比较两个具有相同展频因数的OVSF码在每个位元的匹配(match)和不匹配(mismatch)的数目来说明OVSF码的正交性。所谓的匹配是指两个位元是相同的,而不匹配则是两个位元是不同的。完美的正交成立的条件是若且惟若两个序列间匹配的数目等于不匹配的数目,(图五)可以说明OVSF码的正交性。


 

《图五 具有相同展频因数的OVSF码的正交性》

利用(图六)到(图八)来解释OVSF在W-CDMA展频和解展频的应用。在这些图中假设所有的数值为{+1,-1}、展频因数为8、只利用一种码来做展频。


 

《图六 在DS-CDMA系统中利用OVSF码来做展频及解展频》

只要接收端所使用的OVSF码和发射端的码相同且时间同步下,就能正确的将原始的基频讯号回復,图六即代表着正常状况下一个DS-CDMA系统的展频及解展频。若接收端所使用的OVSF码和发射端不同,经过解相关器(de-correlator)运算之后会产生一个近似杂讯的输出,(图七)即代表这种情形。


 

《图七 错误展频码会造成类似杂讯状的波形》

(图八)说明了即使接收机所使用的OVSF码和发射机相同,但在时间不同步的状况下所得到的输出仍然是杂讯状(noise-like)的波形。由于OVSF码在时间位移的情况下具有很强的相关性,因此发射机和接收机必须维持良好的同步且误差必须小于一个码片(chip)的时间。


 

《图八 相同的OVSF码但是不同的相位也会产生杂讯状的输出》

从图六到图八可以发现一个DS-CDMA系统的运作有赖于正交码的使用及精确的时间同步。


 

OVSF码的管理(OVSF Codes Management)

在下传时S展频因数的范围是从4到512,而上传时则是从4到256。最终的码片率(chip rate)是固定在3.84Mcps,因此越高的资料速率代表着越低的SF()。因为SF的值会随着资料率而改变,高资料率(lower SF)的频道码会佔用较大的OVSF码空间(code space)。如(图九)所示,在上传时若使用的频道码为(highest data rate transmission),则所有从所衍生出来较高SF值的频道码都会被佔用。此时若有另一个频道所使用的频道码是位在这个频道码的所衍生的枝干(branch)之下,则这两个频道之间的正交性便无法维持。


 

《图九 频道码空间的佔用》

上传扰乱码(UL Scrambling Codes)

W-CDMA上传方向的扰乱码共有两种不同的类型:长码(long code)和短码(short code),这两组码都可以利用(公式七)的一般式来代表。


 

《公式七》

上传扰乱码被设计成在IQ向量轨迹图上具有适当的相位旋转,来减少零穿越(zero-crossings)发生的机率。利用这种方式可以降低手机的PAPR值(peak to average power ratio),提供更有效率的功率放大器的实现。


 

上传长扰乱码(UL Long Scrambling Codes)

上传长扰乱码的长度为38400码片是Gold codes的一种;它可以利用两个25级的Fibonacci LFSR产生器来产生。(图十)显示长扰乱码的产生器。


 

《图十 上传长扰乱码产生器》

从图十中可以发现上传长扰乱码是由两个Fibonacci LFSR(X和Y)所产生,每一个LFSR会产生一个週期为的二元m-sequence。X和Y的本质多项式(primitive polynomial)如下:


 

《公式八》

初始状态的多项式为:


 

《公式九》

输出的序列会被映射成(0-->1, 1-->-1)


 

《公式十》

是将序列在时间上位移的量


 

《公式十一》

在I轴的序列会等于,Q轴的序列会等于。


 

《公式十二》

因此,上传长扰乱码的一般式可以表示成(公式十三)。


 

《公式十三》

上传短扰乱码(UL Short Scrambling Codes)

上传短扰乱码的长度为256片码是属于为Kasami序列的一种,它可以利用三个n级LFSR产生器来产生。上传短扰乱码的产生多项式如下:


 

《公式十四》

初始状态的多项式为(公式十五)


 

《公式十五》

(图十一)为短码产生器的硬体实现。


 

《图十一 下传短扰乱码的产生器》

在硬体实现上,X LFSR是一个具有四个值([0 1 2 3])的LFSR。因此,图中的⊕代表着modulo-4的运算。至于乘法运算也可以利用modulo-4的运算来实现,有关利用modulo-4的运算来代替乘2(multiplication by 2)和乘3(multiplication by 3)的电路可以参考(公式十六)和(图十三)所示。


《公式十六》

《图十二 利用modulo-4运算来取代乘3的乘法器》

图十一所示的电路的输出序列为:


 

《公式十七》

利用(表二)将输出序列映射成I轴的序列和Q轴的序列。


 

《表二 短扰乱码产收器的输出序列的映射准则》

因此,上传短扰乱码可以利用(公式十八)来表示。


 

《公式十八》

下传扰乱码(DL Scrambling Codes)

下传扰乱码的属性(Properties of DL Scrambling Codes)

下传扰乱码的长度为38400码片是属于Gold code的一种,它是利用两个n级()的Fibonacci LFSR所组成。(图十三)所示为下传扰乱码产生器。


 

《图十三 下传扰乱码产生器》

下传扰乱码产生器的产生多项式如下:


 

《公式十九》

初始状态多项式为:


《公式二十》

《公式二十一》

其中


 

k:第k个扰乱码


 

序列则是将在时间上位移的量()


 

《公式二十二》

将和映射成和;I轴的序列会等于,Q轴的序列会等于。利用图十三所产生的Gold coded可以用(公式二十三)来表示。


 

《公式二十三》

下传的扰乱码共有262143()个,但并不是所有的码都会被使用。在下传方向上只使用其中的8192个码,这8192个码又被分成512组,而每一组是由一个主扰乱码(primary scrambling code;PSC)及15个副扰乱码所组成。512个主扰乱码又被分成64个群组(code group),每一群组含有8个扰乱码;利用这种群组可以简化手机在做细胞搜寻时的搜寻视窗(search window)并简化所需的计算量。


 

电信业者可以利用这512组扰乱码来做编码的规划(code planning),一般咸认512组码是足够造成非常大的几何距离来避免因为码的重用而产生干扰。在下传方向除了同步频道(Sync channel)之外所有的实体频道都是利用PSC或SSC码来扰乱。


 

下传扰乱码的硬体实现(Hardware Implementation of DL Scrambling Codes)

在手机中要产生一特定的下传扰乱码,只需将搭配此码的初始状态向量载入X LFSR,这个初始状态向量是由十八个X LFSR的初始值所组成的,而Y LFSR的初始值是由十八个1所组成而且是固定不变的。载入初始值后在利用一个3.84MHz的时脉(clock)来触发Fibonacci LFSR产生器,在第38400个clock之后将这个产生器重新载入相同的初始值使其重置(reset)。利用上面的程序即可产生一个位元率为3.84Mbps且週期为10ms的下传扰乱码。


 

在Node B要产生下传扰乱码的程序和手机是相同的,唯一的差别在于Node B只须储存一组X LFSR的初始状态向量,而手机必须储存所有可能的初始状态向量。


 

依照图十四的架构要产生所有下传扰乱码需要使用到()个位元的ROM来储存所有的初始状态向量;若要以平行的方式同时产生八个主扰乱码会用到八个产生器。利用这种架构来产生下传扰乱码会显得太复杂而且没有效率。为了降低对手机记忆体的佔用,一种新的产生器的架构便被提出。利用这种架构,手机只需要储存512组主扰乱码的初始状态向量,至于副扰乱码则可以利用移位和加法来产生,因此可以将记忆体深度降低至512×18位元。(图十四)显示如何利用移位和加法的属性来产生副扰乱码。


 

《图十四 利用主扰乱码来产生副扰乱码的硬体实现》

假设要在第p 个主扰乱码中产生第s 个副扰乱码,其程序如下:


 

  • (1)将第p个主扰乱码的初始状态向量从记忆体中读取并载入X LFSR中,利用3.84MHz的时脉来触发Finonacci LFSR产生器以产生第p个主扰乱码。
  • (2)用来产生15个副扰乱码的抽头选择器的多项式(tap selector polynomial;)储存在15×n的LUT(Look-up Table)中,利用查表法的方式将第s副扰乱码的抽头选择器多项式从LUT中读出。
  • (3)移位和加法的运算相当于图十六中的XOR遮幕(mask),将第和利用XOR遮幕来进行移位和加法的运算,之后在利用modulo-2的加法来产生副扰乱码。
  • 由于手机在做细胞搜寻时需要同时产生八个主扰乱码,为了降低硬体的复杂度,另一种更先进的架构也被提出,如(图十五),利用此种架构可以同时产生多个主扰乱码和相对应的副扰乱码。


 

《图十五 实际可行的下传扰乱码产生器架构》

在图十五中,可以同时产生两组主扰乱码和两组对应的副扰乱码。兹将图十五产生器的操作原理详述如下:


 

  • ●产生第p个主扰乱码:利用9位元选择电路从512组中选出第p个初始状态向量,并将其载入X LFSR中以产生第p个主扰乱码。
  • ●产生第p+1或第p-1个主扰乱码:利用1位元的选择电路(a)来选择所要产生的主扰乱码为p+1或p-1;若a的值为0则会产生第s-1主扰乱码,若a的值为1则会产生第s+1主扰乱码。
  • ●产生第s个副扰乱码:利用4.16所示的架构和4位元的选择电路来产生副扰乱码。
  • ●产生第个副扰乱码:当a的值固定之后,利用类似于图16所示的方来产生第个副扰乱码。


 

同步码(Synchronization Codes)

手机利用一个很重要的频道称为同步频道(Synchronization Channel;SCH)来完成和基地台间的同步程序。SCH频道是由两个副频道(sub-channel)所组成:主同步频道(Primary SCH;P-SCH)及副同步频道(Secondary SCH;S-SCH)。P-SCH频道是用来携带主同步码,S-SCH频道则是携带副同步码。PSC码和SSC码各有其不同的角色扮演,最主要的目的就在于透过这两个码来让手机可以和基地台达成时间的同步。


 

PSC和SSC码

PSC码只有一个且其长度固定为256个码片,而SSC码总共有16个,每一个的长度也是固定在256个码片。PSC码配置在每一个时槽的前256chips,而SSC码则是利用固定的排序将不同的SSC码依序配置在每一个时槽的前256 chips,PSC和SSC码只存在于一个时槽的前1/10的时间上(66.7)。


 

手机利用ROM-table内建的PSC码去搜寻是否有WCDMA的基地台存在,由于PSC码的长度仅为256个码片,因此对手机的基频晶片而言要找出是否有PSC码的存在是一件相当简单的任务。若手机能锁住PSC码,则代表着手机已经能够知道每一个时槽的边界时间(完成以时槽为单位的时间同步)。同理,若手机能够连续的锁住15个SSC码,则代表着手机已经能够知道每一个讯框(frame)的边界时间(完成以讯框为单位的时间同步)。只要手机能够解出一个讯框里面所有的SSC码(共有15个),则手机可以利用此一特定的SSC码排序来得出主扰乱码所相对应的群组(code group),利用这种方式可以大幅简化手机对基地台主扰乱码的搜寻程序。


 

PSC和SSC码的产生(Generation of PSC & SSC Codes)

PSC码的产生

PSC码()是利用一个被称为一般化阶层式的Golay序列(generalized hierarchical Golay sequence)所建构而成,具有良好的自相关性。


 

PSC码()是由两个序列和利用(公式二十三)所建构而成。


 

《公式二十四》

是一个长度为16的Golay互补序列,它是由一个延迟矩阵(delay matrix)和一个权值矩阵(weight matrix)所构成。是一个一般化的阶层序列,它的建构方程式为(公式二十四)。


 

《公式二十五》

在公式二十四中,和是相同的序列,它们是由一个延迟矩阵和一个权值矩阵所构成。


 

(图十六)显示PSC码的ACF(auto-correlation function),可以发现PSC码具有良好的ACF特色。PSC码只有一组且其长度固定为256个码片,因此手机DSP内的搜寻器(searcher)可以在很快的时间内锁住PSC码而完成以时槽为基础的时间同步。


 

《图十六 Cpsc码的ACF》

SSC码的产生

16个SSC码为一复数值的阵列且实部和虚部的值相等,SSC码是利用一个如下所定义的一个z sequence和Hadamard矩阵()的列向量相乘所产生。


 

16个SSC码的产生方程式如下:


 

《公式二十六》

k代表第k个SSC码


 

因下传主扰乱码的码空间非常大(共有512组)且其长度(38400chips)远大于同步码,若手机在没有经过适当的导引之下直接去搜寻这么庞大的码空间将会是一件很耗时且耗费硬体资源的任务。因此有必要利用这16个长度仅为256码片的SSC码来协助降低主扰乱码的搜寻视窗。


 

将16个SSC码排列组合成64组序列,每一个序列是由15个SSC码所组成,而这15个SSC码存在于一个讯框的每一个时槽的前256码片。基地台的S-SCH频道持续的广播其相对应的序列,手机利用解出一个讯框内的所有SSC码而得到一个SSC码的排序,利用内建在ROM-table内的SSC与下传扰乱码群组对照表可以找出此一S-SCH频道所代表的主扰乱码群组。而一个群组只含有8个主扰乱码,利用副同步码的辅助可以简化细胞搜寻的程序。


 

例如,若一个讯框内解到的所有SSC码的顺序如下:


 

利用查表法及可得到相对应的群组为Group 1,此时手机只需利用已知的8个属于Group 1的主要扰乱码来搜寻所有可能的CPICH频道内的主要扰乱码。(图十七)说明如何利用PSC及SSC码来得知细胞的主要扰乱码。利用图十七搭配(表三)即可得知主要扰乱码是属于第一个群组(code group)。


 

《图十七 PSC码和SSC码在SCH频道的配置》


 

《表三 16个SSC码相对于扰乱码群组的配置》


 

同步码的属性(Properties of Synchronization Codes)

在W-CDMA网路内的所有基地台共用相同的主同步码,在某些情形下有可能会造成来自不同基地台的主同步码产生重叠的现象。这种情形特别容易在交递的时候产生,主要因为在交递时手机和各个参与交递的基地台的直线距离大致相等所造成。当考量到多重路径时,主同步码产生重叠的机率会大幅的增加。(图十八)显示在交递区间造成PSC码的重叠。


 

《图十八 PSC码的重叠》

为了评估PSC码产生重叠的机率,假设只存在单一路径的情形(在真实网路环境中是不存在的)下共有三个基地台参与交递,PSC码产生重叠的低率为3/2560,这个机率在真实环境中会大幅的上升。从图十八中可以看出来自较弱的路径的PSC码很容易被来自较强路径的PSC码的旁瓣(sidelobe)给盖掉(mask)。PSC码的旁瓣是因在对PSC码进行自相关运算所产生的。


 

在理想的情况下,我们希望PSC码不具有旁瓣产生,但在真实世界中并不存在这样的一组码;为了将旁瓣的效应降到最低,3GPP所选定的PSC码最大自相关旁瓣值(Maximum Autocorrelation Side-lobes;MAS)为-12.04 dB。


 

因为P-SCH频道和S-SCH频道是以平行的方式同时传送,?了确保可靠的时槽同步及降低同步频道间的干扰,PSC和SSC码应当具有良好的互相关性。理论上,PSC和SSC码具有良好的互相关性,但实际上介于这两个码之间的互相关值并不是很理想。在某些情况下PSC和SSC码之间的互相关值可以高达PSC码自相关值峰值的43%,(图十九)显示PSC码和16个SSC码的最大互相关值的分佈。


 

《图十九 PSC码和16个SSC码的最大互相关值的分佈》

不同的SSC码因互相关运算所产生的旁办值在某些情形下也会变得很高(可以达到144),这意味着在最坏的状况下不同SSC码所产生的互相关旁办值只会小于SSC自相关的主峰值(256)约5 dB。在实际网路环境中,特别是位于交递状态下的手机接收器,有可能因为不同SSC码的高旁办值而干扰到第二阶段的同步程序(SSC码的取得)。(图二十)显示不同SSC码互相关运算所产生的最大旁办值的分佈。


 

《图二十 不同SSC码的互相关旁办值》

SCH频道的硬体实现(Synchronization Channel Hardware Implementation)

SCH频道是由P-SCH及S-SCH频道所构成,因此及码会分别在I轴及Q轴上结合在一起,所谓的结合是指两组序列做XOR的逻辑运算。(图二十一)为同步频道硬体架构示意图。


 

《图二十一 SCH频道的硬体架构》

码只有一种所以只要利用一个长度为256个码片的Gold code产生器就可以产生码。对每个基地台而言S-SCH频道的每个时槽所配置的码的形状是固定的,因此可以利用一固定的形状产生器(pattern generator)来依序切换16个内建的码序列。在进入I/Q调变器之前在I轴及Q轴分别利用一个开关来达到栅栏式的传输(gated transmission),而此一开关是利用每个时槽的起始时间来触发而在经过256个码片之后(66.7)将开关打开。

发布了40 篇原创文章 · 获赞 17 · 访问量 29万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览