论文部分内容阅读
随着集成电路技术的快速发展,数字通信技术也得到不断更新换代,因此对通信设备的性能提出更高要求。同时,为了满足不同用户的需求,现在仍然是多种通信标准共存,从而进一步加剧了通信设备开发的成本和周期。数字信号处理器(Digital Signal Processor,DSP)作为通信系统中典型信号处理设备,人们对其实时性要求也不断提高,其中代表性的算法有QR分解、离散余弦变换(Discrete Cosine Transform,DCT)、逆离散余弦变换(Inverse Discrete Cosine Transform,IDCT)、直接数字频率合成(Direct Digital Frequency Synthesizer,DDS)和快速傅里叶变换(Fast Fourier Transform,FFT)等。为了能够实现信号实时处理,人们现在趋向于将这些算法硬件实现并固化在DSP中。与此同时,功耗逐渐成为制约系统性能的一个关键因素,尤其是对便携式通信设备而言。坐标旋转数字计算方法(Coordinate Rotation Digital Computer,CORDIC)由于能够基于简单的移位和加法操作实现一系列的超越函数,包括乘法、除法、对数函数、三角函数和开平方等,因此基于CORDIC算法实现DSP中典型算法的硬件加速和低功耗研究是当前热点方向。本文以计算精度、面积、速度和功耗为优化目标,分别对CORDIC算法、QR分解、DCT/IDCT变换、DDS技术和FFT变换展开深入研究,主要研究成果和创新性包括以下几点:1)由于传统CORDIC算法存在旋转角度覆盖范围受限、循环迭代次数过长、缩放因子补偿逻辑、角度数据路径和计算精度低的不足,本文基于Scalingfree(SF)CORDIC算法提出了自适应编码CORDIC算法(Adaptive Recoding CORDIC,ARC),其采用自适应编码方法对旋转角度进行编码,使得旋转角度最低十位有效数据位中每相邻两位最多只存在一位有效位为1,从而有效减少了循环迭代次数。为了进一步加快循环迭代过程,本文又在ARC算法基础上提出了改进自适应编码CORDIC算法(Enhanced Adaptive Recoding CORDIC,EARC),其采用改进自适应编码算法对旋转角度的最高三位有效数据位进行编码,使得其最低两位有效数据位至多也只存在一位有效数据位为1。此外,本文提出了改进的向量模式CORDIC算法,其采用三角变换消除了第一级迭代的同时利用自适应编码加速了缩放因子补偿过程。与最先进的Hybrid CORDIC算法相比,EARC算法位错位置(Bit Error Position,BEP)提升4位,减少硬件资源开销17.7%,计算速度提升23%,而且功耗节省17%。与ARC算法相比,EARC算法的面积减少8.56%,计算速度提升11.1%,而且功耗降低12.3%。与商业向量模式CORDIC相比,改进向量模式CORDIC算法在保持计算精度的前提下减少66.3%的硬件资源,计算速度提升1.8倍和降低71.6%的功耗。因此,ARC算法、EARC算法以及改进向量模式CORDIC算法性能均得到提升,尤其是速度和功耗。2)为了提升QR分解系统阵列结构性能,本文通过在Chen Architecture第二行增加一个旋转模式CORDIC计算单元得到Zhang Architecture,其缩短了QR分解流水线建立时间。为了进一步降低计算结果的更新时间,本文又提出了Enhanced Architecture,其在Zhang Architecture结构第三行增加了一个旋转模式CORDIC计算单元。与此同时,提出了由系统阵列结构中改进向量模式CORDIC计算单元的控制信号同时实现对旋转模式CORDIC计算单元控制的机制,有效加速了QR分解过程。与Chen Architecture相比,Zhang Architecture保持计算精度的同时节省了5%的硬件资源以及吞吐率提升了2.28倍。与Zhang Architecture相比,Enhanced Architecture在牺牲3.65%资源的代价下,吞吐率提升1.5倍,硬件效率提升1.45倍和减少24.5%功耗。甚至当选定Enhanced Architecture的信号翻转率为最差情况100%而Zhang Architecture的信号翻转率为最佳状况12.5%时,Enhanced Architecture的功耗开销仍比Zhang Architecture少。结果表明,Zhang Architecture和Enhanced Architecture的吞吐率和硬件利用率改进明显,并且适用于低功耗环境中。3)为了降低DCT和IDCT变换的计算量,本文首先通过模块划分机制提出了基于向量旋转的第一种统一DCT/IDCT结构。考虑到计算单元受限的应用,本文又采用三角函数变换在First Unified DCT/IDCT结构基础上提出了第二种统一DCT/IDCT结构。同时,针对改进结构中的CORDIC计算单元,采用了ARC算法与传统CORDIC算法相结合的模式以提升计算精度和消除数据相关性。此外,本文提出了基2近似缩放因子逼近方法,极大程度地减少了量化误差。在DCT模式下,与Lee结构相比,本文所提的两个统一DCT/IDCT变换结构的峰值信号噪声比(Peak Signal-to-Noise ratio,PSNR)提升超3.8 d B,面积节省超10.8%,关键路径延迟降低超5.06%以及功耗节省超9.18%。在DCT/IDCT模式,与Huang结构相比,本文所提出的第一种统一DCT/IDCT和第二种统一DCT/IDCT分别提升PSNR值1 d B和2 d B,减少38.3%和42.8%的硬件资源开销,以及减少35.4%和34.4%的功耗。所以,无论是在DCT模式还是DCT/IDCT模式下,本文所提的两个统一DCT/IDCT结构的性能优势突出。4)由于DDS中的相幅转换模块需要实时完成三角函数值的计算,同时FFT需要能够快速实现蝶形计算单元中的复数乘法操作,所以本文基于ARC算法和EARC算法设计实现了高效的DDS和FFT,它们分别以牺牲无杂散动态范围(Spurious Free Dynamic Range,SFDR)和信号噪声比(Signal-to-Noise ratio,SNR)为代价消除了用于存储三角函数值的RAM和用于存储旋转因子的ROM。与商业DDS相比,ARC DDS和EARC DDS分别节省17.7%和27.2%的功耗。与商业FFT相比,ARC FFT的计算速度提升了1.23倍并减少60.1%功耗。与ARC FFT相比,EARC FFT的性能得到进一步提升。因此,基于ARC算法和EARC算法设计实现的DDS和FFT在资源开销以及功耗方面优势明显。