專利名稱:在衛(wèi)星導(dǎo)航系統(tǒng)中使用的接收器和發(fā)射器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及包括多個衛(wèi)星的星座(constellation)的衛(wèi)星導(dǎo)航或定位 系統(tǒng),尤其涉及用于與這樣的衛(wèi)星導(dǎo)航系統(tǒng) 一 起使用的接收器。
背景技術(shù):
衛(wèi)星導(dǎo)航系統(tǒng)在包括用于位置確定的手持設(shè)備、車內(nèi)導(dǎo)航支持等的 廣泛應(yīng)用中變得日益重要。當(dāng)前使用的主要衛(wèi)星導(dǎo)航系統(tǒng)是由美國國防 部所操作的全球定位系統(tǒng)(GPS) 。 GPS設(shè)備的全球銷量在2003年已經(jīng) 達(dá)到了將近35億美元,并且該數(shù)字預(yù)計會在以后幾年中穩(wěn)定增長。名 為Galileo的歐洲版本的衛(wèi)星導(dǎo)航系統(tǒng)計劃在這十年的后期啟動并得以 使用。
衛(wèi)星導(dǎo)航系統(tǒng)包括衛(wèi)星星座,其中每個衛(wèi)星向地球廣播一個或多個 信號。衛(wèi)星信號的基本分量是與導(dǎo)航數(shù)據(jù)相組合的擴(kuò)頻碼(也被稱作定 位、同步或測距碼)。然后以設(shè)定頻率將所產(chǎn)生的組合調(diào)制到載波上以 用于向地球進(jìn)行傳輸。通常每個衛(wèi)星以多個頻率進(jìn)行傳送,這能夠有助 于對電離層效應(yīng)進(jìn)行補(bǔ)償以提高準(zhǔn)確度并廣播更多數(shù)據(jù)。
在一些情況下,可以通過某一適當(dāng)?shù)膹?fù)用方案將多個信道調(diào)制到單 個載波上。例如,某些Galileo信號計劃包括與導(dǎo)頻信道相組合的數(shù)據(jù) 信道。所述導(dǎo)頻信道僅包含擴(kuò)頻碼而沒有導(dǎo)航數(shù)據(jù),而數(shù)據(jù)信道則包括 擴(kuò)頻碼和導(dǎo)航數(shù)據(jù)這二者。
衛(wèi)星信號的擴(kuò)頻碼分量通常包括預(yù)先確定的比特序列(稱作"碼片 (chip),,)并且被用來執(zhí)行兩個主要任務(wù)。首先,擴(kuò)頻碼提供同步和 訪問(CDMA)機(jī)制以允許接收器鎖定到衛(wèi)星信號上。因此每個衛(wèi)星(通 常從該衛(wèi)星廣播的每個信號)具有其自己的同步碼。當(dāng)接收器首次打開 時,其不知道能夠接收到哪些衛(wèi)星信號,原因在于對于特定時間和特定 位置而言,星座中的某些衛(wèi)星將位于地平線以下。所述接收器使用同步 碼鎖定到來自第一衛(wèi)星的信號上。 一旦這已經(jīng)完成,就能夠訪問所述信 號中的導(dǎo)航數(shù)據(jù)。這然后為星座中的其他衛(wèi)星提供歷書(almanac )數(shù)據(jù), 并允許其余衛(wèi)星對所述接收器可見以便相對迅速地獲得。許多接收器采用兩階段獲取過程。在第一階段中,接收器執(zhí)行進(jìn)入 信號相對于衛(wèi)星擴(kuò)頻碼組的同步相關(guān)。特別地,接收器搜索來自任意衛(wèi) 星的擴(kuò)頻碼,考慮到衛(wèi)星和接收器之間的任意可能的定時偏移,并且考 慮到衛(wèi)星和接收器之間的任意可能的多普勒頻移(其依賴于衛(wèi)星在空間 中相對于用戶的運動)。如果發(fā)現(xiàn)相關(guān)值超出預(yù)先確定的閾值,則對衛(wèi) 星擴(kuò)頻碼、定時偏移和多普勒頻移的有關(guān)組合執(zhí)行包含更詳細(xì)分析的第 二階段。該第二階段分析驗證并確認(rèn)初始的粗獲取,或者必要時將其丟 棄。
擴(kuò)頻碼的第二個主要任務(wù)是根據(jù)信號從衛(wèi)星行進(jìn)到接收器的時間 來提供從衛(wèi)星到接收器的距離估計。然后,給定衛(wèi)星的已知位置(如從 衛(wèi)星接收到的導(dǎo)航數(shù)據(jù)中所指示的),通過使用三邊測量過程在三維空 間中確定接收器的位置。理論上,假設(shè)接收器時鐘和衛(wèi)星時鐘之間的定 時偏移已知,能夠利用來自最少三個衛(wèi)星的信號信息來執(zhí)行三邊測量。 實際上,除了專門的接收器之外,該定時偏移通常是未知的,從而從至 少 一 個附加衛(wèi)星獲得信號信息來對接收器處未知的時間偏移進(jìn)行補(bǔ)償。 如果來自其他衛(wèi)星的信號可用,則能夠使用諸如最小平方之類的任意適 當(dāng)算法來執(zhí)行統(tǒng)計位置確定。這還能夠提供一些與估計位置相關(guān)聯(lián)的誤 差指示。
擴(kuò)頻碼的 一個重要參數(shù)是擴(kuò)頻碼傳送的碼片速率,原因在于這繼而 控制所能夠進(jìn)行位置確定的準(zhǔn)確度。擴(kuò)頻碼的另一個重要參數(shù)是其總長 度,換句話說,擴(kuò)頻碼在其重復(fù)之前的碼片數(shù)目。其一個原因是擴(kuò)頻碼
的有限長度會引起位置確定中的不確定性(ambiguity)。擴(kuò)頻碼的更長 長度會減少這樣的不確定性,并且還提供了對來自不同源的信號的更好 分離以及對抗干擾的增加的魯棒性。另一方面,擴(kuò)頻碼具有更長的重復(fù) 長度會延遲信號的最初獲取,以及接收器內(nèi)需要更多的處理能力。通常, 擴(kuò)頻碼的長度還影響能被用于導(dǎo)航數(shù)據(jù)的數(shù)據(jù)速率,原因在于每個完整 的擴(kuò)頻碼序列一般僅有一比特導(dǎo)航數(shù)據(jù)。因此,擴(kuò)頻碼的重復(fù)長度越長, 導(dǎo)航數(shù)據(jù)的比特速率越低。
一種已知的策略是使用基于一級(primary)和二級(secondary)代 碼的分級或分層擴(kuò)頻碼。如果我們假設(shè)一級代碼具有Nl個碼片而二級 代碼具有N2個碼片,則整體擴(kuò)頻碼的前Nl個碼片對應(yīng)于與二級代碼 的第一碼片異或的一級序列,擴(kuò)頻碼接下來的N1個碼片包括一級代碼的N1個碼片的重復(fù),與二級代碼的第二碼片異或的該時間,等等。這
給出了 Nl xN2的代碼的整體重復(fù)長度,然而初始獲取能夠僅基于一級 代碼。
GPS擴(kuò)頻碼通過使用線性反饋移位寄存器(LFSR)來實現(xiàn),其中取 出(tap)來自N階移位寄存器的選定輸出并將其回饋到輸入。LFSR內(nèi) 的反饋連接能夠表示為次序N的以2為模的二進(jìn)制多項式,由此LFSR 的操作完全由其多項式和LFSR的初始設(shè)置來指定。
GPS擴(kuò)頻碼是Gold碼,其具有某些特殊數(shù)學(xué)屬性。其中一個是它 們生成具有重復(fù)長度為2〃-l的偽隨機(jī)噪聲(PRN)的輸出,從而相對緊 湊的LFSR能夠生成具有長重復(fù)長度的輸出。Gold碼還具有良好的支持 代碼獲取和準(zhǔn)確定位的自相關(guān)屬性。特別地,自相關(guān)功能具有以零時間 偏移良好定義(well-defined)的峰值,并且對于所有其他(即,非零) 時間偏移相對較小。同時,選擇一組具有良好互相關(guān)屬性的Gold碼也 是重要的,而不同代碼之間的互相關(guān)函數(shù)相對較小。這對于信號獲取是 重要的,原因在于其有助于防止來自 一個衛(wèi)星的同步代碼偶爾被誤以為 是來自另一衛(wèi)星的同步代碼。擴(kuò)頻碼另外的重要實現(xiàn)標(biāo)準(zhǔn)是具有相等 (或近似相等)數(shù)目的1和0 -這被稱作平衡。
關(guān)于衛(wèi)星導(dǎo)航系統(tǒng)的附加信息能夠在Misra和Enge的"Global Positioning System: Signals, Measurements and Performance ,,, Ganga-Jamuna出版社,2001, ISBN 0-97095444-0-9;由美國力元空4元天院 出片反的Bradford W. Parkinson和James J. Spilker Jr的"Global Positioning System: Theory and Applications"巻1和巻2, ISBN 1國56347國106-X; Hollreiser等人的"Galileo User Segment Overview" , ION GPS/GNSS 2003, 2003年9月,波蘭,Oregon,第1914-1928頁;和Hollreiser等 人的 "Galileo Test User Segment — First Achievements and Application", GPS World, 2005年7月中找到。
雖然對于現(xiàn)有的衛(wèi)星導(dǎo)航系統(tǒng)已經(jīng)廣泛認(rèn)可了 Gold碼,但是存在 一些與這樣的代碼相關(guān)聯(lián)的限制。例如,它們僅能夠使用某些代碼長度 (2W-1,并且并非所有的N值都能夠用于LFSR多項式)。通常,代碼 長度由擴(kuò)頻碼的碼片速率與導(dǎo)航數(shù)據(jù)的比特速率之比來確定。如果代碼 長度被限制為可用的Gold碼,則這意味著在碼片速率和比特速率上有 所約束,這可能繼而影響其他考慮因素,諸如獲取時間和定位準(zhǔn)確度。在一些情況下,已經(jīng)通過使用截短的(truncated) Gold碼克服了 Gold 碼的代碼長度的限制,但是這樣的截短已經(jīng)對代碼集的數(shù)學(xué)屬性造成了 不利影響(在自相關(guān)函數(shù)等方面)。
因此,在PCT申請PCT/EP2004/014488和PCT/EP2005/007235中已 經(jīng)提出了使用定制設(shè)計或預(yù)定(bespoke)的比特序列作為衛(wèi)星擴(kuò)頻碼。 這允許開發(fā)任意長度的擴(kuò)頻碼,并且還允許獨立于其他約束對諸如自相 關(guān)和互相關(guān)之類的各種屬性進(jìn)行優(yōu)化。這樣的擴(kuò)頻碼在這里將被描述為 "存儲器"代碼,原因在于接收器通常存儲代碼的整個碼片模式。這與 以算法生成碼片才莫式相反,如對于Gold碼而言,其使用LFSR根據(jù)其多 項式以算法生成代碼,而不是存儲整個代碼的碼片模式。要注意的是, 因為通常從(偽)隨機(jī)數(shù)序列創(chuàng)建存儲器代碼,所以它們一般不服從于 數(shù)據(jù)壓縮技術(shù)。
用于接收器的存儲器代碼集能夠被存儲在諸如閃存之類的某一形 式的ROM中。這些代碼然后能夠在引導(dǎo)時間被加載到接收器芯片組
(chipset)中以供在檢測進(jìn)入的衛(wèi)星信號中的擴(kuò)頻碼期間使用。如果完 整的存儲器代碼被加載到接收器芯片組本身中,則這可表示在接收器芯 片組上存儲位置方面的非常明顯的開銷??商鎿Q地,代碼可以被加載到
(接收器芯片組之外的)RAM,其中它們將僅代表針對一般接收器操作 的整體程序和/或數(shù)據(jù)存儲需求的相對小的添加。然而,在這種情況下, 可能需要用來將所述代碼從RAM實時饋給到接收器芯片組的專用高速 接口 ,以及接收器芯片組自身之內(nèi)的 一些附加內(nèi)部緩沖。
圖1描繪了例如可能在常規(guī)GPS接收器芯片組內(nèi)提供的LFSR的典 型實施方式?;居布ㄩL度N的移位寄存器11,外加均為長度N 的兩個附加寄存器12、 13。所述移位寄存器自身的設(shè)計是普通的,其中 反饋抽頭并非是硬接線的。更確切地,移位寄存器11的各級之間的反 饋由加載到兩個附加寄存器之一(多項式寄存器12)中的多項式值來控 制。接著,由另一個附加寄存器(初始模式寄存器13)中所存儲的數(shù)值 來確定LFSR的初始設(shè)置。以這種方式,圖1的LFSR能夠通過向所述 多項式寄存器和初始模式寄存器中提供適當(dāng)數(shù)值來定制圖1的LFSR。
圖1的LFSR包括3N個存儲位置(原因在于移位寄存器11、多項 式寄存器12和初始模式寄存器13均具有N個存儲位置)。如上所述, 對于最大的Gold碼而言,反饋移位寄存器ll中的存儲位置的數(shù)目通過iV」log(丄+l)而與輸出代碼(L)的長度有關(guān)。由于Gold碼通?;趤碜?兩個LFSR的輸出的組合,所以用于Gold碼的存儲位置的總數(shù)r(S)能夠 被表示為7^) = 6*210§(丄+ 1)。此外,標(biāo)準(zhǔn)的LFSR代碼發(fā)生器具有某一用 來提供反饋抽頭的組合邏輯(XOR),以及與計數(shù)器(或比較器+寄存 器)相結(jié)合的用于在序列末尾進(jìn)行重置、重載和重新開始的小型狀態(tài)機(jī) /控制器。
存儲在接收器中的代:提供全長i存儲器,包2相關(guān):也;止解碼器「根據(jù) 所選擇的實施技術(shù),存儲器能夠是靜態(tài)或動態(tài)的。最為廣泛使用的技術(shù)
(ASIC、 FPGA)支持靜態(tài)存儲器。此外,用于地址生成的小型狀態(tài)機(jī) 或控制器通常會被用來確保讀取正確的存儲器單元。假設(shè)靜態(tài)存儲器單 元的等效門數(shù)(gate-count)為1.5NAND2 ( NAND2表示兩輸入NAND 門并且通常包括6個晶體管),則對于0.18//m技術(shù)而言,這產(chǎn)生每個存 儲器單元18.75//W的面積。對于狀態(tài)機(jī)/控制器包括200個門,并且假設(shè) 4096個碼片代碼(對應(yīng)于Galileo Ll信號),這等同于6344個NAND2 門,具有79300//W的總面積??商鎿Q地,對于10230個碼片代碼而言, 如對于Galileo E5a信號而言,并且基于如上所述的相同假設(shè),這等同于 15545個NAND2門,具有194312/^2的總面積(忽略由于結(jié)構(gòu)的規(guī)則 性而引起的任何節(jié)省)。這能夠表示接收器芯片組的明顯開銷。
還要注意的是,對于存儲器代碼的情形而言,r(?!秈:。換句話說, 存儲位置的數(shù)目與代碼長度成比例地增加,而不是如LFSR實施方式那 樣與代碼的對數(shù)成比例增加。由此清楚的是,隨著擴(kuò)頻碼長度的增加,
存儲器代碼的使用明顯需要比常規(guī)的LFSR方法更多的存儲位置。該問 題加劇,原因在于接收器必須存儲并非一個擴(kuò)頻碼,而是用于所有衛(wèi)星 和所有感興趣信號的擴(kuò)頻碼的完備集。
發(fā)明內(nèi)容
因此,本發(fā)明的一個實施例提供了供衛(wèi)星導(dǎo)航系統(tǒng)使用的接收器, 所述衛(wèi)星導(dǎo)航系統(tǒng)包括多個衛(wèi)星的星座,其中每個衛(wèi)星傳送合并有擴(kuò)頻 碼的信號。所述接收器包括至少一個代碼存儲單元,所述代碼存儲單元 包括用于存儲包含碼片的固定模式的存儲器代碼的組合邏輯。所述組合 邏輯包括用于獲取所存儲的存儲器代碼的指定部分的地址解碼功能。所述接收器還包括用于在進(jìn)入信號和來自代碼存儲單元的所存儲的存儲 器代碼之間執(zhí)行相關(guān)的相關(guān)器。
將會理解的是,存儲器單元的常規(guī)實施方式(例如作為觸發(fā)器
(flip-flop)或寄存器)基于順序邏輯(sequential logic),從而所要存 儲的數(shù)據(jù)被作為輸入信號加載到設(shè)備之中,所述順序邏輯根據(jù)先前輸入 來保存狀態(tài)。與之相比,擴(kuò)頻碼能夠被認(rèn)為是通過組合邏輯的硬接線配 置而被存儲到組合邏輯中。
還將理解的是,用于在現(xiàn)有接收器中生成擴(kuò)頻碼的LFSR包括順序 邏輯而不是組合邏輯,原因在于其輸出依賴于寄存器中的內(nèi)部狀態(tài)。此 外,LFSR所能夠生成的代碼局限于某些數(shù)學(xué)算法所定義的那些代碼。 實際上,LFSR最好被看作是存儲數(shù)學(xué)算法(其于是能夠被用來生成代 碼)而不是其自身存儲代碼。與之相比,組合邏輯能夠被用來存儲一般 或任意擴(kuò)頻碼,例如沒有任何預(yù)先確定的數(shù)學(xué)屬性的擴(kuò)頻碼以及并非使 用預(yù)定義的數(shù)學(xué)算法生成的擴(kuò)頻碼。組合邏輯因此能夠被用來存儲已經(jīng) 被優(yōu)化以用于特定衛(wèi)星導(dǎo)航系統(tǒng)的預(yù)定或定制的存儲器代碼。(注意, 所述組合邏輯并不被局限于這樣的定制存儲器代碼;其還能夠被用來存 儲對應(yīng)于Gold碼或某一其他數(shù)學(xué)序列的存儲器代碼。)
通常,接收器存儲來自衛(wèi)星導(dǎo)航星座中每個衛(wèi)星的每個信號的不同 擴(kuò)頻碼(以用于接收器所支持的服務(wù))。這可以包括用于要在星座中任 意衛(wèi)星失效的情況下作為備用的替代衛(wèi)星的擴(kuò)頻碼。存在多種方式能夠 將一組擴(kuò)頻碼分配到一個或多個代碼存儲單元。例如,在一種實施方式 中,單個代碼存儲單元可以被用來保存星座中所有衛(wèi)星的擴(kuò)頻碼的完備 集。在另一種實施方式中,來自每個衛(wèi)星的每個信號的擴(kuò)頻碼可以被存 儲在單獨的代碼存儲單元中。本領(lǐng)域技術(shù)人員將了解許多其他可能的用 于將存儲器代碼分配到代碼存儲單元的中間實施方式。
在一個實施例中,接收器包括多個接收信道,并且所存儲的來自一 個或多個代碼存儲單元的衛(wèi)星的存儲器代碼可以被提供到任意接收信 道以用于與該接收信道上的進(jìn)入信號相關(guān)。由此,雖然存儲器代碼本身 經(jīng)由組合邏輯硬接線,但是對不同接收信道進(jìn)行的擴(kuò)頻碼分配可以是靈 活可變的。該靈活性對于僅導(dǎo)航衛(wèi)星的子集可見(其他可能被建筑所遮 擋或位于地平線以下)的任意給定時刻或地球上的位置是有用的。因此, 從一個或多個代碼存儲單元向各接收信道靈活分配擴(kuò)頻碼的能力允許接收器中接收信道的數(shù)目小于衛(wèi)星的總數(shù),原因在于在操作中,系統(tǒng)向 接收信道分配當(dāng)前可見的那些衛(wèi)星的擴(kuò)頻碼。此外,這種靈活性在星座 中的衛(wèi)星失效并且其被一個備用衛(wèi)星所取代的情況下是有用的(假設(shè)該 備用衛(wèi)星的擴(kuò)頻碼已經(jīng)被存儲在接收器中)。
要注意的是,對于現(xiàn)有的接收器而言,用于接收給定類的信號的接 收信道的數(shù)目通常也小于星座中衛(wèi)星的數(shù)目。這是通過(使用圖l所示 的多項式和初始設(shè)置寄存器)對用于期望衛(wèi)星信號的接收信道內(nèi)的每個
LFSR進(jìn)行適當(dāng)配置來實現(xiàn)的。不能在操作期間以這種方式對一個或多 個代碼存儲單元的組合邏輯進(jìn)行靈活配置,但是可以在接收器體系結(jié)構(gòu) 級別重新獲得一些靈活性。
在一個實施例中,代碼存儲單元可尋址來指定所存儲存儲器代碼的 一個或多個碼片的特定分段以便輸出。提供存儲器代碼的可選部分的能 力允許通過有限數(shù)量的輸出管腳輸出存儲器代碼,并且還與存儲器代碼 的獲取才莫式更好地匹配以便正常使用。代碼存儲單元可以包括定序器
或多個碼片和7或?qū)ぶ饭ぞ咭栽试S選擇所述存儲器代:的特定部分以用 于輸出。要注意的是,這樣的輸出機(jī)制可以以順序邏輯(諸如通過代碼 步進(jìn))來實施,但是代碼的這種順序輸出在邏輯上能夠被認(rèn)為與組合邏 輯所進(jìn)行的代碼存儲不同(即使代碼存儲和輸出接著被集成在代碼存儲 單元的物理部件級別)。
來自代碼存儲單元的輸出每次可以包括單個碼片,或者每個輸出可 以包括一組多個碼片。要注意的是,后者的選擇反映了在組合邏輯中存 儲擴(kuò)頻碼與使用LFSR之間比較所得的進(jìn)一步的差異,其中LFSR每次 僅輸出單個碼片。與之相比,由于組合邏輯塊存儲代碼的整個碼片^t式, 由此在任意給定時刻都可以同時輸出多個代碼碼片(如果期望這樣的 話)。
雖然可以使用任意適當(dāng)?shù)陌雽?dǎo)體技術(shù)(例如,完全定制等),但是
或?qū)S眉呻娐?ASIC-門陣列,標(biāo)準(zhǔn)單元)。組合邏輯的使用通常與 FPGA和/或ASIC上的可用電路相兼容,并且由此能夠使用標(biāo)準(zhǔn)半導(dǎo)體 開發(fā)工具來設(shè)計和實現(xiàn)所述組合邏輯。將要理解的是,使用諸如FPGA組的一部分(由此避免了在一個設(shè)備上的一個或多個代碼存儲單元和單 獨接收器芯片組之間需要高速接口)。
一個或多個代碼存儲器單元能夠被用來存儲多個級別的分級代碼。 例如,代碼存儲單元可以被用來存儲一級代碼和/或二級代碼。要注意的 是,如果一個或多個代碼存儲單元保存了一級代碼和相應(yīng)的二級代碼這 二者,則這些代碼能夠被作為一個長序列(表示用于輸出的最終組合代 碼)或單獨的一級代碼和二級代碼來存儲。將要理解的是,后者的配置
更為緊湊,原因在于與存儲完整的(組合)代碼序列所需的N1 xN2相 比,僅需要存儲Nl+N2個碼片。在其他實施例中,組合邏輯可以僅被 用來存儲一個級別的分級代碼,例如一級代碼。
本發(fā)明的另 一個實施例提供了 一種用于在衛(wèi)星導(dǎo)航系統(tǒng)中使用的 衛(wèi)星,所述衛(wèi)星導(dǎo)航系統(tǒng)包括多個衛(wèi)星的星座,其中每個衛(wèi)星傳送合并 有擴(kuò)頻碼的信號。所述衛(wèi)星包括至少一個代碼存儲單元,所述代碼存儲 單元包括用于存儲包括碼片的固定模式的存儲器代碼的組合邏輯。所述 存儲器代碼對應(yīng)于要合并到從衛(wèi)星傳送的信號中的擴(kuò)頻碼。因此,用于 在接收器中生成擴(kuò)頻碼以用于與進(jìn)入信號相關(guān)的方法也能夠被用于生 成用于從衛(wèi)星廣播的擴(kuò)頻碼。
本發(fā)明的另 一 個實施例提供了 一種用于操作接收器以供包括多個 衛(wèi)星的星座的衛(wèi)星導(dǎo)航系統(tǒng)使用的方法。每個衛(wèi)星傳送合并有擴(kuò)頻碼的 信號。所述方法包括提供至少一個代碼存儲單元,所述代碼存儲單元包 括用于存儲包含碼片的固定模式的存儲器代碼的組合邏輯。所述存儲器 代碼對應(yīng)于合并到從衛(wèi)星傳送的信號中的擴(kuò)頻碼。所述方法進(jìn)一步包括 在進(jìn)入信號和所述組合邏輯中所存儲的擴(kuò)頻碼之間執(zhí)行相關(guān)。
本發(fā)明的另 一 個實施例提供了 一種用于生產(chǎn)供衛(wèi)星導(dǎo)航系統(tǒng)使用 的接收器的方法,所述衛(wèi)星導(dǎo)航系統(tǒng)包括多個衛(wèi)星的星座,其中每個衛(wèi) 星傳送合并有擴(kuò)頻碼的信號。所述方法包括確定要在接收器內(nèi)存儲的衛(wèi) 星擴(kuò)頻碼,并且提供包括組合邏輯的至少一個代碼存儲單元,所述組合 邏輯用于存儲與衛(wèi)星擴(kuò)頻碼相對應(yīng)的碼片的固定模式。
在一個實施例中,通過在硬件描述語言內(nèi)產(chǎn)生碼片固定模式的規(guī)范 (specification)來生成組合邏輯。接著能夠使用邏輯組合將該規(guī)范實現(xiàn) 在期望的平臺上。要注意的是,在硬件描述語言中所述組合邏輯的規(guī)范 能夠使用常數(shù)來定義期望的輸出代碼。因此,定義不同擴(kuò)頻碼所需的唯一改變是更新所述常數(shù)的值。 附圖簡述
現(xiàn)在僅通過示例的方式參考以下附圖對本發(fā)明的各實施例進(jìn)行詳
細(xì)描述
圖1是常規(guī)的線性反饋移位寄存器(LFSR)的實施方式的示意圖; 圖2是示出根據(jù)本發(fā)明 一個實施例的使用組合邏輯來存儲存儲器代 碼的示意圖3是示出根據(jù)本發(fā)明一個實施例的接收器的體系結(jié)構(gòu)的示意圖, 其中所有存儲器代碼被存儲在單個代碼存儲單元中;
圖4是示出根據(jù)本發(fā)明另一個實施例的接收器的體系結(jié)構(gòu)的示意 圖,其中每個存儲器代碼被存儲在單獨的代碼存儲單元中;
圖5是圖示出根據(jù)本發(fā)明 一個實施例的用于設(shè)計用于存儲存儲器代 碼的代碼存儲單元的方法的流程圖6是根據(jù)本發(fā)明一個實施例的根據(jù)圖5的方法所產(chǎn)生的網(wǎng)表 (netlist)的示意圖的示例。
i羊細(xì)4葛述
圖2是根據(jù)本發(fā)明一個實施例的包括代碼存儲單元15的代碼發(fā)生 器10的示意性圖示。代碼發(fā)生器IO被用來存儲和輸出一個或多個存儲 器代碼,并且由此取代了常規(guī)接收器中諸如圖1的LFSR之類的單元。
代碼發(fā)生器10在邏輯上可認(rèn)為包括兩個主要部件代碼存儲單元 15和定序器25。代碼存儲單元15包括組合邏輯20,其被用來存儲存儲 器代碼和提供地址解碼。定序器25被用來通過加載適當(dāng)?shù)钠鹗嫉刂凡?增加當(dāng)前地址來指定存儲器代碼的期望部分的地址以用于輸出。(要注 意的是,如以下詳細(xì)解釋的,在物理實施方式中,這兩個部件的功能可 能被集成,從而組合邏輯和定序器之間沒有明確區(qū)分;但是從邏輯或功 能的角度來看,這兩個部件可認(rèn)為是獨立的)。
在圖2的示例中,組合邏輯20具有多個輸出Out(輸出)50。對于 所定義的地址45而言,根據(jù)組合邏輯20內(nèi)門的特定配置來定義輸出50。 當(dāng)激活負(fù)載40時,起始地址30 ^皮加載到地址定序器25中。來自地址 定序器25的地址然后被作為地址45提供到代碼存儲單元15,并且存儲器代碼的對應(yīng)片斷出現(xiàn)在組合邏輯20的輸出50處。
所述地址定序器在使能輸入35被斷言(assert)時隨著elk (時鐘) 50上的每個脈沖而增加地址45。這使得存儲器代碼的對應(yīng)片斷或部分 出現(xiàn)在組合邏輯20的輸出50處。否則,當(dāng)所述使能信號沒有被斷言時, 所指定的地址45并且由此組合邏輯20的輸出保持恒定。
將要理解的是,由于邏輯塊20是組合的而不是順序的,所以其不 存儲任何狀態(tài)信息。因此組合邏輯一般不被認(rèn)為是一種存儲器設(shè)備的形 式。然而,組合邏輯20內(nèi)門的配置能夠被看作是一種(硬接線)存儲 形式,從而來自組合邏輯20的輸出50對應(yīng)于所存儲到比特組。所述組 合邏輯由此可被認(rèn)為是一種只讀存儲器(ROM)的形式,存儲每個地址 45的比特組。然而要注意的是,與支持一些形式的寫入機(jī)制的(例如閃 存、EEPROM)標(biāo)準(zhǔn)形式的"ROM"相比,所述組合邏輯的"內(nèi)容"是 固定的(假設(shè)所述組合邏輯塊是硬接線的)并且由此無法被更新。此外, 與隨機(jī)訪問存儲器(RAM )不同,組合邏輯20的內(nèi)部配置特定于(專 用于)所存儲的比特組,其在一般由接著加載數(shù)據(jù)值的標(biāo)準(zhǔn)化存儲器單 元形成。換句話說,在大多數(shù)常規(guī)存儲器設(shè)備中,在所述存儲器設(shè)備的 一般硬件結(jié)構(gòu)和存儲到所述設(shè)備中的數(shù)據(jù)內(nèi)容之間存在邏輯分離(圖1 的LFSR體系結(jié)構(gòu)也有類似分離)。然而,組合邏輯20沒有這樣的邏輯 分離,原因在于硬件結(jié)構(gòu)直接對應(yīng)于(即,反映或表示)被存儲的(加 上地址解碼)的實際數(shù)據(jù)內(nèi)容。
可通過選擇組合邏輯內(nèi)的門的適當(dāng)配置把來自組合邏輯20的輸出 50安排為表示任意給定的比特組(如以下更為詳細(xì)的描述)。因而,圖 2的組合邏輯能夠被用來存儲對應(yīng)于存儲器代碼的碼片序列,以使得來 自邏輯塊的輸出50對應(yīng)于存儲器代碼的碼片序列。(將要理解的是, 這包括為來自組合邏輯20的輸出50定義適當(dāng)?shù)呐判蛞云ヅ浯鎯ζ鞔a 的順序?qū)傩浴_@能夠通過在邏輯綜合(logic synthesis)期間將地址解碼 與實際的存儲器代碼內(nèi)容結(jié)合來實現(xiàn),如以下更為詳細(xì)的描述)。
(例如)對于包括幾千個碼片的長存儲器代碼序列L而言, 一般不 便于并行輸出所有的存儲器代碼碼片,原因在于這將涉及非常大量的輸 出管腳。另外,通常不要求接收器操作同時輸出整個擴(kuò)頻碼。更確切地, 組合邏輯20為每個指定地址45輸出來自存儲器代碼的一個或多個碼片 的子集。例如,根據(jù)整體的接收器體系結(jié)構(gòu)
1. 針對每個地址45的增加,能夠提供單個碼片。該碼片然后
被路由到單個接收器相關(guān)器。在這種情況下,組合邏輯20
中僅包含一個存儲器代碼。
2. 如果組合邏輯20中包含多于一個存儲器代碼(例如,多于 一個衛(wèi)星和/或多于一個信號的存儲器代碼),則該單元必 須被若干個接收器相關(guān)器分時(time shared)。在這樣的實 施方式中,組合邏輯20在地址45增加到特定值時輸出第 一存儲器代碼的第 一子序列。該子序列被路由到對應(yīng)的第 一接收器相關(guān)器。在第一接收器相關(guān)器通過其子序列工作 時,不同存儲器代碼的其他子序列被組合邏輯20提供到不 同的接收器相關(guān)器。 一旦所有的接收器相關(guān)器已經(jīng)被供應(yīng), 定序器就返回第一接收器相關(guān)器并向第一接收器相關(guān)器提 供第一存儲器代碼的第二子序列。
單獨子序列的長度依賴于單獨代碼發(fā)生器10所服務(wù)的接收器相關(guān) 器的總數(shù)。每個子序列的典型碼片數(shù)目可能為N=8、 16、 32、 64或128。 因此,對于在使能信號35有效(active)時elk 55的每次連續(xù)激活,定 序器增加地址45并且組合邏輯20通過輸出50輸出接下來的N個碼片。
例如,假設(shè)如果在L=4096且N=16的情況下在組合邏輯20中僅存 儲一個存儲器代碼,則第一clk55 (在使能信號35有效時)運作(tick) 輸出在組合邏輯20中所存儲的存儲器代碼的碼片0-15,等等,直至已 經(jīng)輸出了整個存儲器代碼(此時我們將循環(huán)返回碼片0)。在另一個實 施例中,在所存儲的存儲器代碼被從代碼存儲單元15逐碼片輸出的情 況下,N=l。
將要理解的是,因為定序器25保存狀態(tài)信息(其在存儲器代碼序 列內(nèi)的位置/地址),所以定序器25包含順序邏輯而不僅僅是組合邏輯。 例如,如果I^4096且N-16,則可以在一個實施例中將定序器25實現(xiàn) 為8比特計數(shù)器。
在圖2的實施例中,定序器25還被提供以地址控制信號30的形式 的尋址機(jī)制。該地址控制信號30能夠被用來指定存儲器代碼序列內(nèi)的 特定位置以用于輸出。由此,如果我們繼續(xù)以上示例,其中L二4096且 N=16,并且定序器25是8比特計數(shù)器,則地址控制信號30可以;故提供為8比特數(shù)值以加載到計數(shù)器中。換句話說,在使能信號35將定序器 25增加到下一代碼位置時,地址控制信號30能夠被用來將定序器25設(shè) 置到代碼內(nèi)任意期望的(新)位置。在另一個實施例中,地址控制信號 30被筒單的重置線(reset line)所取代,所述重置線將定序器25內(nèi)的 計數(shù)值歸零。該實施例允許代碼內(nèi)的定序器位置被重置,但是不允許將 存儲器序列內(nèi)的任意位置指定到定序器。
對于存儲諸如不同衛(wèi)星的不同存儲器代碼之類的多個存儲器代碼 的接收器而言,可能存在多種用于存儲不同代碼的配置。在一種實施方 式中,為每個不同的存儲器代碼提供單獨的代碼存儲單元。可替換地,
址機(jī)制30來選擇代碼和代碼位置這二者以用于輸出。其他的可能性在 于存在多個代碼存儲單元,其中每個單元存儲一些但不是全部衛(wèi)星的存 儲器代碼或者一些但不是全部信號的存儲器代碼一一例如6個代碼存儲 單元,每個存儲5個衛(wèi)星的存儲器代碼,或者每個代碼存儲單元存儲一 個衛(wèi)星的所有存儲器代碼,等等。其他的可能性在于在多個代碼存儲 單元的范圍內(nèi)對單個存儲器代碼進(jìn)行拆分或剝除(strip)。
使用組合邏輯20來存儲包括地址解碼的存儲器代碼利用了以下事 實 一旦已經(jīng)定義并且合并了代碼,它們通常就凈皮認(rèn)為是固定的,由此 它們無需在常規(guī)的(可更新)存儲器中被存儲。雖然損失了 一些靈活性,
面的復(fù)雜度顯著降低。然i^、,能夠在體:;結(jié)構(gòu)級別';新獲得一些這種靈
活性,如以下更為詳細(xì)的描述。
圖3是根據(jù)本發(fā)明一個實施例的接收器101的示意圖。特別地,圖 3圖示了被用來獲取和追蹤信號的接收器的基帶部分,而為了簡要省略 了其他的標(biāo)準(zhǔn)部分(例如,天線、RF前端、導(dǎo)航單元等)。接收器101 可以被提供為獨立單元,或者可以合并到一些更大型的設(shè)備中,例如移 動(蜂窩)電話、計算機(jī)、汽車或其他形式的車輛、醫(yī)院病床、航行器 或船舶、集裝箱,等等。
接收器101包括代碼存儲單元130以及數(shù)字信號處理器(DSP) 120 和多個接收(Rx)信道IIOA、 IIOB、 IIOC等。將要理解的是,不同的 接收信道全部都處理相同的進(jìn)入信號,但是應(yīng)用到所述進(jìn)入信號的處理 卻因接收信道而有所不同,如以下更為詳細(xì)的描述。代碼存儲單元130被用來存儲衛(wèi)星星座的一組存儲器代碼。在一個實施例中,代碼存儲單
元130、 DSP 120和接收信道110被實現(xiàn)為單個半導(dǎo)體設(shè)備或芯片組, 不過其他實施例可以在多個設(shè)備的范圍內(nèi)對這些部件進(jìn)行拆分。
將要理解的是,給定代碼組內(nèi)(并由此被存儲在邏輯塊130內(nèi))的 代碼數(shù)目依賴于相關(guān)衛(wèi)星導(dǎo)航系統(tǒng)的特定需求。這樣的系統(tǒng)通常被設(shè)計 成利用24 - 30個不同衛(wèi)星進(jìn)行操作,通常提供一個或多個附加衛(wèi)星作 為失效情況下的潛在備選。對于每個衛(wèi)星, 一般還存在多個信號。此外, 一些Galileo信號包括導(dǎo)頻和數(shù)據(jù)分量(其能夠在單個接收信道內(nèi)被處 理)。
假設(shè)圖3的體系結(jié)構(gòu)被設(shè)計為經(jīng)由每個信道接收單個信號。信道能 夠被靈活地分配到任意載體或來自RF前端的任意衛(wèi)星的信號分量。代 碼存儲單元130存儲在遍及衛(wèi)星星座的任意載體和信號上使用的代碼。
在一些實施例中,可以增加代碼組內(nèi)的代碼數(shù)目來容納"偽衛(wèi)星 (pseudolite)"信號,所述信號從例如臨近機(jī)場的地面位置發(fā)射。接收 器似乎將這樣的偽衛(wèi)星信號作為附加的衛(wèi)星導(dǎo)航信號,并由此能夠在這 樣的位置給出更為精確和可靠的位置確定。
接收信道110的 一般操作是將進(jìn)入的實際中間頻率信號轉(zhuǎn)換為復(fù)基 帶信號。所述基帶信號接著與載體數(shù)控振蕩器(NCO)的輸出進(jìn)行混合 以便從所述信號除去多普勒效應(yīng)。接下來,將進(jìn)入信號與本地擴(kuò)頻碼(即 接收器內(nèi)所存儲或生成的代碼)相關(guān),所述擴(kuò)頻碼的定時由代碼NCO 來控制。在預(yù)定時間內(nèi)對該相關(guān)的結(jié)果求積分,并接著將其傳給DSP 120。這里的鑒別器和環(huán)路濾波器利用相關(guān)NCO來閉合相應(yīng)的載體環(huán)(鎖 頻環(huán)(FLL)、鎖相環(huán)(PLL)和代碼環(huán)(延遲鎖定環(huán)(DLL)))。
將要理解的是,如這樣描述的接收器101的操作通常與現(xiàn)有衛(wèi)星導(dǎo) 航系統(tǒng)接收器(例如用于GPS的接收器)的行為相匹配。關(guān)于這樣的接 收器的更多細(xì)節(jié)可在以上提到的Misra和Enge的書中找到。(還要理解 的是,為了簡明起見,圖3中省略了關(guān)于接收器101的與理解本發(fā)明不 直接相關(guān)的特定細(xì)節(jié),例如數(shù)據(jù)和導(dǎo)頻代碼的處理。)
在現(xiàn)有接收器中,由諸如圖1所示的LSFR生成本地擴(kuò)頻碼,其能 夠被合并到每個接收信道110A、 110B等中。與之相比,圖3的接收器 使用代碼存儲單元130 (例如圖2所示)來存儲存儲器代碼。所述代碼 存儲單元130從DSP 120接收用于確定要將所存儲代碼的哪個部分輸出到各接收信道110的地址信號。該輸出地址由DSP 120內(nèi)所包括的最終 狀態(tài)機(jī)(FSM) /控制器來指定。
在圖3的實施例中,假設(shè)每個地址對應(yīng)于單元130內(nèi)的存儲器代碼 的32碼片的組塊(chunk)。該存儲器代碼組塊接著被加載到適當(dāng)接收 信道110內(nèi)的寄存器中以用于在與進(jìn)入信號相關(guān)時使用。寄存器中所存
用LFSR代碼的現(xiàn)有系統(tǒng)中相同的方式來執(zhí)行。(可認(rèn)為現(xiàn)有接收器與 圖3的實施例類似,但是沒有代碼存儲單元130,并且在每個接收信道 內(nèi)具有代碼LFSR而不是緩沖寄存器。)要注意的是,根據(jù)在代碼存儲 單元130的輸出接口處可用的帶寬和接收信道的總數(shù),其他實施例可以 使用不同的字長以便從代碼存儲單元130讀出數(shù)據(jù)。
通常,DSP 120內(nèi)的FSM/控制器控制代碼存儲單元130依次向每個 接收信道110提供32碼片代碼段。因此, 一旦已經(jīng)將32碼片代碼段提 供到接收信道110A, FSM/控制器依次通過其他接收信道110B, 110C, ...110N中的每一個進(jìn)行循環(huán)以向它們提供其自身相應(yīng)的代碼段。 在代碼存儲單元130向其他接收信道提供代碼段時,接收信道110A將 緩存在其寄存器中的32碼片代碼段與進(jìn)入信號相關(guān)(這通常每次執(zhí)行 一個碼片)。FSM/控制器接著使得代碼存儲單元130將適當(dāng)存儲器代碼 的下一個32碼片代碼段輸出到接收信道IIOA的寄存器中,并且所述循 環(huán)繼續(xù)。因此,F(xiàn)SM/控制器提供到代碼存儲單元130的地址信號實際上 標(biāo)識了特定接收信道以及所指定的存儲器代碼序列中的位置這二者以 用于向該接收信道進(jìn)行供應(yīng)。
在大多數(shù)接收器中,接收信道110的數(shù)目小于星座中衛(wèi)星的數(shù)目。 這反映了在任意給定時刻僅有有限比例的衛(wèi)星可見的事實(隨著衛(wèi)星在 其軌道中行進(jìn),從任意給定位置所見到的地平線以上的衛(wèi)星的實際集合 隨時間而變化)。
如圖l所示,典型的LFSR實施方式是一般性的,其中其能夠被加 載有用于任意期望衛(wèi)星的多項式代碼。這允許在不嘗試將接收信道綁定 到給定衛(wèi)星代碼的情況下將LFSR合并到接收信道中。更確切地,對于 使用Gold碼的衛(wèi)星星座而言,能夠?qū)⑷我饨o定的接收信道配置成從給 定衛(wèi)星接收信號。這確保了接收信道的有限集合能夠被映射到接收器當(dāng) 前所能看到的那些衛(wèi)星的子集上。與之相比,代碼存儲單元130中的擴(kuò)頻碼被固定或硬接線到組合邏 輯中。因此,為了保持向各衛(wèi)星分配接收信道的靈活性,接收器101能 夠?qū)⒋a存儲單元130中所存儲的存儲器代碼提供到任意給定的接收信 道110 (如DSP 120所指定的)。該設(shè)備保留了向衛(wèi)星靈活分配接收信 道110的能力。
圖4描繪了根據(jù)本發(fā)明另一個實施例的接收器實施方式IOIA。要 注意的是,圖4的實施例的許多方面與圖3的實施例相同,由此以下描 述集中于兩個實施例的差異上。
圖4的實施例不具有單個代碼存儲單元,但是卻具有一組代碼存儲 單元130A, 130B,…130N。每個代碼存儲單元130A、 130B等存儲來 自一個衛(wèi)星的一個信號的擴(kuò)頻碼。每個接收信道110包括復(fù)用器111, 其被連接到每個代碼存儲單元130A、 130B等的輸出。(為了簡單起見, 圖4中僅示出了從代碼存儲單元130A、 130B等到接收信道110A的連 接;從代碼存儲單元130A、 130B等到其他接收信道IIOB、 IIOC等提 供類似的連接)。來自復(fù)用器111的輸出接著被傳送到接收信道110內(nèi) 的觸發(fā)器,并且從那里加載代碼比特以便如每個現(xiàn)有接收器那樣與進(jìn)入 信號相關(guān)。
從DSP 120內(nèi)的控制器向復(fù)用器lll提供控制信號,并且該控制信 號被用來從各輸入選擇到復(fù)用器的輸出。將要理解的是,該配置允許 DSP控制器從任意給定的代碼存儲單元130A、 130B等選擇存儲器代碼 以提供給任意給定的接收信道IIOA、 IIOB等。因此,雖然可認(rèn)為存儲 器代碼被硬接線到各代碼存儲單元130中,但是它們能夠被靈活分配到 一組接收信道(如對于圖3的實施例而言)。因此在操作中,DSP 120 控制使用該控制信號的復(fù)用器111以使得每個接收信道110實際上具有 所分配的代碼存儲單元130。
接收信道的數(shù)目可以小于星座中衛(wèi)星的數(shù)目。由此,對于該實施例 而言,接收信道的數(shù)目還可以小于代碼存儲單元130的數(shù)目,即NKN。 因此,接收信道110和代碼存儲單元130之間的靈活分配允許DSP向包 含當(dāng)前可見的衛(wèi)星的擴(kuò)頻碼的那些代碼存儲單元分配接收信道110。對 這種靈活分配的支持對于一個或多個衛(wèi)星失效而被使用不同存儲器代 碼的衛(wèi)星所替代的情況也是有用的(假設(shè)替代代碼也在代碼存儲單元 130內(nèi)可用)。每個代碼存儲單元130A、 130B等包括定序器,所述定序器能夠被 設(shè)置到指定的負(fù)載地址(如以上關(guān)于圖2所描述的那樣)。所述定序器 接收增加(使能)信號以通過存儲器代碼步入一個碼片以用于輸出到復(fù) 用器lll。在圖4的實施例中,通過相應(yīng)的復(fù)用器131A、 131B等接收 至代碼存儲單元130A、 130B等的增加(increment)信號。每個復(fù)用器 131A、 131B等從每個接收信道IIOA、 IIOB上的代碼NCO接收輸入。 提供給復(fù)用器111的類似控制信號還被用來選擇作為增加信號通過復(fù)用 器131傳給代碼存儲單元130的輸入。因此,接收信道110內(nèi)的代碼 NCO能夠請求(使能)從代碼存儲單元130獲取下一個代碼碼片,所述 代碼存儲單元130的輸出被分配到該接收信道。
在接收器101A中,擴(kuò)頻碼每次訪問單個碼片(而不是如圖3的實 施例那樣每次32個碼片),原因在于各代碼存儲單元130A、 130B等能 夠彼此并行向其各自的接收信道IIOA、 IIOB等進(jìn)行輸出。因此,每個 接收信道能夠?qū)嶋H上根據(jù)需要從其所分配的代碼存儲單元接收代碼碼 片。(與之相比,圖3的代碼存儲單元130以分時方式順序地為一組接 收信道順序提供服務(wù),從而每個訪問都為接收信道提供充足的碼片直至 下一次為該接收信道服務(wù)。)該配置由此允許對采用碼片被提供給相關(guān) 器的速率的每個接收信道內(nèi)的代碼NCO進(jìn)行獨立控制。
將要理解的是,圖3的實施例中所有存儲器代碼保存在單個代碼存 儲單元內(nèi),而在圖4中,每個存儲器代碼被保存在單獨的代碼存儲單元 中,這4又表示兩種可能的實施方式。例如,在其他實施例中,可以存在 均存儲有多個(但不是全部)代碼的多個代碼存儲單元,而在其他實施 例中,每個存儲器代碼可以在多個代碼存儲單元的范圍內(nèi)分布。
圖5是根據(jù)本發(fā)明一個實施例的提供生產(chǎn)代碼存儲單元130的高級 別總體概括的流程圖。所述方法通過指定期望的擴(kuò)頻碼(510)作為開 始。將要理解的是,圖5的方法是一般性的,其中對于擴(kuò)頻碼而言,能 夠使用任意的(例如,定制或預(yù)定的)碼片序列。例如,這與LFSR的 實施方式相反,在LFSR的實施方式中僅能夠提供擴(kuò)頻碼的受限集合, 即能夠通過預(yù)先確定的特定數(shù)學(xué)算法表達(dá)的那些代碼。
使用硬件描述語言(HDL)對用于期望擴(kuò)頻碼的代碼存儲單元進(jìn)行 描述(520) 。 HDL的實例是VHDL (高速集成電路硬件描述語言), 其是IEEE標(biāo)準(zhǔn)1076的主題。HDL的另 一個實例是Verilog,其是IEEE標(biāo)準(zhǔn)1995的主題。VHDL和Verilog對于本領(lǐng)域技術(shù)人員是公知的,并 且考慮到集成電路的功能和結(jié)構(gòu)的規(guī)范。
一旦已經(jīng)開發(fā)和編譯了用于生成期望擴(kuò)頻碼的電路的HDL描述, 就能夠執(zhí)行仿真(530 )來確認(rèn)電路行為為所預(yù)期的。存在許多商業(yè)上 可獲得的用于執(zhí)行這種仿真的工具。HDL描述接著能夠被用作到邏輯綜 合過程(540)的輸入,所述邏輯綜合過程將所述HDL描述轉(zhuǎn)換為所述 電路的組件(庫元件)的結(jié)構(gòu)化網(wǎng)表。該網(wǎng)表被用作到適當(dāng)布置或路由 工具的輸入以獲得半導(dǎo)體設(shè)備的布局(550 )。根據(jù)所選擇的技術(shù),接 著能夠制造ASIC或定制的半導(dǎo)體設(shè)備(560 )或者能夠配置現(xiàn)場可編程 門陣列(FPGA)。要再次理解的是,存在許多商業(yè)上可獲得的用于在 通過使用HDL描述的電路上執(zhí)行邏輯綜合并接著將其轉(zhuǎn)換為實際實施 方式的標(biāo)準(zhǔn)商業(yè)工具。
附錄1提供了用于實施根據(jù)本發(fā)明的一個實施例的代碼存儲單元 130的示例性VHDL程序。所述代碼存儲單元(被稱作"cacode")輸 出定義為常數(shù)"ca"的64碼片序列。將要理解的是,可以通過將常數(shù) "ca"的值適當(dāng)調(diào)整到期望的碼片模式而使用相同的VHDL代碼來實現(xiàn) 其他代碼序列。
用于cacode的VHDL指定了 5個輸入和一個輸出來執(zhí)行以下功能 phase (相)-該輸入指定第一輸出碼片的初始地址,并且包括6 個碼片,對應(yīng)于用于ca的64碼片序列的地址范圍; phset -該輸入對phase的值進(jìn)行使能; elk -時鐘輸入;
tick (記號)-該輸入被用來指示何時需要另 一個代碼輸入(以相 對于進(jìn)入信號進(jìn)行相關(guān));注意,tick具有遠(yuǎn)低于elk的頻率; rstn -該輸入將地址和輸出重置為零; code —該輸出表示cacode在相關(guān)地址的值。
在操作中,所指定的電路針對每個tick值輸出來自cacode的碼片序 列的連續(xù)值,其中變量addr被用來保留所述碼片序列內(nèi)的地址或當(dāng)前位 置。將要理解的是,該電路的尋址部件是順序的(而不是純組合的), 原因在于對于每個代碼碼片輸出保留并增加了當(dāng)前的輸出地址。然而,
從功能角度來看,我們能夠認(rèn)為所述電路具有用于存儲包括地址解碼的 擴(kuò)頻碼的笫 一部分和用于生成地址并由此控制所述擴(kuò)頻碼輸出的第二部分。從這個角度來看,用于存儲擴(kuò)頻碼和地址解碼的第一部分是組合 的,而用于生成地址并控制擴(kuò)頻碼輸出的第二部分是順序的。將要理解 的是,所述組合和順序部分的這種區(qū)別在功能級是清楚的,但是在物理 實現(xiàn)級別,兩個部分通常是集成的(參見下文)。
本領(lǐng)域技術(shù)人員將知曉代碼存儲單元的各種其他的可能規(guī)范。例
如,可以對附錄1的實施例進(jìn)行修改以使得phset被定義為一直有效, 在這種情況下,所述電路將輸出phase指定的地址所定義的代碼碼片。 在這樣的實施例中,在電路自身內(nèi)沒有狀態(tài)信息,而關(guān)于代碼序列內(nèi)的 位置的該信息必須在外部保存,例如通過提供phase信號的電路部件來 保存(并且其接著能夠由此增加phase信號)。在理論上這樣的實施方 式將允許代碼存儲單元是純組合的,不過實際上可能提供順序部件。
圖6是基于來自附錄1的VHDL代碼的邏輯綜合所得出的網(wǎng)表的示 意性示例。對于電路存在5個輸入,它們從上到下為phset、 tick、 phase (5:0) 、 rstn和clk,加上單個輸出code (代碼)。所述電路主要包括 門形式的組合邏輯(注意,圖6中的矩形也對應(yīng)于門組合)。圖6的電 路還包括7個觸發(fā)器(這些觸發(fā)器都在其使能輸入上連接到clk信號并 且在其下連接到rstn輸入)。在這7個觸發(fā)器中,6個實際上被用于保 存地址的6個比特。其余的觸發(fā)器被用來緩沖代碼輸出的單個碼片,不 過在其他實施例中這可以省略。(尋址觸發(fā)器包括相對高比例的圖6布 局,原因在于代碼很短,僅64碼片;對于較長的代碼而言,尋址觸發(fā) 器將包括較少比例的電路。)圖6的網(wǎng)表能夠被用作對半導(dǎo)體生產(chǎn)操作 所遵循的部件布置和路由的確定的輸入(分別對應(yīng)于圖5中的操作550 和560)。所述半導(dǎo)體生產(chǎn)可以通過適當(dāng)方法來實現(xiàn),例如實際設(shè)備的 平板印刷、FPGA的配置等。
將要理解的是,圖6的特定示意(包括對應(yīng)于電路矩形的門組合) 對于如可在邏輯綜合期間所鏈接的各種庫所指定的某一類型設(shè)備的特 定制造商的技術(shù)是特定的。(制造商特定庫還可以被用于電路布置和路 由)。因此對于圖6而言,制造商是Amtel,它是執(zhí)行半導(dǎo)體設(shè)備合同 制造的公司,并且布局適于ASIC。使用來自其他制造商的技術(shù)將會產(chǎn) 生不同的網(wǎng)表和用于實施附錄1的VHDL電路的布局。因此,圖6<又提 供了作為寬泛示意以圖示來自邏輯綜合的輸出,并且其詳細(xì)結(jié)構(gòu)對于理 解本發(fā)明并不重要。與基于觸發(fā)器或靜態(tài)RAM單元的標(biāo)準(zhǔn)存儲器實施方式或其他這樣 類似的常規(guī)存儲器體系結(jié)構(gòu)相比,使用組合邏輯來存儲擴(kuò)頻碼能夠顯著 節(jié)省門。
代碼寄存器面積(聲2 )等效NAND門
Gal LI 4096存儲器4096+12793006344
Gal LI 4096組合13137451078
GalE5A 10230存f者器10230+1419431215545
Gal E5A 10230組合15275652514
GPS 1023代碼LFSR748282663
GPS 1023存儲器1023+10216811735
GPS 1023組合135400432
表l:代碼存儲的電路要求
表l的第一和第三行對應(yīng)于用于保存擴(kuò)頻碼的"標(biāo)準(zhǔn),,存儲器(靜 態(tài)RAM)實施方式的估計,如以上分別對于Galileo LI和E5a信號得到 的那樣。表l的第二和第四行對應(yīng)于如以上關(guān)于圖5和6所描述的基于 使用邏輯綜合的組合邏輯的實施方式。從表l將會看出,與標(biāo)準(zhǔn)的存儲 器實施方式相比,使用組合邏輯在寄存器(觸發(fā)器)、門和電路面積方 面提供了非常重大的80%節(jié)省或更多。
注意,表1的第二行和第四行中的數(shù)字反映了來自邏輯綜合(假設(shè) ASIC實施方式)的輸出,并且這應(yīng)當(dāng)被認(rèn)為是真實的潛在實施方式而 不僅僅是估計。當(dāng)然,應(yīng)當(dāng)意識到的是,這些數(shù)字對于例如使用來自不 同制造商、FPGA (而不是ASIC)等的其他潛在實施方式會有所不同。 例如,可能使用完全定制的VLSI實施方式來提供甚至更為緊湊的實施 方式。當(dāng)然,這樣的定制VLSI實施方式將明顯比使用FPGA或ASIC更 為昂貴,不過在商業(yè)上對于大眾市場接收器而言是可行的。
表1的最后三行涉及用于GPS的1023碼片CA代碼。表1的第六 和第七行分別表示在常規(guī)存儲器中存儲該代碼以及使用組合邏輯存儲 該代碼。能夠再次看到,使用組合邏輯來存儲存儲器代碼引起了門和電 路面積的明顯節(jié)省。表1的第五行給出使用LFSR的1023碼片擴(kuò)頻碼的 實際實施方式的數(shù)字(由于GPS代碼是Gold碼)。將會注意到,與組合邏輯相關(guān)的實施方式復(fù)雜度與LFSR實施方式(其要求相對高數(shù)量的 寄存器)處于相同級別,并且在該特定情況下,其甚至更為緊湊。因此, 即使對于Gold碼和其他數(shù)學(xué)生成的代碼而言,使用用于存儲擴(kuò)頻碼的 組合邏輯潛在上是有吸引力的。
將會意識到,使用用于存儲代碼的組合邏輯實際上產(chǎn)生硬接線到接 收器中的代碼。然而,用于衛(wèi)星星座的擴(kuò)頻碼集合;f艮可能穩(wěn)定達(dá)許多年 (利用GPS的情況確實是這樣)。在一些情況下,能夠?qū)U(kuò)頻碼靈活分 配到不同的接收信道通常比能夠改變擴(kuò)頻碼本身更為重要。前者的方面 能夠利用如以上針對圖3和4所描述的包括用于存儲擴(kuò)頻碼的組合邏輯 的接收器來實現(xiàn)。
接收器可以被提供以所存儲的被指定為備選的至少一對衛(wèi)星的代 碼(除了用于主要的衛(wèi)星星座的代碼之外)。在原始集合的衛(wèi)星中任何 一個失效的情況下這些替代衛(wèi)星將被帶入導(dǎo)航星座中。假設(shè)分配給替代 衛(wèi)星的代碼是事先知道的,它們還能夠被存儲到使用組合邏輯的接收器 中,并且例如如以上針對圖3和4所描述的那樣酌情切換。在其他實施 例中,接收器可以被提供以諸如PROM或RAM之類的常規(guī)存儲器,其 然后將被加載以任意新的衛(wèi)星擴(kuò)頻碼(以結(jié)合這里描述的一個或多個代 碼存儲單元中所保存的那些擴(kuò)頻碼進(jìn)行工作)。
在一些實施方式中,接收器可以存儲例如Galileo和GPS的至少兩 個衛(wèi)星星座的擴(kuò)頻碼,以便提供組合的位置信息。雖然GPS擴(kuò)頻碼是 Gold碼,并且一般在接收器內(nèi)使用LFSR來生成,但是如果需要,作為 代替還可以使用組合邏輯將GPS代碼作為完整碼片模式進(jìn)行存儲(與使 用LFSR相反,其實際上存儲了用于生成碼片模式的算法而不是碼片模 式本身)。如從表1所注意到的,使用用于存儲完整GPS代碼的組合邏 輯實際上產(chǎn)生了比基于LFSR的實施方式更為緊湊的實施方式。因此,
與從諸如基于GokT碼的那些數(shù)i算法^斤得到的常規(guī)代:模式相兼容。 還將理解的是,組合邏輯能夠被用于保存擴(kuò)頻碼的一級代碼和/或二級代 碼部分,或者用于保存表示一級和二級代碼的結(jié)果組合的完整比特序列。
用于存儲擴(kuò)頻碼的組合邏輯不僅能夠被合并到接收器中,而且還可 以被合并到衛(wèi)星中。在這種情況下,組合邏輯被用于存儲擴(kuò)頻碼以便于在要向地球廣播的信號中使用。然而,這里所描述的方法通常對于接收 器比對于衛(wèi)星更具吸引力。因此,衛(wèi)星僅需要存儲其自己的擴(kuò)頻碼(而 不是整個星座的擴(kuò)頻碼),從而對于衛(wèi)星而言,存儲工具上的壓力沒有 接收器那么尖銳。此外,每個衛(wèi)星將需要特定于其自身的擴(kuò)頻碼的不同 代碼存儲單元。與其中能夠在所有衛(wèi)星上使用存儲單元的標(biāo)準(zhǔn)集合并由 此利用期望的擴(kuò)頻碼酌情進(jìn)行加載的常規(guī)存儲體系結(jié)構(gòu)相比,這引發(fā)了 硬件驗證和制造的復(fù)雜度問題。此外,衛(wèi)星不是大眾市場設(shè)備,所以不 會受到與接收器相同的成本約束。
還將會注意到,雖然這里所描述的方法主要意在用在衛(wèi)星導(dǎo)航系統(tǒng)
中,但是其還可以在當(dāng)前使用LFSR來生成同步代碼、濾波器、濾波器 組等的其他導(dǎo)航或通信系統(tǒng)(衛(wèi)星、陸地或海上)中使用。如以上所提 及的, 一個特定實例是偽衛(wèi)星,其生成與來自導(dǎo)航衛(wèi)星類似但是基于地 面的定位信號。偽衛(wèi)星通常在例如機(jī)場周圍的要求準(zhǔn)確度的位置得以采 用,以增大(并模仿)來自衛(wèi)星的定位信號。因此,偽衛(wèi)星信號的擴(kuò)頻 碼可以被存儲在這里所描述的使用組合邏輯的接收器中(和/或可能是偽 衛(wèi)星自身中)。
總之,雖然已經(jīng)在這里描述了各種實施例,但是這僅是以示例的方 式提供,并且對這些實施例所進(jìn)行的許多變化和修改對于本領(lǐng)域技術(shù)人
的范圍之內(nèi)。附錄1
—File : ca.vhci (Galileo Memcodes)
--Description: Hard-coded LUT for ca code
library ieee,'
use ieee. std—logic—1164 .sillj use ieee, std一logic一unsigned - all,'
entity cacode is port (
phaseinstd—logic—vector(5 downto 0),'"initial code pha
plisetinstd一logic —preset the phase
elkinstd—logic—clocJc
rstninstd一logic,'--rss6t
tickinstd一logic,'--chip tick
codsoutstd—logic》;—code output
end cacocie;
architecturertl of cacode is
signal addr -std一log丄c—vector(5 downto0);'-codsphase
constant c&:std—logic一vector(0 to 53)=(
'O', '0',1、 ,1 , ,O,, 'l,, ,l,, ,1,,11' , '0,0',,1
'0', ,0,,l,,,0、 ,1、 ,l,,,0、''0',,0、1,,,1、'0,,
,l', 'O', '1,,l,, ,,i0、 ,1、 ,3/,,0、,0* ,0、,0、■1、,o、
,11f , 01 , ,1','o', '0', ,l', ,0', ,l,,4,,,111 、1,,il、
111, , 0 ,, il,'0 ');
begin " a:tl (register transfer level)
readcode: process (elk, rstn) begin " process readcode if rstn - 0 , then
addr <- (others '0'); code ' 0 , elsif cllc1 event and elk = ,1, then if phset = '1' then
addr《《 phase; elsif tick = 'i' then if addr 63 then
addr <。 (others => ,O,h
addr《。addr + end if,' end ifj
code ca (cow—丄ntegef (addr)) z endl if; , end process readcode,' end rtl,'
27
--asynchronous reset (active low)
—rising clock edge
--preset the code phase
- wrap counter ——inc:rement counter
權(quán)利要求
1. 一種供衛(wèi)星導(dǎo)航系統(tǒng)使用的接收器,所述衛(wèi)星導(dǎo)航系統(tǒng)包括多個衛(wèi)星的星座,其中每個衛(wèi)星傳送合并有擴(kuò)頻碼的信號,所述接收器包括至少一個代碼存儲單元,所述代碼存儲單元包括用于存儲包含碼片的固定模式的存儲器代碼的組合邏輯,所述存儲的存儲器代碼對應(yīng)于合并到從衛(wèi)星傳送的信號中的擴(kuò)頻碼,其中所述組合邏輯包括用于獲取所存儲的存儲器代碼的指定部分的地址解碼功能;以及用于在進(jìn)入信號和從所述至少一個代碼存儲單元獲取的所存儲的存儲器代碼之間執(zhí)行相關(guān)的相關(guān)器。
2. 如權(quán)利要求1所述的接收器,其中所述接收器存儲衛(wèi)星的星座 中每個衛(wèi)星的不同存儲器代碼。
3. 如權(quán)利要求2所述的接收器,其中衛(wèi)星的不同存儲器代碼全部 被存儲在單個代碼存儲單元中。
4. 如權(quán)利要求2或3所述的接收器,其中所述至少一個代碼存儲 單元存儲多個衛(wèi)星的存儲器代碼并且可尋址來輸出特定衛(wèi)星的存儲器 代碼。
5. 如權(quán)利要求2所述的接收器,其中來自衛(wèi)星的信號的每個存儲 器代碼被存儲在單獨的代碼存儲單元中。
6. 如權(quán)利要求2至5中任一項所述的接收器,其中所述接收器包 括多個接收信道,并且所存儲的衛(wèi)星的存儲器代碼可以被提供給任意接 收信道以便與該接收信道上的進(jìn)入信號相關(guān)。
7. 如之前任一項權(quán)利要求所述的接收器,其中所述至少一個代碼 存儲單元還包括定序器。
8. 如權(quán)利要求7所述的接收器,其中所述定序器響應(yīng)于增加信號 而輸出來自所存儲的存儲器代碼的 一個或多個碼片的下 一個子集。
9. 如權(quán)利要求1至8中任一項所述的接收器,其中來自所述至少 一個代碼存儲單元的每個輸出包括表示所述存儲的存儲器代碼的多個 碼片的子集。
10. 如之前任一項權(quán)利要求所述的接收器,其中衛(wèi)星的擴(kuò)頻碼包括 預(yù)定的碼片序列。
11. 如之前任一項權(quán)利要求所述的接收器,其中所述至少一個代碼存儲單元在現(xiàn)場可編程門陣列設(shè)備(FPGA)上形成。
12. 如權(quán)利要求1至10中任一項所述的接收器,其中所述至少一 個代碼存儲單元在專用集成電路(ASIC)上形成。
13. 如之前任一項權(quán)利要求所述的接收器,其中所述至少一個代碼 存儲單元在與所述相關(guān)器相同的半導(dǎo)體設(shè)備上形成。
14. 如之前任一項權(quán)利要求所述的接收器,其中所述至少一個代碼 存儲單元內(nèi)的組合邏輯存儲多個存儲器代碼,并且不同的輸入被加到組存儲單元輸出。
15. —種在衛(wèi)星導(dǎo)航系統(tǒng)中使用的衛(wèi)星,所述衛(wèi)星導(dǎo)航系統(tǒng)包括多 個衛(wèi)星的星座,其中每個衛(wèi)星傳送合并有擴(kuò)頻碼的信號,所述衛(wèi)星包括 至少一個代碼存儲單元,所述代碼存儲單元包括用于存儲包括碼片的固 定模式的存儲器代碼的組合邏輯,所述存儲的存儲器代碼對應(yīng)于要合并 到從衛(wèi)星傳送的信號中的擴(kuò)頻碼,其中所述組合邏輯包括用于獲取所存 儲的存儲器代碼的指定部分的地址解碼功能。
16. —種用于操作供包括多個衛(wèi)星的星座的衛(wèi)星導(dǎo)航系統(tǒng)使用的接 收器的方法,其中每個衛(wèi)星傳送合并有擴(kuò)頻碼的信號,所述方法包括提供至少一個代碼存儲單元,所述代碼存儲單元包括用于存儲包含 碼片的固定模式的存儲器代碼的組合邏輯,所述存儲的存儲器代碼對應(yīng) 于合并到從衛(wèi)星傳送的信號中的擴(kuò)頻碼,其中所述組合邏輯包括用于獲 取所存儲的存儲器代碼的指定部分的地址解碼功能;以及在進(jìn)入信號和從所述至少一個代碼存儲單元獲取的所存儲的存儲 器代碼之間執(zhí)行相關(guān)。
17. 如權(quán)利要求16所述的方法,其中所述接收器存儲衛(wèi)星的星座 中每個衛(wèi)星的不同存儲器代碼。
18. 如權(quán)利要求17所述的方法,其中衛(wèi)星的不同存儲器代碼全部 被存儲在單個代碼存儲單元中。
19. 如權(quán)利要求17或18所述的方法,進(jìn)一步包括 在單個代碼存儲單元中存儲多個衛(wèi)星的擴(kuò)頻碼;以及 對所述單個代碼存儲單元進(jìn)行尋址以輸出特定衛(wèi)星的存儲器代碼。
20. 如權(quán)利要求17所述的方法,其中把來自衛(wèi)星的信號的每個存 儲器代碼存儲在單獨的代碼存儲單元中。
21. 如權(quán)利要求17至20中任一項所述的方法,其中所述接收器包 括多個接收信道,并且所述方法進(jìn)一步包括提供控制信號以將所存儲的 衛(wèi)星的存儲器代碼從所述至少一個代碼存儲單元路由到任意期望的接 收信道以便與該接收信道上的進(jìn)入信號相關(guān)。
22. 如權(quán)利要求16至21中任一項所述的方法,其中所述至少一個 代碼存儲單元還包括定序器,所述定序器響應(yīng)于增加信號而輸出來自所 存儲的存儲器代碼的一個或多個碼片的下一個子集。
23. 如權(quán)利要求16至21中任一項所述的方法,其中來自所述至少碼片的子集。'、、", …'、'11 、 一 、
24. 如權(quán)利要求16至23中任一項所述的方法,其中衛(wèi)星的擴(kuò)頻碼 包括預(yù)定的碼片序列。
25. 如權(quán)利要求16至24中任一項所述的方法,其中所述至少一個 代碼存儲單元內(nèi)的組合邏輯存儲多個存儲器代碼,并且將不同的輸入加 到組合邏輯以選擇所述多個存儲器代碼中不同的存儲器代碼以用于從 代碼存儲單元輸出。
26. —種用于生產(chǎn)供衛(wèi)星導(dǎo)航系統(tǒng)使用的接收器的方法,所述衛(wèi)星 導(dǎo)航系統(tǒng)包括多個衛(wèi)星的星座,其中每個衛(wèi)星傳送合并有擴(kuò)頻碼的信 號,所述方法包括確定要在接收器內(nèi)存儲的衛(wèi)星擴(kuò)頻碼;在接收器內(nèi)提供至少一個代碼存儲單元,所述至少一個代碼存儲單 元包括組合邏輯,所述組合邏輯用于存儲與衛(wèi)星擴(kuò)頻碼相對應(yīng)的碼片的 固定模式,其中所述組合邏輯包括用于獲取所存儲的存儲器代碼的指定 部分的地址解碼功能。
27. 如權(quán)利要求26所述的方法,其中提供至少一個代碼存儲單元 包括在硬件描述語言內(nèi)產(chǎn)生碼片的固定模式的規(guī)范,并且使用邏輯綜合 來實施所述規(guī)范。
28. 如權(quán)利要求27所述的方法,其中所述規(guī)范在現(xiàn)場可編程陣列 上實施。
29. 如權(quán)利要求27所迷的方法,其中所述規(guī)范在專用集成電路上實施。
30. 如權(quán)利要求26至29中任一項所述的方法,其中所迷衛(wèi)星擴(kuò)頻碼是預(yù)定代碼。
全文摘要
本申請?zhí)峁┝斯┌ǘ鄠€衛(wèi)星的星座的衛(wèi)星導(dǎo)航系統(tǒng)使用的接收器。每個衛(wèi)星傳送合并有擴(kuò)頻碼的信號。所述接收器包括至少一個代碼存儲單元,所述代碼存儲單元包括用于存儲存儲器代碼的組合邏輯,所述存儲器代碼包含包括地址解碼的固定比特模式,其中所存儲的存儲器代碼對應(yīng)于合并到從衛(wèi)星傳送的信號中的擴(kuò)頻碼。所述接收器還包括用于在進(jìn)入信號和來自一個代碼存儲單元的所存儲的擴(kuò)頻碼之間執(zhí)行相關(guān)的相關(guān)器。
文檔編號G01S19/30GK101443675SQ200680054518
公開日2009年5月27日 申請日期2006年3月9日 優(yōu)先權(quán)日2006年3月9日
發(fā)明者M·霍爾賴澤, R·韋根 申請人:歐洲太空署