混合函数的近似计算方法、终端设备及存储介质与流程

文档序号:28168045发布日期:2021-12-24 23:00阅读:70来源:国知局
混合函数的近似计算方法、终端设备及存储介质与流程

1.本技术涉及通信领域,尤其涉及一种混合函数的近似计算方法、终端设备及存储介质。


背景技术:

2.为了简化传统方法中计算的复杂度和减小存储资源,指数和对数计算的许多优化算法被提出。例如一种实现方式中,利用自变量二进制形式的尾数部分平方后与2比较,并根据数据特点逐位递推的方法,迭代计算出待求对数结果的各位数值。但通过迭代计算出待求对数结果的各位数值,计算延时较大。随着结果精度的提高,计算延时也将增加。
3.还有其他实现方式中提出了适合硬件实现的对数log2(x)和指数2
x
的简化计算方法。要么通过迭代计算出待求对数结果的各位数值,计算延时较大。随着结果精度的提高,计算延时也将增加。要么计算方法虽然简单,但是精度不高,适用于对精度要求不高的场景。


技术实现要素:

4.本技术实施例提供了一种混合函数的近似计算方法、终端设备及存储介质,用于基于泰勒级数展开方法和分段线性拟合方法可以快速混合函数的近似计算,没有迭代过程,计算延时较小,计算精度较高,复杂度较低。
5.本技术第一方面提供一种混合函数的近似计算方法,可以包括:
6.获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数;在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,所述自变量x大于0。本技术第二方面提供一种终端设备,可以包括:
7.获取模块,用于获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数;
8.处理模块,用于在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,所述自变量x大于0。
9.本技术第三方面提供一种终端设备,可以包括:
10.存储有可执行程序代码的存储器;
11.与所述存储器耦合的处理器;
12.所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本技术第一方面所述的方法。
13.本技术实施例又一方面提供一种计算机可读存储介质,包括指令,当其在处理器上运行时,使得处理器执行本技术第一方面所述的方法。
14.本发明实施例又一方面公开一种计算机程序产品,当所述计算机程序产品在计算
机上运行时,使得所述计算机执行本技术第一方面所述的方法。
15.本发明实施例又一方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本技术第一方面所述的方法。
16.从以上技术方案可以看出,本技术实施例具有以下优点:
17.在本技术实施例中,获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数;在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,所述自变量x大于0。基于泰勒级数展开方法和分段线性拟合方法可以快速实现混合函数的近似计算,没有迭代过程,计算延时较小,计算精度较高,复杂度较低。
附图说明
18.为了更清楚地说明本技术实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,还可以根据这些附图获得其它的附图。
19.图1为5g nr通信系统的发射机和接收机的功能模块图;
20.图2为本技术实施例中混合函数的近似计算方法一个实施例示意图;
21.图3为本技术实施例中指数和对数混合运算在自变量x的三个子区间内的绝对误差的一个示意图;
22.图4为本技术实施例中终端设备的一个实施例示意图;
23.图5为本技术实施例中终端设备的另一个实施例示意图。
具体实施方式
24.本技术实施例提供了一种混合函数的近似计算方法、终端设备及存储介质,用于基于泰勒级数展开方法和分段线性拟合方法可以快速混合函数的近似计算,没有迭代过程,计算延时较小,计算精度较高,复杂度较低。
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,都应当属于本技术保护的范围。
26.在无线通信系统中,上行功率控制是一个非常重要的技术。通过上行功率控制,可以使用户终端在保证上行发射数据质量的基础上尽可能地降低功耗从而延长电池使用时间,并可以减小对其它用户的干扰。
27.以5g nr(fifth generation new radio,第五代移动通信新空口)系统为例,用户终端在服务小区c、载波f、上行带宽部分b中,物理上行共享信道(physical uplink shared channel,pusch)传输时机i的发射功率为:
[0028][0029]
其中,p
cmax,f,c
(i)是用户终端配置的最大输出功率,p
o_pusch,b,f,c
(j)是开环控制目标功率,是与以资源块个数表示的pusch带宽和子载波间隔参数μ有关的功率调整值,α
b,f,c
(j)
·
pl
b,f,c
(q
d
)是基于路损值pl
b,f,c
(q
d
)和路损补偿系数α
b,f,c
(j)的路损补偿功率,δ
tf,b,f,c
(i)是与调制和编码方式有关的功率调整值,f
b,f,c
(i,l)是闭环控制功率。
[0030]
与调制和编码方式(modulation and coding scheme,mcs)有关的功率调整值的具体计算公式如下:
[0031][0032]
其中,bpre是平均每个资源单元承载的比特数;k
s
是通过高层配置确定的参数,当配置为使能时k
s
=1.25,否则k
s
=0;是与pusch承载数据类型有关的功率增益。
[0033]
在物理上行控制信道(physical uplink control channel,pucch)传输时机i的发射功率计算中,也有类似的与承载信息比特数有关的功率调整值,对于pucch格式2、pucch格式3和pucch格式4,且承载的上行控制信息比特数大于11时,其计算公式为:
[0034][0035]
其中,bpre(i)是pucch传输时机i中平均每个资源单元承载的信息比特数;k2是固定的参数,且k2=2.4。
[0036]
如图1所示,为5g nr通信系统的发射机和接收机的功能模块图。发射功率控制计算模块计算出发射功率值后,配置给发射机射频进行发射。
[0037]
根据调整功率δ
tf,b,f,c
(i)的计算公式可见,其关键部分是一种指数和对数的混合运算,可以归结为函数f(x)=10log
10
(2
x

1),已知自变量x,求函数f(x)的值。其中,自变量x为bpre
·
k
s
或bpre(i)
·
k2,取值为正数,即x>0。
[0038]
该函数包含指数函数2
x
和对数函数10log
10
(x),二者都属于超越函数,不能通过有限次数的加、减、乘、除、乘方和开方运算表示,一般无法求得精确值,只能计算足够精度的近似值。传统方法通常采用查表法或级数展开法计算指数和对数。
[0039]
查表法就是把自变量x的每个值所对应的指数或对数值存到查找表中,计算时根据自变量的值直接查表得到结果。查表法计算速度很快,但需要占用较大的存储资源,而且存储资源大小与数据精度有关,提升存储数据精度将导致占用存储资源大幅增加。所以,查表法需要占用较大的存储资源,随着存储数据精度的提高,占用存储资源也将大幅增加。
[0040]
级数展开法就是将指数或对数函数进行泰勒级数展开,利用展开式的前几项来近似计算。为了得到高精确度的结果,需要大幅增加计算的项,因此计算复杂度较高。所以,级数展开法计算复杂度较高,随着结果精度的提高,计算复杂度也将大幅增加。
[0041]
针对传统方法的缺点,为了简化计算复杂度和减小存储资源,指数和对数计算的
许多优化算法被提出。例如一种实现方式中,利用自变量二进制形式的尾数部分平方后与2比较,并根据数据特点逐位递推的方法,迭代计算出待求对数结果的各位数值。但通过迭代计算出待求对数结果的各位数值,计算延时较大。随着结果精度的提高,计算延时也将增加。
[0042]
还有其他实现方式中提出了适合硬件实现的对数log2(x)和指数2
x
的简化计算方法。要么通过迭代计算出待求对数结果的各位数值,计算延时较大。随着结果精度的提高,计算延时也将增加。要么计算方法虽然简单,但是精度不高,适用于对精度要求不高的场景。
[0043]
另外,对于形如10log
10
(2
x

1)的指数和对数混合运算,传统方法先计算指数再计算对数,存在误差叠加现象,对于不同范围的自变量x,精度难以保证。例如,当x趋近于0时,2
x

