• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      衛(wèi)星位置高時空分辨率實時預報的FPGA實現*

      2022-08-26 07:48:42鄭金秀
      電訊技術 2022年8期
      關鍵詞:寄存器小數坐標系

      鄭金秀

      (中國西南電子技術研究所,成都 610036)

      0 引 言

      航天測控地面站的研制過程中,常常需要衛(wèi)星信號模擬器,產生目標信號,以支撐測控相關裝備的設計驗證。

      對衛(wèi)星信號模擬往往要求進行角誤差、時延及多普勒頻率的模擬。角誤差受衛(wèi)星當前位置與接收天線指向角的影響,而時延和多普勒頻率則由衛(wèi)星與接收平臺之間的相對位置及其變化決定。在某些應用中,常常要求衛(wèi)星模擬器具有較高的時延和多普勒頻率模擬精度,所以,連續(xù)地獲取衛(wèi)星位置并根據接收天線當前位置及指向計算角誤差、時延及時延變化,進而逐采樣點地計算衛(wèi)星模擬信號,是一種極為有效的衛(wèi)星信號模擬方法。衛(wèi)星模擬信號的采樣率越高,相應的衛(wèi)星位置采樣周期越小,再結合高的衛(wèi)星位置計算精度,角誤差、時延和多普勒頻率的模擬精度則會越高,越接近真實情況。

      衛(wèi)星位置獲取可以通過存儲查表和實時計算兩種方式。存儲查表方式是把衛(wèi)星運行歷經的位置數據按順序存儲起來,然后通過實時查表的方式獲取衛(wèi)星當前的位置。該方法難以實現衛(wèi)星位置的高時空分辨率。對應于目標模擬信號的采樣周期,若衛(wèi)星位置采樣頻率為100 Msample/s,衛(wèi)星位置數據若采用3個20位數據表示,則1 s的位置數據需要750 MB的存儲空間,十分龐大。

      本文基于現場可編程門陣列(Field Programmable Gate Array,FPGA)器件,根據星歷中的軌道參數和攝動參數進行衛(wèi)星位置的實時計算設計,以在每個目標模擬信號的采樣時刻給出高精度的衛(wèi)星位置數據,最大限度支撐模擬器盡可能精確地模擬誤差角、時變多普勒等,實現衛(wèi)星目標信號的高時空分辨率模擬。

      1 衛(wèi)星位置計算

      通過衛(wèi)星下發(fā)的廣播星歷參數模擬衛(wèi)星運動軌跡,星歷參數包括軌道參數和修正軌道的攝動參數,每2 h更新一次,在參考時間前后1 h內,衛(wèi)星的誤差可以控制在米級別[1]。星歷中的軌道參數包括橢圓半長軸a、橢圓離心率e、軌道傾角i、升交點赤經Ω0、近地點角距ω、真近點角f。星歷中的攝動參數包括星歷中的攝動參數包括升交點角距余弦調和校正振幅Cμc、升交點角距正弦調和校正振幅Cμs、軌道半徑余弦調和校正振幅Crc、軌道半徑正弦調和校正振幅Crs、軌道傾角余弦調和校正振幅Cic、軌道傾角正弦調和校正振幅Cis、平均運動角速度校正值Δn、軌道傾角對時間的變化率id和軌道升交點赤經對時間的變化率Ωd[2]。

      本文采用了軌道平面坐標系、WGS-84坐標系(協(xié)議地球坐標系)和站心坐標系,最后根據衛(wèi)星在站心坐標系中的位置得到衛(wèi)星相對地面接收站俯仰角、距離和方位角[3]。

      衛(wèi)星軌道的平近點角M可以通過平均角速度n和運行時間計算得到。平近點角與衛(wèi)星運行的角度——偏近點角可通過解開普勒方程得到,該方程不能通過直接求出數值解,需迭代幾次求解[4]。整理得到開普勒方程如下:

      E=M0+n(t-t0)+esinE。

      (1)

      在求得衛(wèi)星運行的偏近點角后,再求解真近點角f、向徑r′和角距μ′,整理得

      (2)

      求出的極坐標系坐標可以直接參與運算,但是為了得到較高精確度的采樣點,這里根據星歷參數的攝動對軌道參數修正:

      (3)

      修正后的向徑、升交角距和軌道傾角參與計算衛(wèi)星軌道坐標系位置坐標,整理得

      (4)

      根據求得的衛(wèi)星在軌道平面上的實時位置(X″,Y″,Z″),再利用式(5)得到衛(wèi)星在WGS-84坐標系中的實時位置(Xk,Yk,Zk)[5]:

      (5)

      利用WGS-84坐標系與站心坐標系之間的轉換關系式,得到衛(wèi)星在站心坐標系中的向量(Δe,Δn,Δu)T,整理得到式(6)所示的計算公式:

      (6)

      式中:(x,y,z)T為地面接收站在WGS-84坐標系中的位置坐標,(x′,y′,z′)T為衛(wèi)星在WGS-84坐標系中的位置坐標,λ和φ分別式地面接收站的經度和緯度。利用式(7)可以得到衛(wèi)星相對于地面接收站的距離、俯仰角、方位角:

      (7)

      式中:I、θ、α分別表示地面觀測站與衛(wèi)星之間的距離、俯仰角和方位角;θ的范圍在(0,π/2)之間,與天頂角之間為互余關系。

      2 衛(wèi)星位置計算FPGA實現

      根據第1節(jié)所述衛(wèi)星軌道計算過程綜合設計FPGA實現過程,為了實現高時空分辨率,也就是高數據精度和采樣率,從模塊設計、流水設計、精度控制三個方面完成FPGA設計。

      圖1所示為計算流程圖。整個計算過程可以劃分成5個模塊進行,分別為t更新模塊、t時刻衛(wèi)星參數計算、軌道平面坐標計算、WGS-84坐標系坐標計算、站心坐標系坐標計算和相對位置計算。通過在信號線上插入緩存模塊的方式同步數據,完成流水設計。在模塊之間建立Valid和Ready控制信號,來判斷數據傳輸的有效性。

      圖1 衛(wèi)星軌道計算系統(tǒng)框圖

      圖1中的t更新模塊是在輸入t1的基礎上進行循環(huán)迭代,將更新后的t送入寄存器進行緩存。圖1中也給出了各個計算模塊之間的數據傳輸關系以及數據位寬,所有數據均由有符號浮點數量化成了有符號定點數,以達到提高運算速率和減少資源占用的目的。

      2.1 功能模塊實現設計

      根據第1節(jié)中算法的敘述和圖1所示計算流程,圖2給出了t時刻衛(wèi)星參數計算模塊的設計框圖,框圖中的軌道參數和攝動參數都是星歷下發(fā)的參數。

      當calc_en為由低電平跳變到高電平時,整個模塊開始工作。同理,其他子模塊在對應的控制信號拉高的時候開始工作,送出輸出參數和控制信號。部分數據信號插入緩存,以達到數據同步的目的。若模塊計算一個數據需要T時間,某個時刻輸入t,則同時輸出(t-T)時刻的μ、r、i、Ωk,T時間后輸出t時刻的參數,通過預先偏移時間T完成實時計算。

      圖2 t時刻衛(wèi)星參數FPGA設計框圖

      在圖2中的計算除了加、減、乘等簡單運算,還涉及到了大量了的三角函數、反三角函數和開方運算這樣的復雜運算。本文采用CORDIC算法來進行這些復雜運算的求解。CORDIC算法相比于ROM查找表和多項式近似法等方法,節(jié)約了硬件資源[6],增加角度的旋轉次數就可以提高精度,方便FPGA的實現。CORDIC算法的實現可采用循環(huán)迭代結構或流水線結構,流水線結構能夠提高系統(tǒng)的工作頻率,循環(huán)迭代結構節(jié)約硬件邏輯資源,應根據系統(tǒng)的速度和資源占用的需求來選擇合適的實現結構。圖3為CORDIC算法實現的硬件結構圖,其采用流水線結構來實現系統(tǒng)速度的提升。

      圖3 CORDIC算法硬件結構圖

      如圖3所示,CORDIC算法將三角和反三角等函數的計算轉化成加、減和移位等便于硬件實現的操作。arctan(2-i)查找表通過一個小容量的ROM實現。圖3所對應的迭代公式為

      (8)

      式(8)中的zi為角度累加器,在計算三角函數時,zi=0時結束迭代。di的正負由角度累加器來進行判斷,di=1時,表示逆時針旋轉;di=-1時,表示順時針旋轉。式(8)中對tanθi=2-i做了近似的代替,這使得復雜的超越方程成了簡單的移位運算,大大提升了運算效率。

      CORDIC算法的旋轉模式可以求解正弦函數sin和余弦函數cos,向量化模式可以求解反正切函數arctan和向量模值。

      根據文獻[7],在圓坐標系中,對輸入向量(X0,Y0)經過n次角度旋轉,得到結果為

      (9)

      在圓坐標系中向量化模式的原理和旋轉模式是類似的,唯一的不同就在于,輸入向量通過n次旋轉后與X軸對齊,旋轉的方向由Yi決定。

      CORDIC旋轉器對輸入向量旋轉n次之后,得到的結果為

      (10)

      2.2 時序設計

      為了獲得高速的運算速度,整個FPGA程序設計采用了流水線技術。流水線技術只需占用少量的硬件資源,就可以大大的提高運算速度,是以面積換取速度的典型設計方法[8]。將整個衛(wèi)星軌道的運算系統(tǒng)進行分解,分解成小規(guī)模的運算單元,將運算結果存儲在寄存器中,隔離兩個運算單元,該運算單元在下一個時鐘周期又根據輸入進行計算,從而實現流水線。這樣大大縮短了整個系統(tǒng)在首次延遲后的運算的時間。本文中FPGA的流水線結構圖如圖4所示。

      圖4 流水設計

      根據圖4的流水結構圖可以看出,整個系統(tǒng)被分解成了5個大的運算模塊構成4級流水系統(tǒng)。每一個運算模塊中也采用了流水式的設計,以提高每個模塊的運算速率。第1級流水,Step1讀取衛(wèi)星星歷參數、更新后的觀測時間t和控制信號,根據圖2中所設計框圖的流程運算,輸出t時刻攝動校正后的μ、r、i、Ωk和控制信號,將其存入1級寄存器,在input2時重復上述操作。第2級流水,Step2讀取控制信號和存入1級寄存器中的數據,進行衛(wèi)星在軌道平面的位置計算,將計算結果和控制信號存入2級寄存器,再讀取1級寄存器中更新后的數據重復上述操作。第3級流水,Step3讀取控制信號和存入2級寄存器中的數據,進行衛(wèi)星在WGS-84坐標系的位置計算,將計算結果和控制信號存入第3級寄存器,再讀取2級寄存器更新數據后和控制信號重復上述操作。第4級流水,Step4讀取第3級寄存器中的數據和控制信號,計算衛(wèi)星在WGS-84坐標系中的坐標,將運算結果和控制信號存入第4級寄存器,再讀取第3級寄存器更新后的數據和控制信號重復上述操作。最后如圖4所示,整個系統(tǒng)就實現了流水并行式的操作。每一模塊都在時時刻刻進行運算,不需要等上一模塊的結束,大大地提高了整個系統(tǒng)運算速率。

      系統(tǒng)的首次延遲為1 374個時鐘周期,大約耗時1.4 μs。當整個系統(tǒng)流動起來之后,一個cycle的延時為36個時鐘周期,因此在時鐘頻率為100 MHz時,36 ns就能計算出一個結果。程序的最終的資源使用情況:寄存器使用37 468;LUT使用26 686;RAM/FIFO使用6;DSP48E1s使用225。

      2.3 數據量化與精度設計分析

      相比于浮點數,定點數在FPGA中占用的資源更少,運算速度更高。在精度滿足要求的情況下,定點數相比于浮點數在FPGA中更加合適。因此在本文設計的衛(wèi)星軌道計算系統(tǒng)中,將有符號浮點數量化成有符號定點數,以達到更少的資源占用和更高的運算速度。在有符號浮點數量化成有符號定點數的過程中,小數有效位寬不同量化后的定點數精度就不同,小數有效位寬越大,則量化后的定點數精度就越大。若量化后的小數有效位寬為n,則定點數的精度為1/2n。同時在對浮點數進行量化時,在數據不溢出的情況下,存在一定的量化誤差。比如數7.512,在量化成1位符號位、6位整數位和1位小數位的情況下,量化后的定點數二進制如圖5所示,表示的十進制為22+21+20+2-1=7.500,因此產生了0.012的量化誤差。通過小數位的所在位置,能夠有效地將定點數還原成與之對應的十進制數值。

      綜上所述,人民幣匯率政策變動的宏觀經濟效應十分顯著,但影響的方向和程度與人民幣匯率所處的周期密切相關。具體而言,順應匯率周期的制度改革對宏觀經濟有正向影響,而逆匯率周期的制度改革對宏觀經濟有負向影響;從匯率制度改革的長短期效應來看,匯率制度變化往往在短期內對宏觀經濟的沖擊較大,而在長期逐漸趨于平穩(wěn)。匯率制度變化對宏觀經濟的沖擊方向在長短期并不一致,短期內有效的政策從長期來看可能有失誤,短期內造成“陣痛”的政策從長期來看意義頗大;此外,不僅匯率制度變化對宏觀經濟有影響,宏觀經濟的運行形勢對匯率制度變化也有相當大的制約作用,若兩者出現“錯配”,將會對宏觀經濟穩(wěn)定和國內金融安全帶來巨大的壓力。

      圖5 8 b定點數結構

      浮點數量化成定點數的具體量化公式為

      (11)

      式中:s為符號位的值,ffloat、lbw分別表示小數位寬和總的量化位寬,xi表示有效位。

      整個運算過程中,每一個參數的小數部分量化位寬,對最后的運算結果有極大的影響。在保證精度的情況下,小數的有效位寬要盡可能地小,避免FPGA資源浪費。因此本文采用控制變量法對每一個參數做小數有效位寬對結果的誤差分析,以尋找每個參數的最佳小數部分量化位寬。圖6所示為衛(wèi)星矢徑長度r的小數有效位寬對距離精度的影響。

      圖6 衛(wèi)星矢徑長度對距離精度影響

      圖6縱坐標表示的絕對誤差是相關參數量化后計算的距離結果和距離理論值之間絕對誤差。從圖6可以看出,當衛(wèi)星矢徑長度r的小數有效位寬為5 b、6 b、7 b和8 b的時候,絕對誤差是比較接近的。綜合資源占用和精度要求方面考慮,取r的小數有效位寬長度為6 b,則此時的絕對誤差為0.367 8 cm。根據圖6中的分析手段,依次對每個參數量化后的小數有效位寬對精度的影響進行分析,表1給出了部分參數量化后的小數有效位寬對誤差的影響。對比三個小數有效位寬所帶來的誤差可以得到的結果是,當取到合適的小數有效位寬后,再增加小數的有效位寬并不能使誤差明顯減小。因此,本文將中間的小數有效位寬作為對應參數的最佳小數有效位寬。

      表1 部分參數量化小數有效位寬與誤差關系

      3 仿真結果

      為了驗證整個衛(wèi)星軌道實時計算系統(tǒng)的正確性,本文借助ISE DesignSuite14.7軟件搭建衛(wèi)星軌道實時計算系統(tǒng)并進行仿真實驗。衛(wèi)星星歷參數和參考時間來源于衛(wèi)星PRN-1在某日下發(fā)的一組參數,該衛(wèi)星軌道高度為20 200 km,屬于中軌GPS導航衛(wèi)星;精確度和實時性基于衛(wèi)星星歷,具體參數取值如表2所示。

      表2 輸入數據參數表

      將表2中的衛(wèi)星星歷參數和觀測時間t,以及地面接收站的WGS-84坐標系坐標參數作為仿真實驗的輸入,構建仿真環(huán)境,進行仿真實驗。本文將100 MHz作為仿真的時鐘頻率,根據表2中的參數仿真出來的結果如圖7所示。

      圖7 衛(wèi)星位置計算FPGA實現仿真

      圖7中res_yan、res_a和res_I分表表示仰角、方位角和距離,其中res_yan和res_a均為29 b小數位的定點小數,res_l為5 b小數位的定點小數。將方位角轉換為非定點小數后,還應該將其變換到-π/2~π/2的范圍。將結果轉換成有符號浮點數,分別為res_yan=1.142 332 764 342 427、res_a=0.709 529 560 180 858和res_I=17 406 452.375,而理論數據分別為1.142 332 789 655 088、0.709 529 472 943 342和17 406 452.417 841 10。通過對比理論數據和仿真數據可以得出仿真數據和理論數據是非常接近的,驗證了整個衛(wèi)星軌道實時計算系統(tǒng)的正確性。

      4 結 論

      本文利用FPGA進行衛(wèi)星位置的實時高時空分辨率預報,采用CORDIC算法實現開方、三角函數和反正切運算,采用流水線技術提高整體的運算速度。采用該方法,衛(wèi)星信號模擬器在生成每一個采樣點的模擬信號時都可以依據更新的衛(wèi)星位置對時變的角誤差、時變的時延、時變的時延變化或時變多普勒進行高精度的模擬,與存儲查表預報法相比,可以避免難以實現的海量存儲問題。

      猜你喜歡
      寄存器小數坐標系
      小數加減“四不忘”
      我國古代的小數
      小數的認識
      小數的認識
      Lite寄存器模型的設計與實現
      計算機應用(2020年5期)2020-06-07 07:06:44
      解密坐標系中的平移變換
      坐標系背后的故事
      數學大世界(2018年1期)2018-04-12 05:39:03
      分簇結構向量寄存器分配策略研究*
      基于重心坐標系的平面幾何證明的探討
      中等數學(2017年2期)2017-06-01 12:21:50
      極坐標系下移動機器人的點鎮(zhèn)定
      常熟市| 阿勒泰市| 仙居县| 来凤县| 宁蒗| 广元市| 彩票| 商河县| 富阳市| 驻马店市| 洪江市| 陆河县| 广德县| 黎川县| 肇东市| 广宁县| 延长县| 商都县| 渝北区| 如东县| 亚东县| 封开县| 通渭县| 屏南县| 邢台市| 临沂市| 双峰县| 昌宁县| 台北市| 沂源县| 秦安县| 德令哈市| 洪湖市| 宝山区| 乐东| 乌审旗| 吉安县| 南投市| 会东县| 宕昌县| 弋阳县|