微电子学的发展彻底改变了计算机的设计:集成电路技术增加了能够安装到单个芯片中的元器件数目及其复杂度。因此,采用这种技术可以构建低成本、专用的外围器件,从而迅速地解决复杂的问题。
大规模集成电路(VLSI)技术明确地指出:简单和规则的互连导致廉价的实现方式以及高密度,而高密度能够实现高性能和低开销。有鉴于此,我们致力于设计并行的运算法则,其拥有简单且规则的数据流。我们也致力于将流水线技术作为在硬件中实现这些算法的通用手段。借助于流水线技术,输入和输出之间的处理可以同时进行,因此,总的执行时间变得最小。在流水线的每一阶段上,采用流水线技术外加多处理技术能够获得最佳的性能。在下面,我们要论证一个微处理器阵列能够借助流水线矩阵计算,使得速度得到最佳的提升。图1是一个脉动阵列的简单例子。在这种结构下有两个输入向量阵列,z和x。处理单元有一个值,通常是根据定义在单元内的运算法则而得到的结果。其输出是一个向量,。
图1中的脉动阵列的输出可以被简单地表示为向量矩阵关系:
它显示了如何采用一对
脉动阵列来解决在很多信号处理情形 下出现的线性最小二乘问题。主阵列(三角形的)常用来实现Givens旋转法 的流水线序列,其通过归一化变换到上三角形,从而减小数据矩阵 。
重要的实时应用的数量在增长,尤其在无线通信领域,要求系统在出现强干扰的情况下可靠地工作。基于码分多址(CDMA)技术的现代无线通信系统由于多路径衰减、多址干扰(MAI)、码间干扰(ISI)这三个主要因素造成容量和性能上的限制。克服这些困难的常用方案是采用发射功率控制、错误控制编码以及典型地基于传统耙状接收机的多种技术。耙状接收机的性能由于快速时变通道的出现而大打折扣,这些快速时变通道在实际的移动无线通信系统中是很常见的。有两种干扰与用于CDMA下行线的耙状接收机有关:一种是指间干扰(IFI);另一种是多址干扰(MAI)。这两种干扰都是由于无线通道的频率选择引起的。当采用耙状接收机时,IFI和MAI会使CDMA系统的容量受到限制。
改善CDMA传输的性能需要抑制IFI和MAI。当延迟扩散较大时,可以通过信道均衡,将频率选择性衰减信道转换为频率非选择性衰减信道。这样,基于自适应规则的均衡接收机似乎是一个有效的CDMA接收机。它通过复原正交扩频码来恢复发送的数据,从而抑制了IFI和MAI。自适应的最小均方(LMS)法和递归最小二乘(RLS)法迭代地计算时变信道。借助相对较短的存放数据的缓冲器,它们具有较短的处理延时的优点。RLS算法注重回溯到初始态的所有信息,根据到达的新数据更新加权向量的估计值。由于收敛性较好,因此RLS优于LMS。另外,如果自适应算法发散,或者收敛缓慢,它将很难实现对IFI和MAI的抑制,而这是均衡接收机非常基本的目标。另一方面,RLS算法需要在信号保持期间进行大量的运算,而这不是一个实际的无线电系统所期望的,因为简化是降低成本的关键所在。在改进RLS滤波器的数字特性情形下,引入通过QR分解(QRD)得到的输入矩阵的直角三角形。这样的一个三角形化过程可以通过一系列的Givens旋转法来实现,这种做法常被用来在基于样本为单位的原理上实现QR的更新。
采用Givens旋转法的QRD-RLS算法的一种有效的并行三角形脉动处理器阵列的实现方法已经问世 。一个统一的周期性时钟控制着这个脉动阵列,它执行平面旋转以消除输入信号矩阵的一些元素。通常,旋转角度的计算需要对开方、乘法和加法运算求逆。这种方法称作基本的Givens旋转法,但存在自由的Givens平方根 。CORDIC算法也可以仅仅采用二进制的移位和加法来实现,但是由于需要定标、更多的迭代以及计算中可能的不稳点而增加成本。图2举了一个常规的CDMA系统的例子。作为比较,图3展示了一个构建出的RLS自适应均衡器。
RLS的目的是在每个采样时间 计算复数的权重向量,从而减小残值向量的模。
这里 是一个复数或观测值, 是想要得到的复数向量,它要在同一时刻立即估计出来。包含在计算中、但没有明确地表示出来的是一个指数型的权重因子(遗忘因子),它以累进的方式极大地加权于旧的数据上。这一加权可以通过优于实际乘法运算的二进制移位方式来实现。在图4中,主三角形阵列ABC通过实行式(2)的QRD变换将数据矩阵 转换为一个上三角形矩阵 。
是一个酉矩阵,它由一系列的Givens旋转产生。图4中的圆形物体是旋转(边界)处理器单元,方形物体是向量化(内部)的处理器单元。旋转单元计算适当的角度旋转参数,并将它传递到向量化处理单元。类似的,在最小二乘处理器阵列单元的右列DE,估计并存储由式(3)所 定义的向量 。
优化权重向量由式(4)给出。
每个旋转和向量化处理单元都有一个定义过的算法来实现特定的系统,如图1所示。该系统可以有一个定义过的结构来处理RLS或者经过构建来处理用于自适应天线波束赋形技术中的最小方差无畸变响应(MVDR)算法。注意图4中的每个单元必须等到输入向量 完全消失后才能更新它所存储的数值。这个过程也许理所当然的是流水线式的。需要牢记的是,当处理复数时,旋转首先必须使虚部为零,然后再次旋转使剩余的实部为零。注意单元的最后一列类似传统的耙状接收机的一个接收分支。
图4中的脉动阵列以高度的流水线方式运行。计算的波阵面以信号接收的速率传播。在所要的信号 不可知的情况下,采用"先验"的估计方法。在此情形下, 反馈作为 的输入。鉴于此反馈回路,无法实现完全的流水线方式。然而,处理阵列的列可以进行流水线计算,而行则不行。这样的脉动阵列实现方式的一个重要的潜在优点是它的能效。能耗在开发用于无线系统的干扰抑制算法中至关重要。在集成电路中,能耗是门速度的递增函数 。大的并行脉动阵列处理方式能够在不相应地降低算法的更新速度的前提下,使得单个门的速度大大下降,这样就达到了高能效的目的。
采用Givens旋转的算法可以取得出色的数字性能,它可以使用缩短字长的算法有效地在ASIC和FPGA中实现。字长必须足够使权重的计算达到一定精度,从而彻底地消除干扰。对于FPGA来说,它的结构需要针对字长进行参数化,并且要包含属性以便提供布局信息,从而在可预知时序的前提下,实现非常密集的布局。
FPGA技术的发展速度令人震惊。最新的FPGA提供了一种无需采用ASIC就可以达到自适应系统所需的性能的方法。例如DRAM,它们充分利用了当今制造工艺所提供的大量晶体管,它们能够用来完成合适的并行运算。另外,诸如LatticeECP系列的FPGA现在已经集成了DSP模块,可以用硬件方式实现乘法、加法以及乘法累加(MAC)等功能。因此,利用这种技术进步和结构优化,极有可能取得大大超越现有结构的性能。