1也趋近于0,指数计算的较小误差也会造成对数计算结果的较大误差。
[0044]
本技术针对传输功率控制中的指数和对数混合运算10log
10
(2
x

1),提出了一种近似计算方法,对于不同范围的自变量x,都可以提供较高的精度。
[0045]
下面以实施例的方式,对本技术技术方案做进一步的说明,如图2所示,为本技术实施例中混合函数的近似计算方法一个实施例示意图,可以包括:
[0046]
201、获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数。
[0047]
终端设备接收输入的第一函数对应的自变量x,所述自变量x大于0。
[0048]
可选的,所述指数函数以2为底数,所述对数函数以2为底数。
[0049]
202、在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果。
[0050]
可选的,所述方法还包括:在所述指数函数不是以2为底数的情况下,将所述指数函数转换为以2为底的指数函数,在所述对数函数不是以2为底数的情况下,将所述对数函数转换为以2为底的对数函数。
[0051]
可选的,对所述第一函数,根据所述自变量x,计算得到所述第一函数的近似计算结果,可以包括:
[0052]
对所述第一函数,根据所述自变量x,计算所述指数函数和所述对数函数的对数函数值,根据所述指数函数和所述对数函数的对数函数值,计算得到所述第一函数的近似计算结果。
[0053]
可选的,对所述第一函数,根据所述自变量x,计算所述指数函数和所述对数函数的对数函数值,可以包括:
[0054]
(1)对所述第一函数,根据所述自变量x,使用所述分段线性拟合方法计算所述指数函数,得到指数函数值;和/或,根据所述自变量x,使用所述分段线性拟合方法计算所述对数函数,得到对数函数值。
[0055]
(2)对所述第一函数,根据所述自变量x,通过查找预先保存的第一表格,得到所述指数函数对应的指数函数值,所述第一表格包括使用分段拟合方法计算得到的不同自变量与指数函数值的对应关系;和/或,根据所述自变量x,通过查找预先保存的第二表格,得到所述对数函数对应的对数函数值,所述第二表格包括使用分段拟合方法计算得到的不同自
变量与对数函数值的对应关系。
[0056]
可选的,所述第一函数为f(x)=log2(2
x

1),所述在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,可以包括:
[0057]
使用泰勒级数展开方法,得到使用泰勒级数展开方法,得到
[0058]
其中,log2x的函数值使用分段线性拟合方法计算得到。
[0059]
203、在所述自变量x大于所述第一阈值的情况下,对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果。
[0060]
可选的,所述方法还包括:在所述指数函数不是以2为底数的情况下,将所述指数函数转换为以2为底的指数函数,在所述对数函数不是以2为底数的情况下,将所述对数函数转换为以2为底的对数函数。
[0061]
可选的,对所述第一函数,根据所述自变量x,计算得到所述第一函数的近似计算结果,可以包括:
[0062]
对所述第一函数,根据所述自变量x,计算所述指数函数和所述对数函数的对数函数值,根据所述指数函数和所述对数函数的对数函数值,计算得到所述第一函数的近似计算结果。
[0063]
可选的,对所述第一函数,根据所述自变量x,计算所述指数函数和所述对数函数的对数函数值,可以包括:
[0064]
(1)对所述第一函数,根据所述自变量x,使用所述分段线性拟合方法计算所述指数函数,得到指数函数值;和/或,根据所述自变量x,使用所述分段线性拟合方法计算所述对数函数,得到对数函数值。
[0065]
(2)对所述第一函数,根据所述自变量x,通过查找预先保存的第一表格,得到所述指数函数对应的指数函数值,所述第一表格包括使用分段拟合方法计算得到的不同自变量与指数函数值的对应关系;和/或,根据所述自变量x,通过查找预先保存的第二表格,得到所述对数函数对应的对数函数值,所述第二表格包括使用分段拟合方法计算得到的不同自变量与对数函数值的对应关系。
[0066]
下面分别对根据分段线性拟合方法,计算所述指数函数的函数值,和,根据分段线性拟合方法,计算所述对数函数的函数值,分别进行说明,如下所示:
[0067]
1、所述对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,可以包括:在所述自变量x包括第一小数x
f
的情况下,使用分段线性拟合方法,计算得到指数函数的函数值,所述第一小数x
f
的取值范围为[0,1),所述第一小数x
f
是所述自变量x去除整数部分后剩余的小数部分,所述第一函数包括所述指数函数
[0068]
可选的,所述使用分段线性拟合方法,计算得到指数函数的函数值,可以包括:根据所述第一小数x
f
所在第i段的范围,获取第一拟合斜率k
i
和第一拟合截距b
i
,所
述第一小数x
f
的取值范围[0,1)预先等分为n1段,所述第i段的范围是根据所述第一拟合斜率k
i
和所述第一拟合截距b
i
,以及所述第一小数x
f
,得到指数函数在第i段的函数值。
[0069]
可选的,所述根据所述第一小数x
f
所在第i段的范围,获取第一拟合斜率k
i
和第一拟合截距b
i
,可以包括:根据所述第一小数x
f
所在第i段的两个端点坐标,计算出过所述第i段两个端点的第一斜率k
i
'和第一截距b
i
';计算斜率为所述第一斜率k
i
'且和指数函数相切直线的第二截距b
i”;根据所述第一斜率k
i
'确定第一拟合斜率k
i
,根据所述第一截距b
i
'和所述第二截距b
i
',确定第一拟合截距b
i

