999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于HDL的北斗B1C信號Weil碼產生方法

2022-07-09 09:23:48趙丙風孫壽浩譚志強何健
電子元器件與信息技術 2022年5期
關鍵詞:信號

趙丙風,孫壽浩,譚志強,何健

1.中國電子科技集團公司第五十四研究所,河北,石家莊,050081;2.電子信息系統復雜電磁環境效應國家重點實驗室,河南,洛陽,471001;3.光電對抗測試評估技術重點實驗室,河南,洛陽,471023

0 引言

衛星導航系統絕大多數都是一個基于碼分多址(CDMA)的直接序列擴頻通信系統,早期的衛星導航信號偽隨機碼多為Gold序列或者m序列;Gold序列應用于北斗B1I /B3I信號、GPS L1CA/L5C信號、Galileo E5a/E5b信號等,m序列主要用于頻分多址的GLONASS G1信號[1]。進入21世紀,主要衛星導航系統加速了各自的GNSS現代化進程,其中GPS增加了基于Weil碼L1C信號,北斗系統中增加了基于Weil碼的B1C信號[2]。

Weil碼具有碼長為質數的優點,在不接近2n的指定碼長約束下,易于通過截短或增補實現較好地維持原偽碼的相關性能,降低尋碼的復雜度[3]。同時,研究表明Weil碼的奇偶自相關最大旁瓣相關值相對于Gold碼更小,Weil碼的自相關結果方差也更小,幅度和變化范圍更接近,而Wei碼的奇偶互相關與Gold碼相差很小,也表明了Weil碼具有更好的相關性能[4],以及更好的抗干擾性能[5]。

Weil碼是將兩個勒讓德序列進行異或得到的,而B1C信號通過對Weil碼進行循環截取的方式得到了合適長度的偽隨機序列[2]。由于勒讓德序列的特殊性,在現場可編程邏輯門陣列(FPGA)或者專用集成電路(ASIC)實現中,很難直接產生所需的勒讓德序列或者Weil碼。FPGA實現中常通過軟件生成所有信號的Weil碼,并將Weil碼寫入RAM中存儲,信號接收過程中直接讀取RAM中存儲的偽碼;另一種方式是通過多端口ROM存儲勒讓德序列,使用時讀取ROM中的勒讓德序列計算對應的Weil碼[4][5]。

但是在ASIC中,ROM都是單讀取端口,只能通過多個ROM塊實現多端口ROM;此外,ASIC中RAM的面積是同等容量ROM的4倍以上,即現有的Weil碼生成方式在ASIC實現時會消耗較多的資源與實現面積。針對以上問題,本文設計了一種基于單端口ROM多次讀取的Weil碼產生方法,完成了基于FPGA的原型平臺實現與驗證,并將該方法成功應用到ASIC設計中。

1 Weil產生算法

B1C信號包含了導頻和數據兩個支路,其中數據支路包含了擴頻主碼與電文信息,導頻支路包含了擴頻主碼和子碼。導航和數據支路的主碼均由Weil碼截斷產生,長度為N的Weil碼的定義為[2]:

式中,mod表示取模運算;w為產生Weil碼所需的兩個勒讓德序列相位差;L(k)為長度為N的勒讓德序列,其定義如下:

通過對長度為N的Weil碼循環截取,就能夠得到如下的長度為N0的B1C信號數據或者導頻支路的主碼序列:

式中,p就是所選的Weil碼的截取位置;w為產生Weil碼的勒讓德序列相位差。

B1C信號共設計了126個主碼序列,每個主碼的截取位置p和相位差w不相同,詳細數據可以參考B1C信號的接口控制文件(ICD);B1C信號的數據支路和導頻支路各有63個主碼,對應于北斗三號系統支持的63顆衛星。B1C主碼速率為1.023Mcps,長度N0為10230,由長度N為10243的Weil碼截斷產生。

2 已有實現方案

由于勒讓德序列的計算方法涉及二次剩余理論,不易于通過HDL語言完成對應的產生算法設計,無法直接在FPGA或者ASIC中通過計算產生,因此當前導航接收機中主要通過單讀寫端口RAM或者雙讀取端口ROM存儲的方式實現基于Weil碼的導航信號接收處理。

2.1 單端口RAM方案

RAM存儲的實現方式可以使用單端口讀寫RAM,為了節省RAM的資源,會根據B1C信號的接收通道數量設計使用的RAM數量。因為同一衛星播發的B1C信號的數據支路和導頻支路是時間對齊的,而不同衛星的之間的延遲是不固定的,所以需要每個B1C信號接收通道對應一個RAM存儲器。Weil產生框圖如圖1所示。

圖1 基于單端口RAM存儲的Weil產生框圖

