新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ADSP 21160的Hammerhead-PCI在聲誘餌仿真系統(tǒng)中的應用

        基于ADSP 21160的Hammerhead-PCI在聲誘餌仿真系統(tǒng)中的應用

        作者:西北工業(yè)大學航海工程學院 董陽澤 上海船舶電子設備研究所 陳琨 劉平香 時間:2004-07-23 來源:電子產品世界 收藏
        摘  要: 為解決聲誘餌仿真系統(tǒng)中信號處理實時性的問題,引入Hammerhead-PCI板卡以提高信號處理速度。文章介紹了系統(tǒng)以及所用信號處理器的特點,著重描述了Hammerhead在系統(tǒng)中的應用方法及其效果。
        關鍵詞: 聲誘餌仿真;數(shù)字信號處理器;SHARC;  Hammerhead-PCI

        2002年5月B版

        引言
        聲誘餌仿真系統(tǒng)是為評估某型聲誘餌的性能(主要是聲學性能)而建立的一個DIS(Distributed Interactive Simulation,分布式交互仿真)系統(tǒng)。它包括導演臺、魚雷模擬器、海洋信道模擬器、潛艇/聲誘餌模擬器和終端演示等模塊,通過以太網相連而成,圖1是系統(tǒng)框圖。
        它通過模擬潛戰(zhàn)中潛艇投放的聲誘餌與來襲魚雷進行水聲對抗的過程,來評估聲誘餌對抗魚雷自導的有效性。由于系統(tǒng)側重于聲信息及其處理過程的模擬,因此信號處理在其中就占有相當重要的位置。眾所周知的是,在水聲信號處理過程中,不僅需要處理的信號信息量很大,而且實時性要求也很高。因此,在仿真系統(tǒng)中,欲盡可能真實地再現(xiàn)潛戰(zhàn)的過程,單純利用軟件進行信號處理顯然難以滿足實時性的要求。為了解決這個問題,從兩個方面考慮。一方面為提高傳輸實時性,系統(tǒng)中選用3Com公司的3C17702千兆以太網交換機構建了系統(tǒng)的通信模塊硬件結構;另一方面采用Bittware公司的Hammerhead PCI信號處理板(它以ADI的ADSP21160信號處理芯片作為CPU),以提高系統(tǒng)中聲信息的處理速度。


        圖1  聲誘餌仿真系統(tǒng)框圖


        圖2  Hammerhead-PCI及其軟件


        圖3  魚雷主動自導信號處理流程


        圖4  基于FFT的信號卷積過程


        圖5  基于FFT的信號相關過程

        Hammerhead PCI及相關軟件簡介
        Hammerhead-PCI是一種PCI接口的數(shù)字信號處理板卡。它由四塊ADSP-21160 SHARC處理器組成,其PCI接口速度可達66MHz。板卡可支持512MB的SDRAM,一個緩沖區(qū)以及兩個PMC槽,可用于處理器擴展。
        ADSP-21160 DSP工作在100MHz,它有2400MFLOPs的處理能力,與ADSP-2106x SHARC DSP兼容。它通過一50MHz,64位的總線訪問板子上的SDRAM,PCI總線接口,以及其他的SHARC DSP。2MB的FLASH RAM存有引導程序,ADSP-21160可以對其進行讀、寫。而512MB的SDRAM作為ADSP-21160的擴展存儲器。
        Hammerhead PCI的程序開發(fā)相關軟件主要包括集成開發(fā)和調試工具VisualDSP及BittWare主機接口支持工具DSP21K-SF工具箱。圖2是它們之間的關系圖。

        Hammerhead PCI在系統(tǒng)中的應用
        如“引言”中所述,系統(tǒng)選取Hammerhead PCI的目的是為了提高信號處理的速度,以滿足系統(tǒng)實時性的要求。由此并結合圖1所描述的系統(tǒng)結構,為魚雷模擬器、海洋信道模擬器和潛艇/聲誘餌模擬器三個涉及到聲信息處理的節(jié)點配置了Hammerhead PCI信號處理板。下面以魚雷模擬器為例介紹Hammerhead PCI在系統(tǒng)中的應用。

        魚雷模擬器中主動信號處理流程
        魚雷模擬器模擬了潛戰(zhàn)中魚雷攻擊敵潛艇的機動邏輯和魚雷自導尋的邏輯。其中魚雷自導尋的過程其實就是通過信號處理發(fā)現(xiàn)并控制魚雷跟蹤目標的過程。信號處理包括被動信號處理和主動信號處理兩個過程:被動處理是指魚雷工作在被動自導階段時的處理過程,它主要是針對接收到的目標輻射噪聲等信息通過能量積分的方法來得到目標的方位、距離等參數(shù);主動處理則是指魚雷工作在主動自導階段時的處理過程,主要是通過對接收到的目標(對魚雷尋的信號的)回波信號經一定的處理后和已知的先驗相關樣本信號進行互相關運算,由此得到有關目標的具體信息。相比較而言,主動處理過程中要滿足實時性的要求就很有必要加入信號處理板,實際中即是這樣做的。圖3給出了主動信號處理的流程圖。

        應用分析
        由上小節(jié)可見,需要運用DSP信號處理板進行數(shù)據(jù)處理的過程包括混頻、帶通濾波、低采樣和互相關等(生成相關樣本可以放在程序初始化過程中),由于這些過程循環(huán)往復,并且頻率較高。
        在每一個大的階段中,又都可以分為幾個小步驟。其中帶通濾波和互相關兩個過程包含了基于FFT的卷積和相關處理,而這兩個處理階段顯然占用最多的時間。具體應用中,將一些基礎的運算過程集中起來,作為運算的基礎,放在一個名為“functions.h”的C頭文件中,而將反復調用的主過程作為生成DSP可執(zhí)行文件的C文件。
        根據(jù)需求分析的結果,寫出算法的C程序并在PC機平臺上調試通過。然后將程序移植到DSP程序編輯環(huán)境,經過和DSP的聯(lián)調正常后生成DSP可執(zhí)行文件。
        在此過程中,一個需要特別注意的問題是DSP中地址分配必須清晰、合理。表1列出了魚雷自導模塊中有關DSP程序的變量地址分配。
        其中SignalLen,SamplingRate,ResultLength,done等4個參數(shù)在聲明時都作為一維數(shù)組,是為了與后面的CorrelationData和data的聲明保持一致。
        PC機和DSP的通信由HIL(Host Interface Library,主機接口庫)來完成。在這里,用到的HIL函數(shù)主要有DSP的打開、關閉、配置、程序下載、(待處理的)數(shù)據(jù)下載、數(shù)據(jù)(處理結果)上傳等。下面為Visual C++程序中有關HIL的一段:
        void CTorpedoDoc::ActiveProcess(float* data, int SignalLen, float SamplingRate, float*
        result, int ResultLength)
        {
        ...
        PDSP21K dsp = dsp21k_open_by_id(0, 1);//打開DSP
        dsp21k_reset_bd(dsp);//復位DSP
        dsp21k_cfg_proc(dsp);//配置DSP
        dsp21k_dl_exe(dsp, "ActiveProcess.dxe");//將可執(zhí)行文件下載到DSP上
        ... ... ... ... ... ... ... ... ... ... ... ... ... ...//此處為回波接收線程
        dsp21k_dl_int(dsp, 0x800020, SignalLen);//將信號長度數(shù)據(jù)下載到DSP上
        dsp21k_dl_int(dsp, 0x800021, SamplingRate);//將采樣率數(shù)據(jù)下載到DSP上
        dsp21k_dl_flts(dsp, 0x800100, 256,CorrelationData);//將相關樣本信號數(shù)據(jù)下載到DSP上
        dsp21k_dl_flts(dsp, 0x801000, SignalLen, data);//將回波信號數(shù)據(jù)下載到DSP上
        dsp21k_start(dsp);//啟動ActiveProcess.dxe
        while(dsp21k_ul_int(dsp, 0x800023) != 1);//等待ActiveProcess.dxe執(zhí)行完畢
        //ActiveProcess.dxe執(zhí)行完繼續(xù)
        ResultLength = dsp21k_ul_int(dsp, 0x800022);//上傳處理結果數(shù)據(jù)長度
        dsp21k_ul_flts(dsp, 0x801000, ResultLength, result);//上傳處理結果給result指針
        ... ... ... ... ... ... ... ... ... ... ... ... ... ...//轉去相關處理
        }

        Hammerhead PCI在系統(tǒng)中的應用效果
        在整個信號處理的程序中,用到最多的而且也是最占用處理時間的過程有信號的卷積和信號的互相關。其中在海洋聲信道的處理過程中,大量用到了卷積積分運算;在魚雷自導的信號處理過程中,則更多地使用相關運算。兩者都采用了基于FFT(Fast Fourier Transform,快速Fourier變換)的算法,即利用FFT的性質,進行時域 - 頻域 - 時域的變換,以減小運算中乘法次數(shù)。運算過程分別如圖4、5:
        圖4中,f(k)為輸入海洋聲信道的采樣信號序列,h(k)為海洋聲信道的沖激響應函數(shù)的采樣序列。
        圖5中,f(k)為回波信號的采樣序列,即3.3小節(jié)程序中data指針;g(k)為相關樣本序列,即其中的CorrelationData指針。G*(ejω)為FFT(g(k))的共扼。R(f(k), g(k))表示f(k)和g(k)的互相關。
        為測試DSP信號處理的效果,另外編制了程序“Sharc.dsw”。程序針對同樣的信號相關處理過程,分別在單獨利用Visual C++編程和通過DSP處理的條件下記錄重復執(zhí)行100次所耗時間,共測試8次,結果如表2。其中DSP處理時間不包括可執(zhí)行程序下載及前面的DSP初始化工作。
        由上表可見,使用DSP處理的平均時間僅為不使用時的10%弱,大大提高了信號處理的速度。信號卷積的結果與此類似。需要指出的是,上表中的時間并不是全部用來進行數(shù)值計算的,還包括循環(huán)所占用的時間。因此,實際的處理時間還要更短些。

        結語
        綜上所述,由于采用了基于ADSP21160的數(shù)字信號處理板Hammerhead-PCI,使得信號處理速度得到提高,從而系統(tǒng)的運行效率也相應得到了很大提高;加上所選高效通信硬件,系統(tǒng)基本實現(xiàn)了實時仿真的目的。本文所描述的系統(tǒng)目前已經完成,運行良好。■

        參考文獻
        1 魯欣. 數(shù)字電路設計方案的比較與選擇,電子技術應用,2002,28(1):6-8
        2 趙俊渭. 聲納合成環(huán)境模擬與仿真,作戰(zhàn)模擬與仿真技術學術研討會論文集,2000,青島
        3 邵國華. 水面艦艇水聲對抗系統(tǒng)仿真配置研究,艦船科學技術,1999,167(3):21-24


        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 耿马| 柳州市| 乌什县| 镇坪县| 靖西县| 通道| 盖州市| 札达县| 牙克石市| 武胜县| 喀喇| 新绛县| 屏边| 门源| 陵水| 东乌| 环江| 苍梧县| 九江县| 池州市| 滦平县| 定日县| 惠州市| 调兵山市| 元江| 张家界市| 宜章县| 双鸭山市| 中阳县| 色达县| 于都县| 大姚县| 鞍山市| 老河口市| 长白| 微博| 安图县| 竹山县| 高要市| 隆昌县| 普宁市|