本发明涉及信号处理,特别是一种快速精确的反正切估计方法及电路。
背景技术:
1、快速而准确的计算复数x=i+jq反正切的方法正在被各个领域广泛的研究,因为在信号处理中复数角度θ的值有许多应用,计算公式为θ=arctan(q/i)。目前主流的计算反正切函数的方法有查表法和坐标旋转计算数字计算法(cordic,coordinate rotationdigital computer)。其中查表法将q/i的值指定一个rom的存储地址,输出为一个对应角度θ的近似值。但是为了得到更高的精确度,这个方法需要建立更大的rom表,消耗更多的存储资源。cordic算法可以计算精确的反正切函数,但是往往需要花费更多的处理时间。以上两种方法无法很好的兼顾反正切计算的精确度和处理速度。
技术实现思路
1、鉴于此,本发明提供一种快速精确的反正切估计方法及电路。
2、本发明公开了一种快速精确的反正切估计方法,其包括:
3、获取复数x的实部i和虚部q;基于实部i和虚部q,分别得到实部i的平方i2,虚部q的平方q2,以及实部i和虚部q的乘积iq;
4、基于得到的i2、q2、iq,估算反正切函数的计算值。
5、进一步地,将两个实部i同时输入第一乘法器,输出i2;将两个实部q同时输入第二乘法器,输出q2;将实部i和虚部q同时输入第三乘法器,输出iq。
6、进一步地,将q2的系数k和q2同时输入第四乘法器,输出kq2;
7、将i2和kq2输入加法器,输出i2+kq2;将iq和i2+kq2输入除法器,输出反正切函数的计算值:
8、
9、其中,θ为反正切函数的计算值,k=0.28125。
10、进一步地,通过二进制右移,消除第四乘法器的使用,即分别对q2右移2位和右移5位并对其求和,得到kq2=(1/4+1/32)q2。
11、进一步地,除法器支持长位宽输入,采用基2算法实现除法运算。
12、进一步地,根据公式(1)计算得到的θ的范围是-45°到+45°,对应的约束为-1≤q/i≤1;
13、将单位圆分解为8个45°的象限,以将θ的计算范围扩展到-180°到+180°,解除对输入i、q值的约束,第一个象限为0~45°,第二个象限为45°~90°,以此类推;
14、同时利用反正切函数的轴对称特性,计算任意一个象限内的反正切函数:
15、arctan(-q/i)=-arctan(q/i) (2)
16、arctan(q/i)=π/2-arctan(i/q) (3)
17、根据i、q的符号和绝对值对象限进行判断,得到象限扩展后的反正切修正值。
18、进一步地,所述根据i、q的符号和绝对值对象限进行判断,得到象限扩展后的反正切修正值,包括:
19、当处于第一或第八象限,i>0,|i|>|q|,反正切修正值
20、当处于第二或第三象限,q>0,|q|>|i|,反正切修正值
21、当处于第四或第五象限,i<0,|i|>|q|,反正切修正值
22、当处于第六或第七象限,q<0,|q|>|i|,反正切修正值
23、进一步地,i2和q2可提前被am调幅或解调器处理计算,或者被自动增益控制包络检波计算,从而节省两个乘法器。
24、本发明还公开了一种快速精确的反正切估计电路,用于实现上述任一项所述的快速精确的反正切估计方法,其包括第一乘法器、第二乘法器、第三乘法器、第四乘法器、加法器和除法器;第一乘法器、第二乘法器、第三乘法器、第四乘法器均用于对输入的数据进行乘法运算,加法器用于对输入的数据进行加法运算,除法器用于对输入的数据进行除法运算;
25、第一乘法器的输入端用于输入复数x的实部i,其输出端连接加法器的输入端;第二乘法器的输入端用于输入复数x的虚部q,其输出端连接第四乘法器的输入端;第四乘法器的另一个输入端用于输入系数k,其输出端连接加法器的输入端;第三乘法器的输入端用于输入实部i和虚部q,其输出端连接除法器的输入端;加法器的输出端连接除法器的输入端;除法器的输出端用于输出反正切函数的计算值。
26、本发明还公开了一种快速精确的反正切估计电路,用于实现上述任一项所述的快速精确的反正切估计方法,其包括第三乘法器、加法器和除法器;第三乘法器用于对输入的数据进行乘法运算,加法器用于对输入的数据进行加法运算,除法器用于对输入的数据进行除法运算;
27、第三乘法器的输入端用于输入实部i和虚部q,其输出端连接除法器的输入端;加法器的输入端用于输入实部i的平方i2以及系数k和q2的乘积kq2,其输出端连接除法器的输入端;除法器的输出端用于输出反正切函数的计算值。
28、由于采用了上述技术方案,本发明具有如下的优点:
29、1.运算速度快,资源消耗小。整个反正切算法的实现过程的运算资源只需3个乘法器(或1个乘法器)、1个加法器和1个除法器,再加上简单的逻辑判断单元;和传统的cordic算法相比,既减小了算法复杂度,又大幅提升了运算速度。
30、2.在不消耗存储资源的情况下,提高了计算精度和准确度。在-45°~45°的角度范围内的最大估计误差仅为0.28°,和传统的查找表法相比,无需通过增加存储器的深度来提升输出精度,避免了高精度要求情况下对存储器资源的爆炸式增加。
1.一种快速精确的反正切估计方法,其特征在于,包括:
2.根据权利要求1所述的快速精确的反正切估计方法,其特征在于,将两个实部i同时输入第一乘法器,输出i2;将两个实部q同时输入第二乘法器,输出q2;将实部i和虚部q同时输入第三乘法器,输出iq。
3.根据权利要求1所述的快速精确的反正切估计方法,其特征在于,将q2的系数k和q2同时输入第四乘法器,输出kq2;
4.根据权利要求3所述的快速精确的反正切估计方法,其特征在于,通过二进制右移,消除第四乘法器的使用,即分别对q2右移2位和右移5位并对其求和,得到kq2=(1/4+1/32)q2。
5.根据权利要求3所述的快速精确的反正切估计方法,其特征在于,除法器支持长位宽输入,采用基2算法实现除法运算。
6.根据权利要求3所述的快速精确的反正切估计方法,其特征在于,根据公式(1)计算得到的θ的范围是-45°到+45°,对应的约束为-1≤q/i≤1;
7.根据权利要求6所述的快速精确的反正切估计方法,其特征在于,所述根据i、q的符号和绝对值对象限进行判断,得到象限扩展后的反正切修正值,包括:
8.根据权利要求1所述的快速精确的反正切估计方法,其特征在于,i2和q2可提前被am调幅或解调器处理计算,或者被自动增益控制包络检波计算,从而节省两个乘法器。
9.一种快速精确的反正切估计电路,用于实现权利要求1-8任一项所述的快速精确的反正切估计方法,其特征在于,包括第一乘法器、第二乘法器、第三乘法器、第四乘法器、加法器和除法器;第一乘法器、第二乘法器、第三乘法器、第四乘法器均用于对输入的数据进行乘法运算,加法器用于对输入的数据进行加法运算,除法器用于对输入的数据进行除法运算;
10.一种快速精确的反正切估计电路,用于实现权利要求1-8任一项所述的快速精确的反正切估计方法,其特征在于,包括第三乘法器、加法器和除法器;第三乘法器用于对输入的数据进行乘法运算,加法器用于对输入的数据进行加法运算,除法器用于对输入的数据进行除法运算;