汪健,張磊,陳亞寧,余向陽,徐叔喜
(北方通用電子集團微電子部,蘇州215163)
北斗系統現有的有源定位技術體制決定了其用戶終端設備須能收能發,在技術應用上有通信功能,應用優勢明顯。但這種體制也使用戶終端制造成本增加,加上終端設備用戶少,所以目前市場價格偏高,多數用戶難以接受[2]。用戶終端設備價格昂貴的北斗系統在市場上是無法與GPS系統進行競爭的,因此必須大力發展相關技術,增加北斗與GPS競爭的籌碼。北斗基帶接收通道是用戶終端的核心之一,是需要首先解決的關鍵技術。
北斗接收機主要由4個部分組成:天線單元、射頻前端信號處理單元、基帶信號處理單元和信息輸出單元。天線單元用于接收北斗射頻信號;射頻前端信號處理單元通過射頻前端放大、下變頻,將射頻信號轉換為中頻信號,再經過A/D采樣將中頻信號轉換為數字信號;基帶信號處理單元接收A/D轉換采樣后的數字信號,在其中完成捕獲、跟蹤、解調、幀同步以及定位解算等功能;信息輸出單元為用戶提供定位結果、時間等信息。北斗接收機基本構成框圖如圖1所示。

圖1 北斗接收機基本構成框圖
基帶信號處理單元通過處理射頻前端所輸出的數字中頻信號,復制出與接收到的衛星信號相一致的本地載波和本地偽碼信號,實現對北斗信號的捕獲與跟蹤,并且從中獲得偽距和載波相位等測量值,解調出導航電文。可以看出,基帶信號處理在接收機中是一個非常重要的部分。
在北斗信號的發射端,北斗載波信號上調制有P碼、C/A碼和導航電文的數據,那么相應地在北斗信號接收端,為了能從接收到的衛星信號中解調出導航電文數據碼,基帶信號處理需要通過混頻徹底分離數字中頻信號中的載波信號,并且該載波信號還包含了多普勒頻移。此外,還要通過相關的運算再徹底剝離信號中的C/A碼,這樣剩下的信號便是經過雙相移位鍵控(BPSK)調制的導航電文數據碼,即發射的信號。
為了獲得導航電文,接收通道通過碼跟蹤環路不斷調整其內部所復制的載波,使復制的載波頻率與數字中頻信號中的載波頻率保持一致,然后經過下變頻混頻實現載波的去除。同時,接收通道通過碼跟蹤環路,不斷調整其內部所復制的C/A碼,使復制C/A碼的相位與數字中頻信號中的C/A碼相位保持一致,然后經過碼相關運算實現C/A碼的剝離。
因為在地面上任意一點能同時觀察到的衛星數目一般不超過12顆,所以信號通道數N是一個小于12的常數,通常為8~12通道[3]。如果是兼容GPS或GLONASS的話,通道數量會更多一些。
接收天線是北斗接收機處理衛星信號的首個器件,它將接收到的北斗衛星所發射的電磁波信號轉變成電壓或電流信號,由于信號比較弱,經前置濾波器和前置低噪聲放大器后,再與本振信號進行混頻而下變頻成中頻信號。由于數字信號比模擬信號處理更有優勢,所以由模數轉換變成數字中頻信號,進入后續的基帶信號處理。
當接收到的衛星信號被數字化之后,先要完成信號的捕獲處理,捕獲階段是針對某顆衛星的信號進行搜索,捕獲到信號之后進入跟蹤處理環節。通過對信號的跟蹤,找到數據相位變化的位置。在傳統的接收機中,捕獲和跟蹤都是由硬件來完成的,根據每一個導航數據相位的變化得到導航電文的每一個子幀和完整的導航數據。從導航電文中可以得到星歷和偽距,由星歷數據可以推算出相應衛星的位置,最后利用衛星的位置和偽距來計算出當前接收機所在的位置。
北斗衛星系統采用的是擴頻通信體制,對于擴頻系統來說,捕獲是指使本地參考碼和接收碼的相位差小于一個碼元寬度,且收發碼時鐘頻率基本一致,同時使載波相位相互對準,實現輸入信號與本地信號的粗同步。因此,對于衛星信號的捕獲來說包括兩個部分:偽碼的捕獲和載波的捕獲。
衛星信號采用碼分多址(CDMA)技術,不同的偽隨機碼對不同衛星的導航數據進行擴頻調制。為了能夠搜索并處理某一衛星的導航數據,就必須復現調制該導航數據的偽隨機碼,將本地復現的偽碼同輸入的偽碼在不同相位差上做相關運算,直到二者同步為止,進一步可以完成對導航數據的解擴,這稱為“偽碼捕獲”。由于衛星在高速運動,其與接收機之間存在徑向移動,會產生多普勒頻移。因此為完成對某一衛星導航數據的解調,必須搜索到相應衛星所產生的多普勒頻移的數值,這稱為“載波捕獲”。
因此,衛星信號捕獲過程可以認為是一個三維的搜索,第一維是從偽碼的方向,第二維是從多普勒頻移的方向,第三維是從偽碼相位的方向。一旦捕獲過程中能夠成功地偵測到衛星信號的存在,就給出了衛星信號、相應的多普勒頻移及偽碼相位,三維的搜索全部完成后,信號捕獲的任務才算完成。這些信息進而會送給信號跟蹤模塊,完成初始化并開始對信號的跟蹤過程。
常規的捕獲做法是時域中基于硬件相關器的信號捕獲,捕獲的過程如圖2所示。

