地平儀是衛星姿態控制系統的關鍵子系統,其測量精度和可靠性直接關系到衛星姿態是否精確和穩定。在凝視或靜態型地平儀中,地球被成像在紅外面陣探測器上,因此地球圖像的邊緣可落在紅外面陣探測器的光敏面內。對該圖像進行中心定位處理,可提取出衛星的姿態參數,通過調整衛星滾動軸和俯仰軸方向,使固定在衛星上的紅外面陣探測器視場中心正好對準地球中心,從而精確定位整個衛星系統的姿態。由于地平圈圖像具有遠多于通過圓錐掃描方式獲得的信息,因而可獲得更高的精度。本文利用TI公司的DSP芯片TMS320C6711B(簡稱C6711)實現了中心定位的相關算法。實驗證明,該方法不僅可以滿足實時性要求,還可以提高地平儀的測量精度,對提高衛星姿態的精度具有重要意義。 1 實時圖像處理系統的硬件構成 本系統以C6711為核心,輔助以現場可編程門陣列FPGA及高速A/D等器件構成實時高速數字圖像處理系統。系統硬件框圖如圖1。該圖像處理系統的工作原理是:由CCD采集輸出的模擬圖像信號,經過高速A/D將模擬信號轉換為數字信號。數字圖像信號在FPGA控制下,將數據不斷輸入至雙口RAM。每當一幀圖像掃描結束時,FPGA提供一個中斷標志信號,觸發DSP進行數據搬移,將雙口RAM中的一幀圖像通過C6711的QDMA搬移到SDRAM中。QDMA將數據搬移完后檢查圖像數據是否有效,如有效則觸發DSP執行圖像處理程序,否則返回等下一個中斷到來。DSP在下次中斷到來之前處理完本幀圖像,將得出的姿態角信息通過多通道緩沖串口McBSP輸出給電腦PC機RS232口并顯示,之后又進入中斷等待狀態,等待中斷再次觸發QDMA進行數據搬移。 1.1 C6711數字信號處理器 C6711是TI公司的高速浮點DSP芯片,主頻為150MHz,最高能達到900MFLOPS的峰值運算能力。C6711由CPU內核、片內外設和存儲器三大部分組成。處理單元采用高性能、先進的VelociTITM結構,每時鐘周期8個功能單元可并行工作。C6711具有特別適合實時圖像處理的特點: (1)先進的VelociTI超長指令字C67xDSP內核; (2)硬件支持IEEE標準的單精度和雙精度浮點指令; (3)32位外部存儲器接口(EMIF),提供與同步、異步存儲器的無縫接口; (4)兩級緩存結構,其中:程序緩存32Kbit,數據緩存32Kbit,二級緩存512Kbit; (5)增強型DMA控制器,共16個獨立通道。 1.2 A/D變換 由CCD輸出的模擬圖像信號,經過高速A/D將模擬信號轉換為10位數字圖像信號,在FPGA的控制下存入雙口RAM存儲器,供DSP處理使用。 1.3 電源模塊和監控復位電路 C6000系列DSP需要兩種電壓,分別為CPU內核電壓和周邊I/O接口電壓。C6711需要3.3V和1.8V兩種電壓,并且要求兩種電源滿足一定的加電順序。本系統采用兩者同時加電的方式。根據系統的功耗要求,分別采用芯片TPS54316和TPS54314直接產生3.3V和1.8V兩種電壓,它最大可提供3A的供電電流。電源監控和復位電路采用TI公司的TPS3307-33實現,它可以同時監測三個獨立的電壓3.3V/5V/1.8V,并且被監測的三個電壓有一個低于其門限值時,就可以保證輸出有效的 信號,使DSP復位,當它們的值都高于門限值時, 信號才變為高電平。 1.4 時鐘模塊和JTAG接口 25MHz時鐘信號經過ICS501倍頻后,產生150MHz和100MHz時鐘信號,經三態門總線緩沖器74LVTH125輸出后得到CPU工作時鐘及同步接口所需的工作時鐘。C6711的7個JTAG仿真腳 、TMS、TDI、TDO、TCK、EMU1和EMU0連接到一個14腳雙排插頭上,可與仿真器相連,以進行系統調試和程序下載。 1.5 外部存儲器設計 C6711訪問外部存儲器必須通過EMIF。EMIF不僅有很高的數據吞吐率,而且還有很強的接口能力,可以與目前所有類型的存儲器直接接口。設計采用三種類型的存儲器:Flash ROM、雙口RAM和同步動態存儲器SDRAM。Flash ROM 是現場可擦除、掉電后可保持數據的存儲器,用來固化程序和保存掉電后需要保存的數據;雙口RAM用來存儲一幀圖像數據;SDRAM運行速度快,用來存放實時運行程序和臨時數據。本系統Flash ROM采用SST39VF040,且配置在CE1空間。雙口RAM采用IDT70V28,且配置在CE2空間。選用HY57V653220作為SDRAM,配置在CE0空間,這樣的配置與引導方式相配合。 1.6 輸出電路 系統根據輸入的圖像,由C6711進行處理后得出一個衛星姿態角信息。該姿態角信息由C6711輸出到PC機的RS-232口,由于通信的信息量少,所以可以利用C6711的多通道緩沖串口McBSP,在不擴展其他硬件的情況下,用軟件實現異步數據傳輸格式。發送時,發送轉換子程序把每一個數據位擴展成16位的UART字,并把這些已轉換好的數據塊放入發送緩沖區,同時在適當的地方加上起始位和終止位(如圖2所示),然后EDMA把數據從發送緩沖區傳給McBSP,而McBSP幀同步發生器負責連續地移出這些數據;接收時,EDMA從McBSP讀入已經擴展過的數據,并把這些數據寫入接收緩沖區,然后再調用壓縮子程序把數據轉換成原來的字節形式。這種方法的優點是硬件接口簡單,只需增加一個CMOS電平與RS232電平的電平轉換電路。 2 圖像處理算法的實現 中心定位圖像處理算法設計以輸入圖像格式320×240像素、1024灰度級/像素為基礎,包括濾波、判斷地平圈是否進入視場、邊緣檢測和精確定中心幾個部分。 2.1 濾波 探測器可能存在小于1%的壞單元,其灰度值主要為0或1023,壞元區范圍小于3×3。壞元的存在有可能對邊緣檢測帶來誤差,再加上采集到的圖像數據信噪比較低,所以采用二維中位數濾波。其做法是:對于一幀圖像,采用從上到下、從左到右的方法,移動3×3的窗口,在每一個位置,將有9個圖像像素出現在窗口中,對這9個像素灰度值進行排序,使用快速排序法找到處于正中的像素值,把這個值賦給3×3窗口的中心像素。使用這種方法可以有效濾除區域不大于2×2的突發性干擾,從而提高算法精度。 2.2 判斷地平圈是否進入視場 當衛星初始進入軌道時,在地平儀初始狀態下可能探測不到地球,這時需啟動搜索程序控制衛星偏轉以搜索地球。因此,必須對所得的地平圈圖像采用逐行掃描的搜索方法以判斷地球是否進入視場。 2.3 邊緣檢測 邊緣提取首先檢測圖像局部特性的不連續性,然后再將這些不連續的邊緣像素連成完備的邊界。邊緣的特性是沿邊緣走向的像素變化平緩,而垂直于邊緣方向的像素變化劇烈。從這個意義上說,提取邊緣的算法就是檢測符合邊緣特性的邊緣像素的數學算子。 由于地球的輻射存在不均勻性,所以地平高度與采用的地平檢測方式有關。其差別在于對應不同的地平檢測方式,具體的地平高度隨地球輻射變化程度不同。本文采用比例門限法檢測地平圈。具體算法如下:以粗略地心為起點,以0.5度為間隔取720條射線。考慮到只需掃描地球輻射過渡帶,所以每條射線的掃描起點距粗略地心為100個單位,間隔一個單位進行一次采樣。由于該采樣點的坐標不是整型,所以利用雙線性內插得到采樣點的灰度值,依次判斷采樣點,一邊記錄灰度最大值,一邊判斷該灰度值是否小于最大值的一半。當條件成立時,掃描停止,算出灰度值為最大值的50%所對應的坐標,即地平點坐標。掃完720條射線后,所有的地平點構成一個地平圈。該算法對接近過渡帶的點進行雙線性內插,提高了程序執行效率。檢測出的地平點坐標是浮點數,提高了地平判定精度,有利于減小測量地心的誤差。 2.4 精確定中心 精確定中心是算法中最關鍵的部分,方法的好壞直接影響地心的精度。一般有霍夫變換法、面積積分和三點均值法等。精確定位采用面積積分法。根據微積分理論,對于一個封閉區域D,其重心坐標可用如下公式得到: 式中,x和y代表單元點的坐標,ρ(x,y)代表單元點的密度,D代表整個區域。 當ρ(x,y)=1時,區域的重心和形心重合,S表示區域的面積。為了能夠用計算機計算區域的中心位置,必須對上面的公式離散化。離散化后的公式為: 式中, R(θ)表示對應θi~θi+1范圍內的幅值變化規律。 3 實驗結果 把CCD拍攝到的圖像數據送入該系統處理,每處理完一幀圖像就會從串口輸出一個姿態角信息。表1是四幀圖像的處理結果。從表1可以看出算法的精度優于0.1的指標要求,算法處理時間約為0.49秒,滿足一秒處理一幀的實時要求。 由高性能數字信號處理器TMS320C6711B和FPGA組成的實時圖像處理系統,實現了圖像采集、實時數據處理及輸出。利用JTAG接口對系統進行在線調試,使系統具有很好的升級性和擴展性。采用DSP處理器,增強了系統的處理能力,提高了系統處理速度,保證了工作的實時性要求。采用貼片器件,既減小了PCB板的尺寸,又增強了系統的可靠性。實驗證明,中心定位算法通過對原始圖像濾波、判斷目標是否進入視場、邊緣檢測和精確定中心大大提高了地平儀的測量精度。 |