[0070]
可选的,所述根据所述第一小数x
f
所在第i段的范围,获取第一拟合斜率k
i
和第一拟合截距b
i
,包括:根据所述第一小数x
f
所在第i段的范围,在预先存储的第一映射表中查找所述第i段的范围对应的第一拟合斜率k
i
和第一拟合截距b
i
;其中,所述第一映射表中包括使用分段拟合方法计算得到的,将所述第一小数x
f
的取值范围[0,1)等分为n1段中,每段范围对应的拟合斜率和拟合截距。
[0071]
可选的,所述根据所述第一拟合斜率k
i
和所述第一拟合截距b
i
,以及所述第一小数x
f
,得到指数函数在第i段的函数值,可以包括:根据第一公式计算得到指数函数在第i段的函数值;所述第一公式为:k
i
为所述第一拟合斜率,b
i
为所述第一拟合截距,x
f
为所述第一小数。
[0072]
2、所述对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,可以包括:在所述对数函数的真数部分为1+x
m
,且x
m
是第二小数的情况下,使用分段线性拟合方法,计算得到对数函数h(x
m
)=log2(1+x
m
)的函数值,所述第二小数x
m
的取值范围为[0,1),所述第二小数x
m
是所述自变量x去除整数部分后剩余的小数部分,所述第一函数包括所述对数函数h(x
m
)=log2(1+x
m
)。
[0073]
可选的,所述使用分段线性拟合方法,计算得到对数函数h(x
m
)=log2(1+x
m
)的函数值,可以包括:根据所述第二小数x
m
所在第j段的范围,获取第二拟合斜率k
j
和第二拟合截距b
j
,所述第二小数x
m
的取值范围[0,1)等分为n2段,所述第j段的范围是根据所述第二拟合斜率k
j
和所述第二拟合截距b
j
,以及所述第二小数x
m
,得到对数函数h(x
m
)=log2(1+x
m
)在第j段的函数值。
[0074]
可选的,所述根据所述第二小数x
m
所在第j段的范围,获取第二拟合斜率k
j
和第二拟合截距b
j
,可以包括:根据所述第二小数x
m
所在第j段的两个端点坐标,计算出过所述第j段两个端点的第二斜率k
j
'和第三截距b
j
';计算斜率为所述第二斜率k
j
'且和对数函数h(x
m
)=log2(1+x
m
)相切直线的第四截距b
j”;根据所述第二斜率k
j
'确定第二拟合斜率k
j
,根据所述第三截距b
j
'和所述第四截距b
j”,确定第二拟合截距b
j