圖1中工作時鐘fs即為接收機信號接收通道工作時鐘;DDS為接收通道中的偽碼NCO,用于產生接收信號主碼的提取脈沖,頻率為fc;軟件寫控制接口根據軟件指令將軟件產生的B1C信號數據和導頻主碼存儲到對應地址的RAM中;本地碼發生控制器用于產生當前需要的數據和導頻主碼讀取地址;讀寫控制器在軟件控制下實現RAM數據的讀寫切換。

該方案中,每個接收通道中需要存儲的數據量為10230*2=20460kbits,實際由于RAM資源的特殊性,其讀寫地址均為2的整次冪,所以實際的RAM大小為16384*2=32768bits,即32kbits。

2.2 雙端口ROM方案

RAM實現方案除了存儲資源的消耗外,還占用了軟件的計算資源和總線資源,所以后續提出了基于ROM存儲勒讓德序列,通過多端口讀取來實時計算Weil碼產生B1C主碼的方案[4][5],如圖2所示。

圖2中工作時鐘fs即為接收機信號接收通道工作時鐘;DDS為接收通道中的偽碼NCO,用于產生接收信號主碼的提取脈沖,頻率為fc;通過雙端口同時讀取ROM中0相位和w相位的勒讓德序列,然后經過異或和循環截斷得到所需的Weil碼。

圖2 基于雙端口ROM存儲的Weil產生框圖

該方案中,ROM存儲的數據為長度為10243的勒讓德序列,實際存數長度為16384bits。因為每一個ROM僅能產生一個Weil序列,所以每一個跟蹤通道需要兩個ROM,總的待存儲數據量與RAM方案相同。相比于RAM方案,ROM存儲方案在消耗資源不變的情況下,大大減少了軟件的計算量。

在ASIC實現中,同等容量的RAM資源占用面積是ROM的4倍以上,所以ASIC設計中采用ROM的存儲方案更具有優勢。同時因為ROM資源的特殊性,雙端口ROM只能用兩個相同的ROM塊實現,也就是說,按照現有ROM方案,每個B1C接收通道需要4個相同容量的ROM塊才能實現同時產生數據和導頻主碼。

3 單端口ROM方案

3.1 工作原理

因為導航接收通道的工作時鐘fs一般遠高于導航信號偽碼速率fc,所以可以利用fs的時鐘速率,多次讀取單端口ROM的方案,通過順序計算得到所需的B1C信號數據和導頻主碼。實現方案的框圖如圖3所示。

圖3 基于單端口ROM存儲的Weil產生框圖

勒讓德序列的存儲ROM以通道時鐘fs進行讀取;接收通道內置DDS基于工作時鐘fs產生頻率為fc的主碼提取脈沖pn_clk;軟件控制接口根據軟件設置將本通道對應的數據和導頻主碼對應的截取位置p和相位差w寫入到Weil碼產生控制器中,同時根據開通道的需求配置Weil碼產生控制器工作使能信號code_on;Weil碼產生控制器根據使能信號code_on確定其是否工作,在每個pn_clk脈沖后,以時鐘速率fs完成4次對應的ROM序列讀取,然后將讀取到的結果依次完成異或運算得到對應的數據和導頻主碼。

3.2 實現方案

Weil碼產生控制器的端口信息如表1所示。Weil碼產生控制器的內部工作時序如圖4所示。

表1 Weil碼產生控制器端口說明

圖4 Weil碼產生控制器內部工作時序

Weil碼產生控制器的工作流程如下。

(1)軟件啟動某個衛星的Weil碼產生,配置衛星對應的數據和導頻主碼對應的相位截取點和相位差,設置code_on信號為1,啟動對應通道的Weil碼產生使能。

(2)Weil碼產生控制器檢測到code_on信號的上升沿,觸發第一個Weil碼產生使能信號gen_en,后續每輸入一個提碼脈沖pn_clk,產生一個對應的gen_en信號。

(3)每個gen_en信號觸發rom_addr信號計算,依照速率fs依次完成四個讀取地址計算,分別是:

式中,n的取值范圍是0~10229,表示第n個主碼;N的取值為10243,為勒讓德序列長度;dp和dw為導頻主碼相位截取位置和相位差取值;pp和pw為導頻主碼相位截取位置和相位差取值。

(4)根據ROM讀取輸出,依次將第n個數據和導頻主碼計算所需的勒讓德序列Ldkn、Ldkwn、Lpkn、Lpkwn存儲至本地寄存器data_lk、data_lkw、pilot_lk、pilot_lkw。

(5)在ROM讀取完成,依據存儲的勒讓德序列計算并輸出第n個數據和導頻主碼,計算過程如下:

需要說明的是:

(1)Weil碼產生控制器在使能信號code_on置位后,即開始計算第一對數據和導頻主碼,這與接收通道中通道接收開始后立即進行相關的需求相符,只要保證在接收通道開啟前完成Weil碼產生控制器的配置,即可保證信號接收啟動后有碼可用;

