System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及无线通信,尤其涉及一种基于硬件实现的除法计算方法、装置及电子设备。
技术介绍
1、随着第五代移动通信技术(5th generation mobile communicationtechnology,简称5g)的发展,用户设备(user equipment,简称为ue)需要处理的数据量也越来越大。为了保证用户设备具有更高的吞吐量和更快的处理速度,无法直接通过数字信号处理(digital signal process,简称为dsp)或者中央处理器(central processingunit,简称为cpu)来实现大部分的数据处理,因而需要借助硬件来实现。
2、相关技术中,传统的硬件除法器针对的是定点数和定点数之间的除法,虽然浮点数可以通过定点数的移位进行表示,但是无法控制精度,所实现的只是同类型数的定点除法。例如,在计算二进制数b’1001010除以二进制数b’1000时,计算自左而右进行减法,二进制数b’1001010的左四位针对二进制数b’1000进行减法操作得到1,此时在结果位上置1,由于1不够四位,无法继续计算,此时向右边依次取位两位,则在结果位上置两位的0,得到四位二进制数b’1010,然后针对二进制数b’1000进行减法操作,最后得到除法计算结果为二进制数b’1001,余数为10,计算过程如下所示:
3、
4、在该举例中,将二进制数转换为十进制数的表现就是,74除以8得到9余2。因此还需要再针对完成除法后的数据表示范围,重新确定一个定点向浮点转换算法,以将当前的除法结果(商和
技术实现思路
1、本申请提供了一种基于硬件实现的除法计算方法、装置及电子设备,以解决传统的硬件除法器存在计算效率较低的问题。
2、第一方面,本申请实施例提供了一种基于硬件实现的除法计算方法,所述方法包括:
3、获取待计算数据x和预设的输出数据位宽q,其中,所述待计算数据x为定点数,所述输出数据位宽q是基于输出数据的误差范围确定的,所述输出数据位宽q小于或等于硬件所支持的硬件位宽;
4、基于所述待计算数据x和所述输出数据位宽q,确定出参与迭代计算的多个参数的初始值,其中,所述多个参数包括随迭代计算变化的第一参数a、第二参数min和第三参数max,以及不随迭代计算变化的第四参数pow2q;
5、判断当前迭代次数是否小于所述输出数据位宽q的值;
6、在当前迭代次数小于所述输出数据位宽q的值的情况下,将上一次迭代计算得到的第一参数a与所述待计算数据x的乘积确定为第五参数b;
7、在满足b = pow2q 或 max-min ≤ 1或 min>max的情况下,保持上一次迭代计算得到的第二参数min、第三参数max和第一参数a的值不变;
8、在满足b>pow2q且max-min>1且min ≤ max的情况下,利用上一次迭代计算得到的第一参数a对所述第三参数max的值进行更新,并基于更新后的第三参数max再对第一参数a的值进行更新;
9、在满足b<pow2q 且 max-min>1 且min ≤ max的情况下,利用上一次迭代计算得到的第一参数a对所述第二参数min的值进行更新,并基于更新后的第二参数min再对第一参数a的值进行更新;
10、将重新确定得到的第二参数min、第三参数max和第一参数a代入下一次迭代计算,直到当前迭代次数达到所述输出数据位宽q的值时,将最终计算得到的第一参数a作为计算结果输出。
11、可选地,所述基于所述待计算数据x和所述输出数据位宽q,确定出参与迭代计算的多个参数的初始值,包括:
12、计算所述输出数据位宽q与第一数值之间的差值,并获取所述差值和数值0中的最大值,以及将数值1左移所述最大值对应的位数,以得到所述第一参数a的初始值,其中,所述第一数值为所述待计算数据x中最高位的二进制数值1所对应的位数;
13、将所述第一参数a的初始值右移一位,以得到所述第二参数min的初始值;
14、将所述第一参数a的初始值左移一位,以得到所述第三参数max的初始值;
15、将数值1左移所述输出数据位宽q对应的位数,以得到所述第四参数pow2q的值。
16、可选地,所述基于更新后的第三参数max对第一参数a的值进行更新,包括:
17、对更新后的第三参数max、上一次迭代计算得到的第二参数min和数值1进行求和,得到第一求和结果;
18、将所述第一求和结果对应的数值左移1位,并基于左移后的数值对第一参数a的值进行更新。
19、可选地,所述基于更新后的第二参数min再对第一参数a的值进行更新,包括:
20、对更新后的第二参数min、上一次迭代计算得到的第三参数max和数值1进行求和,得到第二求和结果;
21、将所述第二求和结果对应的数值左移1位,并基于左移后的数值对第一参数a的值进行更新。
22、可选地,在所述基于所述待计算数据x和所述输出数据位宽q,确定出参与迭代计算的多个参数的初始值之前,所述方法还包括:
23、判断所述待计算数据x是否为数值0;
24、在所述待计算数据x为数值0的情况下,将第二数值作为计算结果输出,其中,所述第二数值为硬件所支持的硬件位宽下能够表示的最大值。
25、第二方面,本申请实施例还提供了一种基于硬件实现的除法计算装置,所述装置包括:
26、获取模块,用于获取待计算数据x和预设的输出数据位宽q,其中,所述待计算数据x为定点数,所述输出数据位宽q是基于输出数据的误差范围确定的,所述输出数据位宽q小于或等于硬件所支持的硬件位宽;
27、第一确定模块,用于基于所述待计算数据x和所述输出数据位宽q,确定出参与迭代计算的多个参数的初始值,其中,所述多个参数包括随迭代计算变化的第一参数a、第二参数min和第三参数max,以及不随迭代计算变化的第四参数pow2q;
28、第一判断模块,用于判断当前迭代次数是否小于所述输出数据位宽q的值;
29、第二确定模块,用于在当前迭代次数小于所述输出数据位宽q的值的情况下,将上一次迭代计算得到的第一参数a与所述待计算数据x的乘积确定为第五参数b;
30、保持模块,用于在满足b = pow2q 或 max-min ≤ 1或 min>max的情况下,保持上一次迭代计算得到的第二参数min、第三参数max和第一参数a的值不变;
31、第一更新模块,用于在满足b>pow2q且max-min>1且min ≤ max的情况下,利用上一次迭代计算得到的第一参数a对所述第三参数max的值进行更新,并基于更新后的第三参数max再对第一参数a的值进行更新;
32、第二更新模块,用于在满足本文档来自技高网...
【技术保护点】
1.一种基于硬件实现的除法计算方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,所述基于所述待计算数据x和所述输出数据位宽Q,确定出参与迭代计算的多个参数的初始值,包括:
3.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,所述基于更新后的第三参数max对第一参数a的值进行更新,包括:
4.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,所述基于更新后的第二参数min再对第一参数a的值进行更新,包括:
5.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,在所述基于所述待计算数据x和所述输出数据位宽Q,确定出参与迭代计算的多个参数的初始值之前,所述方法还包括:
6.一种基于硬件实现的除法计算装置,其特征在于,所述装置包括:
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所
...【技术特征摘要】
1.一种基于硬件实现的除法计算方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,所述基于所述待计算数据x和所述输出数据位宽q,确定出参与迭代计算的多个参数的初始值,包括:
3.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,所述基于更新后的第三参数max对第一参数a的值进行更新,包括:
4.根据权利要求1所述的基于硬件实现的除法计算方法,其特征在于,所述基于更新后的第二参数min再对第一参数a的值进行更新,包括:
5.根据权利要...
【专利技术属性】
技术研发人员:吴睿振,
申请(专利权)人:西安微合智联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。