圖2 捕獲的過程
中頻數字信號首先和本地載波的正弦與余弦分量相乘混頻,得到I和Q兩路分量,然后再分別和本地偽碼在某個偽碼相位處做相關運算,經過積分器的相干積分給出各自的積分結果I(t)與Q(t),再做非相干積分得到信號的模,最后對此非相干積分結果做閾值判斷。控制電路是用來控制本地載波的頻率,在某一個固定載波頻率處,調整本地偽碼的相位,相位調整的范圍是由擴頻碼的碼片個數決定的,對GPS而言是1 023個碼片,北斗是2 046個碼片。對于每一個載波頻率和偽碼相位,I和Q相關器輸出相關結果,經過相干積分與非相干積分得出最后的積分值。如果當前載波頻率值完成所有碼片的相關運算后還沒有得到超出閉值的尖峰,則改變當前載波頻率,然后再重復所有2 046個偽碼相位的搜索。這個步驟就是針對某一個偽隨機噪聲碼的二維搜索,當完成所有可能的載波頻率和偽碼相位,依然沒有滿足要求的相關尖峰出現時,就可以說當前接收到的衛星信號不含有該偽碼,也就是不含有當前假設的這一顆衛星的信號,于是控制邏輯就要考慮換一顆衛星來匹配,即改變當前的偽隨機碼。
一般來說,根據信號捕獲的結果,對載波多普勒的估計誤差在幾百Hz左右,對偽碼相位的估計誤差在半個碼片范圍之內。這樣的精度不足以實現導航電文數據的解調,因為解調數據通常必須是在進入穩定的跟蹤狀態以后才可以進行。所以要想得到更加精確的衛星信息,捕獲之后還必須進行后續的跟蹤環節。
跟蹤模塊在捕獲模塊送來的多普勒頻移和偽碼相位的基礎上,需要完成的工作有兩部分:一是實現對衛星信號中載波信號的跟蹤,二是實現對偽碼分量的跟蹤。為了達到這個目的,在設計的每個跟蹤通道內都會設置兩個跟蹤環:一個負責跟蹤載波,叫載波環;另一個負責跟蹤偽碼,叫碼環。在實際工作的過程中,這兩個環必須緊密耦合在一起,而且要想進入穩定的工作狀態,這兩個環路都必須處于穩定的鎖定狀態。跟蹤過程如圖3所示。