[0075]
可选的,所述根据所述第二小数x
m
所在第j段的范围,获取第二拟合斜率k
j
和第二拟合截距b
j
,可以包括:根据所述第二小数x
m
所在第j段的范围,在预先存储的第二映射表中查找所述第j段的范围对应的第二拟合斜率k
j
和第二拟合截距b
j
;其中,所述第二映射表中包括使用分段拟合方法计算得到的,将所述第二小数x
m
的取值范围[0,1)等分为n2段中,每
段范围对应的拟合斜率和拟合截距。
[0076]
可选的,所述根据所述第二拟合斜率k
j
和所述第二拟合截距b
j
,以及所述第二小数x
m
,得到对数函数h(x
m
)=log2(1+x
m
)在第j段的函数值,可以包括:根据第二公式计算得到对数函数h(x
m
)=log2(1+x
m
)在第j段的函数值;所述第二公式为:h(x
m
)=log2(1+x
m
)≈k
j
x
m
+b
j
;k
j
为所述第二拟合斜率,b
j
为所述第二拟合截距,x
m
为所述第二小数。
[0077]
可以理解的是,本技术实施例针对指数和对数混合运算函数f(x)=log
a
(b
x

1),提出一种精度较高的近似计算方法,对于不同范围的自变量x,可以对应使用不同的方法,进行计算。
[0078]
其中,指数和对数混合运算函数f(x)=log
a
(b
x

1)可以转化为以2为底的指数和对数形式,如下所示:
[0079][0080]
示例性的,对于传输功率控制中的指数和对数混合运算函数,可以转化为:
[0081]
f(x)=10log
10
(2
x

1)
[0082]
=10log
102·
log2(2
x

1)
[0083]
=clog2(2
x

1)
[0084]
其中,自变量x>0。c=log
10
2是常数,可以提前计算存储,计算的关键在于指数函数和对数函数。
[0085]
可以令指数函数g(x)=2
x
,对数函数h(x)=log2(x),分别说明其计算方法,如下所示:
[0086]
(1)指数函数g(x)=2
x
的计算
[0087]
将x分为整数部分x
i
和小数部分x
f
,其中则有
[0088][0089]
其中很容易计算,主要考虑的计算,其中x
f
的取值范围是0≤x
f
<1。
[0090]
可以采用分段线性拟合的方法计算。具体地,将x
f
的取值范围[0,1)等分为n1段,段序号为1≤i≤n1。例如,n1可以取值n1=16。第i段范围是线性拟合结果为其中,斜率k
i
和截距b
i
是线性拟合参数,为了使最大误差最小化,可以通过下面方法计算。
[0091]
(a)在平面坐标系下,第i段的两个端点为和计算过这两点直线的斜率k
i
'和截距b
i
'分别为:
[0092][0093]
[0094]
(b)计算斜率为k
i
',且和相切的直线的截距b1
i”。
[0095]
切点横坐标x1应满足方程则切点横坐标为
[0096]
x1=log2(k
i
')

log2(ln2)
[0097]
切点纵坐标为
[0098][0099]
切线的截距为
[0100]
b
i”=g(x1)

k
i
'x1=k
i
'/ln2

k
i
'(log2(k
i
')

log2(ln2))
[0101]
(c)计算最终拟合直线的斜率k
i
和截距b
i

