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

北斗信號捕獲相位相干算法的設計與實現

2014-07-18 11:53:23黃海生李龍龍
西安郵電大學學報 2014年1期
關鍵詞:設計

黃海生, 李龍龍

( 西安郵電大學 電子工程學院, 陜西 西安 710121)

北斗信號捕獲相位相干算法的設計與實現

黃海生, 李龍龍

( 西安郵電大學 電子工程學院, 陜西 西安 710121)

針對北斗二號衛星導航系統信號捕獲運算量大的問題,提出一種利用相位相干算法搜索起始碼相位的方法,并給出基于現場可編程門陣列(FPGA)的相位相干算法的具體實現方案,算法中關于旋轉因子運算的問題主要借助坐標旋轉數字計算方法和查找表方法得以解決。編譯綜合及仿真結果皆表明,與傳統快速傅里葉變化(FFT)算法相比,新方法只需用到復數加法,運算量小,且能正確捕獲信號。

相位相干算法;旋轉因子;現場可編程門陣列(FPGA);坐標旋轉數字計算方法(CORDIC)

北斗衛星導航系統是我國正在實施自主研發和獨立運行的全球衛星導航系統,它在亞太地區已經初步形成了導航、授時和精密定位能力,應用服務已經擴展到交通運輸、測繪、氣象等相關領域。 傳統的北斗信號捕獲廣泛采用快速傅里葉變化(Fast Fourier Transform,FFT)獲得信號的初始碼相位,但隨著科技技術的快速發展,對于北斗信號的快速捕獲提出了更高標準的要求,傳統捕獲方法運算量相對較大, 而且捕獲時間受限制, 為了適應工作在高動態環境下的要求, 有人提出了相位相干捕獲算法[1]。該算法在搜索偽隨機碼的相關峰值上比傳統的FFT算法運算量更少,當序列長度變大時,其優越性更加明顯。

本文擬基于現場可編程門陣列(Field-Programmable Gate Array,FPGA)芯片,利用硬件描述語言實現相位相干算法的設計,根據算法的設計流程,對定點數位數調整來更好地達到設計精度要求。利用存儲器對數據中間值的存儲,最終獲得碼起始相位值。

1 相位相干算法及其實現方式

1.1 相位相干算法

相位相干算法的設計流程主要包括序列分割、相位相干和多層相位相干3部分。序列分割是將長度均為N=RC的本地序列L和接收序列R,皆分割成長度為C的R個子序列。相位相干將R個子序列轉換成R個幅度值和R個角度值的過程,其值用于序列所在行和列的計算。多層相位相干是根據運算的需求以及子序列長度的滿足,對相位相干計算中得到的行值m所對應長度為C的子序列再次進行序列分割和相位相干的計算,最終根據行和列的值得到接收序列的起始相位值。

1.2 實現方式及運算精度

采用定點數實現算法的運算[2]。

由于考慮到運算過程中誤差值的累積和中間值的變化,為達到設計中運算精度的要求,所以將數值保留到小數點后4位。在設計中將相位角比特位設置為27位,其中1位符號位,9位整數位,17位小數位。幅度比特位設置為22位,其中1位符號位,6位整數位,15位小數位。借助Matlab內部自帶的函數fi對數據進行量化并編碼。fi函數表達式為fi(a,b,c,d),其中a代表需要量化的數據,b代表符號位位數(默認取值為1),c代表數據的總位數,d代表小數位數。

2 基于FPGA的算法設計與仿真

根據偽隨機碼的產生原理[3],利用FPGA生成北斗衛星B1頻點的普通測距碼(C碼)作為本地序列L,并將序列L進行相應的移位作為輸入序列S,然后通過相位相干算法對兩組輸入的序列進行相應處理,對于過程中的指數運算均采用坐標旋轉數字算法(Coordinate Rotation Digital Computer,CORDIC)來實現[4],運算過程中的中間結果利用隨機存取存儲器(Random Access Memory, RAM)來存儲[5],通過各模塊的層層運算,最終得出輸入序列的碼起始相位值。總體設計如圖1所示。

圖1 基于FPGA的算法總體設計

2.1 北斗衛星C碼產生器

B1頻點C碼產生器是由兩個長度為11位的反饋移位寄存器G1和G2構成的,經模2產生平衡Gold碼,再截斷1碼片,生成碼長為2046 chips,速率為2.046 MHz,周期為1 ms的普通測距碼。反饋電路由模2加法器實現,G1對應于特征多項式

1+x+x7+x8+x9+x10+x11,

G2對應于特征多項式

1+x+x2+x3+x4+x5+x8+x9+x11。

兩者皆在同一個時鐘頻率2.046 MHz下工作,兩個移位寄存器的初值均為“01010101010”,且被預先置入寄存器。

通過對產生G2序列的移位寄存器不同抽頭的模2和可以實現G2序列相位的不同偏移,同G1序列模2后生成不同衛星的測距碼。衛星ID的確定是通過G2寄存器的兩個輸出位置來決定的。

B1頻點C碼產生器原理圖如圖2所示。

圖2 B1頻點C碼產生器原理

