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