




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于FPGA的星點提取及星圖識別算法的深度研究與優(yōu)化一、引言1.1研究背景與意義在當今科技飛速發(fā)展的時代,航天領域和天文觀測的重要性日益凸顯,而星點提取及星圖識別技術作為其中的關鍵支撐,發(fā)揮著舉足輕重的作用。在航天領域,航天器的精確導航與姿態(tài)確定是保障任務成功執(zhí)行的核心要素。星敏感器作為航天器姿態(tài)測量的高精度工具,憑借其自主性強、隱蔽性好、抗電磁干擾能力強、定姿定向精度高且誤差不隨時間累積等顯著優(yōu)勢,成為航天器姿態(tài)測量的首選設備。其工作原理是通過對星圖進行識別得到姿態(tài)信息后,進而實現(xiàn)定位與導航,而這其中,星點提取和星圖識別是最為關鍵的環(huán)節(jié)。準確地提取星點信息并完成星圖識別,能夠為航天器提供高精度的姿態(tài)數(shù)據(jù),從而確保航天器在復雜的太空環(huán)境中精確地執(zhí)行任務,無論是衛(wèi)星的穩(wěn)定運行、深空探測器的星際航行,還是空間站的長期在軌運營,都離不開這兩項技術的支持。例如,在衛(wèi)星通信中,精確的姿態(tài)控制可保證衛(wèi)星天線準確指向地面接收站,實現(xiàn)高效的數(shù)據(jù)傳輸;在深空探測任務里,如我國的天問一號火星探測器,精確的姿態(tài)確定對于其成功進入火星軌道、開展科學探測至關重要,而這背后離不開高精度的星點提取及星圖識別技術作為保障。從天文觀測的角度來看,星點提取及星圖識別技術是人類探索宇宙奧秘的重要手段。宇宙中蘊含著無數(shù)的天體,通過對星圖的分析和研究,天文學家可以了解恒星的運動規(guī)律、銀河系的結構和分布等信息,進而深入探索宇宙的演化歷程。精確的星點提取和準確的星圖識別能夠幫助天文學家更準確地觀測天體的位置、亮度、顏色等特征,為天文學研究提供更可靠的數(shù)據(jù)支持。例如,通過對星圖中星點的分析,科學家們發(fā)現(xiàn)了宇宙的加速膨脹現(xiàn)象,這一重大發(fā)現(xiàn)改變了人類對宇宙演化的認知,而這離不開高精度的星點提取及星圖識別技術在其中發(fā)揮的關鍵作用。然而,實現(xiàn)高效、準確的星點提取及星圖識別面臨著諸多挑戰(zhàn)。一方面,星圖數(shù)據(jù)具有數(shù)據(jù)量大、復雜度高的特點,傳統(tǒng)的處理方法往往難以滿足實時性和準確性的要求。另一方面,空間環(huán)境復雜多變,各種干擾因素會對星圖的質量產生影響,進一步增加了星點提取和星圖識別的難度?,F(xiàn)場可編程門陣列(FPGA)作為一種具有獨特優(yōu)勢的硬件平臺,為解決上述問題提供了新的思路和方法。FPGA具有并行處理能力強、可重構性好、實時性高等特點。其并行處理能力使得它能夠同時處理多個數(shù)據(jù),大大提高了數(shù)據(jù)處理的速度,這對于處理數(shù)據(jù)量大的星圖數(shù)據(jù)尤為重要;可重構性則意味著它可以根據(jù)不同的算法需求進行硬件結構的重新配置,具有很強的靈活性;而實時性高的特點能夠確保在短時間內完成星點提取和星圖識別任務,滿足航天和天文觀測等領域對實時性的嚴格要求。與傳統(tǒng)的處理器(如ARM、DSP)相比,F(xiàn)PGA在處理星圖數(shù)據(jù)時能夠顯著提高處理速度和效率。例如,在某些星點提取算法的實現(xiàn)中,F(xiàn)PGA能夠在微秒級的時間內完成星點質心坐標的提取,而傳統(tǒng)的ARM處理器則需要數(shù)十毫秒,速度提升效果顯著。因此,基于FPGA開展星點提取及星圖識別算法的研究,具有重要的理論意義和實際應用價值,有望為航天和天文觀測等領域帶來新的突破和發(fā)展。1.2國內外研究現(xiàn)狀星點提取及星圖識別技術在航天和天文觀測領域的重要性促使國內外眾多科研團隊展開深入研究,隨著FPGA技術的不斷發(fā)展,基于FPGA的相關算法研究也取得了顯著進展。在國外,一些知名科研機構和高校在基于FPGA的星點提取及星圖識別算法研究方面處于前沿地位。例如,美國的NASA噴氣推進實驗室長期致力于航天相關技術研究,其科研人員在星點提取算法研究中,利用FPGA的并行處理能力,優(yōu)化了傳統(tǒng)的基于閾值分割和連通域標記的星點提取算法,實現(xiàn)了對星圖中微弱星點的快速提取。在星圖識別算法研究上,該實驗室采用了基于三角形特征匹配的算法,并在FPGA上進行硬件實現(xiàn),通過并行計算多個三角形特征,提高了星圖識別的速度和準確性。又如,德國的馬克斯?普朗克天文研究所,專注于天文學領域的研究,在基于FPGA的星圖處理技術研究中,提出了一種改進的基于星等和位置信息的星圖識別算法,該算法在FPGA上實現(xiàn)了高效的硬件架構,能夠在復雜的星圖背景下準確識別出目標星點,為天文觀測提供了有力支持。此外,英國的薩里衛(wèi)星技術有限公司在小衛(wèi)星星敏感器研發(fā)中,基于FPGA實現(xiàn)了星點提取和星圖識別算法,通過優(yōu)化算法結構和硬件資源配置,提高了星敏感器的實時性和可靠性,其相關技術已應用于多顆小衛(wèi)星的實際任務中。國內在基于FPGA的星點提取及星圖識別算法研究方面也取得了豐碩成果。眾多高校和科研院所積極參與相關研究,推動了該領域技術的發(fā)展。哈爾濱工業(yè)大學在星點提取算法研究上,提出了一種基于自適應閾值和形態(tài)學處理的FPGA星點提取算法,該算法能夠根據(jù)星圖的局部特征自適應地調整閾值,有效提高了星點提取的準確性,同時利用FPGA的并行流水處理能力,實現(xiàn)了星點的快速提取。在星圖識別算法方面,該校采用了基于改進的恒星角距匹配算法,并在FPGA上實現(xiàn)了硬件加速,通過優(yōu)化匹配策略和減少計算量,提高了星圖識別的效率和精度。北京航空航天大學針對星圖識別中計算量大、實時性要求高的問題,基于FPGA設計了一種并行化的星圖識別硬件系統(tǒng),采用了基于星點質心和灰度特征的識別算法,通過并行處理多個星點特征,實現(xiàn)了星圖的快速識別。中國科學院國家天文臺在天文觀測領域的星圖處理技術研究中,基于FPGA實現(xiàn)了高性能的星點提取及星圖識別算法,通過對算法的優(yōu)化和硬件資源的合理利用,提高了對復雜天文圖像的處理能力,為天文科學研究提供了關鍵技術支持。盡管國內外在基于FPGA的星點提取及星圖識別算法研究方面取得了諸多成果,但目前的研究仍存在一些不足之處。在星點提取算法方面,對于低信噪比星圖中微弱星點的提取精度還有待進一步提高,部分算法在復雜背景下容易出現(xiàn)誤判和漏判的情況。同時,一些算法對FPGA資源的利用率不夠高,導致硬件實現(xiàn)成本增加。在星圖識別算法方面,現(xiàn)有算法在處理大視場、高星等密度的星圖時,計算復雜度較高,識別速度難以滿足實時性要求。此外,對于不同觀測條件下的星圖,算法的適應性還不夠強,缺乏一種通用的、高效的星圖識別算法。在算法與FPGA硬件的協(xié)同優(yōu)化方面,目前的研究還不夠深入,未能充分發(fā)揮FPGA的硬件優(yōu)勢,實現(xiàn)算法性能的最大化。這些問題都有待在后續(xù)的研究中進一步探索和解決,以推動基于FPGA的星點提取及星圖識別技術的不斷發(fā)展和完善。1.3研究目標與內容本研究旨在深入探索基于FPGA的星點提取及星圖識別算法,充分發(fā)揮FPGA的硬件優(yōu)勢,實現(xiàn)高精度、實時性強的星點提取及星圖識別系統(tǒng),為航天和天文觀測領域提供關鍵技術支持。具體研究內容如下:星點提取算法研究:深入分析現(xiàn)有的星點提取算法,如基于閾值分割的方法、基于形態(tài)學處理的方法、基于連通域標記的方法等,研究它們在不同場景下的優(yōu)缺點。針對低信噪比星圖中微弱星點提取精度不足的問題,結合FPGA的并行處理能力,提出一種改進的自適應閾值星點提取算法。該算法能夠根據(jù)星圖的局部特征自適應地調整閾值,增強對微弱星點的提取能力,同時利用FPGA的硬件資源實現(xiàn)并行計算,提高星點提取的速度。通過大量的仿真實驗,驗證改進算法在不同噪聲環(huán)境和星等分布情況下的有效性和穩(wěn)定性。星圖識別算法研究:研究常見的星圖識別算法,如基于三角形特征匹配的算法、基于恒星角距匹配的算法、基于星等和位置信息的算法等,分析它們在處理大視場、高星等密度星圖時的計算復雜度和識別精度。針對現(xiàn)有算法在復雜星圖情況下計算量過大、實時性差的問題,基于FPGA設計一種并行化的改進星圖識別算法。該算法通過優(yōu)化匹配策略,減少不必要的計算量,同時利用FPGA的并行計算資源,實現(xiàn)多個星點特征的并行處理,提高星圖識別的速度和準確性。通過構建不同類型的星圖數(shù)據(jù)庫,對改進算法進行性能測試,評估其在不同觀測條件下的適應性和可靠性?;贔PGA的硬件實現(xiàn):根據(jù)星點提取和星圖識別算法的特點,進行FPGA硬件架構設計。合理分配FPGA的邏輯資源、存儲資源和時鐘資源,設計高效的并行處理模塊、數(shù)據(jù)緩存模塊和控制模塊。利用硬件描述語言(如Verilog或VHDL)對算法進行硬件實現(xiàn),通過邏輯綜合、布局布線等流程,將算法映射到FPGA芯片上。進行硬件系統(tǒng)的調試和優(yōu)化,解決硬件實現(xiàn)過程中出現(xiàn)的時序問題、資源沖突問題等,確保硬件系統(tǒng)的穩(wěn)定運行。算法與硬件協(xié)同優(yōu)化:深入研究算法與FPGA硬件之間的協(xié)同關系,從算法結構和硬件資源利用兩個方面進行協(xié)同優(yōu)化。在算法結構方面,根據(jù)FPGA的并行處理特點,對算法進行優(yōu)化和重構,使其更適合硬件實現(xiàn);在硬件資源利用方面,合理配置FPGA的資源,提高資源利用率,降低硬件成本。通過對不同算法和硬件配置的組合進行實驗分析,找到最優(yōu)的算法與硬件協(xié)同方案,實現(xiàn)系統(tǒng)性能的最大化。系統(tǒng)性能評估與驗證:搭建星點提取及星圖識別系統(tǒng)測試平臺,對基于FPGA實現(xiàn)的系統(tǒng)進行性能評估。采用實際的星圖數(shù)據(jù)和模擬的星圖數(shù)據(jù)對系統(tǒng)進行測試,評估系統(tǒng)的星點提取精度、星圖識別準確率、處理速度等性能指標。與傳統(tǒng)的基于軟件實現(xiàn)的星點提取及星圖識別系統(tǒng)進行對比分析,驗證基于FPGA的系統(tǒng)在性能上的優(yōu)勢。將基于FPGA的星點提取及星圖識別系統(tǒng)應用于實際的航天或天文觀測場景中,進行實地驗證,進一步評估系統(tǒng)的可靠性和實用性。二、相關理論基礎2.1FPGA技術概述FPGA(FieldProgrammableGateArray),即現(xiàn)場可編程門陣列,是一種在數(shù)字電路領域應用廣泛且極具創(chuàng)新性的可編程邏輯器件。它的出現(xiàn)打破了傳統(tǒng)數(shù)字電路設計的局限性,為實現(xiàn)各種復雜數(shù)字電路功能提供了靈活且高效的解決方案。從基本結構來看,F(xiàn)PGA主要由可編程邏輯塊(CLB,ConfigurableLogicBlock)、可編程輸入/輸出單元(I/O)、內部總線和系統(tǒng)模塊等關鍵部分組成。其中,可編程邏輯塊是FPGA的核心組件,其內部包含查找表(LUT,Look-UpTable)、觸發(fā)器(Flip-flop)、多路復用器(MUX,Multiplexer)、編碼器(Encoder)和解碼器(Decoder)等基本邏輯單元。以Xilinx公司的部分FPGA產品為例,其CLB中的查找表通常是基于SRAM(靜態(tài)隨機存取存儲器)技術實現(xiàn),通過對SRAM中存儲的數(shù)據(jù)進行配置,能夠實現(xiàn)各種邏輯函數(shù)。例如,一個4輸入的查找表可以存儲16種不同的邏輯函數(shù)組合,通過對這16個存儲單元的編程,就可以實現(xiàn)任意4輸入邏輯函數(shù)的功能。觸發(fā)器則在時序邏輯電路中發(fā)揮著關鍵作用,用于存儲和傳遞信號的狀態(tài);多路復用器可以根據(jù)控制信號從多個輸入信號中選擇一個輸出,實現(xiàn)信號的靈活切換;編碼器和解碼器則用于實現(xiàn)信號的編碼和解碼功能,滿足不同的數(shù)字信號處理需求??删幊梯斎?輸出單元(I/O)是FPGA與外部設備進行數(shù)據(jù)交互的接口,它能夠根據(jù)用戶的需求進行配置,支持多種不同的電氣標準,如LVTTL(低電壓晶體管-晶體管邏輯)、LVCMOS(低電壓互補金屬氧化物半導體)、RSDS(減少擺幅差分信號)等,從而適應不同的應用場景和外部設備接口要求。內部總線則負責在FPGA內部各個模塊之間傳輸數(shù)據(jù)和控制信號,它的設計直接影響著FPGA的性能和數(shù)據(jù)傳輸效率。系統(tǒng)模塊包括時鐘管理單元、電源管理單元等,時鐘管理單元用于生成和管理FPGA內部的時鐘信號,確保各個模塊能夠在統(tǒng)一的時鐘同步下穩(wěn)定工作;電源管理單元則負責對FPGA的供電進行管理和優(yōu)化,降低功耗并保證芯片的正常運行。FPGA的工作原理基于查找表機制。當用戶通過硬件描述語言(如Verilog或VHDL)編寫程序來描述所需的數(shù)字電路功能時,開發(fā)工具會將這些程序轉換為一系列的查找表指令。這些指令被送入FPGA中的可編程邏輯塊后,F(xiàn)PGA根據(jù)指令來控制查找表進行運算。例如,當需要實現(xiàn)一個簡單的與門邏輯時,查找表中預先存儲的與門邏輯函數(shù)數(shù)據(jù)會被讀取,通過對輸入信號的匹配和查找,最終輸出相應的與門運算結果。由于查找表的運算速度極快,使得FPGA能夠實現(xiàn)高性能和低延遲的數(shù)字信號處理,這對于實時性要求較高的星點提取及星圖識別任務來說至關重要。與傳統(tǒng)的數(shù)字電路實現(xiàn)方式相比,F(xiàn)PGA具有諸多顯著特點。首先是靈活性高,用戶可以根據(jù)實際應用需求,通過編程對FPGA的硬件結構進行重新配置,實現(xiàn)各種不同的數(shù)字電路功能,無需像ASIC(專用集成電路)那樣進行復雜的掩膜制作過程,大大縮短了開發(fā)周期,降低了開發(fā)成本。其次,F(xiàn)PGA具有強大的并行處理能力,其內部眾多的邏輯單元可以同時進行多個任務的處理,能夠并行處理多個信號流,這使得它在處理大數(shù)據(jù)量和復雜算法時具有明顯優(yōu)勢,能夠顯著提高處理速度,滿足星圖數(shù)據(jù)處理對速度的嚴格要求。再者,F(xiàn)PGA具有可重構性,在系統(tǒng)運行過程中,可以根據(jù)不同的任務需求,對其邏輯功能進行重新配置,實現(xiàn)不同的算法和功能,這種特性為星點提取及星圖識別算法的優(yōu)化和升級提供了便利。此外,F(xiàn)PGA還具有低功耗的特點,相較于一些傳統(tǒng)的數(shù)字信號處理器件,它在工作時能夠根據(jù)實際需求動態(tài)地調整功耗,有效降低了能源消耗。在數(shù)字信號處理領域,F(xiàn)PGA的優(yōu)勢尤為突出。由于數(shù)字信號處理通常涉及大規(guī)模數(shù)據(jù)的處理和實時性要求較高的場景,F(xiàn)PGA的并行處理能力和高速度能夠更好地滿足這些需求。例如,在星圖數(shù)據(jù)處理中,需要對大量的像素點數(shù)據(jù)進行處理以提取星點信息,F(xiàn)PGA可以利用其并行處理能力,同時對多個像素點進行運算,大大提高了星點提取的速度。其靈活性和可重構性也使得它能夠根據(jù)不同的星點提取及星圖識別算法進行定制化設計,提升算法的運行效率和性能。通過對FPGA硬件資源的合理配置和優(yōu)化,可以實現(xiàn)高效的星點提取及星圖識別系統(tǒng),為航天和天文觀測領域提供強有力的技術支持。2.2星點提取算法原理星點提取作為星圖處理的關鍵步驟,其算法原理的深入理解對于實現(xiàn)高精度的星圖識別至關重要。目前,常見的星點提取算法主要包括基于閾值分割、基于形態(tài)學處理以及基于連通域標記等方法,每種算法都有其獨特的原理和適用場景。2.2.1基于閾值分割的星點提取算法基于閾值分割的星點提取算法是一種基礎且應用廣泛的方法,其核心原理是通過設定一個或多個閾值,將圖像中的像素點根據(jù)其灰度值劃分為不同的類別,從而實現(xiàn)星點與背景的分離。在星圖中,星點通常表現(xiàn)為灰度值較高的像素點,而背景的灰度值相對較低。通過設定一個合適的閾值,將灰度值大于該閾值的像素點判定為星點,小于閾值的像素點判定為背景,即可初步提取出星點。常見的閾值選取方法有全局閾值法和自適應閾值法。全局閾值法是對整幅星圖采用同一個閾值進行分割,這種方法簡單直觀,計算量較小,但對于背景灰度不均勻或星點亮度差異較大的星圖,分割效果往往不理想。例如,在一些包含不同星等星點的星圖中,由于亮星和暗星的灰度值范圍差異較大,采用單一的全局閾值可能會導致暗星被誤判為背景,或者背景中的噪聲被誤判為星點。自適應閾值法則是根據(jù)星圖的局部特征來動態(tài)地調整閾值,以適應不同區(qū)域的灰度變化。它通常將星圖劃分為多個小區(qū)域,針對每個小區(qū)域分別計算閾值。這樣可以更好地處理背景灰度不均勻的情況,提高星點提取的準確性。以基于大津法(OTSU)的自適應閾值分割為例,大津法是一種經典的自適應閾值選取算法,它的原理是通過最大化前景和背景之間的類間方差來確定最佳閾值。對于一幅星圖,大津法會遍歷所有可能的灰度值作為閾值,計算在該閾值下前景(星點)和背景的類間方差,類間方差最大時對應的閾值即為最佳閾值。這種方法能夠根據(jù)星圖的灰度分布自動找到一個合適的閾值,對于背景灰度變化較大的星圖具有較好的分割效果。假設一幅星圖中前景星點的平均灰度為\mu_0,像素點數(shù)占比為\omega_0;背景的平均灰度為\mu_1,像素點數(shù)占比為\omega_1,圖像的總平均灰度為\mu,類間方差g的計算公式為g=\omega_0(\mu_0-\mu)^2+\omega_1(\mu_1-\mu)^2。通過遍歷所有可能的閾值,找到使g最大的閾值,就可以實現(xiàn)星點與背景的有效分割。在實際應用中,對于一些包含較多噪聲的星圖,采用大津法能夠有效地提取出星點,同時減少噪聲的干擾。2.2.2基于形態(tài)學處理的星點提取算法基于形態(tài)學處理的星點提取算法是利用數(shù)學形態(tài)學的原理對星圖進行處理,通過形態(tài)學運算來增強星點特征、抑制背景噪聲,從而實現(xiàn)星點的提取。數(shù)學形態(tài)學是一種基于形狀和結構的圖像處理方法,它主要包括腐蝕、膨脹、開運算和閉運算等基本操作。腐蝕操作是將圖像中的目標物體(星點)進行收縮,其原理是用一個結構元素(如矩形、圓形等)對圖像進行掃描,當結構元素完全包含在目標物體內時,目標物體的對應像素點被保留,否則被刪除。在星點提取中,腐蝕操作可以去除星點周圍的一些小噪聲和孤立的像素點,使星點的形狀更加規(guī)則。例如,對于一個包含噪聲的星點圖像,經過腐蝕操作后,噪聲點可能會因為無法完全包含結構元素而被去除,從而使星點更加突出。膨脹操作則是將圖像中的目標物體進行擴張,它與腐蝕操作相反,是用結構元素對圖像進行掃描,當結構元素與目標物體有重疊部分時,目標物體的對應像素點被保留。在星點提取中,膨脹操作可以填補星點內部的一些小孔和空洞,使星點更加完整。比如,對于一些由于噪聲或其他原因導致內部有小孔的星點,經過膨脹操作后,小孔會被填充,星點的形狀更加連續(xù)。開運算和閉運算是由腐蝕和膨脹操作組合而成的復合運算。開運算先進行腐蝕操作,再進行膨脹操作,它可以去除圖像中的小物體和噪聲,同時保持大物體的形狀不變。在星點提取中,開運算常用于去除背景中的小噪聲和干擾,使星點更容易被識別。閉運算則先進行膨脹操作,再進行腐蝕操作,它可以填充物體內部的小孔和空洞,同時連接相鄰的物體。在星點提取中,閉運算常用于填補星點內部的缺陷和連接相鄰的星點。例如,對于一幅包含多個相鄰星點且星點內部有小孔的星圖,先進行閉運算可以填補星點內部的小孔并連接相鄰星點,再進行開運算可以去除背景中的噪聲,從而更準確地提取星點。2.2.3基于連通域標記的星點提取算法基于連通域標記的星點提取算法是通過對圖像中的連通區(qū)域進行標記和分析,將相互連接的像素點劃分為同一個連通域,從而識別出星點。在星圖中,星點通常表現(xiàn)為一個或多個連通的像素區(qū)域,通過對這些連通區(qū)域進行標記和特征分析,可以準確地提取出星點。該算法的基本步驟包括標記連通域和特征分析。在標記連通域階段,通常采用兩階段法(twopass)。第一階段從圖像的左上角開始遍歷,對于每個像素點,檢查其相鄰像素(通常是上、左相鄰像素)是否已經被標記。如果沒有相鄰像素被標記,則給該像素點賦予一個新的標號;如果有相鄰像素被標記,則將該像素點標記為與相鄰像素相同的標號。當遇到一個像素點的上、左相鄰像素都有不同標號時,將該像素點標記為較小的標號,并記錄兩個標號之間的等價關系。例如,對于一個二值星圖,從左上角開始遍歷,當遇到第一個星點像素時,由于其沒有相鄰標記像素,給它標記為1;接著遇到其右邊的像素,因為左邊像素已標記為1,所以也標記為1;當遇到下一行的一個像素,其左邊像素標記為1,上邊像素標記為2時,將該像素標記為1,并記錄2和1的等價關系。第二階段再次遍歷圖像,根據(jù)第一階段記錄的等價關系,將具有等價關系的標號合并為同一個標號。經過兩階段的標記,圖像中每個連通域都被賦予了唯一的標號,從而實現(xiàn)了連通域的標記。在特征分析階段,對每個標記的連通域計算其特征參數(shù),如質心坐標、面積、周長等。質心坐標是星點的重要特征,它可以通過計算連通域內所有像素點的坐標加權平均值得到。例如,對于一個連通域內的像素點(x_i,y_i),其灰度值為g_i,質心坐標(x_c,y_c)的計算公式為x_c=\frac{\sum_{i=1}^{n}x_ig_i}{\sum_{i=1}^{n}g_i},y_c=\frac{\sum_{i=1}^{n}y_ig_i}{\sum_{i=1}^{n}g_i},其中n為連通域內像素點的數(shù)量。通過這些特征參數(shù),可以篩選出符合星點特征的連通域,從而完成星點的提取。例如,可以根據(jù)面積和周長的范圍來排除一些小噪聲連通域和大的背景連通域,只保留面積和周長在合理范圍內的連通域作為星點。2.3星圖識別算法原理星圖識別算法作為實現(xiàn)航天器高精度姿態(tài)確定的關鍵技術之一,旨在通過對星敏感器獲取的星圖與預先存儲的導航星庫進行匹配,從而準確識別出星圖中的恒星,進而確定航天器的姿態(tài)。目前,常見的星圖識別算法主要包括三角形星圖識別算法和基于特征匹配的星圖識別算法等,每種算法都基于獨特的原理和策略來實現(xiàn)星圖的準確識別。2.3.1三角形星圖識別算法三角形星圖識別算法是一種經典且應用廣泛的星圖識別方法,其核心原理是利用星圖中星點之間的幾何關系,通過構建三角形來進行星圖匹配。在該算法中,首先需要從星圖中選取一定數(shù)量的星點作為參考星點。為了提高算法的準確性和可靠性,通常會優(yōu)先選擇亮度較高、分布較為均勻的星點作為參考星點。這些參考星點的選取對于后續(xù)三角形的構建以及星圖識別的精度至關重要。例如,在一幅包含眾多星點的星圖中,通過對星點亮度和分布的分析,選擇若干顆亮度明顯高于周圍星點且在星圖中分布較為均勻的星點作為參考星點,這樣可以確保構建的三角形具有較好的代表性和穩(wěn)定性。以這些參考星點為基礎,構建三角形。三角形的構建方式有多種,常見的是選取三個星點組成一個三角形。每個三角形都具有一些獨特的特征參數(shù),如邊長、內角等。這些特征參數(shù)是后續(xù)進行星圖匹配的重要依據(jù)。對于一個由三個星點A、B、C組成的三角形,其邊長可以通過兩點間的距離公式計算得出,假設星點A(x_1,y_1),B(x_2,y_2),則AB邊的長度d_{AB}=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2};內角可以通過余弦定理計算得到,如\angleA的余弦值\cosA=\frac{b^2+c^2-a^2}{2bc},其中a、b、c分別為三角形三邊的長度。通過精確計算這些特征參數(shù),可以準確地描述三角形的形狀和大小。在構建三角形后,將這些三角形的特征參數(shù)與導航星庫中預先存儲的三角形特征參數(shù)進行匹配。導航星庫是一個包含了大量已知恒星信息及其三角形特征參數(shù)的數(shù)據(jù)庫,它是星圖識別的重要參考依據(jù)。在匹配過程中,通過計算待識別星圖中三角形與導航星庫中三角形的特征參數(shù)之間的相似度,找到最匹配的三角形。例如,可以采用歐氏距離等方法來衡量兩個三角形特征參數(shù)之間的相似度。假設待識別三角形的特征參數(shù)向量為\vec{p}=[p_1,p_2,p_3],導航星庫中三角形的特征參數(shù)向量為\vec{q}=[q_1,q_2,q_3],則它們之間的歐氏距離d=\sqrt{(p_1-q_1)^2+(p_2-q_2)^2+(p_3-q_3)^2},距離越小,表示兩個三角形越相似。當找到最匹配的三角形后,就可以根據(jù)導航星庫中該三角形對應的恒星信息,確定待識別星圖中恒星的身份。三角形星圖識別算法的優(yōu)點在于其對星圖旋轉、平移和縮放具有一定的不變性。由于該算法主要依賴于星點之間的幾何關系,當星圖發(fā)生旋轉、平移或縮放時,三角形的邊長和內角等特征參數(shù)并不會發(fā)生改變,因此能夠保持較高的識別準確率。例如,當航天器在太空中發(fā)生姿態(tài)變化時,星敏感器獲取的星圖可能會發(fā)生旋轉和平移,但通過三角形星圖識別算法,依然可以準確地識別出星圖中的恒星。該算法的可靠性較高,在不同的觀測條件下都能保持相對穩(wěn)定的性能。然而,該算法也存在一些缺點,例如計算復雜度較高,在構建三角形和進行匹配的過程中,需要進行大量的數(shù)學計算,這會消耗較多的時間和計算資源;對星圖的噪聲較為敏感,當星圖中存在噪聲干擾時,可能會導致星點的誤識別,從而影響星圖識別的準確性。2.3.2基于特征匹配的星圖識別算法基于特征匹配的星圖識別算法是利用星圖中恒星的多種特征進行匹配識別的方法,這些特征包括星等、位置、顏色等。該算法通過綜合考慮這些特征,能夠更全面地描述恒星的特性,從而提高星圖識別的準確性。在基于特征匹配的星圖識別算法中,首先需要提取星圖中恒星的特征。星等是恒星亮度的一種度量,它反映了恒星的固有屬性。通過對星圖中恒星亮度的測量和計算,可以得到其星等信息。例如,采用點擴散函數(shù)(PSF)擬合等方法,可以精確測量恒星的亮度,并根據(jù)亮度與星等的轉換關系計算出星等。位置信息則是指恒星在星圖中的坐標,通過星點提取算法得到的星點質心坐標,就可以確定恒星在星圖中的位置。顏色信息可以通過對不同波段的星圖進行分析得到,不同顏色的恒星往往具有不同的物理特性,這也為星圖識別提供了重要的特征依據(jù)。在提取特征后,將這些特征與導航星庫中的特征進行匹配。匹配的過程通常采用一些相似度度量方法,如歐氏距離、余弦相似度等。以歐氏距離為例,假設待識別恒星的特征向量為\vec{f}=[f_1,f_2,f_3],導航星庫中恒星的特征向量為\vec{g}=[g_1,g_2,g_3],其中f_1、f_2、f_3分別表示待識別恒星的星等、位置、顏色等特征參數(shù),g_1、g_2、g_3表示導航星庫中對應恒星的特征參數(shù),則它們之間的歐氏距離d=\sqrt{(f_1-g_1)^2+(f_2-g_2)^2+(f_3-g_3)^2}。通過計算待識別恒星與導航星庫中所有恒星的特征向量之間的歐氏距離,找到距離最小的恒星,即認為是匹配的恒星。余弦相似度則是通過計算兩個特征向量之間的夾角余弦值來衡量它們的相似度,余弦值越接近1,表示兩個向量越相似,即對應的恒星越匹配?;谔卣髌ヅ涞男菆D識別算法的優(yōu)點是能夠充分利用恒星的多種特征,提高識別的準確性。在復雜的星圖環(huán)境中,僅依靠單一特征進行識別可能會出現(xiàn)誤判的情況,而綜合考慮多種特征可以降低這種風險。例如,在一些星圖中,可能存在亮度相近的恒星,但它們的顏色或位置特征可能存在差異,通過綜合考慮這些特征,就可以準確地區(qū)分它們。該算法對星圖的完整性要求相對較低,即使星圖中存在部分遮擋或缺失,只要剩余部分的特征能夠與導航星庫中的特征進行有效匹配,就可以實現(xiàn)星圖識別。然而,該算法也存在一些不足之處,例如特征提取的準確性對識別結果影響較大,如果在特征提取過程中出現(xiàn)誤差,可能會導致匹配錯誤。星等測量的精度受到星圖噪聲、曝光時間等因素的影響,位置提取的準確性與星點提取算法的性能有關。算法的計算復雜度也較高,尤其是在處理大量恒星特征時,匹配過程需要消耗較多的時間和計算資源。三、基于FPGA的星點提取算法設計與實現(xiàn)3.1算法設計思路在設計基于FPGA的星點提取算法時,充分考慮FPGA的并行處理特點,以實現(xiàn)高效、快速的星點提取。傳統(tǒng)的星點提取算法,如基于閾值分割、形態(tài)學處理和連通域標記的方法,雖然在一定程度上能夠完成星點提取任務,但在面對復雜星圖和實時性要求較高的場景時,往往存在計算效率低、資源消耗大等問題。因此,本研究提出一種改進游程編碼算法,以提升星點提取的性能。改進游程編碼算法的核心在于對傳統(tǒng)游程編碼算法在連通域標記過程的優(yōu)化。傳統(tǒng)游程編碼算法在處理星圖時,通常需要多次輪詢游程編碼來進行等價表的標號合并,這一過程不僅耗時較長,而且增加了算法的復雜度。而改進后的算法結合星點目標特點與FPGA的并行處理能力,對連通域標記流程進行了重新設計。在改進游程編碼算法中,首先對星圖進行逐行掃描。在掃描過程中,利用FPGA的并行處理單元,同時對多個像素點進行處理。對于每個像素點,根據(jù)其灰度值與預設閾值的比較結果,判斷其是否屬于星點。若像素點的灰度值大于閾值,則將其視為星點的一部分,并對其進行標記。在標記過程中,不再像傳統(tǒng)算法那樣等待整行掃描結束后進行標號合并,而是在掃描當前行的同時,利用FPGA的并行邏輯,實時地對當前行與上一行的標記信息進行處理,實現(xiàn)標號的合并。例如,當掃描到第m行的某個像素點時,通過并行邏輯快速獲取上一行對應位置及其相鄰像素點的標號信息,根據(jù)預先設定的標記規(guī)則,確定當前像素點的標號。如果當前像素點與上一行相鄰像素點屬于同一個連通域,則將它們標記為相同的標號;如果當前像素點是一個新連通域的起始點,則賦予它一個新的標號。這種實時的標號合并方式,避免了傳統(tǒng)算法中多次輪詢游程編碼進行標號合并的繁瑣過程,大大提高了算法的執(zhí)行效率。在處理完一行像素后,將該行的標記結果存儲到FPGA的片上存儲器中。為了充分利用FPGA的并行存儲特性,采用雙端口RAM或多端口RAM來存儲標記結果,以便在后續(xù)的處理中能夠快速讀取和更新數(shù)據(jù)。在完成整幅星圖的掃描后,所有星點的連通域已經被準確標記。此時,根據(jù)標記結果,計算每個連通域的質心坐標,從而完成星點的提取。質心坐標的計算采用基于灰度的質心法,即通過對連通域內所有像素點的坐標和灰度值進行加權求和,再除以連通域內像素點的總灰度值,得到質心的坐標。例如,對于一個連通域內的像素點(x_i,y_i),其灰度值為g_i,質心坐標(x_c,y_c)的計算公式為x_c=\frac{\sum_{i=1}^{n}x_ig_i}{\sum_{i=1}^{n}g_i},y_c=\frac{\sum_{i=1}^{n}y_ig_i}{\sum_{i=1}^{n}g_i},其中n為連通域內像素點的數(shù)量。在計算質心坐標時,利用FPGA的并行計算資源,同時對多個連通域進行計算,進一步提高了星點提取的速度。除了改進游程編碼算法,還考慮結合其他圖像處理技術,以提高星點提取的準確性。在星圖預處理階段,采用自適應中值濾波算法去除噪聲,該算法能夠根據(jù)圖像局部特征自適應地調整濾波窗口大小,在有效去除噪聲的同時,更好地保留星點的細節(jié)信息。在閾值分割階段,采用基于局部熵的自適應閾值算法,根據(jù)星圖不同區(qū)域的熵值自動調整閾值,以適應星圖背景灰度不均勻的情況,提高星點與背景的分離效果。通過這些技術的綜合應用,進一步提升了基于FPGA的星點提取算法的性能,使其能夠在復雜的星圖環(huán)境下準確、快速地提取星點。3.2硬件實現(xiàn)方案基于FPGA實現(xiàn)星點提取算法,需要構建合理的硬件架構,以充分發(fā)揮FPGA的并行處理能力,提高星點提取的效率和速度。硬件架構主要包括圖像采集模塊、預處理模塊、星點提取模塊、存儲模塊以及控制模塊等部分,各模塊之間協(xié)同工作,實現(xiàn)星點提取的功能。在圖像采集模塊中,選用CMOS圖像傳感器作為星圖采集設備,其具有高靈敏度、低噪聲、高速數(shù)據(jù)傳輸?shù)葍?yōu)點,能夠滿足星點提取對圖像質量和數(shù)據(jù)采集速度的要求。例如,某型號的CMOS圖像傳感器,其像素分辨率可達1280×1024,幀率為30fps,能夠快速、準確地采集星圖圖像。該圖像傳感器通過LVDS(低壓差分信號)接口與FPGA相連,LVDS接口具有高速、低功耗、抗干擾能力強等特點,能夠保證圖像數(shù)據(jù)在傳輸過程中的準確性和穩(wěn)定性。在數(shù)據(jù)傳輸過程中,F(xiàn)PGA通過配置圖像傳感器的控制寄存器,實現(xiàn)對圖像采集的參數(shù)設置,如曝光時間、增益等,以適應不同的觀測環(huán)境。例如,在低光照條件下,可以適當增加曝光時間和增益,提高圖像的亮度和對比度,從而更清晰地采集星圖。預處理模塊主要負責對采集到的星圖進行噪聲去除和灰度變換等操作,以提高星圖的質量,為后續(xù)的星點提取提供更好的基礎。采用中值濾波算法去除噪聲,中值濾波是一種非線性濾波方法,它能夠有效地去除圖像中的椒鹽噪聲和脈沖噪聲,同時保留圖像的邊緣和細節(jié)信息。在FPGA實現(xiàn)中,利用FPGA的并行處理能力,設計并行中值濾波電路,提高濾波速度。例如,對于一個3×3的中值濾波窗口,可以同時對9個像素點進行處理,通過比較這些像素點的灰度值,選取中間值作為濾波后的輸出?;叶茸儞Q則采用線性拉伸算法,將圖像的灰度值范圍拉伸到0-255之間,增強圖像的對比度。在FPGA中,通過查找表(LUT)的方式實現(xiàn)線性拉伸算法,預先將灰度變換的映射關系存儲在LUT中,在處理圖像時,直接通過查找LUT得到變換后的灰度值,提高處理速度。星點提取模塊是硬件架構的核心部分,負責實現(xiàn)改進游程編碼的星點提取算法。在該模塊中,根據(jù)改進游程編碼算法的流程,設計相應的硬件邏輯電路。利用FPGA的查找表(LUT)資源實現(xiàn)像素點的標記和標號合并邏輯。例如,將標記規(guī)則和標號合并規(guī)則以邏輯表達式的形式存儲在LUT中,當輸入像素點的灰度值和上一行相鄰像素點的標號信息時,LUT能夠快速輸出當前像素點的標號。利用FPGA的寄存器資源存儲中間計算結果,如當前行的標記結果、等價表等,保證數(shù)據(jù)在處理過程中的穩(wěn)定性和準確性。在計算質心坐標時,采用流水線結構設計質心計算電路,將質心計算過程分為多個階段,每個階段并行處理不同的連通域,提高質心計算的速度。例如,在一個階段中,同時對多個連通域的像素坐標和灰度值進行累加;在另一個階段中,根據(jù)累加結果計算質心坐標。通過這種流水線結構,能夠在短時間內完成大量星點質心坐標的計算。存儲模塊用于存儲星圖數(shù)據(jù)、中間計算結果以及最終的星點提取結果。采用片上BRAM(塊隨機存取存儲器)和片外DDRSDRAM(雙倍數(shù)據(jù)速率同步動態(tài)隨機存取存儲器)相結合的方式。片上BRAM具有高速讀寫的特點,用于存儲當前正在處理的星圖數(shù)據(jù)和中間計算結果,如當前行的像素數(shù)據(jù)、標記結果等,能夠滿足FPGA對數(shù)據(jù)讀寫速度的要求。例如,對于一幅1280×1024的星圖,在處理過程中,可以將當前行的1280個像素數(shù)據(jù)存儲在片上BRAM中,方便后續(xù)的處理。片外DDRSDRAM則具有大容量的特點,用于存儲整幅星圖數(shù)據(jù)和最終的星點提取結果,以便后續(xù)的星圖識別和姿態(tài)解算等處理。在數(shù)據(jù)存儲和讀取過程中,通過合理的地址映射和緩存機制,提高數(shù)據(jù)的訪問效率。例如,采用分頁存儲的方式,將星圖數(shù)據(jù)分為多個頁面存儲在DDRSDRAM中,在讀取數(shù)據(jù)時,根據(jù)頁面地址快速定位到所需的數(shù)據(jù)。控制模塊負責協(xié)調各個模塊之間的工作,實現(xiàn)數(shù)據(jù)的流向控制和時序控制。采用狀態(tài)機的方式設計控制模塊,根據(jù)星點提取的流程,定義不同的狀態(tài),如初始化狀態(tài)、圖像采集狀態(tài)、預處理狀態(tài)、星點提取狀態(tài)、存儲狀態(tài)等。在不同的狀態(tài)下,控制模塊向相應的模塊發(fā)送控制信號,實現(xiàn)模塊之間的協(xié)同工作。例如,在圖像采集狀態(tài)下,控制模塊向CMOS圖像傳感器發(fā)送采集指令,啟動圖像采集過程;在預處理狀態(tài)下,控制模塊向預處理模塊發(fā)送處理指令,啟動噪聲去除和灰度變換等操作??刂颇K還負責產生時鐘信號,為各個模塊提供統(tǒng)一的時鐘基準,保證系統(tǒng)的時序穩(wěn)定性。通過合理的時鐘分頻和相位調整,滿足不同模塊對時鐘頻率和相位的要求。例如,對于星點提取模塊中的流水線結構,通過時鐘分頻為不同的階段提供合適的時鐘頻率,保證流水線的正常運行。在硬件實現(xiàn)過程中,需要合理分配FPGA的資源,以確保系統(tǒng)的性能和穩(wěn)定性。根據(jù)算法的需求和FPGA的資源特點,對邏輯資源、存儲資源和時鐘資源等進行優(yōu)化配置。在邏輯資源分配方面,優(yōu)先保證星點提取模塊和控制模塊的資源需求,合理分配查找表(LUT)、寄存器等資源,提高邏輯電路的運行效率。在存儲資源分配方面,根據(jù)數(shù)據(jù)的讀寫速度和存儲容量需求,合理分配片上BRAM和片外DDRSDRAM的資源,確保數(shù)據(jù)的存儲和訪問效率。在時鐘資源分配方面,根據(jù)不同模塊的時鐘頻率需求,合理分配時鐘資源,通過時鐘管理單元(CMU)實現(xiàn)時鐘的分頻、倍頻和相位調整等功能,保證系統(tǒng)的時序穩(wěn)定性。通過對FPGA資源的合理分配和優(yōu)化配置,能夠提高系統(tǒng)的性能和可靠性,實現(xiàn)高效的星點提取功能。3.3算法優(yōu)化策略在基于FPGA實現(xiàn)星點提取算法的過程中,為了進一步提升系統(tǒng)性能,減少資源占用并提高處理速度,采用了一系列有效的算法優(yōu)化策略,主要包括流水線設計、并行計算以及資源優(yōu)化配置等方面。流水線設計是提高算法處理速度的重要手段之一。在星點提取算法中,將整個處理流程劃分為多個階段,每個階段完成特定的功能,并且各個階段可以并行執(zhí)行。以改進游程編碼的星點提取算法為例,可將其劃分為圖像讀取、像素標記、標號合并、質心計算等階段。在圖像讀取階段,通過FPGA的高速接口快速讀取星圖數(shù)據(jù);像素標記階段利用查找表(LUT)實現(xiàn)像素點的快速標記;標號合并階段則根據(jù)標記規(guī)則實時進行標號合并;質心計算階段采用并行結構計算各個星點的質心坐標。每個階段之間通過寄存器進行數(shù)據(jù)傳遞,保證數(shù)據(jù)的穩(wěn)定傳輸。例如,在一個8級流水線設計中,當?shù)谝患壵谧x取圖像數(shù)據(jù)時,第二級可以同時進行像素標記,第三級進行標號合并,以此類推。這樣,在每個時鐘周期內,都有不同階段的操作在同時進行,大大提高了數(shù)據(jù)處理的吞吐量。假設傳統(tǒng)的非流水線實現(xiàn)方式處理一幅星圖需要T個時鐘周期,采用8級流水線設計后,理論上處理一幅星圖的時間可以縮短至T/8(忽略流水線寄存器的延遲),從而顯著提高了星點提取的速度。并行計算是充分發(fā)揮FPGA硬件優(yōu)勢的關鍵策略。FPGA內部具有大量的可配置邏輯單元,能夠同時處理多個數(shù)據(jù)。在星點提取算法中,利用FPGA的并行計算能力,對多個像素點或多個連通域進行同時處理。在像素標記過程中,將星圖劃分為多個子區(qū)域,每個子區(qū)域分配一組并行處理單元,這些處理單元可以同時對各自子區(qū)域內的像素點進行標記。例如,對于一幅1280×1024的星圖,將其劃分為16個160×64的子區(qū)域,每個子區(qū)域由一個并行處理模塊負責處理,這樣可以在同一時間內對多個子區(qū)域的像素點進行標記,大大提高了標記的速度。在質心計算階段,同樣可以采用并行計算的方式,多個質心計算模塊同時對不同的連通域進行質心計算。假設每個質心計算模塊處理一個連通域需要t個時鐘周期,若有n個連通域,采用串行計算方式需要n\timest個時鐘周期,而采用并行計算方式,當并行處理模塊數(shù)量為n時,僅需要t個時鐘周期即可完成所有連通域的質心計算,計算速度得到了極大提升。資源優(yōu)化配置是在保證算法性能的前提下,合理利用FPGA資源,減少資源浪費。在硬件實現(xiàn)過程中,對邏輯資源、存儲資源和時鐘資源等進行優(yōu)化配置。在邏輯資源方面,通過優(yōu)化邏輯電路結構,減少不必要的邏輯門和寄存器使用。例如,在標號合并邏輯中,采用優(yōu)化的狀態(tài)機設計,減少狀態(tài)轉換過程中的冗余邏輯,從而降低對邏輯資源的需求。在存儲資源方面,合理分配片上BRAM和片外DDRSDRAM的存儲空間。對于頻繁訪問的中間計算結果,如當前行的標記結果、等價表等,存儲在片上BRAM中,以提高訪問速度;而對于整幅星圖數(shù)據(jù)和最終的星點提取結果,存儲在片外DDRSDRAM中,以充分利用其大容量的特點。通過合理的地址映射和緩存機制,提高存儲資源的利用率。在時鐘資源方面,根據(jù)不同模塊的時鐘頻率需求,合理分配時鐘資源。對于對時鐘頻率要求較高的模塊,如像素標記和標號合并模塊,提供較高頻率的時鐘信號;對于對時鐘頻率要求相對較低的模塊,如存儲模塊,提供較低頻率的時鐘信號,以降低功耗并保證系統(tǒng)的時序穩(wěn)定性。通過這些資源優(yōu)化配置措施,在滿足算法性能要求的同時,有效減少了FPGA資源的占用,降低了硬件成本。四、基于FPGA的星圖識別算法設計與實現(xiàn)4.1算法設計思路在設計基于FPGA的星圖識別算法時,充分考慮FPGA的并行處理優(yōu)勢,旨在實現(xiàn)快速、準確的星圖識別。三角形星圖識別算法作為一種經典算法,雖原理簡單且易于實現(xiàn),但在處理復雜星圖時存在導航星庫過大、冗余匹配等問題,導致識別速度較慢,難以滿足實時性要求。因此,本研究對傳統(tǒng)三角形星圖識別算法進行改進,以提升算法性能。改進后的算法首先對星圖進行預處理,利用FPGA的并行處理能力,采用中值濾波算法去除星圖中的噪聲,提高星圖質量。在中值濾波過程中,將星圖劃分為多個小區(qū)域,每個區(qū)域內的像素點并行進行中值計算,從而加快濾波速度。例如,對于一個3×3的中值濾波窗口,利用FPGA的并行邏輯,同時對窗口內的9個像素點進行處理,通過比較這些像素點的灰度值,選取中間值作為濾波后的輸出。經過中值濾波后,星圖中的噪聲得到有效抑制,為后續(xù)的星圖識別提供了更清晰的圖像基礎。在星點提取階段,結合改進游程編碼算法,快速準確地提取星圖中的星點質心坐標和星等信息。如前文所述,改進游程編碼算法通過優(yōu)化連通域標記過程,減少了傳統(tǒng)算法中多次輪詢游程編碼進行標號合并的繁瑣過程,利用FPGA的并行處理能力,在掃描星圖的同時實時進行標號合并,大大提高了星點提取的速度。在提取星點質心坐標時,采用基于灰度的質心法,通過對連通域內所有像素點的坐標和灰度值進行加權求和,再除以連通域內像素點的總灰度值,得到質心的坐標。在計算過程中,利用FPGA的并行計算資源,同時對多個連通域進行質心計算,進一步提高了計算效率。對于星等信息的提取,通過對星點的亮度進行測量和計算,得到其星等信息。采用點擴散函數(shù)(PSF)擬合等方法,精確測量星點的亮度,并根據(jù)亮度與星等的轉換關系計算出星等。在構建三角形時,為了減少冗余匹配,提高匹配效率,采用基于星等和位置信息的三角形構建策略。優(yōu)先選擇亮度較高、分布較為均勻的星點作為三角形的頂點。通過對星點的星等和位置信息進行綜合分析,篩選出具有代表性的星點。例如,在一幅星圖中,首先根據(jù)星等信息,選擇星等較?。戳炼容^高)的星點作為候選星點。然后,考慮候選星點在星圖中的位置分布,選擇分布較為均勻的星點構建三角形。這樣構建的三角形能夠更好地代表星圖的特征,減少冗余匹配的可能性。同時,為了提高算法的適應性,根據(jù)星圖的實際情況,動態(tài)調整三角形的邊長和內角的匹配閾值。在星圖中星點分布較為密集時,適當減小匹配閾值,以提高匹配的準確性;在星點分布較為稀疏時,適當增大匹配閾值,以增加匹配的成功率。在匹配階段,利用FPGA的并行計算資源,將星圖劃分為多個子區(qū)域,每個子區(qū)域并行進行三角形匹配。將一幅星圖劃分為四個子區(qū)域,每個子區(qū)域分配一組并行處理單元,這些處理單元同時對各自子區(qū)域內的三角形與導航星庫中的三角形進行匹配。在匹配過程中,采用快速匹配算法,如哈希查找算法,提高匹配速度。哈希查找算法通過將三角形的特征參數(shù)(如邊長、內角等)映射到哈希表中,實現(xiàn)快速查找匹配的三角形。例如,將三角形的邊長和內角作為哈希函數(shù)的輸入,計算出對應的哈希值,通過查找哈希表,快速找到與待匹配三角形特征相似的三角形。通過這種并行匹配和快速查找的方式,大大縮短了星圖識別的時間,提高了識別效率。為了進一步提高星圖識別的準確性,在匹配過程中加入校驗環(huán)節(jié)。當找到匹配的三角形后,通過計算其他相關特征,如星點之間的角距、星等差異等,對匹配結果進行校驗。如果校驗結果不滿足預設條件,則認為匹配失敗,重新進行匹配。假設匹配得到的三角形中,某兩個星點之間的角距與導航星庫中對應星點的角距差異超過一定閾值,或者星等差異過大,則認為匹配結果可能有誤,需要重新進行匹配。通過這種校驗機制,可以有效降低誤匹配的概率,提高星圖識別的準確率。4.2硬件實現(xiàn)方案基于FPGA實現(xiàn)星圖識別算法的硬件平臺設計,需綜合考慮算法特點與FPGA資源特性,以構建高效、穩(wěn)定的系統(tǒng)架構,實現(xiàn)星圖的快速準確識別。硬件實現(xiàn)方案主要涵蓋存儲結構設計和計算模塊設計兩大部分。4.2.1存儲結構設計存儲結構在星圖識別硬件系統(tǒng)中起著關鍵作用,負責存儲星圖數(shù)據(jù)、導航星庫以及中間計算結果等重要信息。為滿足星圖識別對數(shù)據(jù)存儲和讀取的不同需求,采用片上BRAM(塊隨機存取存儲器)和片外DDRSDRAM(雙倍數(shù)據(jù)速率同步動態(tài)隨機存取存儲器)相結合的存儲結構。片上BRAM具有高速讀寫的特性,其讀寫速度能夠與FPGA的高速邏輯處理能力相匹配。在星圖識別過程中,對于實時性要求極高的中間計算結果,如星點提取階段得到的星點質心坐標和星等信息,以及在三角形匹配過程中臨時生成的三角形特征參數(shù)等,將其存儲在片上BRAM中。這使得FPGA能夠在極短的時間內讀取和更新這些數(shù)據(jù),為后續(xù)的計算和處理提供快速的數(shù)據(jù)支持。例如,在一個時鐘周期內,F(xiàn)PGA可以快速從片上BRAM中讀取星點質心坐標,用于構建三角形和進行匹配計算,大大提高了數(shù)據(jù)處理的效率。片上BRAM還可用于存儲部分常用的導航星庫數(shù)據(jù)。通過合理的地址映射和緩存機制,將頻繁訪問的導航星信息存儲在片上BRAM中,減少對片外存儲的訪問次數(shù),進一步提高數(shù)據(jù)訪問速度。例如,根據(jù)星圖的視場范圍和常見的星點分布區(qū)域,將該區(qū)域內對應的導航星數(shù)據(jù)預先存儲在片上BRAM中,當進行星圖識別時,可以快速從片上BRAM中獲取相關導航星信息進行匹配。片外DDRSDRAM則以其大容量的優(yōu)勢,承擔著存儲完整導航星庫和原始星圖數(shù)據(jù)的重任。導航星庫包含了大量的恒星信息,其數(shù)據(jù)量龐大,片上BRAM難以滿足存儲需求,因此將其存儲在片外DDRSDRAM中。原始星圖數(shù)據(jù)也同樣占用較大的存儲空間,片外DDRSDRAM能夠提供足夠的空間來存儲這些數(shù)據(jù)。在數(shù)據(jù)讀取和寫入過程中,通過優(yōu)化的存儲管理策略,提高片外DDRSDRAM的訪問效率。采用分頁存儲的方式,將導航星庫和星圖數(shù)據(jù)分成多個頁面存儲在DDRSDRAM中,在讀取數(shù)據(jù)時,根據(jù)頁面地址快速定位到所需的數(shù)據(jù)。利用緩存技術,將最近訪問的數(shù)據(jù)緩存到片上BRAM或FPGA的高速緩存中,減少對片外DDRSDRAM的訪問延遲。例如,當需要讀取導航星庫中的某顆恒星信息時,首先檢查片上緩存中是否存在該數(shù)據(jù),如果存在則直接讀取,否則根據(jù)分頁地址從片外DDRSDRAM中讀取,并將其緩存到片上,以便后續(xù)訪問。為了確保存儲結構的高效運行,還需設計合理的存儲管理模塊。該模塊負責對片上BRAM和片外DDRSDRAM進行統(tǒng)一的管理和調度,包括地址分配、數(shù)據(jù)讀寫控制、緩存管理等功能。在地址分配方面,根據(jù)數(shù)據(jù)的類型和訪問頻率,合理分配片上BRAM和片外DDRSDRAM的地址空間。對于中間計算結果,分配片上BRAM的地址空間,以確保高速訪問;對于導航星庫和原始星圖數(shù)據(jù),分配片外DDRSDRAM的地址空間,以充分利用其大容量。在數(shù)據(jù)讀寫控制方面,根據(jù)星圖識別算法的流程,協(xié)調數(shù)據(jù)的讀寫操作,確保數(shù)據(jù)的一致性和完整性。在緩存管理方面,采用先進的緩存替換算法,如最近最少使用(LRU)算法,確保緩存中始終存儲著最常用的數(shù)據(jù),提高緩存的命中率。例如,當緩存已滿,需要寫入新的數(shù)據(jù)時,根據(jù)LRU算法,將最近最少使用的數(shù)據(jù)替換出去,為新數(shù)據(jù)騰出空間。4.2.2計算模塊設計計算模塊是星圖識別硬件系統(tǒng)的核心部分,負責執(zhí)行星圖識別算法中的各種計算任務,如星點提取、三角形構建、匹配計算等。為充分發(fā)揮FPGA的并行處理能力,采用并行流水線結構設計計算模塊。在星點提取階段,如前文所述,利用改進游程編碼算法,通過FPGA的并行邏輯實現(xiàn)快速的星點質心坐標和星等信息提取。將星圖劃分為多個子區(qū)域,每個子區(qū)域分配一組并行處理單元,這些處理單元同時對各自子區(qū)域內的像素點進行處理,實現(xiàn)星點的快速標記和質心計算。在一個處理單元中,利用查找表(LUT)實現(xiàn)像素點的快速標記,通過并行計算多個像素點的標記結果,提高標記速度。在計算質心坐標時,采用并行結構,同時對多個連通域進行質心計算,加快質心計算的速度。通過流水線設計,將星點提取過程分為圖像讀取、像素標記、標號合并、質心計算等多個階段,每個階段并行執(zhí)行,提高數(shù)據(jù)處理的吞吐量。在一個時鐘周期內,第一級流水線進行圖像讀取,第二級流水線進行像素標記,第三級流水線進行標號合并,第四級流水線進行質心計算,使得在每個時鐘周期都有不同階段的操作在同時進行,大大提高了星點提取的速度。在三角形構建階段,根據(jù)基于星等和位置信息的三角形構建策略,利用FPGA的并行處理能力,同時對多個星點進行分析和篩選,快速構建三角形。將星點質心坐標和星等信息作為輸入,通過并行計算多個星點之間的距離和角度關系,篩選出亮度較高、分布較為均勻的星點作為三角形的頂點。在構建三角形時,利用查找表(LUT)存儲常用的幾何計算函數(shù),如距離計算、角度計算等,通過查找LUT快速計算三角形的邊長和內角等特征參數(shù)。利用流水線設計,將三角形構建過程分為星點篩選、特征計算、三角形生成等多個階段,每個階段并行執(zhí)行,提高三角形構建的速度。在一個時鐘周期內,第一級流水線進行星點篩選,第二級流水線進行特征計算,第三級流水線進行三角形生成,使得在每個時鐘周期都有不同階段的操作在同時進行,加快了三角形構建的過程。在匹配階段,利用FPGA的并行計算資源,將星圖劃分為多個子區(qū)域,每個子區(qū)域并行進行三角形匹配。將一幅星圖劃分為四個子區(qū)域,每個子區(qū)域分配一組并行處理單元,這些處理單元同時對各自子區(qū)域內的三角形與導航星庫中的三角形進行匹配。在匹配過程中,采用哈希查找算法提高匹配速度。通過將三角形的特征參數(shù)(如邊長、內角等)映射到哈希表中,實現(xiàn)快速查找匹配的三角形。利用流水線設計,將匹配過程分為三角形特征提取、哈希表查找、匹配結果驗證等多個階段,每個階段并行執(zhí)行,提高匹配的效率。在一個時鐘周期內,第一級流水線進行三角形特征提取,第二級流水線進行哈希表查找,第三級流水線進行匹配結果驗證,使得在每個時鐘周期都有不同階段的操作在同時進行,大大縮短了星圖識別的時間。為了進一步提高計算模塊的性能,還需對計算模塊進行優(yōu)化設計。采用優(yōu)化的算法和數(shù)據(jù)結構,減少計算量和存儲需求。在三角形匹配過程中,采用快速匹配算法,如基于哈希表的快速匹配算法,減少匹配過程中的計算量。合理分配FPGA的邏輯資源,確保各個計算模塊都能得到足夠的資源支持。在設計計算模塊時,根據(jù)算法的需求,合理分配查找表(LUT)、寄存器、乘法器等邏輯資源,提高邏輯電路的運行效率。通過時鐘管理,優(yōu)化時鐘信號的分配和頻率設置,確保各個計算模塊在穩(wěn)定的時鐘信號下高效運行。根據(jù)不同計算模塊的時鐘頻率需求,合理分配時鐘資源,對于對時鐘頻率要求較高的模塊,如星點提取和三角形構建模塊,提供較高頻率的時鐘信號;對于對時鐘頻率要求相對較低的模塊,如匹配結果驗證模塊,提供較低頻率的時鐘信號,以降低功耗并保證系統(tǒng)的時序穩(wěn)定性。4.3算法優(yōu)化策略為進一步提升基于FPGA的星圖識別算法性能,滿足航天和天文觀測領域對高精度、實時性的嚴格要求,從多個方面采取了有效的算法優(yōu)化策略。4.3.1減少導航星庫存儲容量導航星庫作為星圖識別的重要參考依據(jù),其存儲容量對系統(tǒng)的硬件資源占用和運行效率有著顯著影響。傳統(tǒng)的星圖識別算法往往需要龐大的導航星庫來保證識別的準確性,這不僅增加了硬件存儲的成本和復雜度,還會降低星圖識別的速度。因此,采用基于特征篩選的導航星庫構建方法,以減少導航星庫的存儲容量。在構建導航星庫時,不再將所有恒星信息都納入其中,而是通過對恒星特征的深入分析和篩選,選取具有代表性的恒星。利用恒星的星等和位置信息,篩選出亮度較高、分布較為均勻的恒星作為導航星。亮度較高的恒星在星圖中更容易被識別和定位,而分布均勻的恒星能夠更好地覆蓋整個天球,提高星圖識別的準確性。通過對星等和位置信息的綜合分析,確定一個合適的篩選閾值。例如,設定星等閾值為6等,只選取星等小于6等的恒星作為候選導航星;同時,根據(jù)星圖的視場范圍和分辨率,確定恒星在天球上的分布間隔,選取分布間隔合適的恒星,以保證導航星在天球上的均勻分布。這樣可以在保證星圖識別準確性的前提下,大大減少導航星的數(shù)量,從而降低導航星庫的存儲容量。采用哈希表等數(shù)據(jù)結構對導航星庫進行優(yōu)化存儲。哈希表是一種基于哈希函數(shù)的數(shù)據(jù)結構,它能夠通過哈希函數(shù)將導航星的特征信息映射到一個固定大小的表中,實現(xiàn)快速的查找和訪問。在導航星庫中,將恒星的星等、位置等特征信息作為哈希函數(shù)的輸入,計算出對應的哈希值,將導航星的詳細信息存儲在哈希表中。當進行星圖識別時,根據(jù)待匹配恒星的特征信息計算哈希值,通過哈希值快速查找導航星庫中的對應信息,大大提高了查找速度。哈希表的存儲方式還可以減少數(shù)據(jù)的冗余存儲,進一步降低導航星庫的存儲容量。例如,對于兩顆特征信息相近的恒星,它們在哈希表中的哈希值也相近,通過合理的哈希函數(shù)設計,可以將它們存儲在相鄰的位置,減少存儲空間的浪費。4.3.2優(yōu)化匹配算法匹配算法是星圖識別的核心環(huán)節(jié)之一,其性能直接影響星圖識別的速度和準確性。傳統(tǒng)的匹配算法在處理復雜星圖時,往往存在計算量大、匹配速度慢等問題。因此,采用基于哈希查找的快速匹配算法,以提高匹配速度。在基于哈希查找的匹配算法中,首先將導航星庫中的三角形特征參數(shù)進行哈希處理。將三角形的邊長、內角等特征參數(shù)作為哈希函數(shù)的輸入,計算出對應的哈希值,將三角形的詳細信息(包括頂點星點的坐標、星等以及對應的導航星編號等)存儲在哈希表中。在進行星圖識別時,對待識別星圖中的三角形也進行相同的哈希處理,計算出其哈希值。根據(jù)哈希值在哈希表中快速查找與之匹配的三角形。由于哈希查找的時間復雜度較低,通??梢栽诔?shù)時間內完成查找操作,因此大大提高了匹配速度。例如,在傳統(tǒng)的線性查找匹配算法中,需要逐個比較待識別三角形與導航星庫中的所有三角形,時間復雜度為O(n),其中n為導航星庫中三角形的數(shù)量;而采用哈希查找算法后,時間復雜度可以降低到O(1),在處理大規(guī)模導航星庫時,匹配速度的提升效果尤為顯著。為了進一步提高匹配的準確性,在匹配過程中加入了星等校驗環(huán)節(jié)。星等作為恒星的重要特征之一,在星圖識別中具有重要的參考價值。當找到與待識別三角形哈希值匹配的三角形后,進一步比較它們的星等信息。計算待識別三角形頂點星點的星等與導航星庫中對應三角形頂點星點星等的差異。如果星等差異在預設的閾值范圍內,則認為匹配成功;如果星等差異超出閾值,則認為匹配失敗,需要重新進行匹配。通過加入星等校驗環(huán)節(jié),可以有效排除一些誤匹配的情況,提高星圖識別的準確率。例如,設定星等差異閾值為0.5等,當待識別三角形頂點星點的星等與導航星庫中對應星點星等的差異小于0.5等時,認為匹配有效,否則認為匹配無效。4.3.3并行處理與流水線技術并行處理和流水線技術是充分發(fā)揮FPGA硬件優(yōu)勢,提高星圖識別算法性能的重要手段。利用FPGA內部豐富的可配置邏輯單元,將星圖識別算法中的多個任務進行并行處理,以提高處理速度。在星圖識別過程中,將星圖分割為多個子區(qū)域,每個子區(qū)域分配一組并行處理單元,這些處理單元同時對各自子區(qū)域內的星點進行處理。將一幅星圖劃分為四個子區(qū)域,每個子區(qū)域由一個并行處理模塊負責處理。在每個并行處理模塊中,同時進行星點提取、三角形構建和匹配計算等任務。在星點提取階段,利用并行邏輯同時對多個像素點進行處理,快速提取星點質心坐標和星等信息;在三角形構建階段,利用并行計算多個星點之間的距離和角度關系,快速構建三角形;在匹配階段,利用并行計算資源,同時對多個三角形與導航星庫中的三角形進行匹配。通過這種并行處理方式,大大提高了星圖識別的速度。假設傳統(tǒng)的串行處理方式處理一幅星圖需要T個時鐘周期,采用四個并行處理模塊后,理論上處理一幅星圖的時間可以縮短至T/4(忽略并行處理模塊之間的通信延遲)。結合流水線技術,將星圖識別算法的處理流程劃分為多個階段,每個階段完成特定的功能,并且各個階段可以并行執(zhí)行。以星圖識別的整體流程為例,可將其劃分為圖像預處理、星點提取、三角形構建、匹配計算、結果校驗等階段。在圖像預處理階段,利用中值濾波算法去除星圖中的噪聲;在星點提取階段,采用改進游程編碼算法提取星點質心坐標和星等信息;在三角形構建階段,根據(jù)基于星等和位置信息的三角形構建策略構建三角形;在匹配計算階段,采用基于哈希查找的快速匹配算法進行三角形匹配;在結果校驗階段,對匹配結果進行校驗,排除誤匹配的情況。每個階段之間通過寄存器進行數(shù)據(jù)傳遞,保證數(shù)據(jù)的穩(wěn)定傳輸。在一個8級流水線設計中,當?shù)谝患壵谶M行圖像預處理時,第二級可以同時進行星點提取,第三級進行三角形構建,以此類推。這樣,在每個時鐘周期內,都有不同階段的操作在同時進行,大大提高了數(shù)據(jù)處理的吞吐量。假設傳統(tǒng)的非流水線實現(xiàn)方式處理一幅星圖需要T個時鐘周期,采用8級流水線設計后,理論上處理一幅星圖的時間可以縮短至T/8(忽略流水線寄存器的延遲),從而顯著提高了星圖識別的速度。五、實驗與結果分析5.1實驗環(huán)境搭建為了全面、準確地評估基于FPGA的星點提取及星圖識別算法的性能,搭建了一個完善的實驗環(huán)境,涵蓋硬件平臺、軟件工具和測試數(shù)據(jù)集三個關鍵部分。在硬件平臺方面,選用Xilinx公司的Zynq-7000系列FPGA開發(fā)板作為核心處理單元。該系列開發(fā)板集成了ARMCortex-A9處理器和Artix-7或Kintex-7架構的FPGA,具備強大的處理能力和豐富的硬件資源。其中,F(xiàn)PGA部分提供了大量的可配置邏輯單元(CLB)、查找表(LUT)、觸發(fā)器(Flip-flop)以及豐富的I/O接口,能夠滿足星點提取和星圖識別算法對并行處理和高速數(shù)據(jù)傳輸?shù)男枨?。ARMCortex-A9處理器則負責系統(tǒng)的控制和管理,以及部分數(shù)據(jù)的預處理和后處理工作。開發(fā)板配備了2GB的DDR3SDRAM內存,用于存儲星圖數(shù)據(jù)、導航星庫以及中間計算結果等。其高速的數(shù)據(jù)讀寫能力確保了算法在運行過程中能夠快速地訪問和處理數(shù)據(jù)。此外,開發(fā)板還集成了多種通信接口,如USB接口、以太網接口等,方便與外部設備進行數(shù)據(jù)交互和調試。通過USB接口,可以將開發(fā)板與計算機連接,實現(xiàn)程序的下載、調試以及實驗數(shù)據(jù)的傳輸;以太網接口則可用于與其他設備進行網絡通信,為后續(xù)的系統(tǒng)集成和應用提供了便利。選用一款CMOS圖像傳感器作為星圖采集設備,該傳感器具有1280×1024的像素分辨率,能夠提供清晰的星圖圖像。其幀率可達30fps,滿足實時性要求較高的星圖采集需求。傳感器通過LVDS(低壓差分信號)接口與FPGA開發(fā)板相連,LVDS接口具有高速、低功耗、抗干擾能力強等優(yōu)點,能夠確保星圖數(shù)據(jù)在傳輸過程中的準確性和穩(wěn)定性。在實際應用中,CMOS圖像傳感器安裝在一個高精度的光學鏡頭前,鏡頭的焦距和光圈經過精心選擇,以確保能夠捕捉到清晰、準確的星圖。通過調整鏡頭的參數(shù),可以適應不同觀測條件下的星圖采集需求,如在不同的光照強度、觀測距離等情況下,都能獲取到高質量的星圖數(shù)據(jù)。在軟件工具方面,采用XilinxISE(IntegratedSoftwareEnvironment)開發(fā)套件進行FPGA的開發(fā)和編程。ISE提供了一套完整的工具鏈,包括硬件描述語言(HDL)編輯器、綜合工具、仿真工具、布局布線工具等,能夠方便地進行FPGA的設計和實現(xiàn)。在編寫星點提取和星圖識別算法的硬件描述代碼時,使用Verilog語言進行描述。Verilog語言具有簡潔、靈活、可讀性強等特點,能夠準確地描述數(shù)字電路的行為和結構。通過ISE的綜合工具,將Verilog代碼轉換為門級網表,再經過布局布線工具,將網表映射到FPGA芯片上,生成可下載的比特流文件。利用MATLAB軟件進行算法的仿真和數(shù)據(jù)分析。MATLAB具有強大的數(shù)值計算、信號處理和圖像處理功能,能夠方便地對星點提取和星圖識別算法進行仿真驗證。在算法設計階段,通過MATLAB對不同的算法進行建模和仿真,分析算法的性能指標,如星點提取的精度、星圖識別的準確率等。在實驗結果分析階段,利用MATLAB對實驗數(shù)據(jù)進行處理和分析,繪制各種性能指標的圖表,直觀地展示算法的性能表現(xiàn)。例如,通過MATLAB繪制星點提取精度隨信噪比變化的曲線,以及星圖識別準確率隨星圖復雜度變化的曲線,從而深入分析算法在不同條件下的性能。在測試數(shù)據(jù)集方面,構建了一個包含多種類型星圖的測試數(shù)據(jù)集,以全面評估算法的性能。測試數(shù)據(jù)集包括實際拍攝的星圖和模擬生成的星圖。實際拍攝的星圖通過天文望遠鏡在不同的觀測地點和時間進行拍攝獲取。這些星圖涵蓋了不同的星等分布、星點密度和背景噪聲情況,能夠反映實際觀測中的各種復雜情況。例如,在城市環(huán)境下拍攝的星圖,由于光污染的影響,背景噪聲較大,星點的亮度和對比度較低;而在偏遠山區(qū)或天文臺拍攝的星圖,背景噪聲較小,星點的清晰度和可辨識度較高。通過對這些實際拍攝星圖的處理和分析,可以驗證算法在真實觀測條件下的性能。模擬生成的星圖則通過計算機模擬的方式生成,利用專業(yè)的天文模擬軟件,如Stellarium等,根據(jù)不同的參數(shù)設置生成各種類型的星圖??梢哉{整星圖的視場范圍、星等分布、星點數(shù)量、噪聲類型和強度等參數(shù),以模擬不同的觀測場景。例如,生成具有不同噪聲水平的星圖,包括高斯噪聲、椒鹽噪聲等,以測試算法在不同噪聲環(huán)境下的抗干擾能力;生成具有不同星等分布的星圖,如包含大量暗星或亮星的星圖,以測試算法對不同亮度星點的提取和識別能力。通過模擬生成的星圖,可以更靈活地控制實驗條件,深入研究算法在各種情況下的性能。為了進一步提高測試數(shù)據(jù)集的全面性和可靠性,還對測試數(shù)據(jù)集中的星圖進行了標注和分類。對每個星圖中的星點進行人工標注,確定其真實的質心坐標和星等信息,作為評估算法提取精度的參考標準。根據(jù)星圖的特點和參數(shù),將星圖分為不同的類別,如低信噪比星圖、高星等密度星圖、大視場星圖等。在實驗過程中,可以針對不同類別的星圖進行專項測試,分析算法在不同類型星圖上的性能差異,從而有針對性地進行算法優(yōu)化和改進。5.2實驗方案設計實驗方案的設計旨在全面、系統(tǒng)地驗證基于FPGA的星點提取及星圖識別算法的性能。通過合理設置實驗步驟和參數(shù),對比分析不同算法在FPGA平臺上的運行效果,從而評估算法的準確性、實時性和穩(wěn)定性。5.2.1星點提取實驗步驟星圖采集與預處理:利用搭建好的實驗硬件平臺,通過CMOS圖像傳感器采集不同場景下的星圖。采集的星圖涵蓋多種類型,包括不同星等分布、不同噪聲水平以及不同背景復雜度的星圖。采集到星圖后,首先對其進行灰度化處理,將彩色星圖轉換為灰度圖像,以便后續(xù)處理。采用中值濾波算法對灰度星圖進行噪聲去除,該算法能夠有效抑制星圖中的椒鹽噪聲和脈沖噪聲,同時保留星點的邊緣和細節(jié)信息。中值濾波窗口大小設置為3×3,在去除噪聲的同時,盡量減少對星點特征的影響。利用直方圖均衡化算法對星圖進行對比度增強,將星圖的灰度分布擴展到整個動態(tài)范圍,提高星點與背景的對比度,使星點更加清晰可辨。星點提取算法實現(xiàn):將預處理后的星圖輸入基于FPGA的星點提取硬件系統(tǒng)中,運行改進游程編碼的星點提取算法。在算法實現(xiàn)過程中,利用FPGA的并行處理能力,對星圖進行逐行掃描。在掃描過程中,實時進行像素點的標記和標號合并操作,根據(jù)預先設定的標記規(guī)則,確定每個像素點是否屬于星點以及其所屬的連通域標號。在標記過程中,利用查找表(LUT)實現(xiàn)快速的標記邏輯,提高處理速度。當完成整幅星圖的掃描后,根據(jù)標記結果計算每個連通域的質心坐標,從而得到星圖中星點的位置信息。質心坐標的計算采用基于灰度的質心法,通過對連通域內所有像素點的坐標和灰度值進行加權求和,再除以連通域內像素點的總灰度值,得到質心的坐標。結果驗證與分析:將基于FPGA提取得到的星點質心坐標與通過MATLAB軟件采用傳統(tǒng)算法提取得到的星點質心坐標進行對比分析。計算兩者之間的誤差,評估基于FPGA的星點提取算法的準確性。誤差計算采用均方根誤差(RMSE)指標,計算公式為RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(x_{i}^{FPGA}-x_{i}^{MATLAB})^2+(y_{i}^{FPGA}-y_{i}^{MATLAB})^2},其中n為星點的數(shù)量,(x_{i}^{FPGA},y_{i}^{FPGA})為基于FPGA提取得到的第i個星點的質心坐標,(x_{i}^{MATLAB},y_{i}^{MATLAB})為通過MATLAB提取得到的第i個星點的質心坐標。分析不同噪聲水平和星等分布情況下算法的性能表現(xiàn),繪制誤差隨噪聲水平和星等變化的曲線,深入研究算法在不同條件下的適
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 Body language說課稿-2025-2026學年高中英語牛津上海版高中一年級第一學期-牛津上海版2004
- 江蘇室外保溫施工方案
- 城市供熱管網規(guī)劃與建設實施方案
- 集中注意力 說課稿 初中心理健康七年級上冊
- 2025年及未來5年中國含乳飲料市場運行態(tài)勢及行業(yè)發(fā)展前景預測報告
- 第三課 揮毫潑墨體性情說課稿小學地方、校本課程遼海版人與社會
- 幼兒園教育的原則和特點說課稿-2025-2026學年中職專業(yè)課-幼兒教育學-學前教育類-教育與體育大類
- 樓頂隔熱磚施工方案圖
- 河北省張家口市宣化區(qū)2023-2024學年八年級下學期期末考試語文試題及答案
- 咨詢行業(yè)方案怎么寫范本
- 2025至2030中國生物醫(yī)藥行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 城市智能感知系統(tǒng)-洞察及研究
- 藝考機構學校合作協(xié)議書
- DB1331∕T 034-2022 建筑與市政工程無障礙設計圖集
- 2025年江蘇省蘇州市中考數(shù)學模擬試卷(十三)(含答案)
- 項目制用工管理制度
- 企業(yè)事業(yè)單位突發(fā)環(huán)境事件應急預案評審表
- 專業(yè)心理咨詢服務協(xié)議
- 《民法學》考研(第2版)馬工程配套考試題及答案
- 《交易與金融市場》課件
- 零售渠道創(chuàng)新案例
評論
0/150
提交評論