專利名稱:為碼分多址通信系統(tǒng)分配可變長度沃爾什碼的方法
技術領域:
本發(fā)明總的來說涉及碼分多址(CDMA)蜂窩通信系統(tǒng),具體地說(但不限于),本發(fā)明涉及在具有可變數(shù)據(jù)速率的碼分多址服務區(qū)域中分配沃爾什碼以服務最大數(shù)目的用戶。
背景技術:
在第三代碼分多址蜂窩通信系統(tǒng)中,一種用來提供可變速率數(shù)據(jù)傳輸?shù)臋C制是使用不同長度的沃爾什-哈德碼(Walsh-hadamard)碼(下面稱為沃爾什碼),用于在前向鏈路通信信號上調(diào)制。具有相同長度的沃爾什碼相互正交,因此可以由不同用戶在相同頻率波段上使用,而不會相互干擾。具有較低數(shù)據(jù)速率的用戶被分給較長的沃爾什碼,而具有快速數(shù)據(jù)速率的用戶被分配給較短的沃爾什碼。
在分配不同長度的沃爾什碼的組合中出現(xiàn)一個問題,因為較短的沃爾什碼“覆蓋”某些較長的沃爾什碼,即從較短的沃爾什碼產(chǎn)生的較長沃爾什碼沒有與較短的沃爾什碼正交。如果在較長的沃爾什碼包括較短的沃爾什碼的同時分配較短的沃爾什碼,可能產(chǎn)生相互干擾。為了服務具有不同數(shù)據(jù)速率的最大數(shù)目的用戶,自沃爾什碼空間分配的每一個沃爾什碼優(yōu)選地排除使用最小數(shù)目的較短沃爾什碼。用于搜索下一個可用沃爾什碼的當前方法是很耗時的,并且不需要排除使用最小數(shù)目的較短沃爾什碼。
從下面的說明中,并且結合附圖,可以理解本發(fā)明的特征和優(yōu)點,其中圖1是根據(jù)本發(fā)明實施例的16位沃爾什碼的覆蓋序列表;
圖2是圖1的覆蓋序列所映射的16位沃爾什碼體系的狀態(tài)矢量;圖3是用于圖1的覆蓋序列所映射的16位沃爾什碼體系的位掩碼的表;圖4是根據(jù)本發(fā)明的另一個實施例的、在活爾什碼體系中選擇所希望的長度的下一個可用沃爾什碼的方法的流程圖;和圖5是用于在活爾什碼體系中跟蹤每一個沃爾什碼的分配和釋放的流程圖。
在所有的視圖中,相應的參考標記代表相應的部件。
具體實施例方式
提供下面的說明來公開用于實施和利用本發(fā)明的當前已知的最佳方式。本發(fā)明的范圍由權利要求書所限定。
用于碼分多址(CDMA)蜂窩通信系統(tǒng)的、相互正交的調(diào)制碼可被產(chǎn)生作為沃爾什碼序列。例如,為了產(chǎn)生具有長度為2的沃爾什碼序列(其從用于長度為1的沃爾什碼的籽晶值0開始),具有0的籽晶被附加到其本身上以產(chǎn)生第一沃爾什碼“00”。籽晶值的反碼被附加到籽晶值以產(chǎn)生第二沃爾什碼“01”。這就是產(chǎn)生2-位沃爾什碼表的等價方法,如下面的表1所示。
表1
用來產(chǎn)生表1的過程可以被重復以產(chǎn)生下一個更高階的沃爾什碼,即下一個更長的沃爾什碼長度,如表2所示。也稱為哈德碼轉(zhuǎn)換矩陣的比特位置W0和W1中的2×2矩陣在比特位置W2和W3中被附加到其自身以產(chǎn)生第一兩個沃爾什碼0和1。通過將2×2矩陣的反碼附加到原始的2×2矩陣,產(chǎn)生第二兩個沃爾什碼2和3。
表2
表2中,沃爾什碼0和2在比特位置W0和W2具有相同的第一兩個比特,而在比特位置W2和W3中的后兩個比特相互為反碼。對于沃爾什碼1和3,存在相同的關系。
通過重復上述的過程,可產(chǎn)生較高階的沃爾什碼長度的另外的沃爾什碼表。例如,為了產(chǎn)生8位沃爾什碼,復制表2的4×4矩陣三次,并且對較低的右下四分之一進行取反,如表3所示。
表3
在每一個n階的沃爾什碼表中,其中n為2的冪數(shù),每一個第k行的第一一半與每一個第(k+n/2)行的第一一半相同,而每一個第k行的第二一半包含每一個第(k+n/2)行的第二一半的反碼。例如,在表3中,n=8。對于k=0,行0和4在比特位置W0到W3中相同,而在比特位置W4到W7,每一位相反。類似地,對于k=1,2和3,行1與5、行2與6以及行3與7分別具有相同的關系。
也可以在較短的和較長的沃爾什碼之間說明獨特的關系。在表2中的每一個4位沃爾什碼“覆蓋”兩個8位沃爾什碼,即4位沃爾什碼“0”與8位沃爾什碼“0”和“4”的第一一半相同。如果4位沃爾什碼“0”被分配給一個用戶,而8位沃爾什碼“0”或“4”的任何之一分配給另一個用戶,則4位沃爾什碼和8位沃爾什碼可相互干擾。因此,較長的沃爾什碼不可用,或者被分配的較短沃爾什碼所“覆蓋”。在長度為n的沃爾什碼k和(k+n/2)中的每一個的第一一半中的長度為n/2的較短沃爾什碼k的重復可用來產(chǎn)生活爾什碼體系的覆蓋序列表,以預測由分配的在系統(tǒng)中的任何沃爾什碼所覆蓋的沃爾什碼。例如,利用這樣的規(guī)則階次為n/2的沃爾什碼k覆蓋下一個長度為n的較高沃爾什碼的沃爾什碼k和(k+n/2),2位沃爾什碼“0”覆蓋4位沃爾什碼對(0,2),2位沃什碼“1”覆蓋4位沃爾什碼對(1,3)。類似地,上面計算的相同順序階次的4位沃爾什碼“0”、“2”“1”和“3”分別覆蓋8位沃爾什碼對(0,4),(2,6),(1,5),和(3,7)。可以重復相同的計算以構造用于任何希望的碼長度的活爾什碼體系的覆蓋序列表。
圖1是由上限定義的覆蓋規(guī)則所產(chǎn)生的16位沃爾什碼的覆蓋序列表100,即在沃爾什碼長度(n/2)的前一行中的每一個沃爾什碼k覆蓋在沃爾什碼長度n的下一行中的沃爾什碼k和(k+n/2),其中,k代表一個沃爾什碼,n為2的正整數(shù)冪數(shù)。覆蓋序列表100的第一行包含長度為1的沃爾什碼“0”。用來代表沃爾什碼的碼元“0”等可被其它的碼元所代替以適合特定的應用。在某些系統(tǒng)中,使用的沃爾什碼“0”被用于導頻碼元。例如,在圖1的16位沃爾什碼中,使用沃爾什碼“0”作為導頻碼元將排除所有使用較短長度的沃爾什碼“0”。因此,在標題為“RESERVED”下的列將被導頻碼元所覆蓋。另一方面,如果16位沃爾什碼“13”被分配,將排除8位沃爾什碼“5”、4位沃爾什碼“1”和2位沃爾什碼“1”。
通過比較位掩碼和活爾什碼體系的比特映射狀態(tài)矢量,覆蓋序列表100可以用來搜索可用的沃爾什碼。例如,如果使用16位活爾什碼體系,可以使用16位沃爾什碼狀態(tài)矢量來跟蹤已有的沃爾什碼分配的狀態(tài)。
圖2是由圖1的覆蓋序列表100所映射的16位活爾什碼體系的狀態(tài)矢量200。在狀態(tài)字的頂部行中指示的每一個16位沃爾什碼k(WC)具有在底部行中指示的可用狀態(tài)(S),如果沃爾什碼已經(jīng)被分配,用“1”表示,如果沒有被分配,用“0”表示。例如,如果分配了4為沃爾什碼“3”,覆蓋序列表100示出8位沃爾什碼“3”和“7”被覆蓋。8位沃爾什碼“3”覆蓋16位沃爾什碼“3”和“11”,8位沃爾什碼“7”覆蓋16位沃爾什碼“7”和“15”。因此,根據(jù)覆蓋序列表100,4個16位沃爾什碼“3”、“11”、“7”和“15”被分配的4位沃爾什碼“3”所覆蓋。在狀態(tài)矢量200的示例中,覆蓋的沃爾什碼“3”、“11”、“7”和“15示為“1”。
為了在序列表100中從左到右搜索可用的4位沃爾什碼的狀態(tài)矢量,在狀態(tài)矢量200中的搜索的比特位置的組合以16進制給出,0x1111用于4位沃爾什碼“0”,0x4444用于4位沃爾什碼“2”,0x2222用于4位沃爾什碼“1”,0x8888用于4位沃爾什碼“3”。這種搜索順序確保了離沃爾什碼“0”的距離最小,即搜索將首先尋找距覆蓋序列表100的左邊最遠的可用的沃爾什碼,然而,可以使用其它的搜索順序來適應特定的應用。在狀態(tài)矢量中,利用位掩碼可容易地搜索用于每一個沃爾什碼的各種比特位置組合。
圖3是圖1的覆蓋序列表100所映射的16位沃爾什碼體系的位掩碼的表300。用于1位沃爾什碼的位掩碼都是“1”。用于2位沃爾什碼的位掩碼是重復的“01”序列或者0x5555;對于4位沃爾什碼,是重復的序列“0001”或0x1111;對于8位沃爾什碼,是重復的序列“00000001”或0x0101。可通過重復n-1個0后跟著1的序列來擴展位掩碼表300以包括用于任何沃爾什碼長度n的位掩碼。
通過移位在位掩碼表300中給出的通用位掩碼,可以產(chǎn)生用于在選定的沃爾什碼長度的每一個沃爾什碼的特定位掩碼。通用位掩碼對應離覆蓋序列表100中的左邊最遠的沃爾什碼,即對應稱為“0”的沃爾什碼。通過將通用位掩碼向左移位由沃爾什數(shù)目M規(guī)定的位數(shù),得出對應在覆蓋序列表100中的每一個沃爾什碼的位掩碼。例如,為了產(chǎn)生在覆蓋序列表100中的16位沃爾什碼7的位掩碼,將圖3中的給出的通用16位沃爾什碼0x0001左移位M=7位,得到位掩碼0x0080。
用于每一個對應長度n的沃爾什碼k的位掩碼可存儲在查找表中,并且通過(例如)一臺計算機,根據(jù)公知的技術,使用k和n作為查找表中的每一個位掩碼[k,n]的地址,可以重新獲得位掩碼。另外,如上所述,通用位掩碼可以存儲在查找表中,且每一個沃爾什碼的每一個位掩碼的移位索引可以存儲且可被重新獲得以移位通用位掩碼,以產(chǎn)生沃爾什碼長度n的每一個其它位掩碼。
在上述的示例中,4位沃爾什碼“3”具有0x8888的對應位掩碼[3,4]。為了檢查4位沃爾什碼“3”是否可用,將位掩碼[3,4]的0x8888于狀態(tài)矢量進行“與(AND)”操作。如果AND操作的結果等于位掩碼[3,4],則對應的沃爾什碼[3,4]不可用。在這個例子中,最后的0x8888等于位掩碼[3,4],因此,在覆蓋序列表100的4位沃爾什碼“3”的右下方的兩個8位沃爾什碼都不可用。
如果AND操作的結果等于0x0000,則在覆蓋序列表100的4位沃爾什碼“3”的下方的兩個8位沃爾什碼“3”和“7”可用。如果AND操作的結果既不等于0x0000,也不等于0x8888的位掩碼[3,4],則在覆蓋序列表100的4位沃爾什碼“3”的下方的16位沃爾什碼“3”,“7”,“11”和“15”中的至少一個可用。在上面例子中,4位沃爾什碼“3”的AND操作結果等于位掩碼[3,4],因此,8位沃爾什碼“3”或“7”都不可用。
在確定4位沃爾什碼“3”不可用之后,在狀態(tài)矢量200中搜索覆蓋序列表100中的下一個沃爾什碼“1”。利用對應4位沃爾什碼“1”的0x2222位掩碼[1,4],AND操作的結果為0x0000,表明4位沃爾什碼“1”,8位沃爾什碼“1”和“5”,以及4個16位沃爾什碼“1”,“9”,“5”和“13”都可用。
下面介紹分配沃爾什碼的一種方法,其包括步驟接收長度為2n的沃爾什碼體系的狀態(tài)矢量作為輸入;從所述狀態(tài)矢量中產(chǎn)生用于選定的沃爾什碼長度j=2n-k的沃爾什碼體系的新狀態(tài)矢量;為選定的沃爾什碼長度j產(chǎn)生搜索掩碼;為選定的沃爾什碼長度j產(chǎn)生搜索順序;和用搜索掩碼來搜索搜索序列以找出下一個可用的沃爾什碼。
在下面的圖中,大寫字母“J”,“K”,“M”,和“N”分別等價于在說明書和權利要求書中的小寫字目“j”,“k”,“m”,和“n”。斜體只是用來將這些參數(shù)和文字區(qū)別開來。
圖4為一種方法的流程圖400,用于選擇下一個可用的沃爾什碼M,其可用于在具有大于或等于j=2(n-k)的階次n的沃爾什碼體系中的任何選定的沃爾什碼長度j。所選擇的沃爾什碼長度j必須遵循沃爾什碼產(chǎn)生規(guī)則,因此,等于2的冪數(shù),例如為1,2,4,8,16,32,64等等。
步驟402是流程圖400的入口點。
步驟404中,接收2n位的沃爾什碼體系狀態(tài)矢量和希望的沃爾什碼長度j=2n-k作為輸入。
步驟406中,為希望的沃爾什碼長度j而將2n位的狀態(tài)矢量復制給新的狀態(tài)矢量。
步驟408中,將沃爾什碼長度循環(huán)指數(shù)k初始化為0。
步驟410中,將沃爾什碼長度循環(huán)指數(shù)遞增1。
步驟412中,將與被右移2n-k位的新的狀態(tài)矢量進行“或(OR)”操作的新的狀態(tài)矢量來代替新的狀態(tài)矢量。
步驟414中,如果2n-k不等于選擇的沃爾什碼長度j,則控制轉(zhuǎn)移回到步驟410。如果2n-k等于選擇的沃爾什碼長度j,則控制轉(zhuǎn)移到步驟415。
步驟415中,通過用狀態(tài)矢量的最右邊的j位來代替狀態(tài)矢量,將狀態(tài)矢量縮短為長度j。
步驟416中,如上所述,產(chǎn)生搜索掩碼用于長度為2n-k-1的沃爾什碼。
步驟418中,如上所述,產(chǎn)生用于選擇的沃爾什碼長度j的搜索掩碼。
步驟420中,將搜索掩碼左移對應下一個搜索序列入口M的位數(shù)。例如,如果在搜索序列中的下一個沃爾什碼為9,則移位的搜索掩碼等于被左移9位的搜索掩碼。
步驟422中,移位后的搜索掩碼與新的狀態(tài)矢量進行逐位AND操作。
步驟424中,如果步驟422中的AND操作結果為0,則控制轉(zhuǎn)移到步驟426。如果步驟422中的AND操作結果不等于0,則控制轉(zhuǎn)移到步驟428。
步驟426中,選擇長度為j的沃爾什碼M,且控制轉(zhuǎn)移到步驟422。
步驟428中,如果步驟422中的AND操作結果等于搜索掩碼,則控制步驟430。如果步驟422中的AND操作結果不等于搜索掩碼,則控制轉(zhuǎn)移到步驟434。
步驟430中,如果M不是搜索序列中的最后入口,則控制轉(zhuǎn)移到步驟420。如果M是搜索序列中的最后入口,則控制轉(zhuǎn)移到步驟432。
步驟432中,選擇一個空(null)的沃爾什碼來指出沒有可用的選擇長度為j的沃爾什碼,且控制轉(zhuǎn)移到步驟442。
步驟434中,如上所述,產(chǎn)生新的搜索掩碼用于長度為j的沃爾什碼。
步驟435中,將新的掩碼左移對應搜索入口M的位數(shù)。
步驟436中,新的搜索掩碼與新的狀態(tài)矢量進行逐位AND操作。
步驟438中,如果在步驟436中的AND操作結果等于0,則控制轉(zhuǎn)移到步驟426。如果步驟436中的AND操作結果不等于0,則控制轉(zhuǎn)移到步驟440。
步驟440中,選擇長度為j的沃爾什碼M+2n-k-1。
步驟442中,產(chǎn)生選擇的沃爾什碼作為輸出。
步驟444是流程圖400的退出點。
如上所述,狀態(tài)矢量不僅可以用來搜索可用的沃爾什碼,也可以用來跟蹤在沃爾什碼體系中的每一個沃爾什碼的分配狀態(tài)。如下所述,可以更新狀態(tài)矢量以跟蹤分配和釋放沃爾什碼體系中的每一個沃爾什碼長度的每一個沃爾什碼。
圖5是流程圖500,用于當將沃爾什碼分配給特定的用途并且之后釋放變成可用于其它用途時,跟蹤沃爾什碼的分配。
步驟502是流程圖500的入口點。
步驟504中,接收狀態(tài)矢量、分配指示符、沃爾什碼參數(shù)M、和沃爾什碼長度參數(shù)j作為輸入。選擇的沃爾什碼長度j必須遵循沃爾什碼產(chǎn)生規(guī)則,因此必須等于2的冪數(shù),例如1,2,4,8,16,32,64等等。分配指示符表明長度為j的沃爾什碼M是否被分配或釋放。
步驟506中,從查找表中重新獲得用于長度為j的沃爾什碼M的位掩碼[M,j]。
步驟508中,檢查分配指示符以確定是否表明存在分配。
步驟510中,如果分配指示符表明了分配,在狀態(tài)矢量和位掩碼[M,j]之間進行逐位OR操作。
步驟512中,用步驟510中的OR操作結果代替狀態(tài)矢量,且控制轉(zhuǎn)移到步驟520?,F(xiàn)在,在更新的狀態(tài)矢量中,將從j位沃爾什碼M的分配中得出的覆蓋的沃爾什碼設定為“1”。
步驟514中,如果分配指示符表明釋放,對位掩碼[M,j]進行逐位反碼或“非”操作。
步驟516中,對狀態(tài)矢量和在步驟514中的位掩碼[M,j]的非操作結果進行AND操作。
步驟518中,用步驟516中的狀態(tài)矢量和位掩碼[M,j]之間的AND操作結果來代替狀態(tài)矢量?,F(xiàn)在,在跟新的狀態(tài)矢量中,將從釋放j位沃爾什碼M中得到的未覆蓋的沃爾什碼設定為“0”。
步驟520中,產(chǎn)生為更新的狀態(tài)矢量作為輸出。
步驟522是流程圖500的退出點。
盡管在16位沃爾什碼體系的例子中使用的覆蓋序列表100和狀態(tài)矢量200被用來便于理解圖4中說明的搜索方法,典型的沃爾什碼方法可以是(例如)256沃爾什碼。用來產(chǎn)生沃爾什碼覆蓋序列標、狀態(tài)矢量、和位掩碼以及用來搜索狀態(tài)矢量的上面介紹的相同方法可以用于256位沃爾什碼體系或者所希望的其它任何n位沃爾什碼體系。
上面說明的方法也可以用計算機程序產(chǎn)品來實現(xiàn),其包括用于實施計算機程序的介質(zhì),用來輸入到計算機中,且在介質(zhì)中實施的計算機程序促使計算機執(zhí)行下述功能接收用于長度為2n的沃爾什碼體系的狀態(tài)矢量作為輸入;從狀態(tài)矢量中產(chǎn)生用于長度為j=2n-k的選擇的沃爾什碼的新的狀態(tài)矢量;為長度為j的選擇的沃爾什碼產(chǎn)生搜索掩碼;為長度為j的選擇的沃爾什碼產(chǎn)生搜索序列;和用搜索掩碼來搜索搜索序列以找出下一個可用的沃爾什碼。
在權利要求書的精神和范圍之內(nèi),除了上面特別介紹來實施本發(fā)明的之外,根據(jù)上面的教導可以對本發(fā)明進行其它修改、變化和安排。
權利要求
1.一種分配沃爾什碼的方法,其包括(a)接收用于長度為2n的沃爾什碼的狀態(tài)矢量作為輸入;(b)從所述狀態(tài)矢量中,為長度為j=2n-k的選擇的沃爾什碼產(chǎn)生新的狀態(tài)矢量;(c)為所述長度為j的選擇的沃爾什碼產(chǎn)生搜索掩碼;(d)為所述長度為j的選擇的沃爾什碼產(chǎn)生搜索序列;和(e)用所述搜索掩碼來搜索所述搜索序列以找出下一個可用的沃爾什碼。
2.如權利要求1所述的方法,其中,所述步驟(b)包括下述步驟(b1)為所述希望的沃爾什碼長度j,將所述狀態(tài)矢量復制到新的狀態(tài)矢量中;(b2)將循環(huán)指數(shù)k初始化為0;(b3)將所述循環(huán)指數(shù)k遞增1;(b4)用與被右移2n-k位的新的狀態(tài)矢量進行OR操作的新的狀態(tài)矢量來代替所述新的狀態(tài)矢量;和(b5)重復步驟(b3)到步驟(b4),直到2n-k等于所述希望的沃爾什碼長度j。
3.如權利要求1所述的方法,其中,所述步驟(e)包括下述步驟(e1)將所述搜索掩碼左移對應下一個搜索序列入口M的位數(shù),以產(chǎn)生移位的搜索掩碼;(e2)在所述移位的搜索掩碼和新的狀態(tài)矢量之間進行AND操作;和(e3)如果步驟(e2)的結果等于0,產(chǎn)生長度為j的沃爾什碼M作為輸出。
4.如權利要求3所述的方法,進一步包括步驟(e5)如果所述搜索序列入口M不是所述搜索序列中的最后,并且如果步驟(e2)的結果等于所述搜索掩碼,返回步驟(e1);和(e6)如果M是所述搜索序列中的最后,產(chǎn)生空的沃爾什碼作為輸出,其表明在所述選擇的長度j中沒有可用的沃爾什碼。
5.如權利要求4所述的方法,進一步包括步驟(e7)如果步驟(e2)的結果不等于所述搜索掩碼,為具有選擇長度的j的沃爾什碼產(chǎn)生新的搜索掩碼;(e8)將所述新的搜索掩碼左移對應所述搜索序列入口M的位數(shù),以產(chǎn)生移位的搜索矢量;(e9)在所述移位的搜索矢量和新的狀態(tài)矢量之間進行AND操作;(e10)如果步驟(e9)的結果等于0,產(chǎn)生長度為j的沃爾什碼M作為輸出;和(e11)如果步驟(e9)的結果不等于0,產(chǎn)生長度為j的沃爾什碼M+2n-k作為輸出。
6.一種在沃爾什碼體系中跟蹤每一個沃爾什碼的分配狀態(tài)的方法,其包括步驟(a)接收狀態(tài)矢量、分配指示符、沃爾什碼參數(shù)M和沃爾什碼長度參數(shù)j作為輸入,其中,M和j是正整數(shù);(b)重新獲得位掩碼[M,j];和(c)更新所述狀態(tài)矢量,作為所述沃爾什碼參數(shù)M、所述分配指示符、和所述位掩碼[M,j]的函數(shù)。
7.如權利要求6所述的方法,其中,所述步驟(c)包括下述步驟(c1)檢查所述分配指示符是否表明分配或釋放長度為j的沃爾什碼M;(c2)如果所述分配指示符表明了一分配,在所述狀態(tài)矢量和所述位掩碼[M,j]之間進行OR操作;和(c3)用在所述狀態(tài)矢量與所述位掩碼[M,j]之間的OR操作結果來代替所述狀態(tài)矢量,以在所述狀態(tài)矢量中設定覆蓋的沃爾什碼。
8.如權利要求6所述的方法,其中,所述步驟(c)包括下述步驟(c1)如果所述分配指示符表明了一釋放,對所述位掩碼[M,j]進行非操作;(c2)在所述狀態(tài)矢量和所述非操作結果之間進行AND操作;和(c3)用在所述狀態(tài)矢量與所述非操作結果之間的AND操作結果來代替所述狀態(tài)矢量,以在所述狀態(tài)矢量中清除未覆蓋的沃爾什碼。
9.一種計算機程序產(chǎn)品,其包括用于實施輸入到計算機中的計算機程序的介質(zhì);和在所述介質(zhì)中實施的計算機程序,用于促使計算機執(zhí)行下述功能(a)接收用于長度為2n的沃爾什碼體系的狀態(tài)矢量作為輸入;(b)從所述狀態(tài)矢量中產(chǎn)生用于長度為j=2n-k的選擇的沃爾什碼的新的狀態(tài)矢量;(c)為長度為j的所述選擇的沃爾什碼產(chǎn)生搜索掩碼;(d)為長度為j的所述選擇的沃爾什碼產(chǎn)生搜索序列;和(e)用所述搜索掩碼來搜索所述搜索序列以找出下一個可用的沃爾什碼。
10.一種計算機程序產(chǎn)品,其包括用于實施輸入到計算機中的計算機程序的介質(zhì);和在所述介質(zhì)中實施的計算機程序,用于促使計算機執(zhí)行下述功能(a)接收狀態(tài)矢量、分配指示符、沃爾什碼參數(shù)M、和沃爾什碼長度參數(shù)j作為輸入,其中M和j為正整數(shù);(b)重新獲得位掩碼[M,j];和(c)更新所述狀態(tài)矢量,作為狀態(tài)矢量參數(shù)M、分配指示符、位掩碼[M,j]。
11.如權利要求10所述的計算機程序產(chǎn)品,其中步驟(b)包括如下步驟(b1)對于所希望的沃爾什碼長度j,將所述狀態(tài)矢量復制為新的狀態(tài)矢量;(b2)將循環(huán)指數(shù)初始化為0;(b3)將所述循環(huán)指數(shù)遞增1;(b4)用與被右移2位的所述新的狀態(tài)矢量進行OR操作的新的狀態(tài)矢量來代替所述新的狀態(tài)矢量;和(b5)重復步驟(b3)和(b4),直到2等于所述希望的沃爾什碼長度j。
12.如權利要求10所述的計算機程序產(chǎn)品,其中步驟(e)包括如下步驟(e1)將所述搜索掩碼左移對應下一個搜索序列入口M的位數(shù),以產(chǎn)生移位的搜索掩碼;(e2)在所述移位后的搜索掩碼與所述新的狀態(tài)矢量之間進行AND操作;和(e3)如果步驟(e2)的結果等于0,產(chǎn)生長度為j的沃爾什碼作為輸出。
13.如權利要求12所述的計算機程序產(chǎn)品,進一步包括步驟(e5)如果所述搜索序列入口M不是所述搜索序列中的最后,且如果步驟(e2)的結果等于所述搜索掩碼,返回到步驟(e1);和(e6)如果所述搜索序列入口M是所述搜索序列的最后,產(chǎn)生一空沃爾什碼作為輸出,指出在所述選擇的長度j上沒有可用的沃爾什碼。
14.如權利要求13所述的計算機程序產(chǎn)品,進一步包括步驟(e7)如果步驟(e2)的結果不等于所述搜索掩碼,產(chǎn)生新的搜索掩碼,用于所述選擇的長度為j的沃爾什碼;(e8)將所述新的搜索掩碼左移對應下一個搜索序列入口M的位數(shù),以產(chǎn)生移位的搜索矢量;(e9)在所述移位的搜索矢量與所述新的狀態(tài)矢量之間進行AND操作;和(e10)如果步驟(e9)的結果等于0,產(chǎn)生長度為j的沃爾什碼M作為輸出。
15.如權利要求14所述的計算機程序產(chǎn)品,進一步包括步驟(e11)如果步驟(e9)的結果不等于0,產(chǎn)生長度為j的沃爾什碼M+2作為輸出。
16.一種計算機程序產(chǎn)品,其包括用于實施輸入到計算機中的計算機程序的介質(zhì);和在所述介質(zhì)中實施的計算機程序,用于促使計算機執(zhí)行下述功能(a)接收狀態(tài)矢量、分配指示符、沃爾什碼參數(shù)M、和沃爾什碼長度參數(shù)j作為輸入,其中M和j為正整數(shù);(b)重新獲得位掩碼[M,j];和(c)更新所述狀態(tài)矢量,作為狀態(tài)矢量參數(shù)M、分配指示符、位掩碼[M,j]的函數(shù)。
17.如權利要求16的計算機程序產(chǎn)品,其中,步驟(c)包括如下步驟(c1)檢查所述分配指示符是否表明分配或釋放長度為j的沃爾什碼M;(c2)如果所述分配指示符表明分配,對所述狀態(tài)矢量和所述位掩碼[M,j]執(zhí)行OR操作;和(c3)用在所述狀態(tài)矢量和所述位掩碼[M,j]之間的OR操作的結果來代替所述狀態(tài)矢量,以設定所述狀態(tài)矢量中的覆蓋的沃爾什碼。
18.如權利要求16所述的計算機程序產(chǎn)品,其中步驟(c)包括下述步驟(c1)如果所述分配指示符表明釋放,對所述位掩碼[M,j]執(zhí)行非操作;(c2)在所述狀態(tài)矢量和所述非操作的結果之間執(zhí)行AND操作;和(c3)用在所述狀態(tài)矢量和所述非操作結果之間的AND操作的結果來代替所述狀態(tài)矢量,以清除所述狀態(tài)矢量中的未覆蓋的沃爾什碼。
全文摘要
可以產(chǎn)生相互正交的、用于碼分多址(CDMA)蜂窩通信系統(tǒng)的調(diào)制碼作為沃爾什碼序列。一種分配沃爾什碼的方法,其包括步驟接收用于長度為文檔編號H04J11/00GK1640035SQ02804353
公開日2005年7月13日 申請日期2002年11月21日 優(yōu)先權日2001年12月3日
發(fā)明者迪安E·索爾森, 丹尼爾J·德克萊克 申請人:摩托羅拉公司