新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ADSP Tiger SHARC芯片TS101S及其應用

        ADSP Tiger SHARC芯片TS101S及其應用

        作者: 時間:2004-12-06 來源:網絡 收藏
        摘要: 系列中的是AD公司最新推出的高性能定/浮點數字信號處理器。文章利用FBLMS算法在輸入信號為高度相關性時仍然具有較好的收斂速度這一特點,進而通過FBLMS算法在上實現了自適應濾波,并在EZ-KIT開發板上測試通過,同時驗證了該算法抑制同頻窄帶信號對雷達干擾的有效性。

        關鍵詞: Tiser ;FBLMS;窄帶干擾;

        1 引言

        利用數字信號處理器(DSP)來進行模擬信號的處理同時具有很大的優越性,其主要表現有精度高,靈活性大,可靠性好等方面。它不但可以廣泛于通信系統、圖形/圖像處理、雷達聲納、醫學信號處理等實時信號處理領域。而且隨著人們對實時信號處理要求的不斷提高和大規模集成電路技術的迅速發展,數字信號處理器也發生著日新月異的變革。就AD公司而言,繼16-bit定點ADSP21xx和32-bit浮點ADSP21xxx系列之后,日前又推出了ADSP Tiger SHARC系列的新型器件。這種Tiger SHARC系列器件是基于AD2106x的下一代高性能,其內部集成有更大容量的RAM,它可以在單周期內執行4條指令,且可以很方便地實現多片并行處理系統的擴展,這些新添的特性更增加了高速實時信號處理的可行性。本文將介紹該系列中的TS101S,以及利用該實現FBLMS?Frequency-domain Block LMS?算法的自適應預測濾波的設計方法。此外,筆者還在EZ-KIT開發板上測試通過并驗證了該算法抑制同頻窄帶信號對雷達干擾的有效性。

        2 TS101S系統器件的結構性能

        2.1 結構特點

        TS101S的系統結構邏輯框圖如圖1所示。TS101S依舊采用超級哈佛結構(SHARC),并運用流水線技術,目前可以達到8級流水線(3級取指5級執行),其結構特點如下:

        ●具有特殊的指令集和較長的指令字,一個指令字可以同時控制芯片內多個功能單元的操作;

        ●片內集成有可由用戶自己定義的6Mbit大容量SRAM存儲器;

        ●具有2個獨立的計算單元,每個單元都有算術邏輯單元、乘法器、移位器、寄存器組及相關的數據對齊緩沖器,并可通過加速器支持Trellis解碼?如,Viterbi和Turbo解碼?和復數相關運算;

        ●帶有兩個Integer ALU,每個IALU含有兩個通用寄存器組,因而具有強大的地址產生能力,可支持環形緩沖和位反序尋址;

        ●支持SIMD操作。

        2.2 主要性能

        TS101S具有極高的處理能力,它采用靜態超標量結構,既有超標量處理器所具備的大容量指令緩沖池和指令跳轉預測功能,又可以在程序執行前就對指令級進行并行操作并用編譯器預測出來。TS101S的其它重要性能指標如下:

        ●指令周期為4ns(主頻250MHz)?運算能力達到250MIPS;

        ●DSP每周期能執行4條指令,具有24個16-bit定點運算和6個浮點運算能力,能提供1500MIPS或6.0GOPS的性能;

        ●每周期可實現816 bit乘與40 bit累加或者216 bit乘與80 bit累加;

        ●支持32 bit IEEE浮點數據和8 bit/16 bit/32 bit/64 bit定點數據格式。

        TS101的其它典型性能指標如表1所列。

        表1 250M運行時通用算法性能

        性能指村速 度時鐘周期
        32-bit處,500百萬MACs/s峰值性能
        1024點復數FFT(基2)39.34μs9835
        1024點輸入50抽頭FIR110μs27500
        單FIR MAC2.2ns0.55
        16-bit算法,20億次MACs/s峰值性能
        256點復數FFT(基2)4.4μs1100
        1024點輸入50抽頭FIR28.8μs7200
        單FIR MAC0.56ns0.14
        單復數FIR MAC2.28ns0.57

        雷達信號處理一般需要很高的實時性,比如在干擾抑制算法處理時,必須在一個回波脈沖周期內完成相關算法。由上述分析可知,TS101S可以滿足高速實時數字信號處理的要求。下面以TS101S實現FBLMS自適應算法抑制同頻窄帶信號對雷達的干擾為例進一步介紹該芯片。

        3 FBLMS算法分析與實現

        自適應過程一般采用典型LMS自適應算法,但當濾波器的輸入信號為有色隨機過程時,特別是當輸入信號為高度相關時,這種算法收斂速度要下降許多,這主要是因為輸入信號的自相關矩陣特征值的分散程度加劇將導致算法收斂性能的惡化和穩態誤差的增大。此時若采用變換域算法可以增加算法收斂速度。變換域算法的基本思想是:先對輸入信號進行一次正交變換以去除或衰減其相關性,然后將變換后的信號加到自適應濾波器以實現濾波處理,從而改善相關矩陣的條件數。因為離散傅立葉變換?DFT?本身具有近似正交性,加之有FFT快速算法,故頻域分塊LMS?FBLMS?算法被廣泛

        FBLMS算法本質上是以頻域來實現時域分塊LMS算法的,即將時域數據分組構成N個點的數據塊,且在每塊上濾波權系數保持不變。其原理框圖如圖2所示。FBLMS算法在頻域內可以用數字信號處理中的重疊保留法來實現,其計算量比時域法大為減少,也可以用重疊相加法來計算,但這種算法比重疊保留法需要較大的計算量。塊數據的任何重疊比例都是可行的,但以50%的重疊計算效率為最高。對FBLMS算法和典型LMS算法的運算量做了比較,并從理論上討論了兩個算法中乘法部分的運算量。本文從實際工程出發,詳細分析了兩個算法中乘法和加法的總運算量,其結果為:

        復雜度之比=FBLMS實數乘加次數/LMS實數乘加次數=(25Nlog2N+2N-4)/[2N(2N-1)]?

        采用ADSP的C語言來實現FBLMS算法的程序如下:

        for(i=0;i<=30;i++)

        {for(j=0;j<=n-1;j++)

        {in[j]=input[iN+j;]

        rfft(in,tin,nf,wfft,wst,n);

        rfft(w,tw,wf,wfft,wst,n);

        cvecvmlt(inf,wf,inw,n);

        ifft(inw,t,O,wfft,wst,n);

        for(j=0,j<=N-1;j++)

        {y[iN+j]=O[N+j].re;

        e[iN+j]=refere[iN+j]-y[iN+j];

        temp[N+j]=e[iN+j;}

        rfft(temp,t,E,wfft,wst,n);

        for(j=0;j<=n-1;j++)

        {inf_conj[j]=conjf(inf[j]);}???

        cvecvmlt(E,inf_conj,Ein,n);

        ifft(Ein,t,Ein,wfft,wst,n);

        for(j=0;j<=N-1;j++)

        {OO[j]=Ein[j].re;

        w[j]=w[j]+2*u*OO[j];}??

        }

        在EZ-KIT測試板中,筆者用匯編語言和C語言程序分別測試了典型LMS算法的運行速度,并與FBLMS算法的C語言運行速度進行了比較,表2所列是其比較結果,從表2可以看出濾波器階數為64時,即使是用C語言編寫的FBLMS算法也比用匯編編寫的LMS算法速度快20%以上,如果濾波器的階數更大,則速度會提高更多。

        表2 FBLMS和LMS算法在運行速度比較

        算 法條 件時鐘周期速度
        LMS-ASM1024點實數據,64階12574935.030ms
        LMS-C1024點實數據,64階839486233.579ms
        FBLMS-C1024點實數據,64階9865243.946ms


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 涟源市| 井陉县| 开封市| 如皋市| 张家界市| 沽源县| 武清区| 衡阳市| 四川省| 马尔康县| 兴国县| 宜春市| 邮箱| 鄂托克旗| 齐齐哈尔市| 筠连县| 武定县| 台东市| 彩票| 宁城县| 石林| 罗定市| 连城县| 涞源县| 蓬安县| 德清县| 黔东| 界首市| 龙胜| 巢湖市| 八宿县| 林甸县| 罗山县| 祁连县| 吉林市| 汶上县| 南丰县| 平度市| 桂阳县| 钟祥市| 许昌市|