用矢量旋转求解平方根的算法及其FPGA实现

引言

随着电子技术的不断发展,EDA技术在数字信号处理领域得到了越来越多的应用。在FPGA中,应用VHDL语言可以进行加法、减法、乘法等运算,但却不能直接进行开平方运算。传统的开平方算法主要可以分为三大类:牛顿迭代法[1~3],SRT-冗余算法[4~5],非冗余算法[6~7]。

当直接利用牛顿迭代法进行开平方运算时,涉及到复杂的除法运算。为了避免除法运算,必须首先计算出平方根的倒数,再与被开方数相乘得到平方根。利用牛顿迭代法求根的迭代次数只和初始值与被开方数之间的误差有关,而与被开方数无关。另外,运算中还涉及到查表运算,要使迭代次数降低,必须相应地增加查找表的大小。而且在每次迭代运算中都涉及到乘法、加/减法运算,为了提高乘法运算速度,经常通过采用高速并行乘法器和进位保留加法器来辅助运算,需要较高资源。

经典SRT-冗余算法也是基于迭代实现的,在每次迭代中都涉及到加法、乘法、条件判断转移、数值转换等运算,为了减少电路的复杂度,所有的迭代运算都共用硬件资源,因此,该算法的效率较低。

非冗余算法可分为恢复余数的算法和不恢复余数的算法。与SRT算法相似,这两种算法都需要复杂的迭代运算。恢复余数的算法由于存在反馈补偿机制,存在很大延时,效率低;不恢复余数的算法[9]还要采用更多加法运算。

 

   来源:电子产品世界
微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子