ADSP Tiger SHARC芯片TS101S及其应用
it定点数据格式。
TS101的其它典型性能指标如表1所列。
表1250M运行时通用算法性能
性能指村速度时钟周期32-bit处,500百万MACs/s峰值性能1024点复数FFT(基2)39.34μs98351024点输入50抽头FIR110μs27500单FIRMAC2.2ns0.5516-bit算法,20亿次MACs/s峰值性能256点复数FFT(基2)4.4μs11001024点输入50抽头FIR28.8μs7200单FIRMAC0.56ns0.14单复数FIRMAC2.28ns0.57
雷达信号处理一般需要很高的实时性,比如在干扰抑制算法处理时,必须在一个回波脉冲周期内完成相关算法。由上述分析可知,TS101S可以满足高速实时数字信号处理的要求。下面以TS101S实现FBLMS自适应算法抑制同频窄带信号对雷达的干扰为例进一步介绍该芯片。
3FBLMS算法分析与实现
自适应过程一般采用典型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[i×N+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[i×N+j]=O[N+j].re;
e[i×N+j]=refere[i×N+j]-y[i×N+j];
temp[N+j]=e[i×N+j;}
rfft( 《ADSP Tiger SHARC芯片TS101S及其应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/174798.html
TS101的其它典型性能指标如表1所列。
表1250M运行时通用算法性能
性能指村速度时钟周期32-bit处,500百万MACs/s峰值性能1024点复数FFT(基2)39.34μs98351024点输入50抽头FIR110μs27500单FIRMAC2.2ns0.5516-bit算法,20亿次MACs/s峰值性能256点复数FFT(基2)4.4μs11001024点输入50抽头FIR28.8μs7200单FIRMAC0.56ns0.14单复数FIRMAC2.28ns0.57
雷达信号处理一般需要很高的实时性,比如在干扰抑制算法处理时,必须在一个回波脉冲周期内完成相关算法。由上述分析可知,TS101S可以满足高速实时数字信号处理的要求。下面以TS101S实现FBLMS自适应算法抑制同频窄带信号对雷达的干扰为例进一步介绍该芯片。
3FBLMS算法分析与实现
自适应过程一般采用典型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[i×N+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[i×N+j]=O[N+j].re;
e[i×N+j]=refere[i×N+j]-y[i×N+j];
temp[N+j]=e[i×N+j;}
rfft( 《ADSP Tiger SHARC芯片TS101S及其应用(第2页)》