2.2 序列分割模塊

根據輸入序列進行相應分割。考慮到B1頻點中C碼的序列長度N=2046,故取R=33和C=62對序列進行分割。

在系統時鐘的節拍下,先進行列輸入,當計數器值為32時,進行清零,并進入下一列,直到將2046個碼片分割完。最終產生兩組存儲深度均為33的62位本地存儲器L和接收存儲器R。

2.3 初始化只讀內存模塊

WC=exp( 2jπ/C),

而旋轉因子指數p的取值范圍為0~C-1。

由于C已知,所以利用Matlab生成旋轉因子的實部real和虛部imag的浮點值[7],利用函數fi(a,1,22,15)(其中a取實部或虛部的浮點值)進行量化并編碼為22 bits的定點數,最終初始化為相應的ROM表,模塊輸出寬度均為22位的re[n]和im[n](n=0,1,…,33)。

2.4 判決及疊加模塊

由于C碼產生器輸出的有一定周期取值是0和1的離散碼序列,通過判決L和R中每個數據比特位的值對相應的re[n]和im[n]值進行加減。部分Verilog相關代碼如下。

if(L[m][n]==1)

begin

L_re[m]<=L_re[m]+re[n];

L_im[m]<=L_im[m]+im[n];

end

else

begin

L_re[m]<=L_re[m]-re[n];

L_im[m]<=L_im[m]-im[n];

end

2.5 CORDIC算法向量模式

CORDIC算法向量模式流水線結構主要由寄存器、移位器和加減法器構成[2],結構如圖3所示。

圖3 CORDIC算法向量模式流水線結構

將所輸入的實部和虛部數據從直角坐標轉換為極坐標,即可得到相應的相位幅度和相位角。部分Verilog實現代碼如下。

if(y_in[21]~^x_in[21]==0)

begin

x_out<=x_in-(y_in>>>N);

y_out<=y_in+(x_in>>>N);

z_out<=z_in-SITA;

end

else

begin

x_out<=x_in+(y_in>>>N);

y_out<=y_in-(x_in>>>N);

z_out<=z_in+SITA;

end

最終所得到的z_out為相位解真值, 而x_out是將相位幅度真值放大Kn(畸變因子)倍后的值。在計算中,取迭代次數N=16可得畸變因子

如果計算中需要真實相位幅度,就需對x_out進行除Kn校正。最后,根據輸入的實部和虛部的符號位,對相位角進行相應的處理,將角度范圍調整為[-π,π]。圖4是在x_in和y_in的輸入值均為-0.707 1的情況下,輸出結果的仿真圖。

圖4 相位和幅度輸出結果仿真

2.6 復數相位計算模塊

復數相位計算模塊實際上就是一個減法器,根據所在行值y∈(0,32)的不同,當0≤i≤32-y時,計算

L_phase[i]-R_phase[i+y],

當33-y≤i≤32時,計算

L_phase[i]-R_phase[i+y]-(360/62),

最終可以得到33×33=1 089個相位角值。

2.7 CORDIC算法旋轉模式

CORDIC算法旋轉模式結構與向量模式一樣。不同點在于將所輸入的相位角度轉化為角度正弦和角度余弦。首先,對所輸入的相位角進行象限標記;其次將其修正在[0,π/2]范圍之內。最后,根據象限標記對正弦值和余弦值進行相應的修正。圖5是相位角為225°時輸出結果仿真圖。

圖5 正弦和余弦的輸出結果仿真

2.8 累加模塊

累加模塊的主要功能是將產生的1 089對C_real和C_imag,經過累加產生33對sum_real和sum_imag。

2.9 判決及C碼起始相位計算模塊

該模塊首先對所得到的R個相位幅度進行判決,如果存在其值等于R,從而得到該值所在的行d,那么說明搜索成功,反之亦然。當搜索成功時,C/A碼起始相位計算模塊根據該相位幅度所對應的相位角計算出所在的列c。最后,根據

out=C×R+d

計算出C/A碼的起始相位值。

2.10 設計結果仿真與結果分析

根據N=2 046,故而R和C分別取值為33和62。產生一個本地序列L,將本地序列進行隨機循環移位后作為輸入序列S,利用Modelsim進行相關仿真。移位0位和左移1 022位后搜索到最大幅度值max_mag及其所對應的相位值max_mag_phase的仿真結果分別如圖6和圖7所示。由結果可知,設計模塊搜索到正確峰值(由于設計中d值是從0開始的,所以對結果進行了加1修正)。

圖6 零移位Modelsim仿真結果

圖7 左移1 022位Modelsim仿真結果

3 實際資源使用

通過選用Altera公司生產的cyclone II系列的 EP2C35F672C6芯片,在Quartus II 9.0的開發環境下對代碼進行編譯綜合,使用資源情況報告如圖8所示。

圖8 資源使用報告

4 結語

實現了對碼相位相干算法的FPGA設計,采用CORDIC算法,并應用定點數以滿足算法的設計要求。仿真驗證結果表明,設計達到預期目的,此設計可用于北斗衛星信號偽隨機碼的捕獲。

