固定角度旋转的CORDIC(Coordinate Rotation Digital Computer)算法已经广泛的应用于高速数字信号处理、图像处理、机器人学等领域.针对固定角度旋转CORDIC算法在相位旋转过程中,存在数据吞吐率较高、占用硬件资源较多且资源消耗量大等...固定角度旋转的CORDIC(Coordinate Rotation Digital Computer)算法已经广泛的应用于高速数字信号处理、图像处理、机器人学等领域.针对固定角度旋转CORDIC算法在相位旋转过程中,存在数据吞吐率较高、占用硬件资源较多且资源消耗量大等缺点,提出了利用混合CORDIC算法,将角度旋转分为单向角度旋转和一次角度估计旋转两部分.本文根据欠阻尼理论,将固定角度旋转采用单向旋转CORDIC算法实现,减少了流水线的级数和迭代符号位的判决,然后通过对角度估计旋转的二进制表示,修正常数因子,再根据角度映射关系进行相关处理,完成高速高精度坐标旋转.最后在硬件平台上进行了仿真实验.实验结果表明,在误差范围一定的前提下,混合算法进一步的减少了迭代次数,并且资源消耗较低,提高了数据吞吐率.展开更多
传统流水线结构的坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)算法的迭代周期固定,在实现反正切函数运算时存在硬件资源消耗过多、输出时延较长等问题,提出一种基于查找表的改进的CORDIC算法。该方法不仅通过缩减...传统流水线结构的坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)算法的迭代周期固定,在实现反正切函数运算时存在硬件资源消耗过多、输出时延较长等问题,提出一种基于查找表的改进的CORDIC算法。该方法不仅通过缩减有效数据位宽、合并迭代等手段节省了剩余角度Z路径的计算量,而且还消除了的增益因子的影响,有效的减小了硬件资源消耗及电路面积。分别使用matlab以及XILINX ISE进行理论建模分析仿真以及实际验证,结果表明:改进CORDIC算法在保证输出精度前提下,电路工作速度有一定提高,输出时延也有所减少,寄存器消耗节省50.6%,有效的降低了硬件资源消耗,适合实时性强、硬件资源有限的现代通信应用场合。展开更多
开平方运算广泛应用于数值分析、调制解调、图像处理等领域,而应用坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)进行平方根运算是一种新应用.基本CORDIC算法精度必须用迭代次数作保证,而较多的迭代次数会导致时延过...开平方运算广泛应用于数值分析、调制解调、图像处理等领域,而应用坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)进行平方根运算是一种新应用.基本CORDIC算法精度必须用迭代次数作保证,而较多的迭代次数会导致时延过大等问题,通过运用建立查找表、单向旋转、合并迭代和免除补偿因子等手段,提出一种能够免去大部分迭代运算的改进CORDIC算法用于平方根计算.相较于基本算法计算平方根,该改进算法使用了一半的时钟周期便能得到输出结果,大大减少了输出时延,而且可以达到较高的计算精度,更加适合实时性要求高的应用场合.展开更多
传统动态FIR数字滤波需要将大量滤波器系数存入FPGA中,该文提出一种基于CORDIC算法的动态FIR数字滤波器实现方法,通过CORDIC算法对随信号参数动态变化的滤波器系数进行实时计算,节省大量FPGA内存资源。实验表明:基于CORDIC算法的动态FI...传统动态FIR数字滤波需要将大量滤波器系数存入FPGA中,该文提出一种基于CORDIC算法的动态FIR数字滤波器实现方法,通过CORDIC算法对随信号参数动态变化的滤波器系数进行实时计算,节省大量FPGA内存资源。实验表明:基于CORDIC算法的动态FIR数字滤波器系数计算绝对误差小于±4×10-3,动态滤波器阻带衰减达-50 d B以上,具有准确度高、实时性好、占用内存少的特点。将该动态FIR数字滤波器应用于超声相控阵回波信号动态滤波,取得较好滤波效果。展开更多
针对精密电机数控领域中16位位宽的坐标旋转数字计算机(coordinate rotation digital computer,CORDTC)算法存在输出时延长、运算精度低、稳定性差等问题,提出高精度双向同步旋转CORDIC算法,通过角度预处理和区间折叠扩大收敛区间,迭代...针对精密电机数控领域中16位位宽的坐标旋转数字计算机(coordinate rotation digital computer,CORDTC)算法存在输出时延长、运算精度低、稳定性差等问题,提出高精度双向同步旋转CORDIC算法,通过角度预处理和区间折叠扩大收敛区间,迭代过程中采用双向同步旋转与误差均衡来提升算法的精度以及健壮性,最后根据区间结果进行还原输出.结果表明:在硬件实现上,相比传统算法,本算法的运算精度分别提高了76.3%,最大输出时延降低了71.4%,具有高精度、低延时以及稳定等优点.展开更多
传统流水线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 computing)算法能够通过简单的移位、加减运算得到任意输入角度的正弦或余弦值,具有速度快、精度灵活可调、硬件实现简单等优点。在深入分析CORDIC基本算法原理的基础上,实现了一种改进算法,这种改...CORDIC(coordinate rotation digital computing)算法能够通过简单的移位、加减运算得到任意输入角度的正弦或余弦值,具有速度快、精度灵活可调、硬件实现简单等优点。在深入分析CORDIC基本算法原理的基础上,实现了一种改进算法,这种改进算法的迭代方向由输入角二进制表示时的各位位值直接确定,避免了CORDIC基本算法中迭代方向需由剩余角度计算结果决定的不足,从而提高了CORDIC算法的运行速度,减小了电路规模,并且对算法的综合性能也有一定改善。展开更多
针对传统串行坐标旋转数字计算方法(CORDIC)耗时且占用较多资源的缺点,提出了一种旋转模式下CORDIC算法的新型改进算法,该改进算法可用来代替直接数字频率合成器(DDS)查找表进行正余弦的计算。通过采用贪婪算法实现对CORDIC旋转方向与...针对传统串行坐标旋转数字计算方法(CORDIC)耗时且占用较多资源的缺点,提出了一种旋转模式下CORDIC算法的新型改进算法,该改进算法可用来代替直接数字频率合成器(DDS)查找表进行正余弦的计算。通过采用贪婪算法实现对CORDIC旋转方向与旋转角度的优化,从而可以达到串行转并行和减少迭代次数、节约资源的目的。该算法可以应用于三角函数的复杂函数的硬件实现中。仿真结果表明,在迭代次数相同的情况下,改进算法较传统算法可以获得更高的精度。最后,在Xilinx FPGA的Spartan-3E芯片上实现了改进的CORDIC结构。与传统CORDIC算法相比,在运算精度为10-5时,可以节省Slices、LUTs(Look Up Tables)资源分别为28%和25%。展开更多
为减少传统流水线型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)算法.该算法通过对输入角度进行二极化重编码来免除剩余旋转角度的运算,利用三步旋转机制对迭代次数进行压缩,结合合并迭代技术进一步减少迭代次数,降低输出时延.以16位输出位宽为例,对三步旋转CORDIC算法和流水线迭代式算法进行实现,仿真结果表明:三步旋转CORDIC算法与流水线迭代式算法相比,改善了输出精度,输入到输出的时延降低了75%,硬件开销下降了29.2%.基于三步旋转CORDIC算法,实现了相位累加器位宽为24的直接数字频率综合器(DDFS);使用加法树结构对多输入加法器进行优化,以提高电路工作频率.仿真结果表明,该算法的最大幅度误差为8.24×10^-6,输出时延为38.5 ns.
文摘固定角度旋转的CORDIC(Coordinate Rotation Digital Computer)算法已经广泛的应用于高速数字信号处理、图像处理、机器人学等领域.针对固定角度旋转CORDIC算法在相位旋转过程中,存在数据吞吐率较高、占用硬件资源较多且资源消耗量大等缺点,提出了利用混合CORDIC算法,将角度旋转分为单向角度旋转和一次角度估计旋转两部分.本文根据欠阻尼理论,将固定角度旋转采用单向旋转CORDIC算法实现,减少了流水线的级数和迭代符号位的判决,然后通过对角度估计旋转的二进制表示,修正常数因子,再根据角度映射关系进行相关处理,完成高速高精度坐标旋转.最后在硬件平台上进行了仿真实验.实验结果表明,在误差范围一定的前提下,混合算法进一步的减少了迭代次数,并且资源消耗较低,提高了数据吞吐率.
文摘传统流水线结构的坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)算法的迭代周期固定,在实现反正切函数运算时存在硬件资源消耗过多、输出时延较长等问题,提出一种基于查找表的改进的CORDIC算法。该方法不仅通过缩减有效数据位宽、合并迭代等手段节省了剩余角度Z路径的计算量,而且还消除了的增益因子的影响,有效的减小了硬件资源消耗及电路面积。分别使用matlab以及XILINX ISE进行理论建模分析仿真以及实际验证,结果表明:改进CORDIC算法在保证输出精度前提下,电路工作速度有一定提高,输出时延也有所减少,寄存器消耗节省50.6%,有效的降低了硬件资源消耗,适合实时性强、硬件资源有限的现代通信应用场合。
文摘开平方运算广泛应用于数值分析、调制解调、图像处理等领域,而应用坐标旋转数字计算(Coordinate Rotation Digital Computer,CORDIC)进行平方根运算是一种新应用.基本CORDIC算法精度必须用迭代次数作保证,而较多的迭代次数会导致时延过大等问题,通过运用建立查找表、单向旋转、合并迭代和免除补偿因子等手段,提出一种能够免去大部分迭代运算的改进CORDIC算法用于平方根计算.相较于基本算法计算平方根,该改进算法使用了一半的时钟周期便能得到输出结果,大大减少了输出时延,而且可以达到较高的计算精度,更加适合实时性要求高的应用场合.
文摘传统动态FIR数字滤波需要将大量滤波器系数存入FPGA中,该文提出一种基于CORDIC算法的动态FIR数字滤波器实现方法,通过CORDIC算法对随信号参数动态变化的滤波器系数进行实时计算,节省大量FPGA内存资源。实验表明:基于CORDIC算法的动态FIR数字滤波器系数计算绝对误差小于±4×10-3,动态滤波器阻带衰减达-50 d B以上,具有准确度高、实时性好、占用内存少的特点。将该动态FIR数字滤波器应用于超声相控阵回波信号动态滤波,取得较好滤波效果。
文摘针对精密电机数控领域中16位位宽的坐标旋转数字计算机(coordinate rotation digital computer,CORDTC)算法存在输出时延长、运算精度低、稳定性差等问题,提出高精度双向同步旋转CORDIC算法,通过角度预处理和区间折叠扩大收敛区间,迭代过程中采用双向同步旋转与误差均衡来提升算法的精度以及健壮性,最后根据区间结果进行还原输出.结果表明:在硬件实现上,相比传统算法,本算法的运算精度分别提高了76.3%,最大输出时延降低了71.4%,具有高精度、低延时以及稳定等优点.
文摘传统流水线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 computing)算法能够通过简单的移位、加减运算得到任意输入角度的正弦或余弦值,具有速度快、精度灵活可调、硬件实现简单等优点。在深入分析CORDIC基本算法原理的基础上,实现了一种改进算法,这种改进算法的迭代方向由输入角二进制表示时的各位位值直接确定,避免了CORDIC基本算法中迭代方向需由剩余角度计算结果决定的不足,从而提高了CORDIC算法的运行速度,减小了电路规模,并且对算法的综合性能也有一定改善。
文摘针对传统串行坐标旋转数字计算方法(CORDIC)耗时且占用较多资源的缺点,提出了一种旋转模式下CORDIC算法的新型改进算法,该改进算法可用来代替直接数字频率合成器(DDS)查找表进行正余弦的计算。通过采用贪婪算法实现对CORDIC旋转方向与旋转角度的优化,从而可以达到串行转并行和减少迭代次数、节约资源的目的。该算法可以应用于三角函数的复杂函数的硬件实现中。仿真结果表明,在迭代次数相同的情况下,改进算法较传统算法可以获得更高的精度。最后,在Xilinx FPGA的Spartan-3E芯片上实现了改进的CORDIC结构。与传统CORDIC算法相比,在运算精度为10-5时,可以节省Slices、LUTs(Look Up Tables)资源分别为28%和25%。
文摘为减少传统流水线型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算法具有输出精度高、输出时延短等特点,其综合性能具有较大的提升.