圖3 跟蹤環路工作過程
同相載波和中間載波與中間碼的積分后,輸出到載波環路鑒相器,得到誤差信號,然后通過載波環路濾波器反饋到偽碼發生器,從而控制本地載波的調整,實現載波環的跟蹤功能。同相載波和中間載波與超前碼和滯后碼積分后,通過偽碼鑒相器得到誤差信號,然后通過碼環濾波器反饋到偽碼發生器,控制本地偽碼的調整,實現碼環的跟蹤功能。實現本地偽碼的調整,即實現碼環的跟蹤功能[4]。可以看出,兩個環路必須緊密地耦合在一起。
載波環路需要相位對齊的偽碼輸入的擴頻信號解擴,而偽碼環路則需要相位同步的載波信號將中頻信號變到基帶信號。正如圖3中,偽碼環路內中間碼的作用是輸出給載波環路作為偽碼剝除之用,同時,載波環路的反饋則用來調整產生本地的載波和偽碼。所以,任何一個環路出現失鎖,都會嚴重影響到另一個環路的正常工作狀態,兩個環路協同工作,缺一不可[5]。
通過上述整個工作過程的介紹,可以看到北斗接收機硬件功能實現集中在基帶模塊、捕獲與跟蹤的功能之上,決定了接收機最終的性能。
基帶信號處理模塊通常表現為軟件和硬件的結合,載波解調和解擴通常由專用電路的形式來完成。GPS芯片模塊和基帶芯片市場競爭非常激烈,各廠商在近兩年內推出的單純基帶處理芯片獨立定位性能基本接近,區別主要在芯片的設計方案和輔助功能上。隨著國內多家單位成功研制射頻芯片、基帶芯片和接收機模塊,我國衛星導航芯片在核心技術上取得了新的突破。但總體來看,相比國外芯片,國內GNSS基帶與射頻芯片在功耗、靈敏度、產品穩定性、應用解決方案等方面與國外尚有一定的差距[6]。
JFM7201是一款用于北斗基帶信號處理的專用電路,可以接收北斗B1/B3頻點、GPS L1頻點的數字中頻導航信號。該基帶芯片與精密測距碼芯片(PRM)配合,可以完成對設定導航信號的捕獲、跟蹤、導航電文解調解碼、原始觀測量提取等功能,并可以通過數據總線接口輸出導航電文、原始觀測量和基帶芯片的工作狀態等信息。基帶芯片與用戶設備中的微處理器共同完成用戶位置、速度、時間等(PVT)信息的解算[7]。
采用JFM7201設計的北斗接收通道系統結構如圖4所示。
天線接收的衛星信號送入射頻模塊實現下變頻功能,同時產生62 MHz時鐘與A/D采樣后的中頻數據一并送入基帶芯片進行解算,產生NIMA0183格式導航信息,由DSP開發板或專用導航定位軟件解譯出導航電文,實時計算三維坐標、三維速度和時間等所需數據。左邊虛線中的部分為本設計的主要部分。

圖4 接收通道系統結構圖
JFM7201芯片初始化流程如圖5所示。
在對芯片進行初始化之后,還要配置相應的寄存器,通過讀取RTC時間或其他方式獲取有效時間,并進行時間格式轉換,如RTC時間需轉為TIC寄存器時間格式,根據需要還要修正TIC時間。開啟中斷使能后,芯片可以開始工作。

