传统流水线CORDIC(Coordinate Rotation Digital Computer,CORDIC)算法精度不高,输出延时较大,并且需要依靠剩余角度计算进行旋转方向的判断,占用较大的资源。针对以上问题,本文采用角度二极化重编码方法消除剩余角度计算,通过折叠角度...传统流水线CORDIC(Coordinate Rotation Digital Computer,CORDIC)算法精度不高,输出延时较大,并且需要依靠剩余角度计算进行旋转方向的判断,占用较大的资源。针对以上问题,本文采用角度二极化重编码方法消除剩余角度计算,通过折叠角度区间将角度映射于区间[0,π/4]。结合查找表以及合并迭代技术,减少角度计算的迭代次数和硬件单元,降低输出时延,只需要3个周期就能完成CORDIC计算。使用结果重映射方法完成正弦和余弦的全象限实现。寄存器资源消耗为传统算法的35.37%,输出时延减少85%。基于180nm CMOS工艺,完成CORDIC算法的ASIC实现。正弦和余弦的平均绝对误差分别为2.5472×10^(-6)、1.9396×10^(-6),相比较于传统CORDIC算法,精度提升一个数量级。展开更多
为减少传统流水线型CORDIC(Coordinate Rotation Digital Computer)算法的硬件资源消耗和输出时延,在包含查找表的三阶段CORDIC算法实现基础上,提出一种免去查找表环节的CORDIC算法实现方法.提出的改进算法直接使用四次移位相加的迭代...为减少传统流水线型CORDIC(Coordinate Rotation Digital Computer)算法的硬件资源消耗和输出时延,在包含查找表的三阶段CORDIC算法实现基础上,提出一种免去查找表环节的CORDIC算法实现方法.提出的改进算法直接使用四次移位相加的迭代运算替换查找表结构从而显著降低寄存器消耗,同时通过合并迭代降低迭代次数进而有效减少最大输出时延,并综合运用角度二极化重编码(Binary To Bipolar Recoding,BBR)方法和角度区间折叠技术保证了输出精度.使用Verilog HDL语言在ISE14.2软件平台上对三种算法进行具体实现,利用XST工具对其进行综合,并通过MATLAB建模计算得到算法的正余弦值输出误差.仿真实验结果表明:在输出位宽均设置为16位的情况下,免查找表CORDIC算法能够有效地输出正余弦值;与传统流水线型算法相比,免查找表算法的寄存器资源消耗减少大约74.42%,计算所需的时钟周期降低68.75%,其输出精度也有明显改善;与三阶段算法相比,免查找表算法的寄存器消耗减少大约43.3%.本文提出的免查找表CORDIC算法具有实时性强、输出精度高、硬件资源消耗少等优势,更适用于高速实时的现代数字通信系统应用.展开更多
针对流水线型坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的输出精度低、输出时延长、硬件资源消耗大的问题,提出一种双向预判免缩放因子CORDIC算法.该算法首先将[0,π/4)内的输入角度通过角度二进制编码后...针对流水线型坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的输出精度低、输出时延长、硬件资源消耗大的问题,提出一种双向预判免缩放因子CORDIC算法.该算法首先将[0,π/4)内的输入角度通过角度二进制编码后按位值i分解为2-i的较小角度,然后使用设立的查找表在初始角度的基础上进行双向免缩放因子旋转,无需根据中间迭代结果判断下次的旋转方向,避免了迭代方向的不确定性,减少了迭代单元级数和迭代次数,同时提高了运算精度;最后将[π/4,2π)内的输入角度通过角度区间折叠技术变换到[0,π/4),使计算区间扩展到整个圆周[0,2π),保证了运算范围,且只需要使用移位和加减运算即可实现,避免了进行乘法运算.在MATLAB和Vivado软件平台上进行算法仿真与验证,结果表明:在输出位宽均为14位时,与流水线型和单向免缩放因子型CORDIC算法相比,输出精度分别提高了47.5%、18.8%,最大输出时延分别降低了53.8%、40.0%,硬件资源消耗也有一定的改善.本文提出的CORDIC算法具有输出精度高、输出时延短等特点,其综合性能具有较大的提升.展开更多
文摘传统流水线CORDIC(Coordinate Rotation Digital Computer,CORDIC)算法精度不高,输出延时较大,并且需要依靠剩余角度计算进行旋转方向的判断,占用较大的资源。针对以上问题,本文采用角度二极化重编码方法消除剩余角度计算,通过折叠角度区间将角度映射于区间[0,π/4]。结合查找表以及合并迭代技术,减少角度计算的迭代次数和硬件单元,降低输出时延,只需要3个周期就能完成CORDIC计算。使用结果重映射方法完成正弦和余弦的全象限实现。寄存器资源消耗为传统算法的35.37%,输出时延减少85%。基于180nm CMOS工艺,完成CORDIC算法的ASIC实现。正弦和余弦的平均绝对误差分别为2.5472×10^(-6)、1.9396×10^(-6),相比较于传统CORDIC算法,精度提升一个数量级。
文摘为减少传统流水线型CORDIC(Coordinate Rotation Digital Computer)算法的硬件资源消耗和输出时延,在包含查找表的三阶段CORDIC算法实现基础上,提出一种免去查找表环节的CORDIC算法实现方法.提出的改进算法直接使用四次移位相加的迭代运算替换查找表结构从而显著降低寄存器消耗,同时通过合并迭代降低迭代次数进而有效减少最大输出时延,并综合运用角度二极化重编码(Binary To Bipolar Recoding,BBR)方法和角度区间折叠技术保证了输出精度.使用Verilog HDL语言在ISE14.2软件平台上对三种算法进行具体实现,利用XST工具对其进行综合,并通过MATLAB建模计算得到算法的正余弦值输出误差.仿真实验结果表明:在输出位宽均设置为16位的情况下,免查找表CORDIC算法能够有效地输出正余弦值;与传统流水线型算法相比,免查找表算法的寄存器资源消耗减少大约74.42%,计算所需的时钟周期降低68.75%,其输出精度也有明显改善;与三阶段算法相比,免查找表算法的寄存器消耗减少大约43.3%.本文提出的免查找表CORDIC算法具有实时性强、输出精度高、硬件资源消耗少等优势,更适用于高速实时的现代数字通信系统应用.
文摘针对流水线型坐标旋转数字计算机(coordinate rotation digital computer,CORDIC)算法的输出精度低、输出时延长、硬件资源消耗大的问题,提出一种双向预判免缩放因子CORDIC算法.该算法首先将[0,π/4)内的输入角度通过角度二进制编码后按位值i分解为2-i的较小角度,然后使用设立的查找表在初始角度的基础上进行双向免缩放因子旋转,无需根据中间迭代结果判断下次的旋转方向,避免了迭代方向的不确定性,减少了迭代单元级数和迭代次数,同时提高了运算精度;最后将[π/4,2π)内的输入角度通过角度区间折叠技术变换到[0,π/4),使计算区间扩展到整个圆周[0,2π),保证了运算范围,且只需要使用移位和加减运算即可实现,避免了进行乘法运算.在MATLAB和Vivado软件平台上进行算法仿真与验证,结果表明:在输出位宽均为14位时,与流水线型和单向免缩放因子型CORDIC算法相比,输出精度分别提高了47.5%、18.8%,最大输出时延分别降低了53.8%、40.0%,硬件资源消耗也有一定的改善.本文提出的CORDIC算法具有输出精度高、输出时延短等特点,其综合性能具有较大的提升.