[发明专利]一种针对复数平方根的近似计算装置及方法有效
申请号: | 202010870048.3 | 申请日: | 2020-08-26 |
公开(公告)号: | CN111984227B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 潘红兵;朱杰;王宇宣 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F7/575 | 分类号: | G06F7/575;G06F17/17;G06F7/552 |
代理公司: | 江苏法德东恒律师事务所 32305 | 代理人: | 李媛媛 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 复数 平方根 近似 计算 装置 方法 | ||
本发明公开了一种针对复数平方根的近似计算装置及方法。该装置包括依次相连的预处理模块、CORDIC计算模块、基本计算模块、线性近似计算模块和输出处理模块;预处理模块用于复数的实部和虚部的预处理和迭代初始移位位数的计算;CORDIC计算模块用于计算输入复数的模长;基本计算模块用于对复数的模长、复数的实部进行加减法和移位操作;线性近似计算模块用于计算实数范围内的平方根运算;输出处理模块用于为输出复数的实部和虚部添加符号位,在串并转换后输出复数平方根的计算结果。本发明的近似计算装置及方法,在保持较高精度计算的前提下,能保持高的计算速度,并降低硬件的复杂度。
技术领域
本发明涉及一种针对复数平方根的近似计算装置及方法,属于数字集成电路设计领域。
背景技术
复数自提出以来,在信号分析、电磁学、力学、系统论和控制论都有着广泛的应用。而涉及到复杂复数运算时,复数的平方根运算往往是绕不开的一个问题。
和实数范围内的平方根运算不同,复数的平方根计算需要考虑实部、虚部、幅角等多个方面,如果使用欧拉公式来计算r(cosθ+isinθ)的平方根,会得到平方根结果虽然表达方便,但在实际数值计算过程中会涉及到多次直角坐标与极坐标的转换,不能够直接采用移位和通用的加减乘除算数逻辑单元进行计算,很难在硬件中实现的。因此,可以采用近似计算的方法来计算。
发明内容
本发明提供一种针对复数平方根的近似计算装置,旨在实现高精度计算时保持相对较小的硬件资源占用和高的运算速度。本发明还提供一种近似计算方法。
本发明装置采用的技术方案是:
一种针对复数平方根的近似计算装置,包括依次相连的预处理模块、CORDIC计算模块、基本计算模块、线性近似计算模块和输出处理模块,
所述预处理模块,用于调整输入复数的实部和虚部,并计算出用于CORDIC计算的起始移位位数;
所述CORDIC计算模块,用于基于圆周CORDIC算法旋转模式,计算输入复数的模长;
所述基本计算模块,用于对输入复数的模长以及实部进行加减法和移位操作;
所述线性近似计算模块,用于计算实数范围内的平方根运算;
所述输出处理模块,用于为开平方后复数的实部和虚部添加符号位并输出结果。
进一步地,所述CORDIC计算模块包括寄存器、数据选择器、算术逻辑单元ALU、乘法器、迭代计数器和查找表LUT。
进一步地,所述线性近似计算模块包括索引单元和乘加单元:所述索引单元包括加法单元、异或门和寄存器,该单元用于获取输入值x和分段端点值的大小关系,并拉高所在区间右端点连接导线的电平,使得寄存器单元中的斜率k和截距b有效输出;所述寄存器中存储的分段端点值、各分段的斜率k和截距b,为预先对函数进行误差均衡的非均匀线性近似分段所得;所述乘加单元包括一个乘法器和一个加法器,该单元用于根据输入值x和斜率k、截距b,计算kx+b,得到线性近似计算单元的输出结果,即不包含符号的开平方根之后复数的实部和虚部。
本发明一种针对复数平方根的近似计算方法,具体步骤如下:
(1)在不改变输入复数模长的情况下,把输入复数的辐角调整到0到45度之间,并计算用于CORDIC计算的初始移位位数;
(2)利用步骤(1)得到的实部、虚部以及初始移位位数,采用圆周CORDIC算法的旋转模式计算输入复数的模长;
(3)通过将输入复数的实部和模长进行加减法和移位,计算得到输出复数实部和虚部的平方;
(4)对步骤(3)的结果进行实数范围内的平方根计算,在给计算结果增加符号位后,并行输出开平方根后复数的实部和虚部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010870048.3/2.html,转载请声明来源钻瓜专利网。