CORDIC算法在指纹图像处理中的三角函数加速核设计

1 下载量 138 浏览量 更新于2024-08-29 收藏 1.7MB PDF 举报
"这篇文章主要探讨了在指纹图像实时处理中如何提高三角函数运算效率的问题。传统的软件实现方式导致处理效率低下,为此,作者基于CORDIC(坐标旋转数字计算机)算法提出了一种改进方法,设计了一个适用于指纹图像处理的三角函数加速核。此加速核采用资源共享策略,减少了迭代运算部分的资源开销,并利用16级流水线结构来同时执行正余弦和反正切函数的计算。与Altera和Xilinx的相同结构IP核比较,该设计在资源利用率上表现出优势,同时在计算精度上与C语言软件函数库保持相近的水平,运算速度分别提高了92倍和64.5倍。文章由陈炎等人撰写,发表在《电子设计工程》第27卷第1期,展示了在嵌入式图像处理领域的技术创新。" 在指纹识别技术中,图像处理速度至关重要。传统的三角函数运算,如正弦、余弦和反正切,通常通过软件实现,这种方法在实时处理时效率低下。CORDIC算法作为一种数值逼近方法,由J.E.Volder在1959年提出,主要用于解决航空控制系统中的旋转角度计算问题。随着时间的发展,该算法被广泛应用于各种超越函数的硬件实现,因为它能在速度、精度和资源消耗之间取得平衡。 本文深入分析了CORDIC算法在实现Sine/Cosine和Arctan2函数中的共同点,提出了一种优化方案。该方案通过资源共享,使得同一个硬件核心可以同时执行正余弦和反正切的迭代运算。设计中采用了16级流水线结构,这允许连续的数据流通过处理单元,显著提高了运算速度。与市场上同类产品(如Altera和Xilinx的IP核)相比,该设计在资源占用上具有明显优势,且计算结果的绝对误差控制在了10^-4和10^-5的精度级别,运算性能分别是传统C语言软件库的92倍和64.5倍。 这样的改进对于指纹图像处理有着重大的意义,它不仅提升了系统的整体效率,还节省了硬件资源,有助于实现更小巧、更高效的指纹识别系统。此外,这一成果也为其他需要实时处理的图像应用提供了参考,证明了采用CORDIC算法和优化设计在嵌入式系统中的潜力。