[0102]
k
i
=k
i
'
[0103][0104]
n1段中各段的拟合直线的斜率k
i
和截距b
i
可以离线计算和存储,在应用时只需要根据自变量所处段序号查表得到斜率和截距后进行计算即可。
[0105]
(2)对数函数h(x)=log2(x)的计算
[0106]
将x转化成指数和底数的形式,其中x
e
是整数,x
m
是底数的小数部分,0≤x
m
<1,则有
[0107]
h(x)=log2(x)=x
e
+log2(1+x
m
)
[0108]
主要考虑log2(1+x
m
)的计算,其中x
m
的取值范围是0≤x
m
<1。
[0109]
与指数函数类似,h(x
m
)=log2(1+x
m
)也可以采用分段线性拟合的方法计算。具体地,将x
m
的取值范围[0,1)等分为n2段,段序号为1≤j≤n2。第j段范围是线性拟合结果为h(x
m
)=log2(1+x
m
)≈k
j
x
m
+b
j
。拟合直线的斜率k
j
和截距b
j
可以通过下面方法计算。
[0110]
(a)平面坐标系下,第j段的两个端点为和计算过这两点直线的斜率k
j
'和截距b
j
'分别为:
[0111][0112][0113]
(b)计算斜率为k
j
',且和h(x
m
)=log2(1+x
m
)相切的直线的截距b
j”。
[0114]
切点横坐标x2应满足方程则切点横坐标为
[0115][0116]
切点纵坐标为
[0117]
h(x2)=log2(1+x2)=

