ADSP Tiger SHARC芯片TS101S及其應用
關(guān)鍵詞:ADSP Tiser SHARC;FBLMS;窄帶干擾;TS101S
1 引言
利用數字信號處理器(DSP)來(lái)進(jìn)行模擬信號的處理同時(shí)具有很大的優(yōu)越性,其主要表現有精度高,靈活性大,可靠性好等方面。它不但可以廣泛應用于通信系統、圖形/圖像處理、雷達聲納、醫學(xué)信號處理等實(shí)時(shí)信號處理領(lǐng)域。而且隨著(zhù)人們對實(shí)時(shí)信號處理要求的不斷提高和大規模集成電路技術(shù)的迅速發(fā)展,數字信號處理器也發(fā)生著(zhù)日新月異的變革。就AD公司而言,繼16-bit定點(diǎn)ADSP21xx和32-bit浮點(diǎn)ADSP21xxx系列之后,日前又推出了ADSP Tiger SHARC系列的新型器件。這種Tiger SHARC系列器件是基于AD2106x的下一代高性能芯片,其內部集成有更大容量的RAM,它可以在單周期內執行4條指令,且可以很方便地實(shí)現多片并行處理系統的擴展,這些新添的特性更增加了高速實(shí)時(shí)信號處理的可行性。本文將介紹該系列中的TS101S芯片,以及利用該芯片實(shí)現FBLMS?Frequency-domain Block LMS?算法的自適應預測濾波的設計方法。此外,筆者還在EZ-KIT開(kāi)發(fā)板上測試通過(guò)并驗證了該算法抑制同頻窄帶信號對雷達干擾的有效性。
2?。裕樱保埃保酉到y器件的結構性能
2.1 結構特點(diǎn)
TS101S的系統結構邏輯框圖如圖1所示。TS101S依舊采用超級哈佛結構(SHARC),并運用流水線(xiàn)技術(shù),目前可以達到8級流水線(xiàn)(3級取指5級執行),其結構特點(diǎn)如下:
●具有特殊的指令集和較長(cháng)的指令字,一個(gè)指令字可以同時(shí)控制芯片內多個(gè)功能單元的操作;
●片內集成有可由用戶(hù)自己定義的6Mbit大容量SRAM存儲器;
●具有2個(gè)獨立的計算單元,每個(gè)單元都有算術(shù)邏輯單元、乘法器、移位器、寄存器組及相關(guān)的數據對齊緩沖器,并可通過(guò)加速器支持Trellis解碼?如,Viterbi和Turbo解碼?和復數相關(guān)運算;
●帶有兩個(gè)Integer ALU,每個(gè)IALU含有兩個(gè)通用寄存器組,因而具有強大的地址產(chǎn)生能力,可支持環(huán)形緩沖和位反序尋址;
●支持SIMD操作。
2.2 主要性能
TS101S具有極高的處理能力,它采用靜態(tài)超標量結構,既有超標量處理器所具備的大容量指令緩沖池和指令跳轉預測功能,又可以在程序執行前就對指令級進(jìn)行并行操作并用編譯器預測出來(lái)。TS101S的其它重要性能指標如下:
●指令周期為4ns(主頻250MHz)?運算能力達到250MIPS;
●DSP每周期能執行4條指令,具有24個(gè)16-bit定點(diǎn)運算和6個(gè)浮點(diǎn)運算能力,能提供1500MIPS或6.0GOPS的性能;
●每周期可實(shí)現816 bit乘與40 bit累加或者216 bit乘與80 bit累加;
●支持32 bit IEEE浮點(diǎn)數據和8 bit/16 bit/32 bit/64 bit定點(diǎn)數據格式。
TS101的其它典型性能指標如表1所列。
表1 250M運行時(shí)通用算法性能
性能指村 | 速 度 | 時(shí)鐘周期 |
32-bit處,500百萬(wàn)MACs/s峰值性能 | ||
1024點(diǎn)復數FFT(基2) | 39.34μs | 9835 |
1024點(diǎn)輸入50抽頭FIR | 110μs | 27500 |
單FIR MAC | 2.2ns | 0.55 |
16-bit算法,20億次MACs/s峰值性能 | ||
256點(diǎn)復數FFT(基2) | 4.4μs | 1100 |
1024點(diǎn)輸入50抽頭FIR | 28.8μs | 7200 |
單FIR MAC | 0.56ns | 0.14 |
單復數FIR MAC | 2.28ns | 0.57 |
雷達信號處理一般需要很高的實(shí)時(shí)性,比如在干擾抑制算法處理時(shí),必須在一個(gè)回波脈沖周期內完成相關(guān)算法。由上述分析可知,TS101S可以滿(mǎn)足高速實(shí)時(shí)數字信號處理的要求。下面以TS101S實(shí)現FBLMS自適應算法抑制同頻窄帶信號對雷達的干擾為例進(jìn)一步介紹該芯片。
3?。疲拢蹋停铀惴ǚ治雠c實(shí)現
自適應過(guò)程一般采用典型LMS自適應算法,但當濾波器的輸入信號為有色隨機過(guò)程時(shí),特別是當輸入信號為高度相關(guān)時(shí),這種算法收斂速度要下降許多,這主要是因為輸入信號的自相關(guān)矩陣特征值的分散程度加劇將導致算法收斂性能的惡化和穩態(tài)誤差的增大。此時(shí)若采用變換域算法可以增加算法收斂速度。變換域算法的基本思想是:先對輸入信號進(jìn)行一次正交變換以去除或衰減其相關(guān)性,然后將變換后的信號加到自適應濾波器以實(shí)現濾波處理,從而改善相關(guān)矩陣的條件數。因為離散傅立葉變換?DFT?本身具有近似正交性,加之有FFT快速算法,故頻域分塊LMS?FBLMS?算法被廣泛應用。
FBLMS算法本質(zhì)上是以頻域來(lái)實(shí)現時(shí)域分塊LMS算法的,即將時(shí)域數據分組構成N個(gè)點(diǎn)的數據塊,且在每塊上濾波權系數保持不變。其原理框圖如圖2所示。FBLMS算法在頻域內可以用數字信號處理中的重疊保留法來(lái)實(shí)現,其計算量比時(shí)域法大為減少,也可以用重疊相加法來(lái)計算,但這種算法比重疊保留法需要較大的計算量。塊數據的任何重疊比例都是可行的,但以50%的重疊計算效率為最高。對FBLMS算法和典型LMS算法的運算量做了比較,并從理論上討論了兩個(gè)算法中乘法部分的運算量。本文從實(shí)際工程出發(fā),詳細分析了兩個(gè)算法中乘法和加法的總運算量,其結果為:
復雜度之比=FBLMS實(shí)數乘加次數/LMS實(shí)數乘加次數=(25Nlog2N+2N-4)/[2N(2N-1)]?
采用ADSP的C語(yǔ)言來(lái)實(shí)現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測試板中,筆者用匯編語(yǔ)言和C語(yǔ)言程序分別測試了典型LMS算法的運行速度,并與FBLMS算法的C語(yǔ)言運行速度進(jìn)行了比較,表2所列是其比較結果,從表2可以看出濾波器階數為64時(shí),即使是用C語(yǔ)言編寫(xiě)的FBLMS算法也比用匯編編寫(xiě)的LMS算法速度快20%以上,如果濾波器的階數更大,則速度會(huì )提高更多。
表2 FBLMS和LMS算法在運行速度比較
算 法 | 條 件 | 時(shí)鐘周期 | 速度 |
LMS-ASM | 1024點(diǎn)實(shí)數據,64階 | 1257493 | 5.030ms |
LMS-C | 1024點(diǎn)實(shí)數據,64階 | 8394862 | 33.579ms |
FBLMS-C | 1024點(diǎn)實(shí)數據,64階 | 986524 | 3.946ms |
評論