圖5 JFM7201的初始化流程圖
中頻信號由A/D轉換模塊轉換后送入基帶芯片,DSP芯片通過配置JFM7201內部捕獲寄存器、跟蹤控制寄存器、中斷請求等控制其操作過程,導航電文生成后交由DSP提取PVT等信息。其中,SIM IC卡實現數據加密功能,PRM為精密測距碼芯片,在本次設計中沒有使用。采用JFM7201設計的北斗接收通道原理圖略——編者注。
在本設計中暫時沒有采用軍碼直捕模式,因此PRM模塊以及相應的接口做了屏蔽處理。如果需要將該模塊直接接上便可以使用。模數轉換部分采用ADI公司的AD9288芯片,該芯片可實現兩路中頻同時采樣,輸出4位位寬數字信號,通過AD_DFS端口控制輸出格式。本設計雖然可以兼容B1/L1頻點,但是采用切換方式換頻,B1/L1并非同時工作,在設計中將AD9288設置為單通道工作模式,工作時僅打開B通路,對B路中頻信號源采用專用電纜線接入,對A路時鐘源通過跳線控制以降低功耗。
JFM7201芯片完成捕獲、跟蹤、定位解算、導航電文解調解碼、原始觀測量提取等功能,通過解調星歷,輸出NMEA0183協議數據。芯片提供兩路數字輸入通道,外接提供62 MHz工作時鐘,提供與處理器16位數據總線通信、12位地址總線、讀寫、片選、中斷接口,支持UART、SPI、GPIO、I2C總線輸出。
采用DSP芯片TMS320C6713實現對基帶芯片的配置、控制與數據通信,該芯片時鐘輸入為50 MHz,通過JTAG接口實現實時下載。
基帶芯片配置結束后,可以正常進入捕獲狀態。芯片首先檢測捕獲模塊狀態,如空閑可啟動捕獲,否則不能啟動。在芯片復位后默認捕獲狀態是空閑,控制器需要自行記錄控制狀態。如果啟動后認為捕獲忙,在隨后的捕獲中斷中可以清除狀態為空閑,繼續進入捕獲過程。在判斷是否空閑后,如果不空閑,則繼續等待。一旦空閑,則進行碼型的判斷,確定判斷接收到的是P碼還是C/A碼。如果是P碼,配置相應的碼相位參數。如果是C/A碼,配置捕獲控制寄存器,配置系統類型、衛星號、頻點、碼型、使用通道號等。然后,可以啟動捕獲模塊,此時需產生啟動沿信號,并修改捕獲狀態為“忙”,等待捕獲中斷后查看捕獲結果。
基帶芯片完成捕獲、跟蹤、定位解算、導航電文解調解碼、原始觀測量提取等功能,解調星歷,輸出NMEA0183協議數據。SCL、SDA與RTC芯片以I2C總線協議通信。引出基帶地址、數據及相關控制信號便于DSP開發板連接。通過UART實現串口數據發送,1PPs_OUT輸出秒脈沖授時校準。提供IC卡復位、數據、時鐘端口SPI接口存儲數據。PN碼同步過程分為捕獲(粗同步)和跟蹤(精同步)兩個階段。在本地PN碼與接收信號相關運算后,驗證通過后轉入PN碼跟蹤環路。
DSP主要完成的任務:數字混頻、偽碼相關、捕獲跟蹤。信號的解擴通過本地偽碼信號和接收信號相乘實現。解擴之后,恢復出原始的窄帶數據信號,同時噪聲、多址干擾等不相關的信號仍然保持為寬帶信號,經過低通濾波器就可將雜質信號的大部分濾除。解擴后的信號根據北斗發送信息的幀格式來提取定位信息,根據需要解算出相應的位置、速度和時間信息。
JFM7201是一款國產的北斗基帶信號處理電路,與相關的處理器配合可以較為方便地實現北斗導航定位功能,部分緩解北斗基帶信號自主國產化的壓力。采用上述的設計取得了比較好的測試效果,并在實際工程中得到了初步的應用。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
[1]李中良,李衛民.衛星導航接收機芯片核心技術與發展趨勢的分析[J].中國科技信息,2010(3).
[2]唐金元,于潞,王思臣.北斗衛星導航定位系統應用現狀分析[J].全球定位系統,2008(2).
[3]謝鋼著.GPS原理與接收機設計[M].北京:電子工業出版社,2011.
[4]黃智偉.GPS接收機電路設計[M].北京:國防工業出版社,2006.
[5]包鼎華.微型星載GPS接收機硬件設計[J].電子技術應用,2007,33(2).
[6]汪濤,劉江,劉洛現.一種用于衛星通信中的PN碼快速捕獲方法[J].無線電工程,2005(5).
[7]Elliot D,Kaplan Christopher J,Hegarty.GPS原理與應用[M].2版.北京:電子工業出版社,2008.