log2(k
j
'
·
ln2)
[0118]
切线的截距为
[0119][0120]
(c)计算最终拟合直线的斜率k
j
和截距b
j

[0121]
k
j
=k
j
'
[0122][0123]
同样,n2段中各段的拟合直线的斜率k
j
和截距b
j
可以离线计算和存储,在应用时只需要根据自变量所处段序号查表得到斜率和截距后进行计算即可。
[0124]
需要说明的是,上述示例中,指数函数和对数函数的计算也可以采用其他的分段线性拟合方法,比如基于各段两端点的线性插值方法和基于最小均方误差的线性拟合方法等,具体不做限定。
[0125]
可选的,所述第一函数为f(x)=log2(2
x

1),所述在所述自变量x大于所述第一阈值的情况下,所述方法还可以包括:在所述自变量x大于所述第一阈值,小于第二阈值的情况下,对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果;在所述自变量x大于等于所述第二阈值的情况下,f(x)=log2(2
x

1)≈x。
[0126]
示例性的,针对指数和对数混合函数f(x)=10log
10
(2
x

1)的运算,如下所示:
[0127]
在单独的指数运算和对数运算的基础上,指数和对数的混合运算根据自变量x的不同取值范围还可以进一步简化。设置门限值x
l
和x
h
,将自变量x的取值范围可以分为两个子区间,为x≤x
l
和x>x
h
。也可以分为三个子区间,为x
l
<x<x
h
、x≤x
l
和x≥x
h
。当x的值较小,即x≤x
l
时,2
x

1≈ln2
·
x;当x的值较大,即x≥x
h
时,2
x

1≈2
x
。因此,可以适当选取门限值x
l
和x
h
,在保证一定精度的基础上简化计算复杂度。例如,可以选取门限值x
l
=1和x
h
=12。
[0128]
可以理解的是,当自变量x的取值范围分为两个子区间x≤x
l
和x>x
l
时,当x≤x
l
时计算方法与三个子区间中x≤x
l
时的计算方法类似,当x>x
l
时计算方法可以采用x
l
<x<x
h
时的计算方法。该方案同样可以提供较高的精度,只是在x较大,即x>x
l
的时候,精度比三个子区间的方案低且计算复杂度比三个子区间的方案高。
[0129]
下面以将自变量x的取值范围分为三个子区间为例进行说明,如下所示:
[0130]
(a)当x
l
<x<x
h