(2)后續每個提碼脈沖pn_clk有效后,有效的偽碼在延遲9個clk后輸出,因此在接收通道開啟時需要合理控制開啟時刻,保證接收用偽碼的相位正確性;

(3)每對數據和導頻主碼輸出在時間上是嚴格對齊的,這與實際使用需求相符。

4 實施效果

基于ASIC原型驗證平臺(核心器件為Xilinx Zynq UltraScale+的XCZU19EG),利用軟件工具Vivado 2018.3,對本文提出的基于HDL的北斗B1C信號Weil碼產生方法進行了驗證,完成了B1C信號的接收測試,并利用Vivado自帶的集成邏輯分析儀(ILA),采集了24號衛星的數據和導頻主碼信號產生的結果,如圖5所示。

圖5 B1C信號24號星數據和導頻主碼產生結果

文獻[2]中給出了B1C信號24號星數據主碼前/后24個偽碼取值為77312776/56550366(八進制),導頻主碼前/后24個偽碼取值為10544206/54230354(八進制),確認了本文提出的方法可以正確產生對應的B1C信號數據和導頻主碼。

5 結語

本文研究了基于HDL的北斗B1C信號Weil碼產生方法,使用單端口ROM存儲勒讓德序列,通過高速時鐘順序讀取四次ROM,產生B1C信號接收所需的數據和導頻主碼,解決了在ASIC實現中Weil碼的存儲器面積消耗過大的問題,并經過原型接收機的驗證Weil碼產生的正確性。實驗證明,本文研究的Weil碼發生方法適用于基于FPGA的導航接收機,也適用于導航芯片設計。

猜你喜歡
信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
7個信號,警惕寶寶要感冒
媽媽寶寶(2019年10期)2019-10-26 02:45:34
孩子停止長個的信號
《鐵道通信信號》訂閱單
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
基于Arduino的聯鎖信號控制接口研究
《鐵道通信信號》訂閱單
基于LabVIEW的力加載信號采集與PID控制
Kisspeptin/GPR54信號通路促使性早熟形成的作用觀察
主站蜘蛛池模板: 在线国产资源| 色欲色欲久久综合网| 国产精品一区在线观看你懂的| 最新亚洲人成无码网站欣赏网 | AV片亚洲国产男人的天堂| yjizz国产在线视频网| 久久免费看片| 国产三级成人| 在线免费亚洲无码视频| 国产日韩AV高潮在线| 国产欧美性爱网| 麻豆精品在线视频| 中文字幕欧美成人免费| av尤物免费在线观看| 日韩精品毛片人妻AV不卡| аv天堂最新中文在线| 91综合色区亚洲熟妇p| 日韩福利在线观看| 日本91在线| 极品尤物av美乳在线观看| 91免费片| 五月天天天色| 久久综合成人| 国产精品视频免费网站| 国产综合欧美| 国产污视频在线观看| 国产免费久久精品99re不卡 | 免费久久一级欧美特大黄| 波多野结衣一区二区三视频| 2020最新国产精品视频| 9啪在线视频| 国产成人毛片| 国产亚洲精品无码专| 91亚洲精选| 国产日本欧美亚洲精品视| 五月婷婷精品| 国产99在线| 人妻丰满熟妇AV无码区| 91青青草视频在线观看的| 欧美日韩成人| 国产AV无码专区亚洲精品网站| 亚洲中文制服丝袜欧美精品| 久久人体视频| 亚洲日韩AV无码一区二区三区人| 67194成是人免费无码| h视频在线播放| 自拍偷拍欧美| 亚洲欧美另类中文字幕| 亚洲欧美综合在线观看| 久久香蕉国产线看精品| 亚洲AⅤ综合在线欧美一区| 亚洲国产精品美女| 四虎永久在线| 国产精品视频猛进猛出| 久久香蕉国产线看观看式| 最新国产精品第1页| 成人在线不卡| 5555国产在线观看| 狼友视频一区二区三区| 99爱视频精品免视看| 欧美国产日韩在线| 日韩一区精品视频一区二区| 久久综合丝袜长腿丝袜| 国产高潮流白浆视频| 91福利免费视频| 秘书高跟黑色丝袜国产91在线| 日韩乱码免费一区二区三区| 国产乱子伦视频在线播放| 一区二区无码在线视频| 精品人妻无码区在线视频| 日本一区中文字幕最新在线| 1级黄色毛片| 国产剧情一区二区| 亚洲一区二区黄色| 亚洲视频免费播放| 久久久久久久蜜桃| 亚洲午夜18| 婷五月综合| 国产91透明丝袜美腿在线| 亚洲午夜18| 在线免费a视频| 婷婷伊人久久|