[1] Chang Chieh-Fu, Hsieh Wan-Hsin, Kao Ming-Seng. A Novel Computationally Efficient Code Phase Acquisition Method[C]//Proceedings of the 24th International Technical Meeting of the Satellite Division of the Institute of navigation. Portland,Oregon, USA: ION GNSS 2011, 2011:2114-2116.

[2] 田耘,許文波,張延偉.無線通信FPGA設計[M].北京:電子工業出版社,2007:81-137.

[3] 崔保延. GPS軟件接收機基礎[M]. 2版. 陳軍,潘高峰,譯.北京:電子工業出版社,2007:63-87.

[4] 楊宏,李國輝,劉立新.基于FPGA的CORDIC算法的實現[J].西安郵電學院學報,2008,13(1):75-77.

[5] 夏雨聞.Verilog數字系統設計教程[M].2版.北京:北京航天大學出版社,2008:27-115.

[6] 高西全,丁玉美.數字信號處理[M].3版.西安:西安電子科技大學出版社,2008:110-120.

[7] 劉衛國.MATLAB程序設計與應用[M].2版.北京:高等教育出版社,2006:17-80.

[責任編輯:王輝]

Design and implement of Beidou signal acquisition phase coherence algorithm

HUANG Haisheng, LI Longlong

(School of Electronic Engineering, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)

A method using Phase Coherence Algorithm to search initial code phase is proposed for the large signal acquisition and computation on BeiDou II Navigation Satellite System. A specific implementation scheme based on Field-Programmable Gate Array (FPGA) of Phase Coherence Algorithm is given accordingly. It mainly use Coordinate Rotation Digital Computer (CORDIC) algorithm and look-up table method to solve the twiddle factor operation problems in the algorithm. This method is validated on the cyclone II series FPGA of Altera. Simulation results show that compared to the traditional Fast Fourier Transform (FFT) algorithm, this method can greatly reduce computation and can correctly acquire signal by only using the complex addition.

phase coherence algorithms, twiddle factor, field-programmable gate array(FPGA), coordinate rotation digital computer(CORDIC)

10.13682/j.issn.2095-6533.2014.01.005

2013-09-27

陜西省科技統籌創新工程計劃戰略基金資助項目(2012KTCQ01-06);陜西省教育廳服務地方專項基金資助項目(2013JC10)

黃海生(1964-),男,教授,從事專用集成電路設計研究。E-mail: hhs@xupt.edu.cn 李龍龍(1988-),男,碩士研究生,研究方向為專用集成電路設計。E-mail: 363732023@qq.com

TN492

A

2095-6533(2014)01-0026-05

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产1区2区在线观看| 欧美啪啪一区| 国产大片黄在线观看| 欧美日韩免费| 综合亚洲网| 亚洲伦理一区二区| 午夜精品久久久久久久无码软件| 国产精品欧美激情| 亚洲国产91人成在线| av一区二区三区在线观看 | 91福利免费| 免费中文字幕一级毛片| 高清精品美女在线播放| 91免费在线看| 久久精品国产电影| 国内精品91| 国产人成网线在线播放va| 毛片网站观看| 91丝袜在线观看| 免费无码网站| 无码又爽又刺激的高潮视频| 久久性妇女精品免费| 青青久久91| 中文字幕日韩久久综合影院| 国产精品亚洲精品爽爽| 欧美三级日韩三级| 无码高清专区| 好吊妞欧美视频免费| 亚洲精品另类| 免费啪啪网址| 国产美女91呻吟求| 欧美激情福利| av大片在线无码免费| 亚洲第一色网站| 欧美一级夜夜爽www| 国产毛片一区| 国产小视频免费观看| 国产欧美日韩免费| 亚洲人视频在线观看| 久久婷婷五月综合97色| 国产正在播放| 新SSS无码手机在线观看| 在线人成精品免费视频| a色毛片免费视频| 午夜精品福利影院| 亚洲福利片无码最新在线播放| 亚洲视频四区| 国产成人超碰无码| 久久香蕉国产线看观看精品蕉| 欧美国产在线看| 五月天香蕉视频国产亚| 欧美日韩国产系列在线观看| h网站在线播放| 国产va在线观看免费| 成年片色大黄全免费网站久久 | 亚洲av日韩av制服丝袜| 欧美成人精品高清在线下载| 国产精品白浆无码流出在线看| 99er精品视频| 欧美精品成人一区二区视频一| 国产精品亚洲va在线观看| 动漫精品啪啪一区二区三区| 亚洲最大综合网| 九九热精品免费视频| 成人在线综合| www.精品国产| 亚洲资源站av无码网址| 国产成人久视频免费| 日韩精品亚洲人旧成在线| 99在线观看免费视频| 麻豆AV网站免费进入| 找国产毛片看| 国内精品小视频在线| 亚洲三级影院| 找国产毛片看| 99无码中文字幕视频| 不卡无码h在线观看| 亚洲第一黄色网| 久久精品免费看一| 亚洲嫩模喷白浆| 国产欧美日韩综合一区在线播放| 中国国产一级毛片|