[0131]
在此子区间内,指数和对数混合运算不进行简化。
[0132]
f(x)=10log
10
(2
x

1)=c
·
log2(2
x

1)=c
·
log2(x')
[0133]
其中,x'=2
x

1,可以基于前文中指数函数g(x)=2
x
的方法计算,而log2(x')可以
采用前文中对数函数的方法计算。
[0134]
(b)当x≤x
l

[0135]
在此子区间内,x的值较小,利用泰勒级数展开方法可以取前三项,得到
[0136][0137]
指数和对数混合运算f(x)可以近似为
[0138][0139]
其中,的近似计算公式是通过取泰勒级数展开
[0140]
式的前两项并保留x的一次和二次项后得到,推导如下:
[0141][0142]
可见,简化后避免了指数运算,而其中的对数运算log2x可以采用前文中所述方法计算。
[0143]
(c)当x≥x
h

[0144]
在此子区间内,x的值较大,2
x

1≈2
x

[0145]
指数和对数混合运算可以近似为
[0146]
f(x)=c
·
log2(2
x

1)≈c
·
log2(2
x
)=c
·
x
[0147]
此时,既没有指数运算,也没有对数运算,计算得到最大简化。
[0148]
综上,不同子区间内的指数和对数混合运算步骤可以合并为:
[0149]
(1)判断输入自变量x所处的子区间。
[0150]
(a)若x
l
<x<x
h
,令x'=2
x

1,b”=0,转到第(2)步;
[0151]
(b)若x≤x
l
,令x'=x,并计算转到第(3)步;
[0152]
(c)若x≥x
h
,令x”=0,b”=x,转到第(4)步。
[0153]
(2)通过分段线性拟合方法计算指数函数2
x
,并计算x'=2
x

1。
[0154]
(3)通过分段线性拟合方法计算x”=log2(x')。
[0155]
(4)计算最终的结果为f(x)=c
·
(x”+b”),其中,c=10log
10
2。
[0156]
示例性的,当分段线性拟合段数n=16,门限值x
l
=1和x
h
=12时,如图3所示,为本技术实施例中指数和对数混合运算在自变量x的三个子区间内的绝对误差的一个示意图。自变量x取值范围内的最大绝对误差基本在0.002以下。
[0157]
可见,本方案的指数和对数混合运算方法提供了较高的计算精度,同时计算复杂度较低,仅有乘法、加法和移位等基本操作,非常适合软件和硬件的定点化实现。
[0158]
在本技术实施例中,对于指数和对数混合运算,根据门限值x
l
和x
h
将自变量x的取值范围分为多个子区间,并分别对子各区间下的计算过程进行了简化。对其中的对数函数和指数函数的计算,采用了基于最大误差最小化的分段线性拟合,并给出了拟合直线参数(斜率和截距)的计算方法。基于线性拟合的方法可以快速实现指数和对数混合运算,没有迭代过程,计算延时较小。在保证较高精度的同时,计算复杂度较低,仅有乘法、加法和移位等基本操作,适合定点化实现。存储资源消耗小,不需要存储大量的查找表,而只需要存储少量的线性拟合的参数值。
[0159]
在本技术实施例中,获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数;在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,所述自变量x大于0。基于泰勒级数展开方法和分段线性拟合方法可以快速混合函数的近似计算,没有迭代过程,计算延时较小,计算精度较高,复杂度较低。
[0160]
如图4所示,为本技术实施例中终端设备的一个实施例示意图,可以包括:
[0161]
获取模块401,用于获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数;
[0162]
处理模块402,用于在所述自变量x小于等于第一阈值的情况下,在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,所述自变量x大于0。
[0163]
可选的,所述指数函数以2为底数,所述对数函数以2为底数。
[0164]
可选的,处理模块402,还用于在所述指数函数不是以2为底数的情况下,将所述指数函数转换为以2为底的指数函数,在所述对数函数不是以2为底数的情况下,将所述对数函数转换为以2为底的对数函数。
[0165]
可选的,所述第一函数为f(x)=log2(2
x

1),
[0166]
处理模块402,还用于在所述自变量x小于等于第一阈值的情况下,使用泰勒级数
展开方法,得到
[0167][0168]
其中,log2x的函数值使用分段线性拟合方法计算得到。
[0169]
可选的,处理模块402,还用于在所述自变量x大于所述第一阈值的情况下,对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果。
[0170]
可选的,所述第一函数为f(x)=log2(2
x

1),所述在所述自变量x大于所述第一阈值的情况下,
[0171]
处理模块402,还用于在所述自变量x大于所述第一阈值,小于第二阈值的情况下,对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果;在所述自变量x大于等于所述第二阈值的情况下,f(x)=log2(2
x

1)≈x。
[0172]
可选的,处理模块402,具体用于在所述自变量x包括第一小数x
f
的情况下,使用分段线性拟合方法,计算得到指数函数的函数值,所述第一小数x
f
的取值范围为[0,1),所述第一小数x
f
是所述自变量x去除整数部分后剩余的小数部分,所述第一函数包括所述指数函数
[0173]
可选的,处理模块402,具体用于在所述对数函数的真数部分为1+x
m
,且x
m
是第二小数的情况下,使用分段线性拟合方法,计算得到对数函数h(x
m
)=log2(1+x
m
)的函数值,所述第二小数x
m
的取值范围为[0,1),所述第二小数x
m
是所述自变量x去除整数部分后剩余的小数部分,所述第一函数包括所述对数函数h(x
m
)=log2(1+x
m
)。
[0174]
如图5所示,为本技术实施例中终端设备的另一个实施例示意图,可以包括:
[0175]
存储有可执行程序代码的存储器501;
[0176]
与存储器501耦合的处理器502;
[0177]
处理器502调用存储器501中存储的所述可执行程序代码,用于执行如下步骤:
[0178]
获取第一函数对应的自变量x,所述第一函数为包括指数函数和对数函数的混合函数;在所述自变量x小于等于第一阈值的情况下,在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,对所述第一函数进行展开,对展开函数中的对数函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果,所述自变量x大于0。
[0179]
可选的,所述指数函数以2为底数,所述对数函数以2为底数。
[0180]
可选的,处理器502,还用于在所述指数函数不是以2为底数的情况下,将所述指数函数转换为以2为底的指数函数,在所述对数函数不是以2为底数的情况下,将所述对数函数转换为以2为底的对数函数。
[0181]
可选的,所述第一函数为f(x)=log2(2
x

1),
[0182]
处理器502,还用于在所述自变量x小于等于第一阈值的情况下,使用泰勒级数展开方法,得到
[0183][0184]
其中,log2x的函数值使用分段线性拟合方法计算得到。
[0185]
可选的,处理器502,还用于在所述自变量x大于所述第一阈值的情况下,对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果。
[0186]
可选的,所述第一函数为f(x)=log2(2
x

1),所述在所述自变量x大于所述第一阈值的情况下,
[0187]
处理器502,还用于在所述自变量x大于所述第一阈值,小于第二阈值的情况下,对所述第一函数,使用分段线性拟合方法,计算得到所述第一函数的近似计算结果;在所述自变量x大于等于所述第二阈值的情况下,f(x)=log2(2
x

1)≈x。
[0188]
处理器502,具体用于在所述自变量x包括第一小数x
f
的情况下,使用分段线性拟合方法,计算得到指数函数的函数值,所述第一小数x
f
的取值范围为[0,1),所述第一小数x
f
是所述自变量x去除整数部分后剩余的小数部分,所述第一函数包括所述指数函数
[0189]
可选的,处理器502,具体用于在所述对数函数的真数部分为1+x
m
,且x
m
是第二小数的情况下,使用分段线性拟合方法,计算得到对数函数h(x
m
)=log2(1+x
m
)的函数值,所述第二小数x
m
的取值范围为[0,1),所述第二小数x
m
是所述自变量x去除整数部分后剩余的小数部分,所述第一函数包括所述对数函数h(x
m
)=log2(1+x
m
)。
[0190]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0191]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0192]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0193]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0194]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0195]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0196]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0197]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1