新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種實時信號處理系統的研究和實現

        一種實時信號處理系統的研究和實現

        作者:西安電子科技大學雷達信號處理國家重點實驗室 吳令宇 羅豐 吳順君 時間:2008-06-03 來源:電子設計應用 收藏

          引言

        本文引用地址:http://www.104case.com/article/83580.htm

          近年來,實時的要求越來越高,所用系統要求具有處理大量數據的能力,這就要求系統硬件要達到很高的運算速度,并且軟件處理程序也要盡可能優化,以保證系統的實時性。本文基于和A-TS101S所實現的一種高速數據并行處理系統,可以進行實時連續波和脈沖波的處理,并將連續波的頻譜和脈沖波脈沖幅度信息、脈前時刻、脈寬及載頻打包輸出。整個系統的輸出延時被控制在1ms之內。

          系統任務及系統結構

          系統任務

          系統頻譜分析電路組成結構如圖1所示。前端輸入為高頻寬帶模擬信號經過數字化采樣后得到的數字信號。系統主要完成的任務是對該數字信號進行實時處理,并識別出高頻寬帶模擬信號為連續波還是脈沖波。如為連續波,系統計算出它的頻率,并輸出其頻譜;如為脈沖波,系統計算出它的脈沖寬度和脈載頻,并把載頻與時域中的脈沖前沿時刻信息、寬度信息及幅度信息對應起來,傳送給后面的系統進行處理。

          系統先對輸入的數字信號進行電平轉換,然后進行正交變換。接下來開始對信號進行頻域處理,并以1.92μs為最小時段輸出其頻譜,同時進行預處理和連續波/脈沖波判別。對連續波,將各小時段的信號頻譜進行綜合處理后輸出其頻譜。對脈沖波,確定其脈沖前延時刻和脈沖后延時刻,從而確定其脈沖寬度,接著將脈沖幅度、后延時刻及寬度進行數據合成,之后再結合各個小時段的頻譜進行綜合處理,最終將脈沖幅度信息、脈沖前延時刻、寬度及載頻打包輸出。

          系統結構

          該信號并行處理系統結構框圖如圖2所示。

          該系統主要由1片和11片TS101系列的構成。首先將16位高速ADC采集進來的數據預處理后拼接成64位,使數據總線上的數據傳輸速率降低為輸入速率的1/4,然后通過數據總線依次送給TS0~TS8,同時產生TS0~TS9的控制信號R和IRQ來控制每片讀取數據總線上的數據。

               

          由圖2可以看出,TS0、TS1、TS2(第1組)和TS3、FS4、TS5(第2組)以及TS6、TS7、TS8(第3組)在結構上為完全相同的三部分,且所進行的工作也完全相同,都需將處理完的數據通過鏈路口送給TS9和TS10。接著由TS9和TS10進行綜合比較,最后再通過鏈路口將處理結果送給后級板,并將結果分為3組,可進行相同的處理。每片TS101S只有4個鏈路口,因此TS9和TS10只能提供3個鏈路口給TS0~FS8,TS0的數據通過TS2的鏈路口中轉給TS9和TS10,TS1的數據也通過TS2的鏈路口中轉給TS9和TS10,其它兩組與第1組處理方法相同。

          在1.92μs內,TS0~TS8將接收到的一幀64×64位數據拆分擴展成256×32位浮點數,然后對數據進行32位浮點FFT(快速傅立葉變換)運算,接著求模平滑,將得到的頻域數據發送給TS9和TS10進行綜合處理。TS9負責完成脈沖波綜合處理任務,TS10負責完成連續波綜合處理任務。最后,TS9和TS10將數據通過鏈路口送往后級進行處理。

          軟件實現

          在整個并行分析系統中,TS0~TS8需要各片DSP在時序上達到高度統一,每片DSP都應盡量簡化流程,節約時間開銷。TS0~TS8的主要任務是將接收到的數據進行FFT運算,并最終將各個小段信號的頻譜發送到TS9和TS10進行綜合處理。其操作流程如圖3。

          這里,DSP首先進行初始化設置,設置完畢進入等待,直到接收到FPGA發出的信號,DSP跳出等待,進入IRQ中斷服務子程序。在IRQ中斷服務子程序中,進行通道初始化,準備從總線上接數,設置完畢DSP前臺進入等待。DSP后臺接數操作每接到一個FPGA發出的信號,就完成接一個數。當接滿64個64位數時,發出中斷,并使DSP跳出等待,進入DMA中斷服務子程序。在DMA中斷服務子程序中,進行拆數、FFT、求平方和、平滑等運算,待所有運算完畢,DSP開始設置鏈路口,將平滑后的結果,即128個32位的數傳給每組的最后一片,最后一片發往TS9和TS10。

          連續波信號需要在FFT變換后再做平滑處理,然后依次輸出各頻率點的幅度值,從而獲取連續波信號的頻譜信息。具體而言,就是TS0~TS8分成3組,每組3片;每組DSP中,前兩片的鏈路口分別與第3片的鏈路口相連,然后通過第3片的鏈路口將其運算結果傳送到TS10中;以17.28μs×4=69.12μs為一幀,9片DSP分時并行完成2.56點FFT運算和求模運算,TS10將這9片DSP的運算結果在一幀內進行平滑,完成一幀內信號的頻譜分析,同時將該幀的譜信息打包處理,最后通過TS10的第4個鏈路口將包數據發送到后級處理器。圖4為TS10的處理流程圖。

          對于脈沖波綜合處理,其操作流程如圖5所示。

               

          脈沖波綜合處理要同時輸出該段時間內的時域脈沖幅度信息、脈沖起始時間、寬度及載頻信息。上述參數中,時域脈沖幅度信息、脈沖起始時間和脈沖寬度已經通過相應的DMA中斷送到TS9,TS9通過32位總線中的高24位接收數據,次高位用于設置脈后標志(即當次高位為1時脈沖結束,低22位即為脈后時刻),脈后時刻前的數據為脈沖幅度信息,脈后時刻后的數據信息表示了脈沖寬度,由此可得到脈沖起始時刻)。另外,對于載頻信息,TS0~TS8將FFT結果送到TS9之中,TS9連續循環存儲多幀頻域數據,由于前9片DSP所得到的信息是按照嚴格的幀定時運算所得的,所以需要將它們的信息做相應的融合合并才能打包輸出。具體融合原則為:

          a.當在接收到的時域數據中搜索到脈沖結束標志時,計算出該脈沖的脈前信息,并存儲脈前信息、時域脈沖幅度信息、脈沖起始時間及脈沖寬度;

          b.在TS0~TS8送來的譜信息中搜索,與存儲的時域脈沖波信息相結合確定脈沖波,且將數個小段數據(1.92μs)內的幾個(最多只加5個)譜信息組合合并,得到相對完整準確的脈沖載頻;

          c.向后級發送數據時發送脈沖前沿時刻、時域幅度信息、脈寬及載頻等信息。

          結語

          本文中的高速實時信號并行處理系統已通過測試,系統能夠完成連續波和脈沖波的處理,對連續波計算出它的頻率并輸出其頻譜,對脈沖波計算出它的脈沖寬度和脈沖載頻,并把脈沖載頻與時域中的脈沖前沿時刻信息,脈沖寬度信息及脈沖幅度信息很好地對應起來打包輸出。各個DSP算法程序均已完成,并已通過測試。整個DSP中程序均使用匯編程序編寫,最大地簡化了運算流程,節約了時間開銷。



        關鍵詞: FPGA DSP 信號處理 DMAR DMA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宝兴县| 台中县| 江永县| 巴林左旗| 张家川| 鄢陵县| 泽州县| 湘乡市| 博湖县| 巴林左旗| 丹江口市| 蒙自县| 安多县| 仲巴县| 凤台县| 南乐县| 安远县| 云霄县| 弋阳县| 海盐县| 乾安县| 体育| 贵州省| 东平县| 天全县| 杨浦区| 汉沽区| 东安县| 南投市| 雅江县| 嫩江县| 华蓥市| 辽宁省| 黔西县| 海伦市| 建宁县| 方城县| 峨眉山市| 关岭| 汉沽区| 伊春市|