專利名稱:快速旋轉的偽隨機噪聲發(fā)生器的制作方法
背景領域本發(fā)明通常涉及通信,更具體地說,涉及一種新穎、改進的方法和裝置,該方法和裝置用于生成由一個或多個偽隨機噪聲(PN)序列組成的PN序列,并具有從一個偏移量迅速旋轉到另一個偏移量的能力。
背景被廣泛部署的無線通信系統(tǒng)提供各種類型的通信(例如,語音、數(shù)據(jù)等)。這些系統(tǒng)可以基于碼分多路訪問(CDMA)、時分多路訪問(TDMA)或一些其他的調(diào)制技術。CDMA系統(tǒng)提供勝過其他類型的系統(tǒng)的某些優(yōu)點,包括系統(tǒng)容量增加。
可以將CDMA系統(tǒng)設計成支持一個或多個CDMA標準,例如,(1)“關于雙重模式寬頻帶擴頻單元系統(tǒng)的TIA/EIA-95-B移動站-基站兼容性標準”(IS-95標準);(2)“關于雙重模式寬頻帶擴頻單元移動站的TIA/EIA-98-C推薦的最低標準”(IS-98標準);(3)名為“第3代合作方案”(3GPP)的社團所提供的、并包括在文檔號碼為3G TS 25.211、3G TS 25.212、3G TS 25.213和3G TS 25.214的一組文檔中得到具體表現(xiàn)的標準(W-CDMA標準);(4)名為“第3代合作方案2”(3GPP2)的社團所提供的、并在一組文檔中得到具體表現(xiàn)的標準(cdma2000標準),這組文檔包括《關于cdma2000擴頻系統(tǒng)的TR-45.5物理層標準》、《關于cdma2000擴頻系統(tǒng)的C.S0005-A上層(層3)發(fā)信號標準》和《C.S0024cdma2000高速率分組數(shù)據(jù)空中接口規(guī)格》;以及(5)一些其他的標準。這些指定的標準引入于此,用作參考。執(zhí)行cdma2000標準的“高速率分組數(shù)據(jù)”規(guī)范的系統(tǒng)在這里稱作“高數(shù)據(jù)速率(HDR)系統(tǒng)”。該HDR系統(tǒng)在TIA/EIA-IS-856《CDMA2000高速率分組數(shù)據(jù)空中接口規(guī)范》中得到證明,并被于此,用作參考。所提議的無線系統(tǒng)也使用單一空中接口來提供HDR和低數(shù)據(jù)速率的組合服務(例如,語音服務和傳真服務)。
通常在用于傳播傳輸數(shù)據(jù)(包括傳送的導頻信號)的CDMA系統(tǒng)中使用偽隨機噪聲(PN)序列。CDMA接收器通常采用“搜尋”(RAKE)接收器。搜尋接收器通常由一個或多個搜索器以及兩個或更多的多路徑解調(diào)器(查找器)組成,這些搜索器用于定位來自鄰接基站的直接的和多路徑導頻,這些多路徑解調(diào)器(查找器)用于接收并組合來自那些基站的從信息信號。
在直接序列CDMA系統(tǒng)的設計中所固有的一項要求是,接收器必須使其PN序列與基站的PN序列對齊。傳送PN序列的單一值所需要的時間稱作“碼片(chip)”,這些碼片變化的速率稱作“碼片速率”。例如,在IS-95中,每個基站和訂戶單元使用確切相同的PN序列。基站通過在其PN序列的生成過程中插入唯一時間偏移量,將自身與其他基站區(qū)別開來。在IS-95系統(tǒng)中,所有基站都被偏移64個碼片的若干整數(shù)倍。訂戶單元通過將至少一個查找器分配給基站,來與那個基站進行通信。所分配的查找器必須將合適的偏移量插入其PN序列,以便與那個基站進行通信。也可以通過為每個基站使用唯一PN序列而不是使用相同PN序列的偏移量,來區(qū)分基站。在這種情況下,查找器將會調(diào)整其PN發(fā)生器,以便為基站產(chǎn)生合適的分配給該基站的PN序列。調(diào)整PN序列中的偏移量被稱作“旋轉”。
早期的CDMA PN發(fā)生器通常包括線性反饋移位寄存器(LFSR)。當不旋轉時,每一碼片將會啟用該LFSR一次,以產(chǎn)生一種新的狀態(tài)并輸出PN序列中的一個新的碼片。為了執(zhí)行旋轉,要么將會禁止LFSR以執(zhí)行延緩,要么每一碼片將會兩次允許LFSR執(zhí)行推進。這樣,簡單的PN發(fā)生器可能能夠按1碼片/碼片時間的速率在兩個方向中的任何一個方向上進行旋轉。如果LFSR的時鐘頻率是一個更高的速率(例如,是碼片速率的8倍),則可以獲得少量的改進。然后,可以按8碼片/碼片時間的速率來執(zhí)行推進(因為可以為發(fā)生在碼片中的所有8個周期激活允許)。延緩將仍限制在1個延緩/碼片??梢詫⒖刂七壿嫾尤脒@種基于LFSR的系統(tǒng),以便可以通過僅僅將偏移量提供給PN發(fā)生器并將進行旋轉的命令提供給那個偏移量,來指引旋轉。如剛才所述,在旋轉早期PN發(fā)生器中的旋轉可能一直是通過連續(xù)移動PN狀態(tài)來加以執(zhí)行的,而在整個下文中通常使用術語“旋轉”來識別PN序列中產(chǎn)生所需偏移量的任何過程。
當每個查找器能夠迅速將其PN序列與傳送的PN序列對齊時,總系統(tǒng)性能得到提高。這一點有各種原因。在最初獲取時,快速旋轉的PN發(fā)生器將會減少從查找器指派到解調(diào)的時間。如此裝備的搜索器將能夠更快地定位鄰接基站,這樣,越區(qū)切換將會更有效率和更有效。當查找器能夠迅速對PN偏移量的變化作出響應時,迅速漸強和漸弱的強大的多路徑信號更有可能被解調(diào)并被有效地加以組合。所以,需要利用能夠從PN序列中的一個偏移量迅速轉變?yōu)榱硪粋€偏移量的PN序列。
標題為《快速旋轉的偽隨機噪聲序列發(fā)生器》的第6,154,101號美國專利中揭示了一種這樣的PN發(fā)生器,該美國專利被受讓于本發(fā)明的受讓人。這種PN發(fā)生器為從單一線性反饋移位寄存器(LFSR)中生成的PN序列(例如,IS-95和類似的系統(tǒng)所需要的PN序列)提供迅速的旋轉。這種PN發(fā)生器包含LFSR和參考計數(shù)器,其中的每一個都是適于承載的。使用自由運行計數(shù)器來保持參考時間,并且將所需的偏移量加入那個參考時間,以提供目標位置。然后,使用查找表,來尋找對應于該目標位置的PN狀態(tài)和PN計數(shù)。如果該表被完全載入,那么,該PN計數(shù)就是這個目標位置,并且對關聯(lián)的PN狀態(tài)進行檢索。如果該表格沒有被完全載入,則該目標位置可能不存在于這個表格中。在這種情況下,具有關聯(lián)的PN狀態(tài)的最接近的PN計數(shù)值被進行定位。然后,將該PN狀態(tài)和PN計數(shù)同時載入LFSR和參考計數(shù)器。因此,PN發(fā)生器現(xiàn)在已在一瞬間旋轉到自由運行計數(shù)器與PN計數(shù)值之間的差所提供的偏移量。在IS-95中,通過使用不同的掩碼,I PN序列和Q PN序列正在從單一LFSR中生成。這樣,這種技術本質上使I PN序列和Q PN序列保持對齊。
要使PN發(fā)生器確切地達到目標位置所提供的所需偏移量,可能需要某種殘留旋轉。有關這一點的一個原因是如上所述,查找表可能只包含一個子集的可能的PN狀態(tài),因此,瞬間負載的旋轉只接近該目標。另一個原因是在閱讀自由運行計數(shù)器、使用查找表與裝載各個結果之間可能有可略微變化的時延??梢岳们懊嫠枋龅膫鹘y(tǒng)的旋轉方法,來實現(xiàn)這種殘留旋轉。
前面所描述的技術非常適用于可以使用單一LFSR來生成的PN序列。還有本身從其他PN序列(例如,金碼(Gold codes))中所生成的其他種類的PN序列。W-CDMA標準是使用用于I和Q PN傳播的金碼的CDMA系統(tǒng)的一個例子。通過對兩個LFSR的輸出進行合計(“異或”邏輯運算(XORing)),來生成金碼。主張或不主張這些LFSR的信號推進或延緩的傳統(tǒng)的旋轉技術也適用于金碼,但會遇到以上所描述的同樣的系統(tǒng)限制問題。
當需要對于許多唯一碼的支持時,剛才所描述的概括的快速旋轉技術的費用會變得非常高。關于W-CDMA PN序列的情況也是如此。有512個原代碼要支持,加上每個原代碼的額外15個二級代碼。也有兩個18位LFSR,所以,需要為每個潛在的目標偏移量存儲36個位。如果需要對于每一序列的適當數(shù)量的目標偏移量的支持,則支持這個例子所需要的查找表的尺寸會迅速變得非常大。而且,當需要同時加載一個或多個LFSR時,存在被引入的同步問題。
所以,該技術領域中需要改進的快速旋轉多序列PN生成技術,用于提高系統(tǒng)性能并將關聯(lián)的硬件管理費用減到最少。
概述這里所揭示的實施例提出了對于基于多序列的PN發(fā)生器的快速旋轉的需求。在一個方面中,LFSR狀態(tài)和參考計數(shù)器狀態(tài)被載入其對應的部件,以便在各種狀態(tài)之中保持一致性。在另一個方面中,揭示了各種方法,這些方法用于響應于唯一代碼中的所需偏移量來確定LFSR狀態(tài)和計數(shù)器值。在這些方法之中,通過屏蔽技術來執(zhí)行LFSR狀態(tài)的矩陣乘法和推進LFSR狀態(tài)的生成。也介紹了其他方法。這些方面具有用有效率的方式來減少轉換時間的好處,這轉變成獲取速度提高、對多路徑信號的查找器鎖定更快、數(shù)據(jù)吞吐量增加、功率降低和總系統(tǒng)容量改善。這里所描述的各種技術同等地應用于入口點和入口終端。也介紹了本發(fā)明的其他各個方面。
本發(fā)明提供了執(zhí)行本發(fā)明的各個方面、實施例和特點的各種方法和系統(tǒng)單元,下文將詳細描述。
附圖簡述通過以下所提供的詳細描述并結合附圖,本發(fā)明的這些特點、性質和優(yōu)點將會更加一目了然。在所有這些附圖中,相同的標號所表示的意義相同;并且,在這些附圖中
圖1是能夠支持許多用戶的無線通信系統(tǒng)的一般框圖;圖2描繪一種接收器的框圖;圖2A描繪概括的PN發(fā)生器邏輯;圖3是根據(jù)本發(fā)明而配置的PN發(fā)生器邏輯的一個實施例;圖4是可配置成用于計算LFSR狀態(tài)的硬件加速器的矩陣乘法器;圖5描繪對圖3中的PN發(fā)生器邏輯進行的修改;圖6是本發(fā)明的一個實施例中用于計算LFSR狀態(tài)的概括的硬件配置;圖7結合本發(fā)明的示范實施例展示各種PN序列與關聯(lián)的掩碼之間的關系。
詳細描述圖1是支持許多用戶的無線通信系統(tǒng)100的圖表,它可以執(zhí)行本發(fā)明的各個方面。系統(tǒng)100可設計成支持一個或多個CDMA標準和/或設計(例如,IS-95標準、cdma2000標準、HDR規(guī)范)。為簡單起見,示出系統(tǒng)100包括與兩個入口終端106(也可以被稱作“遠程終端”或“移動站”)進行通信的三個入口點104(也可以被稱作“基站”)。該入口點及其覆蓋區(qū)域經(jīng)常被共同稱作“小區(qū)”。
根據(jù)正在被執(zhí)行的CDMA系統(tǒng),每個入口終端106可以在任何給定的時刻與前向鏈接上的一個(或可能是多個)入口點104進行通信,并且,可以根據(jù)該入口終端是否處于軟越區(qū)切換狀態(tài),來與反向鏈接上的一個或多個入口點進行通信。該前向鏈接(即下行線)指的是從入口點到入口終端的傳輸,該反向鏈接(即上行線)指的是從入口終端到入口點的傳輸。
為清楚起見,在描述本發(fā)明的過程中所使用的例子將會把入口點假定為信號的發(fā)信方,把入口終端假定為那些信號(即前向鏈接上的信號)的接收器和獲取器。精通該技術的人將會理解如這里所述,可以將入口終端和入口點裝備成傳送數(shù)據(jù),并且,本發(fā)明的各個方面也可應用于那些情況中。這里專門使用單詞“示范”,意思是“用作例子、實例或例證”。這里被描述為“示范”的任何實施例不一定要被解釋成比其他實施例更優(yōu)先或更有利。
W-CDMA標準定義用于加擾下行線的兩個金碼序列——一個用于同相分量(I),另一個用于正交(Q)??梢岳脙蓚€18位LFSR來生成I序列,第一個使用多項式1+X7+X18,另一個使用多項式1+X5+X7+X10+X18。I序列是來自每個LFSR的抽頭0的“異或”(XOR)。通過將I序列延遲131,072個碼片,來建立Q序列。利用另外兩個LFSR來生成它,盡管技術嫻熟的技工將會認識到用來生成這些I序列的兩個LFSR可以再加以使用。通過屏蔽這兩個LFSR(具有各自的掩碼001000000001010000和001111111101100000),來實現(xiàn)這一點。通過使用GF(2)加法,或者僅僅通過使用“異或”功能,來合計這兩個LFSR的屏蔽輸出。對來自這兩個LFSR的合成的總計掩碼輸出進行“異或”邏輯運算,以建立Q序列。
如前所述,W-CDMA利用唯一代碼來區(qū)別基站。通過利用這兩個LFSR中的每個LFSR中的各組唯一始態(tài),來實現(xiàn)這一點。然后把生成的PN序列舍位至38,400碼片長度。W-CDMA標準規(guī)定原代碼和二級代碼,每種代碼具有第一個LFSR的偏移量所指定的唯一始態(tài);并且,為第二個LFSR的始態(tài)利用全一(allones)。這樣,通過只為每個唯一代碼要求一個18位初態(tài)而不是兩個18位初態(tài),來簡化該標準;但是,本發(fā)明的原理同等地應用于每一代碼有兩個唯一初態(tài)的更普通的情況。本發(fā)明應用于由W-CDMA標準規(guī)定的代碼,更廣泛地應用于根據(jù)兩個或多個序列(利用唯一的LFSR(或其相等物)來生成)的輸出所編制的任何PN序列的生成。
圖2描繪了被配置成本發(fā)明的一個實施例的接收器200的框圖。為清楚起見,只示出涉及本發(fā)明的接收器200的一個子集塊。為本文假定微處理器210大體上正在為接收器200執(zhí)行處理和控制,并且,數(shù)字信號處理器(DSP)220提供各種解調(diào)處理的更特定的控制,包括查找器解調(diào)、搜索、組合等。這些細節(jié)沒有示出。下文描述關于旋轉和PN生成的處理部分。這種假定的處理劃分只用于進行描述——精通該技術領域的人將會認識到可以根據(jù)本發(fā)明的原理來執(zhí)行處理器(無論是微處理器,還是DSP)之中的各種處理劃分。
微處理器210通過將PN_CODE和TARGET_PN_POS傳遞給DSP220,來啟動旋轉。PN_CODE對應于特定基站的PN代碼,將要生成PN序列來對該PN代碼進行解調(diào)。如上所述,在W-CDMA系統(tǒng)中,PN_CODE將會是相對于Q序列的I序列中的偏移量。TARGET_PN_POS將識別由PN_CODE(PN發(fā)生器必須旋轉到該PN_CODE)識別的代碼中的偏移量。微處理器210通常將會確定啟動來自搜索過程的結果的旋轉的必要性,或者確定為處于越區(qū)切換情況的鄰接基站傳遞偏移量和代碼的系統(tǒng)命令。這些細節(jié)(未示出)在本發(fā)明的范圍以外。
DSP通過將各種參數(shù)和裝入命令傳遞給PN發(fā)生器邏輯230,來執(zhí)行來自微處理器210的旋轉指示。下文詳細地描述了這些參數(shù)和用于處理它們的各種程序。在部分這些程序中,結合DSP220來使用加速器250,以制定部分這些參數(shù)。利用虛線來繪制加速器250,以指出它是任選的。
自由運行計數(shù)器240是每一碼片增量一次的計數(shù)器,其周期性由正在被生成并用于去加擾(descrambling)的PN序列的長度來加以確定。在W-CDMA系統(tǒng)中,那個周期是38,400個碼片,當該系統(tǒng)初始化時,這個計數(shù)器被重置,并且隨后無期限地循環(huán)。使用其輸出來提供定時參照。DSP220和PN發(fā)生器邏輯230都可以獲得自由運行計數(shù)器240的定時參照。
圖2A描繪了PN發(fā)生器邏輯230的概括的實施例。在涉及圖3、圖5和以下所述的各種參數(shù)確定程序說明的論述中,將更加完整地詳述PN發(fā)生器邏輯230。PN發(fā)生器邏輯230包含名為LFSR1 232和LFSR2 234的兩個LFSR,其中的每個LFSR都生成被稱作“M序列”的PN序列。PN發(fā)生器邏輯230的所需輸出是一個或多個PN序列,這些PN序列從那兩個M序列中被構制而成并在M序列組合塊238中被加以確定。通常,在CDMA系統(tǒng)中,I PN序列和Q PN序列是所需輸出。以上已詳細描述了W-CDMA序列的各個所需輸出。
M序列組合塊238中的任何特定PN序列的生成自然地要求LFSR1 232和LFSR2 234具有協(xié)同狀態(tài)。這樣,關于特定的PN序列輸出,LFSR1 232和LFSR2234必須同步更新。通常,每一碼片,這些LFSR更新一次。如果它們不同步更新,那么,將會產(chǎn)生與所需PN序列不同的PN序列。為了達到那個目的,PN發(fā)生器邏輯230也包含參考計數(shù)器236,參考計數(shù)器236與這兩個LFSR同步地進行更新,并且,其輸出所提供的參考指出每個M序列的狀態(tài)的位置或指數(shù)以及(因而)出自M序列組合塊238的合成PN序列的指數(shù)或位置。對于精通該技術領域的人而言,將會顯而易見當在PN輸出的生成過程中使用兩個以上的LFSR時,本發(fā)明的原理可全力加以應用;但是,若要對這些原理進行有效的說明,只要求在各種技術和實施例的論述中談及兩個LFSR。
如圖2A所示,PN_STATE1、PN_STATE2和PN_COUNT分別是到LFSR1 232、LFSR2 234和參考計數(shù)器236的輸入??梢岳眠@些各自的輸入來裝載這三個部件中的每個部件,從而臨時取代這些部件的固有的LFSR或計數(shù)器作用。利用這種方式,可以在一瞬間將該參考計數(shù)器、M序列和最后得到的PN序列移到新的位置;或者,換言之,可以在一瞬間加以旋轉。精通該技術領域的人將會清楚必須用這樣一種方法來執(zhí)行PN_STATE1、PN_STATE2和PN_COUNT的寫操作,以便在那些值之中保持一致性。要實現(xiàn)這一點,有各種方法。一種方法是確保在計數(shù)器和LFSR都不會推進的時期內(nèi)寫入所有值。另一種方法是在裝載這些值的同時,禁止使用計數(shù)器和LFSR。還有一種方法是預補償在寫序列期間所引入的任何歪斜,以便在裝載所有這些值之后,它們具有曾經(jīng)想要的相對關系。(另一些選擇性實施例不要求LFSR1與LFSR2之間有瞬間的同步性,但將會提供一種用于聚回到同步狀態(tài)的方法和/或裝置。這些實施例并沒有不一致,因為在達到同步之前,它們的合成輸出將不會是有效的所需輸出。以下根據(jù)圖5來詳細討論這一點。)回去參照圖2,這三個輸入——PN_STATE1、PN_STATE2和PN_COUNT在從DSP220被傳遞到PN發(fā)生器邏輯230的各個參數(shù)之中。通過根據(jù)剛才所描述的同步性要求來計算這些內(nèi)容,將討論以下各種參數(shù)計算方法。(關于以上簡要討論的選擇性實施例以下將更全面地加以描述(不符合瞬間的同步性要求),PN_COUNT可能需要在兩個參數(shù)PN_COUNT1和PN_COUNT2中被加以傳遞,以便分別符合根據(jù)PN_STATE1和PN_STATE2的指數(shù)或位置。)除了這三個輸入以外,可能需要根據(jù)特定的實施來傳遞各種其他的參數(shù)。關于截取序列,不允許這些LFSR循環(huán)通過由其中所包含的多項式規(guī)定的整個序列。這樣,可能需要提供LFSR1_INIT_STATE和LFSR2_INIT_STATE,以便一旦達到該截取序列的末端,就確定這各個LFSR的適當?shù)闹匦聠訝顟B(tài)。如上所述,W-CDMA系統(tǒng)總是使用所有都是1的始態(tài)來載入LFSR2,因此,只需要傳遞LFSR1_INIT_STATE。經(jīng)常是這種情況瞬間部分的旋轉可能沒有完全實現(xiàn)所需的旋轉,因此,要執(zhí)行任何必要的殘留旋轉,可以傳遞具有所需的最終旋轉位置的參數(shù)TARGET_PN_POS。在各種實施例中,許多特點可以包含其他可編程元件,這些可編程單元將自然地需要(或者通過DSP220,或者通過微處理器210)進行初始化。一般而言,與旋轉程序相比,這些參數(shù)相對是靜態(tài)的。當在以下被介紹時,將適當?shù)貙λ鼈冞M行描述。
關于DSP220中的旋轉處理的概括程序(在微處理器210所發(fā)出的旋轉命令之后)如下所述。
首先,DSP220從微處理器210接收旋轉命令。該命令包括PN代碼標識符PN_CODE,用于識別將要被生成的PN代碼;以及目標PN位置TARGET_PN_POS,用于指出需要旋轉的PN代碼中的指數(shù)或位置。當必須生成并識別唯一代碼序列時,需要PN_CODE。例如,如上所述,這樣的一種類別的代碼包括基于截取M序列的代碼。但是,基于多個LFSR輸出的其他種類的代碼同樣在本發(fā)明的范圍以內(nèi)。精通該技術領域的人將會知道如何修改下文中的原理來補償這一點。
其次,DSP220讀出自由運行計數(shù)器240,以確定被稱作“FREE_COUNT”的那時的自由運行參照時間。然后,DSP220將TARGET_PN_POS加入FREE_COUNT,以確定所需的PN計數(shù)PN_COUNT,該PN計數(shù)將被載入?yún)⒖加嫈?shù)器236。參考計數(shù)器236保持針對PN計數(shù)器230的參照時間,不會與自由運行參照時間FREE_COUNT相混淆。任何給定的實施例都可以采用許多PN計數(shù)器,每個PN計數(shù)器保持不同的偏移量,因此在其各自的參考計數(shù)器中保持不同的值。在這類實施例中,只需要單一的自由運行參考計數(shù)器。在典型的系統(tǒng)中,在執(zhí)行這些計算的過程中可能會有某種延遲,因此,PN_COUNT根據(jù)計數(shù)器和在那個延遲期間所產(chǎn)生的LFSR更新可能會具有誤差分量。
再次,根據(jù)PN_CODE和PN_COUNT,DSP220確定用于分別載入LFSR1和LFSR2、PN_STATE1和PN_STATE2的各種狀態(tài),這些狀態(tài)對應于代碼(由PN_CODE識別)中的所需的計數(shù)值(PN_COUNT)。以下將詳細討論用于確定PN_STATE1和PN_STATE2的各種程序。
第四,PN_COUNT、PN_STATE1和PN_STATE2分別載入?yún)⒖加嫈?shù)器236、LFSR1232和LFSR2 234。通過使用諸如前面所描述的一些方法,用這樣一種方式來裝載這些值,以便保持它們之中的一致性。這樣,實現(xiàn)了對PN_COUNT所識別的位置的瞬間旋轉。
第五,通過旋轉邏輯(在以下圖3中詳述)來實現(xiàn)任何殘留旋轉,以便將PN發(fā)生器230輸出帶到由TARGET_PN_POS識別的位置。DSP220將TARGET_PN_POS寫入PN發(fā)生器邏輯230,這樣,可以實現(xiàn)這一點。
圖3描繪PN發(fā)生器邏輯230的一個實施例。為了說明示出高度的可配置性。PN發(fā)生器邏輯230有各種實施例,這些實施例不要求所有可配置參數(shù)都是可編程的。相反,這些參數(shù)中的許多參數(shù)將被固定在硬件內(nèi)。
PN發(fā)生器邏輯230包含兩個LFSR——LFSR1 330和LFSR2 350。LFSR1 330和LFSR2 350分別示出被標示為“多項式1”和“多項式2”的輸入?yún)?shù)。在一些實施例中,允許每個LFSR的多項式是可編程的,這可能是有利的,尤其在所部署的PN發(fā)生器用于各種通信標準中時,更是如此。W-CDMA標準指示“多項式1”是1+X17+X18,“多項式2”是1+X5+X7+X10+X18。這些可能會被硬編碼(hard coded),或者使其變成可編程。
所示出的每個LFSR具有標示為en的允許信號、標示為ld的負載信號和被標示為ld_val的負載值信號。當斷言為允許信號,允許每個LFSR更新到下一種狀態(tài)。當對允許解除斷言(de-asserted)時,每個LFSR仍然處于其當前的狀態(tài)。當斷言為負載信號時,則取代慣例的LFSR更新,并使輸入ld_val上的值寫入該LFSR的當前狀態(tài)。
所示出的參考計數(shù)器305具有相同的三個信號en、ld和ld_val。響應于這些信號的斷言時,正好在參考計數(shù)器305中發(fā)生相同的行為。唯一的差異是參考計數(shù)器305循環(huán)通過增量為1的各種狀態(tài),直到達到終值(并重置該狀態(tài))為止。這些LFSR循環(huán)通過由所選擇的多項式規(guī)定的狀態(tài)。注意,每個LFSR330和350的en信號以及參考計數(shù)器305的en信號都連接。所以,參考計數(shù)器305提供是這些LFSR的當前狀態(tài)的變址值,因為所有這三個信號都同時更新。
可以用兩種方法將值寫入這兩個LFSR。如示出,“或”(OR)門335和355的輸出分別連接到LFSR1 330和LFSR2 350的ld信號。當斷言輸入到“或”門335或355的輸入時,將會發(fā)生裝載。到“或”門335和355的一個輸入稱作是LOAD_SLEW任一個信號,并且,它也連接到參考計數(shù)器305的ld信號。LOAD_SLEW也連接到復用器340和360,以便分別控制到LFSR1 330和LFSR2 350上的ld_val的輸入。當DSP220斷言LOAD_VAL時,將PN_COUNT載入?yún)⒖加嫈?shù)器305,PN_STATE1由復用器340來選擇并被載入LFSR1 330,并且,PN_STATE2由復用器360來選擇并被載入LFSR2 350。如上所述,這是用于瞬間旋轉的方法;并且,所有這些裝載都同時發(fā)生。
在參考計數(shù)器305、環(huán)繞式邏輯310和旋轉邏輯315周圍繪制虛線方框300,以便與以下圖5中的對應的方框相對照。下文將根據(jù)圖5來描述特性。
將值寫入這些LFSR的第二種方法是當環(huán)繞式邏輯310已確定序列中的最后狀態(tài)已達到以及初態(tài)將要被載入時。DSP220將各種初態(tài)存入分別標示為LFSR1_INIT_STATE和LFSR2_INIT_STATE的寄存器345和365。只有當在LFSR1330和LFSR2 350中所生成的M序列被截取時,才需要這個特點。否則,初態(tài)將總是在周期結束時自然重臨。如上所述,W-CDMA系統(tǒng)使用被截取的M序列——18位LFSR序列的自然長度是(2^18)-1或262,143個碼片,但是,所生成的實際序列被截取到38,400。雖然參考計數(shù)器305沒有示出到ld_val的對應的交替輸入,但是,不言而喻,一旦計數(shù)器已達到其終值,它們就滾改到0。在W-CDMA系統(tǒng)中,計數(shù)到38,400個碼片之后,參考計數(shù)器305會滾改。由于38,400不是2的乘方,因此,典型的計數(shù)器實施將會核對值38,399,并在下一個被啟用的時鐘周期將狀態(tài)滾改到零。如果情況需要的話,則可以修改參考計數(shù)器305,以便允許裝載可編程的初態(tài)。環(huán)繞式邏輯310確定何時已達到終結狀態(tài),并斷言此信號,通過“或”門335和355來將LFSR1_INIT_STATE和LFSR2_INIT_STATE分別載入LFSR1 330和LFSR2 350??梢耘c參考計數(shù)器305共享同一邏輯,以確定何時重置。
如前所述,W-CDMA系統(tǒng)總是將全一載入其初態(tài)(對應于無線電通信幀的第一個碼片)的LFSR2,所以,寄存器365的可編程性可能不是必要的。(注意,一般而言,當執(zhí)行快速旋轉操作時,LFSR1_INIT_STATE和LFSR2_INIT_STATE不是用來對這些LFSR進行初始化的狀態(tài)。經(jīng)常將在無線電通信幀的中間執(zhí)行快速旋轉操作。)編程到LFSR1_INIT_STATE中的值確定LFSR1 M序列中的偏移量。由于總是利用全一來對LFSR2進行初始化,因此,確定所生成的唯一代碼的是LFSR1_INIT_STATE。有512個唯一原代碼,其中的每個原代碼執(zhí)行LFSR1M序列中的偏移量。這512個原代碼中的每個原代碼具有對應的LFSR1_INIT_STATE。同樣,每個原代碼有15個二級代碼,而每個二級代碼又有唯一的LFSR1_INIT_STATE。
LFSR1 330的和LFSR2 350的輸出都作為輸入被連接到I屏蔽與合計塊375以及Q屏蔽與合計塊370。所示出的I屏蔽與合計塊375具有可編程變量I_MASK_1和I_MASK_2。所示出的Q屏蔽與合計塊370具有可編程變量Q_MASK_1和Q_MASK_2。一般而言,I_MASK_1應用于LFSR1 330的輸出,I_MASK_2應用于LFSR2 350的輸出,并且,在I屏蔽與合計塊375中對結果進行合計(GF(2)),以產(chǎn)生標示為PNI的輸出PN序列。同樣,Q_MASK_1應用于LFSR1 330的輸出,Q_MASK_2應用于LFSR2 350的輸出,并且,在Q屏蔽與合計塊370中對結果進行合計(GF(2)),以產(chǎn)生標示為PNQ的輸出PN序列??梢詾榻o定系統(tǒng)對掩碼進行硬編碼,因此,這些掩碼可能不需要是可編程的。雖然CDMA系統(tǒng)中通常需要I和Q序列,但是,當只需要單一PN序列時,可同等地運用本發(fā)明的各個原理。在那種情況下,塊375或塊370可與對應的輸出一起刪除。在W-CDMA中,在I屏蔽與合計塊375中沒有執(zhí)行屏蔽,來自LFSR1 330和LFSR2 350的最低有效位進行GF(2)合計(或甚至只是進行“異或”邏輯運算),以產(chǎn)生PNI。為了產(chǎn)生PNQ,將Q_MASK_1設置為001000000001010000,將Q_MASK_2設置為001111111101100000。然后,合成的屏蔽輸出進行GF(2)二合計,以產(chǎn)生PNQ。
旋轉邏輯315將參考計數(shù)器305的輸出TARGET_PN_POS(由DSP220寫入寄存器320)和自由運行選擇計數(shù)器240的輸出FREE_COUNT當作其輸入。當斷言其輸出(連接到參考計數(shù)器305、LFSR1 330和LFSR2 350上的允許信號)時,這些LFSR和參考計數(shù)器305更新到其下一種狀態(tài)(如果必要的話,可環(huán)繞式)。當不要求旋轉時,每一碼片斷言這個允許信號一次。當向旋轉邏輯315發(fā)出旋轉命令時(細節(jié)未示出),可以通過每一碼片插入一個以上的允許來使定時推進,或者可以通過除去該允許來延緩定時。旋轉邏輯315可以推進或延緩,直到參考計數(shù)器305輸出與FREE_COUNT之間的差等于TARGET_PN_POS,從而表示已完成旋轉。注意,在傳統(tǒng)的緩慢旋轉期間,推進通常比延緩快,因為每一碼片只能有一個允許被除去,這樣,最大的延緩速率是1個碼片/碼片時間??梢酝ㄟ^連續(xù)讓允許保持斷言的狀態(tài)來實現(xiàn)推進,并且,最大的推進速率由基礎時鐘脈沖速度來加以確定。許多系統(tǒng)按8倍于碼片速率的速率或按chipx8進行操作,所以,將按7個碼片/碼片時間的最大速率來執(zhí)行推進。顯而易見,更高的時鐘頻率將會帶來更高的最大推進速率。為簡單起見,其他實施例只可以支持一個方向——要么是推進,要么是延緩。
現(xiàn)在,將描述用于為對應的PN_COUNT和PN_CODE確定PN_STATE1和PN_STATE2的各種程序。對這些程序中的一個或多個程序可加以組合,來實現(xiàn)前述的關于DSP220中的旋轉處理的概括程序的第三個步驟。第五個步驟——殘留旋轉也將與這些程序中的一個程序或其組合進行合并。
第一個程序將被定義為“緩慢旋轉”。當自身使用時,按照提高的旋轉速度來講,這是最低有效的。這是用于如以上第五個步驟所描述的那樣提供殘留旋轉的預置方法。通過只要將由PN_CODE所識別的對應所需序列的PN_STATE1、PN_STATE2和PN_COUNT的任何有效組合寫入其各自的部件,其后,又寫入TARGET_PN_POSITION來實現(xiàn)緩慢旋轉。然后,圖3的方框315中所描述的旋轉邏輯只按所描述的速率旋轉,直到達到TARGET_PN_POSITION。W-CDMA系統(tǒng)的一種有效組合是將PN_STATE1設置為LFSR1_INIT_STATE,將PN_STATE2設置為全一狀態(tài),并將PN_COUNT設置為零。然后,旋轉邏輯可以按最大的推進速率來推進,直到達到TARGET_PN_POSITION。(作為選擇,旋轉邏輯可以延緩,直到達到TARGET_PN_POSITION為止。)用于為對應的PN_COUNT和PN_CODE確定PN_STATE1和PN_STATE2的第二個程序將把矩陣乘法器用作硬件加速器(對應于圖2中的任選加速器250)。在該技術領域中通常已知斐波納契數(shù)列配置中的M位LFSR通過按以下方式工作于其當前狀態(tài),來生成其下一種狀態(tài)。位M-1~1將被直接移入位置M-2~0。位M-1將是對當前狀態(tài)進行多項式運算(對對應的抽頭位置進行“異或”邏輯運算)的結果。為了理解如何能夠將矩陣乘法用于PN生成,可以考慮以下定義M=LFSR中的位數(shù);Xn(i)=處于狀態(tài)n的LFSR X的第i個元件的狀態(tài);Xn=與當前LFSR狀態(tài)[Xn(0)Xn(1)...Xn(M-2)Xn(M-1)]相對應的M位列向量;Xn+1=與下一種LFSR狀態(tài)[Xn+1(0)Xn+1(1)...Xn+1(M-2)Xn+1(M-1)]相對應的M位列向量;A=M×M矩陣,例如Xn+1=AXn;矩陣A可以被編制如下。利用第一列設置為全部是零來創(chuàng)建第一M-1行,接下來的M-1列設置為M-1×M-1單位矩陣。這對應于位M-1~1到位M-2~0中的一般LFSR移位。第M行只是多項式的向量表示。這對應于一般LFSR對當前狀態(tài)執(zhí)行多項式運算并將結果置入位M。
這樣,矩陣A乘以LFSR狀態(tài)(Xn)將會導致下一種LFSR狀態(tài)(Xn+1),或者,將會導致推進1。矩陣A乘以矩陣A將會導致矩陣A2和Xn+2=A2Xn,或者,將會導致在一個周期內(nèi)推進2。矩陣A2乘以矩陣A將會導致矩陣A3和Xn+3=A3Xn,或者,將會導致在一個周期內(nèi)推進3,等等。為了在單一周期內(nèi)將任何LFSR狀態(tài)增量k個碼片,可以對矩陣Ak進行計算,以便Xn+k=AkXn。
也可以在兩個或多個周期內(nèi)重復該矩陣乘法。如果一個周期內(nèi)的矩陣乘法的各個結果再次乘以第二個周期內(nèi)的Ak矩陣,則這些結果將會是Xn+2k=A2kXn。一般而言,如果乘以矩陣Ak的矩陣乘法被重復r次,則r個周期內(nèi)的推進將會是Xn+rk=ArkXn。
這樣,硬件加速器250(利用矩陣乘法器來加以配置)可以由DSP220根據(jù)PN_COUNT和PN_CODE迅速計算PN_STATE1和PN_STATE2而加以確定的任何偏移量。圖4描繪了可以被配置成加速器250的這種矩陣乘法器的一個實施例。加速器250的最靈活的結構將會是其中矩陣可編程的M×M矩陣乘法器420。矩陣表格440包含具有各不相同的單一周期推進參數(shù)k的許多預先計算的矩陣。通過利用對應的指數(shù)來進行選擇,控制430獲得具有矩陣表格440中的所需的k的特定矩陣。在控制430的指示下,通過復用器400將M位寄存器410裝備成接收輸入LFSR_INIT_STATE或M×M矩陣乘法器420的輸出。M位寄存器410提供一個向量,M×M乘法器420將該向量乘以由控制430在矩陣表格440中所選擇的矩陣。
計算PN_STATE1和PN_STATE2的過程如下所述。為了開始該過程,控制430要接收ADVANCE_TARGET。關于序列(例如,在W-CDMA標準中所描述的序列),通過把PN_COUNT加入至與特定代碼(在上文中,由PN_CODE提供)有關聯(lián)的延遲,來確定ADVANCE_TARGET。關于其他種類的序列,ADVANCE_TARGET可能只是PN_COUNT??刂?30確定k和r的適當組合,以產(chǎn)生ADVANCE_TARGET。首先,將確定LFSR1的負載值PN_STATE1。將LFSR1_INIT_STATE~LFSR_INIT_STATE供給復用器400。然后,控制430選擇復用器400中的LFSR_INIT_STATE,并允許M位寄存器410對其進行存儲??刂?30從矩陣表格440中選擇矩陣,用于裝滿M×M矩陣乘法420。來自M×M矩陣乘法的合成輸出是由k種狀態(tài)所推進的M位寄存器410中的值。然后,控制430通過復用器400來選擇這個結果,并允許M位寄存器410對其進行存儲。這個過程可以重復r次,以產(chǎn)生一個結果即,由供應的值所推進的r*k狀態(tài)作為LFSR_INIT_STATE。該結果是M位寄存器410的輸出,標示為PN_STATE。
與矩陣表格440中的矩陣相對應的k值以及每個的r值具有眾多組合。一般而言,具有K個唯一矩陣,這K個唯一矩陣跟表示為k1、k2、...kK的k個值以及被表示為r1、r2.、...rK的K個對應的重復值r(其中,如果將不使用矩陣,則r可以是零)一起存儲。這樣,LFSR_INIT_STATE在此程序中將被推進A=r1*k1、r2*k2、...rK*kK,從而在理論上會導致偏移量ADVANCE_TARGET。這樣,該結果將會是與PN_COUNT相對應的合適的PN_STATE1。然后,利用LFSR2_INIT_STATE(在W-CDMA標準中全部是1)重復以上程序,以產(chǎn)生與PN_COUNT相對應的合適的PN_STATE2。
在一些配置中,由于被支持的k值的數(shù)量有限,因此,推進值a可能不等于ADVANCE_TARGET。在這些情況下,ADVANCE_TARGET將會提供殘值A。最后得到的PN_STATE1和PN_STATE2將不會對應于PN_COUNT,而會對應于由ADVANCE_TARGET與推進值A之間的差確定的計數(shù)。在這些配置中,在PN_STATE1、PN_STATE2被寫入其各自的LFSR并且PN_COUNT+(A-ADVANCE_TARGET)被寫入其計數(shù)器以便產(chǎn)生以上所描述的瞬間旋轉之后,可以使用以上所描述的緩慢旋轉程序來實現(xiàn)殘留旋轉。
圖4包含用于提供r次計算、矩陣選擇、復用器控制和寄存器啟動的控制480。它也包含矩陣表格440。精通該技術領域的人將會認識到這些方框描繪只是為了用于進行討論。這兩個方框中的任何一個方框或這兩個方框都可以被包含在DSP220中。
如果不需要多個矩陣就可以獲得所需的旋轉速度水平,則可以進一步簡化圖4中的實施例。如果利用某個推進參數(shù)k來選擇單一矩陣,那么,可以除去矩陣表格440,并且,M×M矩陣乘法420不需要是可編程的。這大大簡化了硬件。仍然可以使用各種重復值r,來提供k的若干整數(shù)倍的推進。如前所述,通過使用以上所描述的緩慢旋轉程序,可以在PN發(fā)生器邏輯230中容納因ADVANCE_TARGET與r*k之間的差而產(chǎn)生的殘留旋轉。
利用矩陣乘法加速器的原理的另可選擇的實施例將會把PN發(fā)生器邏輯230歸入加速器250。這樣,為所需要的每個PN發(fā)生器部署矩陣乘法器加速器。這個方案有可能簡化DSP的各種任務,但會導致浩大的硬件成本。
用于為對應的PN_COUNT和PN_CODE而確定PN_STATE1和PN_STATE2的第三個程序將在軟件中執(zhí)行矩陣乘法,這類似于剛才根據(jù)圖4所描述的硬件加速器程序。DSP220將會包含與各種推進值相對應的幾個M×M矩陣的查找表。除了將在DSP220中執(zhí)行這些程序以外,用于確定PN_STATE1和PN_STATE2的程序本質上等同于硬件版本。通過使用以上所描述的緩慢旋轉程序,可以在PN發(fā)生器邏輯230中執(zhí)行在完成軟件矩陣乘法之后剩余的任何殘留旋轉。在矩陣乘法程序的硬件版本或軟件版本中,通過利用軟旋轉程序來提供任何殘留旋轉,可以在關于矩陣的增加的存儲要求與增加的旋轉時間之間進行折衷。
用于為對應的PN_COUNT和PN_CODE確定PN_STATE1和PN_STATE2的第四個程序將為每個唯一代碼利用查找表格(LUT)(在PN_COUNT上被指明)。最完整的實施例將會為每個唯一代碼要求完全被裝滿的LUT,每個LUT中的許多項目對應于每個序列中的碼片數(shù)。很明顯,這將會變得存儲很密集,所以,較廉價的替換方案將經(jīng)常是所需的。
可以簡化W-CDMA系統(tǒng)的LUT方法。由于LFSR2總是利用全一來啟動,并且,為每個代碼使用38,400個碼片的相同序列,因此,只需要部署一個LUT(在PN_COUNT上被指明)來確定PN_STATE2(調(diào)用這個LUT2)。為了減少所需要的硬件數(shù)量,可以將一個子集的38,400種可能的狀態(tài)存儲在LUT2中。例如,被隔開16個碼片的PN_COUNT的值可以提供合適的硬件/粒度平衡。LUT2將會包含定義為
的集合中的每個PN_COUNT的對應的PN_STATE2。
回想一下在W-CDMA標準中,LFSR1使用相同的多項式,并且,根據(jù)唯一的起始偏移量,只截取不同位置中的M序列,以便產(chǎn)生唯一代碼。照此,也可以使用稱作“LUT1”并在PN_COUNT上被指明的單個LUT來確定PN_STATE1。但是,LUT1將大于38,400個項目,這是因為512個原代碼中的每個原代碼始于被隔開16個碼片的偏移量;所以,每個代碼在超過第38,400個碼片的16的若干倍數(shù)處結束。相應地,每個二級序列是來自其原序列的1個碼片與15個碼片之間的偏移量。如果如以上對LUT2所描述的那樣裝滿每第16個碼片,則LUT1將包含定義為
的集合中的每個PN_COUNT的對應的PN_STATE1。這樣,LUT1的完全指數(shù)是PN_COUNT加上識別唯一序列號(PN_CODE)的偏移量。這個例子(用每第16個值來裝滿LUT1和LUT2)完全支持W-CDMA系統(tǒng)所需要的原加擾代碼。但是,將會需要額外的運算來支持二級加擾代碼。
在前面的各個例子中,LUT1和LUT2包含是16的整數(shù)倍的每個PN_COUNT的LFSR狀態(tài)值。所以,關于任何被支持的PN_COUNT,有一對LFSR狀態(tài)值,用于確定PN_STATE1和PN_STATE2。通過查找最接近特定PN_CODE的PN_COUNT所支持的值、檢索對應的PN_STATE1和PN_STATE2、將這三個值寫入其各自的部件以便執(zhí)行瞬間旋轉,并根據(jù)以上所描述的緩慢旋轉過程來完成任何殘留旋轉,可以使用LUT1和LUT2來支持任何PN_COUNT的旋轉。
但是,如果在LUT1中被支持的PN_COUNT值和在LUT2中被支持的PN_COUNT值不同,則會出現(xiàn)問題。如前所述,PN_STATE1、PN_STATE2和PN_COUNT都將同時被寫入其各自的部件(或者,利用用于在它們之中保持一致性的其他技術),這樣,PN_STATE1和PN_STATE2應該對應于PN_COUNT所提供的序列位置。在即將到來的配置中,LUT1和LUT2中所具備的最近的各種狀態(tài)支持不同的PN_COUNT。如果需要這種配置,則可以用許多方法來解決這個問題。
圖5中表現(xiàn)了一種解決方案。圖5表現(xiàn)了方框500的虛線輪廓,方框500是圖3中的方框300的替換。圖3的描述對于此修改而言仍然保持有效,除了一點以外即,并不是對參考計數(shù)器305裝載PN_COUNT,而是每個LFSR有兩個參考計數(shù)器——參考計數(shù)器1 510和參考計數(shù)器2 540,它們分別裝載PN_COUNT1和PN_COUNT2。PN_COUNT1和PN_COUNT2是曾經(jīng)最接近所需的PN_COUNT的、來自LUT1和LUT2的PN_COUNT值,并且,PN_COUNT1和PN_COUNT2分別直接與來自LUT1的PN_STATE1以及來自LUT2的PN_STATE2相對應。利用圖5中所示的修改,LOAD_SLEW使PN_COUNT1和PN_COUNT2被寫入,并且,分開的環(huán)繞式邏輯520與560以及旋轉邏輯530與550獨立地對LFSR1和LFSR2進行相應的旋轉。環(huán)繞式邏輯520的輸出將驅動對應的輸入到“或”335。旋轉邏輯530將驅動允許到參考計數(shù)器1 510,并且驅動LFSR1 330的允許。環(huán)繞式邏輯560的輸出驅動對應的輸入到“或”355。旋轉邏輯550將允許驅動到參考計數(shù)器2 540,并且驅動LFSR2 350的允許。
旋轉邏輯塊530和550繼續(xù)監(jiān)控FREE_COUNT和TARGET_PN_POS,并且,通過LFSR1和LFSR2及其關聯(lián)的電路獨立使用緩慢旋轉程序,最終將旋轉除去PN_STATE1與PN_STATE2之間的PN_COUNT中的差,該差曾因LUT1和LUT2沒有相同的PN_COUNT值的項目而被引入。注意,直到完成這兩個殘留旋轉,PN發(fā)生器邏輯230的輸出序列才會是所需要的有效PN序列。旋轉邏輯塊將信號提供給電路(或DSP或微處理器)的其余部分,從而指出旋轉操作是否完成,這可能是有用的。
作為對圖5中所詳述的硬件修改的替換方案,DSP220本身可以通過使用LFSR1或LFSR2的狀態(tài)值和計數(shù)值以及其對應的多項式,在軟件中執(zhí)行殘留旋轉。本質上,DSP220摹擬LFSR硬件,并執(zhí)行推進LFSR1或LFSR2值所需要的周期數(shù),直到這兩者彼此一致為止。這類似于在軟件中執(zhí)行緩慢旋轉程序,但不是執(zhí)行殘留旋轉,而是除去LUT1和LUT2所提供的各種狀態(tài)之間的偏移量的差。
用于為對應的PN_COUNT和PN_CODE確定PN_STATE1和PN_STATE2的第五個程序如下所述。在該技術領域中眾所周知掩碼可應用于LFSR狀態(tài),以便利用LFSR狀態(tài)對該掩碼進行逐位的“與”邏輯運算,并且,對逐位的“與”結果進行“異或”邏輯運算,以產(chǎn)生一個值,從LFSR的輸出值那里將該值延遲對應于所選擇的掩碼的數(shù)量。這也是M位LFSR的斐波納契數(shù)列配置的一個屬性LFSR寄存器單元中所包含的M個位隨時對應于LFSR的接下來的M個輸出,這是因為該輸出被返饋到最有效位M-1,并且,在每項接連的LFSR操作中,位M-1~1被直接移入位置M-2~0。這個程序的原理是如果M位LFSR(以第一種狀態(tài)裝載)連續(xù)M次循環(huán),若選擇適當?shù)难诖a,則如上所述的輸出的屏蔽版本將產(chǎn)生對應于LFSR的推進狀態(tài)的M個狀態(tài)位。
所以,為了尋找識別代碼內(nèi)的給定PN_COUNT的PN_STATE1,可以為LFSR裝載LFSR1_INIT_STATE,利用與PN_COUNT+PN_CODE的延遲相對應的掩碼對LFSR1_INIT_STATE進行屏蔽,并循環(huán)LFSR1_INIT_STATE M次,以便為與PN_COUNT相對應的PN_STATE1產(chǎn)生這M個位??梢詫FSR2_INIT_STATE重復該過程,以便為與PN_COUNT相對應的PN_STATE2產(chǎn)生這M個位??梢杂糜布蛟谲浖韴?zhí)行這個過程。
圖6描繪了用于支持這個過程的概括的硬件配置。將INIT_STATE載入M位LFSR610。將LFSR610的狀態(tài)傳遞給掩碼620,其中,使用與PN_COUNT+PN_CODE的偏移量相對應的M位掩碼PN_COUNT_MASK,來對LFSR610的輸出狀態(tài)進行屏蔽。在GF(2)加法器630中合計合成的屏蔽輸出,以提供延遲的輸出值。為LFSR610提供與LFSR1或LFSR2相對應的合適的“多項式”。當LFSR610循環(huán)M次時,將加法器630的輸出移入M位移位寄存器640。在M個周期之后,M位移位寄存器640包含所需的,與PN_COUNT+PN_CODE的偏移量相對應的PN_STATE。這個硬件被利用兩次,首先將LFSR1_INIT_STATE分配給INIT_STATE,來產(chǎn)生PN_STATE1;然后將LFSR2_INIT_STATE分配給INIT_STATE,來產(chǎn)生PN_STATE2。
為圖6中的硬件而描述的程序可以容易地被轉換成適合DSP中的處理的代碼。精通該技術領域的人可以容易地將各種LFSR計算——屏蔽、合計和存儲轉換成DSP代碼。
為了完成第五個程序的描述,必須采用用于為PN_COUNT和PN_CODE的各個值計算合適的PN_COUNT_MASK的技術。這些技術在該技術領域中也已知。例如,根據(jù)以上第二個程序所描述的矩陣乘法程序提供了一種這樣的技術。當預先計算與偏移量k相對應的各個矩陣Ak時,每個矩陣Ak的最后一行是偏移量k的所需掩碼。在類似于以上所描述的第二個程序的方式中,可以為所有的PN_COUNT值或其子集預先計算各種掩碼??梢詫⑦@些值存儲在每個代碼的表格(在PN_COUNT上被指明)中?;蛘?,如在以上第四個程序中所描述的,可以使用在PN_CODE+PN_COUNT上被指明的單一表格。可以執(zhí)行這個程序,來尋找最接近所需的TARGET_PN_POSITION的PN_STATE1、PN_STATE2和PN_COUNT。然后,將這三個參數(shù)同時載入PN發(fā)生器邏輯230,以便執(zhí)行旋轉的瞬間部分;再執(zhí)行緩慢旋轉程序,以便處理剩余的殘留旋轉。如前所述,實施例的設計者可以將較高掩碼存儲要求和合成的要求較少的緩慢旋轉用具有要求較高的緩慢旋轉的較低掩碼存儲要求來加以折衷。
參照圖2,精通該技術領域的設計者將會認識到如何將這第五個程序的軟件版本并入DSP220。作為選擇,圖6中所描繪的硬件可以用作為加速器250。在另一個替換方案中,可以將圖2A或圖3中所描繪的硬件修改成并入圖6中所描繪的各項功能,從而除了用于常規(guī)PN發(fā)生功能中以外,還允許DSP220再使用那個硬件來執(zhí)行PN_COUNT、PN_STATE1和PN_STATE2的計算。
用于為對應的PN_COUNT和PN_CODE確定PN_STATE1和PN_STATE2的第六個程序利用原先五個程序(或其組合)中的任何一個程序(以上所描述的并且在該技術領域中通常已知的)與掩碼-延遲技術相結合。在這個程序中,根據(jù)TARGET_PN_POSITION所提供的偏移量來旋轉這些LFSR,而無須考慮特定代碼(PN_CODE)所要求的任何偏移量。這樣,這些LFSR將會連續(xù)地循環(huán)通過其基本順序或偏移量為零的序列。為了生成所需的PN序列,可將與特定代碼有關聯(lián)的掩碼應用于這些LFSR。關于在W-CDMA中所要求的序列,將會需要全部三個掩碼。所要求的第一個掩碼用于屏蔽在生成I序列的過程中所使用的LFSR1。可以在生成I序列的過程中使用LFSR2的直接輸出,所以,不需要額外的掩碼。關于Q序列需要第二個掩碼和第三個掩碼,第二個掩碼用于屏蔽在生成Q序列的過程中所使用的LFSR1,第三個掩碼用于屏蔽在生成Q序列的過程中所使用的LFSR2。根據(jù)以上所描述的任何掩碼生成程序,將生成每個掩碼,以產(chǎn)生與PN_CODE相對應的合適的延遲。
一種用于多序列PN序列的快速旋轉的另一種技術利用各種屏蔽技術(例如,根據(jù)以上第六個程序所描述的屏蔽技術),而無須確定并裝載PN_STATE1、PN_STATE2和PN_COUNT。相反,利用掩碼來提供來自基本截取序列的必要的PN序列部分。
圖7描繪了各個PN序列與所使用的掩碼之間的關系。在圖7中,標示為BASE_SEQUENCE的圓圈代表由LFSR的未截取輸出定義的PN序列。在W-CDMA系統(tǒng)中,BASE_SEQUENCE由2^18-1個值構成。圓圈有效地代表這個序列,這是因為在LFSR狀態(tài)的整個空間被循環(huán)通過之后,該過程自身重復。BASE_SEQUENCE的截取序列由該圓圈的方框內(nèi)部分來代表,并由該截取序列的開端來加以識別。該基本截取序列標示為PNSEQ#0,并示出具有寬度W。W-CDMA系統(tǒng)中的W將會是38,400。另一個截取序列標示為PNSEQ#N。PNSEQ#N是BASE_SEQUENCE的截取序列,BASE_SEQUENCE由SEQUENCE_OFFSET所偏移。SEQUENCE_OFFSET對應于前文中所使用的代碼標識符PN_CODE。PNSEQ#N也包含W個PN值。如根據(jù)以上第六個程序所描述的,可以利用與SEQUENCE_OFFSET的推進相對應的掩碼來生成PNSEQ#N。
在這種另一種技術中,所需旋轉由所需代碼中的偏移量PNSEQ#N來指出,并標示為TIMING_ADVANCE。在這種技術中,不是改變LFSR狀態(tài)來產(chǎn)生所需的PN序列(如以上程序1~程序5中所描述的),也不是改變基本截取序列和應用SEQUENCE_OFFSET掩碼(如以上第六個程序中所描述的),而是基本截取序列保持不變,并且利用以下所描述的屏蔽技術來執(zhí)行所有旋轉。
示出的MASK1提供來自PNSEQ#0(基本截取序列)的開端的偏移量,PNSEQ#0(基本截取序列)的開端對應于所需偏移量PNSEQ#N的開端。這個所需序列的開端示作為SEQUENCE_OFFSET+TIMING_ADVANCE。所示出的值Z識別截取序列的剩余部分PNSEQ#N,該剩余部分在TIMING_ADVANCE后面。Z被確定為W-TIMING_ADVANCE。PNSEQ#0中的寬度Z的片段與PNSEQ#N中的寬度Z的偏移量片段相對應。只要PNSEQ#0處于其第一Z狀態(tài),就可以使用MASK1來生成合適的偏移量PNSEQ#N值。但是,一旦PNSEQ#0序列超過Z,就必須使用MASK2,因為對應的MASK1序列將會在PNSEQ#N的界限以外。如所示的內(nèi)容,關于大于Z但小于W的PNSEQ#0中的狀態(tài),MASK2在SEQUENCE_OFFSET與SEQUENCE_OFFSET+TIMING_ADVANCE之間提供PNSEQ#N的合適的值。精通該技術領域的人將能夠容易地為任何所需的PNSEQ#N值和TIMING_ADVANCE值生成MASK1值和MASK2值。1998年10月19日提交的標題為《用于CDMA通信系統(tǒng)中的偽噪聲傳播的方法和裝置》的待批美國專利申請09/175,386中描述了用于使用MASK1和MASK2來從PNSEQ#0中生成PNSEQ#N的延遲版本的各種技術,該美國專利申請被受讓于本發(fā)明的受讓人,并引入于此,用作參考。
為了利用另一種技術W-CDMA系統(tǒng),將需要全部8個掩碼來生成I序列輸出和Q序列輸出。需要兩個掩碼來為I輸出生成LFSR1序列,并需要兩個掩碼來為I輸出生成LFSR2序列。同樣,生成Q輸出所要求的LFSR1序列和LFSR2序列中的每個序列需要兩個掩碼。這總計是8個掩碼。在一般情況下,如果使用查找表來存儲這些掩碼,則若需要支持大量唯一代碼的推進,該查找表會變得非常大。
為清楚起見,示出的PNSEQ#N不與PNSEQ#0重疊。精通該技術領域的人將會認識到如果這些序列重疊在一起,則這些技術可以同等地加以應用。在最極度的重疊中(例如,關于W-CDMA系統(tǒng)的LFSR2),SEQUENCE_OFFSET總是設置為零,并且,MASK1和MASK2只在被截取的基本順序中提供TIMING_ADVANCE旋轉。這樣,可以在所生成的全部各種唯一代碼之中共享LFSR2的一個查找表。
可以使用各種技術來減少執(zhí)行這項交替技術所需要的掩碼數(shù)。一個例子是只存儲與可能的TIMING_ADVANCE值相對應的一個子集的掩碼,并在基本LFSR上組合slow_slew(慢-旋轉)方法,以執(zhí)行到各個可用推進掩碼之間的位置的任何殘留旋轉。精通該技術領域的人將能夠把以上所描述的緩慢旋轉的原理與剛才所描述的交替技術結合起來。
另一項技術是增加額外的LFSR,以減少每一TIMING_ADVANCE值所需要的掩碼數(shù)。例如,可以使用兩個LFSR來生成序列,以產(chǎn)生I個PN值,并將兩個額外的LFSR配置成提供序列,以產(chǎn)生Q個PN值。在這個例子中,可以為I和Q PN序列生成共享兩對MASK1和MASK2,并且,每一TIMING_ADVANCE的所需要的掩碼數(shù)將被減少到4。(如果如在W-CDMA系統(tǒng)中一樣,LFSR2總是使用零的SEQUENCE_OFFSET,則這項技術的好處會減少。)減少掩碼存儲要求的另一項技術是增加額外的LFSR,以提供各種推進PN序列。例如,如果將要支持M個總TIMING_ADVANCE值的空間,那么,通過提供基本截取序列加上由M/2推進的截取序列,將會把全部的所需掩碼值降低2。通過部署基本順序加上由M/4、M/2和3M/4所推進的序列,將會把全部的所需掩碼值降低4,等等。
應該注意,在以上所描述的所有實施例中,在不脫離本發(fā)明的范圍的前提下,可以互換各個方法步驟。
精通該技術領域的人將會理解可以使用任何各種不同的技術和技能來表示信息和信號。例如,在整個上文中可能提及的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片可以通過電壓、電流、電磁波、磁場或磁性粒子、光場或光粒子、或其任何組合來加以表示。
精通該技術領域的人將會進一步理解結合這里所揭示的實施例而加以描述的各種說明性邏輯塊、模塊、電路和算法步驟可以作為電子硬件、計算機軟件或兩者的組合來加以執(zhí)行。為了清楚地展示硬件和軟件的互換性,以上通常按照其功能性來描述各種說明性部件、塊、模塊、電路和步驟。這類功能性是作為硬件還是作為軟件來加以執(zhí)行則取決于被加于總系統(tǒng)的特定應用和設計限制。技術嫻熟的技工可以為每項特定的應用按不同的方法來執(zhí)行所描述的功能性,但是,不應該將這類實施決定解釋成會導致脫離本發(fā)明的范圍。
結合這里所揭示的實施例而加以描述的各種說明性邏輯塊、模塊和電路可用于通用處理器、數(shù)字信號處理器(DSP)、特定用途集成電路(ASIC)、域可編程門陣列(FPGA)或其他可編程邏輯設備、離散門電路或晶體管邏輯、離散硬件部件或被設計成執(zhí)行這里所描述的各種功能的任何組合。通用處理器可能是微處理器,但在替換方案中,該處理器可能是任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器也可以作為各種計算設備的組合(例如,DSP和微處理器的組合、多個微處理器、結合DSP磁心的一個或多個微處理器或任何其他這種配置)來加以執(zhí)行。
結合這里所揭示的實施例而加以描述的方法或算法的各個步驟可以直接在硬件中、在由處理器執(zhí)行的軟件模塊中或在這兩者的組合中得到具體表現(xiàn)。軟件模塊可以駐留在RAM存儲器、快閃存儲器、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬盤、可移動磁盤、CD-ROM或該技術領域中已知的其他任何形式的存儲媒體中。示范存儲媒體被耦合到處理器,以便處理器可以從該存儲媒體讀取信息并對其寫入信息。在替換方案中,存儲媒體可能是處理器的不可分割的一部分。處理器和存儲媒體可以駐留在ASIC中。ASIC可以駐留在用戶終端中。在替換方案中,處理器和存儲媒體可以作為離散部件駐留在用戶終端中。
通過提供所揭示的實施例的前述內(nèi)容,精通該技術領域的任何人都能夠制作或使用本發(fā)明。精通該計算領域的人將會容易明白對這些實施例作出的各種修改,并且,在不脫離本發(fā)明的精神或范圍的前提下,可以將這里所定義的普通原理應用于其他實施例。這樣,本發(fā)明并不意在局限于這里所示的實施例,而是要符合與這里所揭示的原理和新穎的特點相一致的最廣泛的范圍。
權利要求
1.一種執(zhí)行快速旋轉式PN生成的方法,其特征在于,包括接收目標PN位置;計算與該目標PN位置相對應的多種LFSR狀態(tài);將這多種LFSR狀態(tài)載入多個LFSR;以及,根據(jù)這多個LFSR的各種狀態(tài),來產(chǎn)生一個或多個PN序列。
2.如權利要求1所述的方法,其特征在于,通過將基本LFSR狀態(tài)乘以矩陣M,來計算這多種LFSR狀態(tài)中的每一種LFSR狀態(tài);其中,確定矩陣M按目標PN位置推進該基本LFSR狀態(tài)。
3.如權利要求1所述的方法,其特征在于,這多種LFSR狀態(tài)中的每一種LFSR狀態(tài)的計算包括從掩碼表格中獲得與該目標PN位置相對應的掩碼;為M位LFSR裝載基本狀態(tài);關于從0增量到M-1的每個i將該掩碼應用于M位LFSR狀態(tài),使用GF(2)加法來合計合成的屏蔽值,以產(chǎn)生ADVANCED_LFSR_STATE(i);推進M位LFSR一狀態(tài);以及,傳遞作為LFSR狀態(tài)的ADVANCED_LFSR_STATE(M-10)。
4.如權利要求1所述的方法,其特征在于,通過獲得與最接近查找表中的目標PN位置的偏移量相對應的LFSR狀態(tài),來計算這多種LFSR狀態(tài)中的每一種LFSR狀態(tài),該查找表格包含對應于各種偏移量的LFSR狀態(tài)。
5.一種用于執(zhí)行快速旋轉的PN生成的方法,其特征在于,包括接收目標PN位置;根據(jù)該目標PN位置來計算變址計數(shù)器值;計算與該變址計數(shù)器狀態(tài)相對應的多種LFSR狀態(tài);將該變址計數(shù)器值載入變址計數(shù)器;將這多種LFSR狀態(tài)載入多個LFSR;以及,根據(jù)這多個LFSR的各種狀態(tài),來產(chǎn)生一個或多個PN序列。
6.一種用于執(zhí)行快速旋轉的PN生成的方法,其特征在于,包括接收目標PN位置;接收PN代碼偏移量;根據(jù)該目標PN位置來計算變址計數(shù)器值;計算與該變址計數(shù)器狀態(tài)和該PN代碼偏移量相對應的多種LFSR狀態(tài);將該變址計數(shù)器值載入變址計數(shù)器;將這多種LFSR狀態(tài)載入多個LFSR;以及,根據(jù)這多個LFSR的各種狀態(tài),來產(chǎn)生一個或多個PN序列。
7.如權利要求6所述的方法,其特征在于,這多種LFSR狀態(tài)中的每一種LFSR狀態(tài)的計算包括通過將該PN代碼偏移量加入該目標PN位置,來計算目標推進值;以及,將與這多種LFSR狀態(tài)中的每一種LFSR狀態(tài)相對應的基本狀態(tài)推進至該目標推進值,以產(chǎn)生這多種LFSR狀態(tài)。
8.一種用于執(zhí)行快速旋轉的PN生成的方法,其特征在于,包括接收目標PN位置;接收PN代碼偏移量;根據(jù)一個子集的可能的目標PN位置,來計算最接近該目標PN位置的變址計數(shù)器值;通過將該PN代碼偏移量加入該變址計數(shù)器值,來計算目標推進值;通過將與多種LFSR狀態(tài)中的每一種LFSR狀態(tài)相對應的基本狀態(tài)推進至該目標推進值,來計算這多種LFSR狀態(tài);將該變址計數(shù)器值載入變址計數(shù)器;將這多種LFSR狀態(tài)載入多個LFSR;執(zhí)行殘留旋轉,以達到目標PN位置所提供的LFSR狀態(tài)和計數(shù)器狀態(tài);以及,根據(jù)這多個LFSR的各種狀態(tài),來產(chǎn)生一個或多個PN序列。
9.如權利要求8所述的方法,其特征在于,通過將基本LFSR狀態(tài)乘以矩陣M,來計算這多種LFSR狀態(tài)中的每一種LFSR狀態(tài);其中,確定矩陣M將該基本LFSR狀態(tài)推進至該目標PN位置。
10.如權利要求8所述的方法,其特征在于,這多種LFSR狀態(tài)中的每一種LFSR狀態(tài)的計算包括從掩碼表格中獲得與該目標PN位置相對應的掩碼;為M位LFSR裝載基本狀態(tài);關于從0增量到M-1的每個i將該掩碼應用于M位LFSR狀態(tài),使用GF(2)加法來合計合成的屏蔽值,以產(chǎn)生ADVANCED_LFSR_STATE(i);推進M位LFSR一狀態(tài);以及,傳遞作為LFSR狀態(tài)的ADVANCED_LFSR_STATE(M-10)。
11.如權利要求8所述的方法,其特征在于,通過獲得與最接近查找表中的目標推進值的偏移量相對應的LFSR狀態(tài),來計算這多種LFSR狀態(tài)中的每一種LFSR狀態(tài),該查找表包含對應于各種偏移量的LFSR狀態(tài)。
12.一種用于執(zhí)行快速旋轉的PN生成的方法,其特征在于,包括接收目標PN位置;接收PN代碼偏移量;根據(jù)一個子集的可能的目標PN位置,來計算最接近該目標PN位置的變址計數(shù)器值;根據(jù)該變址計數(shù)器值來計算目標推進值;通過將與多種LFSR狀態(tài)中的每一種LFSR狀態(tài)相對應的基本狀態(tài)推進該目標推進值,來計算這多種LFSR狀態(tài);將該變址計數(shù)器值載入變址計數(shù)器;將這多種LFSR狀態(tài)載入多個LFSR;執(zhí)行殘留旋轉,以達到目標PN位置所提供的LFSR狀態(tài)和計數(shù)器狀態(tài);計算一套掩碼,用于根據(jù)該PN代碼偏移量來延遲一個或多個截取LFSR序列;以及,根據(jù)這一個或多個延遲的截取LFSR序列,來產(chǎn)生一個或多個PN序列。
13.如權利要求12所述的方法,其特征在于通過將基本LFSR狀態(tài)乘以矩陣M,來計算這多種LFSR狀態(tài)中的每一種LFSR狀態(tài);其中,確定矩陣M將該基本LFSR狀態(tài)推進至該目標PN位置。
14.如權利要求12的方法,其特征在于,這多種LFSR狀態(tài)中的每一種LFSR狀態(tài)的計算包括從掩碼表格中獲得與該目標PN位置相對應的掩碼;為M位LFSR裝載基本狀態(tài);關于從0增量到M-1的每個i將該掩碼應用于M位LFSR狀態(tài),使用GF(2)加法來合計合成的屏蔽值,以產(chǎn)生ADVANCED_LFSR_STATE(i);推進M位LFSR一狀態(tài);以及,傳遞作為LFSR狀態(tài)的ADVANCED_LFSR_STATE(M-10)。
15.如權利要求12所述的方法,其特征在于,通過獲得與最接近查找表中的目標推進值的偏移量相對應的LFSR狀態(tài),來計算這多種LFSR狀態(tài)中的每一種LFSR狀態(tài),該查找表包含對應于各種偏移量的LFSR狀態(tài)。
16.一種用于執(zhí)行快速旋轉的PN生成的方法,其特征在于,包括接收目標PN位置;接收PN代碼偏移量;計算掩碼,用于根據(jù)該目標PN位置和該PN代碼偏移量來延遲一個或多個截取LFSR序列;以及,根據(jù)這一個或多個被延遲的截取LFSR序列,來產(chǎn)生一個或多個PN序列。
17.一種用于計算LFSR狀態(tài)的方法,其特征在于,包括接收目標推進值;以及,將基本LFSR狀態(tài)乘以矩陣M,其中,確定矩陣M將該基本LFSR狀態(tài)推進至該目標推進值,以產(chǎn)生該LFSR狀態(tài)。
18.一種用于計算LFSR狀態(tài)的方法,其特征在于,包括接收目標推進值;從預先計算的矩陣表中獲得與該目標推進值相對應的矩陣M;將該矩陣M載入可編程矩陣乘法器;以及,乘以該可編程矩陣乘法器中的基本LFSR狀態(tài),以產(chǎn)生該LFSR狀態(tài)。
19.一種用于計算LFSR狀態(tài)的方法,其特征在于,包括接收目標推進值;從預先計算的矩陣表中獲得具有推進值k的矩陣M,其中的k*r對應于該目標推進值;將該矩陣M載入可編程矩陣乘法器;使用該可編程矩陣乘法器來為r次迭代重復矩陣乘法,以產(chǎn)生由k*r所推進的LFSR狀態(tài),其中,最初迭代將基本LFSR狀態(tài)用作到該可編程矩陣乘法器的輸入,隨后的迭代將先前迭代的結果用作到該可編程矩陣乘法器的輸入;以及,傳遞作為LFSR狀態(tài)的第r次迭代。
20.一種用于計算LFSR狀態(tài)的方法,其特征在于,包括接收目標推進值;計算N個推進值k1-kN,并計算與這N個推進值相對應的N個重復值r1-rN,以便r1k1~rNkN的總數(shù)等于該目標推進值;關于由ki表示的N個推進值k1-kN的每個i,具有由ri表示的對應的重復值r1-rN(a)從預先計算的矩陣表中獲得具有推進值ki的矩陣M;(b)將該矩陣M載入可編程矩陣乘法器;(c)使用該可編程矩陣乘法器來為ri次迭代重復矩陣乘法,以產(chǎn)生由ki*ri所推進的LFSR狀態(tài),其中當i=1時,步驟(c)的最初迭代將基本LFSR狀態(tài)用作到該可編程矩陣乘法器的輸入;當i>1時,步驟(c)的最初迭代為i-1使用步驟(a)~步驟(c)的結果;以及,ri的隨后的迭代將先前迭代的結果用作到該可編程矩陣乘法器的輸入;以及,傳遞作為LFSR狀態(tài)的第rN次迭代。
21.一種用于計算LFSR狀態(tài)的方法,其特征在于,包括接收目標推進值;從掩碼表中獲得與該目標推進值相對應的掩碼;為M位LFSR裝載基本狀態(tài);關于從0增量到M-1的每個i將該掩碼應用于M位LFSR狀態(tài),使用GF(2)加法來合計合成的屏蔽值,以產(chǎn)生ADVANCED_LFSR_STATE(i);推進M位LFSR一狀態(tài);以及,傳遞作為LFSR狀態(tài)的ADVANCED_LFSR_STATE(M-10)。
22.一種用于計算LFSR狀態(tài)的方法,其特征在于,包括接收目標推進值;從掩碼表格中獲得與該目標推進值相對應的掩碼;為M位變量LFSR_STATE裝載基本狀態(tài);關于從0增量到M-1的每個i將該掩碼應用于LFSR_STATE,使用GF(2)加法來合計合成的屏蔽值,以產(chǎn)生ADVANCED_LFSR_STATE(i);將與所需的LFSR行為相對應的多項式應用于LFSR_STATE,以產(chǎn)生LFSR_STATE(M-1);將M-1個位LFSR_STATE(M-11)移入LFSR_STATE(M-20);以及,傳遞作為LFSR狀態(tài)的ADVANCED_LFSR_STATE(M-10)。
23.關于可用于多個可承載LFSR的快速旋的“偽噪聲(PN)”生成的一種設備,其特征在于,包括用于計算載入這多個可承載LFSR的多種PN狀態(tài)的裝置;以及,用于根據(jù)來自這多個可承載LFSR的輸出來生成一個或多個PN序列的裝置。
24.權利要求23的設備,其特征在于,用于計算的裝置響應于目標PN位置來確定這多種PN狀態(tài)。
25.關于可用于多個可承載LFSR的快速旋轉的PN生成的一種設備,其特征在于,包括用于提供與這多個可承載LFSR的狀態(tài)相對應的指數(shù)的指數(shù)裝置;用于計算載入這多個可承載LFSR的多種PN狀態(tài)以及載入該指數(shù)裝置的對應的指數(shù)狀態(tài)的裝置;以及,用于根據(jù)來自這多個可承載LFSR的輸出來產(chǎn)生一個或多個PN序列的裝置。
26.如權利要求25所述的設備,其特征在于,用于計算的裝置響應于目標PN位置來確定這多種PN狀態(tài)和對應的變址計數(shù)器狀態(tài)。
27.如權利要求26所述的設備,其特征在于還包括自由運行時間參照,并且,其中,用于計算的裝置確定作為該自由運行時間參照與該目標PN位置之間的差的對應的指數(shù)狀態(tài);以及,響應于對應的指數(shù)狀態(tài)的這多種PN狀態(tài)。
28.關于可用于多個可承載LFSR的快速旋轉的PN生成的一種設備,其特征在于,包括用于提供與這多個可承載LFSR的狀態(tài)相對應的指數(shù)的指數(shù)裝置;用于計算載入這多個可承載LFSR的多種PN狀態(tài)以及響應于目標PN位置來載入該指數(shù)裝置的對應的指數(shù)狀態(tài)的裝置;用于響應于該目標PN位置來調(diào)整這多個可承載LFSR和該指數(shù)裝置中的狀態(tài)變化速率的旋轉邏輯;以及,用于根據(jù)來自這多個可承載LFSR的輸出來產(chǎn)生一個或多個PN序列的裝置。
29.如權利要求28的設備,其特征在于還包括自由運行時間參照,并且,其中用于計算的裝置確定作為該自由運行時間參照與該目標PN位置之間的差的對應的指數(shù)狀態(tài),或其一個部分;以及,響應于對應的指數(shù)狀態(tài)的這多種PN狀態(tài);并且,該旋轉邏輯響應于該目標PN位置和該自由運行時間參照,來調(diào)整這多個可承載LFSR和該指數(shù)裝置中的狀態(tài)變化速率,以便執(zhí)行在裝載這多個可承載LFSR和裝載該指數(shù)裝置之后所要求的任何殘留旋轉。
30.一種接收器,包括關于可用于多個可承載LFSR的快速旋轉的PN生成的一種設備,其特征在于,包括用于計算載入這多個可承載LFSR的多種PN狀態(tài)的裝置;以及,用于根據(jù)來自這多個可承載LFSR的輸出來產(chǎn)生一個或多個PN序列的裝置。
31.一種用于CDMA系統(tǒng)中的訪問終端,包括關于可用于多個可承載LFSR的快速旋轉的PN生成的設備,其特征在于,包括用于計算載入這多個可承載LFSR的多種PN狀態(tài)的裝置;以及,用于根據(jù)來自這多個可承載LFSR的輸出來產(chǎn)生一個或多個PN序列的裝置。
32.一種用于CDMA系統(tǒng)中的訪問終端,包括關于可用于多個可承載LFSR的快速旋轉的PN生成的設備,其特征在于,包括用于計算載入這多個可承載LFSR的多種PN狀態(tài)的裝置;以及,用于根據(jù)來自這多個可承載LFSR的輸出來產(chǎn)生一個或多個PN序列的裝置。
33.一種W-CDMA系統(tǒng),包括關于可用于多個可承載LFSR的快速旋轉的PN生成的設備,其特征在于,包括用于計算載入這多個可承載LFSR的多種PN狀態(tài)的PN狀態(tài)計算器;以及,用于根據(jù)來自這多個可承載LFSR的輸出來產(chǎn)生一個或多個PN序列的序列發(fā)生器。
全文摘要
揭示了關于基于多序列的PN發(fā)生器的快速旋轉的一些技術。在一個方面中,將LFSR狀態(tài)和參考計數(shù)器狀態(tài)載入其對應的部件,以便在各種狀態(tài)中保持一致性。在另一個方面中,揭示了響應于唯一代碼中的所需偏移量來確定LFSR狀態(tài)和計數(shù)器值的各種方法。在這些方法之中,通過屏蔽技術來執(zhí)行LFSR狀態(tài)的矩陣乘法和推進LFSR狀態(tài)的生成。也介紹了其他方法。這些方面的好處是用有效率的方式來減少轉換時間,這個好處轉變成獲取速度提高、對多路徑信號的查找器鎖定更快、數(shù)據(jù)吞吐量增加、功率降低和總系統(tǒng)容量改善。
文檔編號H04J13/00GK1528058SQ02814139
公開日2004年9月8日 申請日期2002年5月14日 優(yōu)先權日2001年5月15日
發(fā)明者D·特雷薩瓦, D 特雷薩瓦, A·阿格雷瓦爾, 窶淄叨, S·文卡特杉, ㄌ厴 申請人:高通股份有限公司