CN102566963A - 一种fpga进行数据处理的方法 - Google Patents

一种fpga进行数据处理的方法 Download PDF

Info

Publication number
CN102566963A
CN102566963A CN2010106149153A CN201010614915A CN102566963A CN 102566963 A CN102566963 A CN 102566963A CN 2010106149153 A CN2010106149153 A CN 2010106149153A CN 201010614915 A CN201010614915 A CN 201010614915A CN 102566963 A CN102566963 A CN 102566963A
Authority
CN
China
Prior art keywords
data
input data
target function
value
fpga
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010106149153A
Other languages
English (en)
Inventor
张慧欣
苏宇
满小明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Potevio Institute of Technology Co Ltd
Original Assignee
Potevio Institute of Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Potevio Institute of Technology Co Ltd filed Critical Potevio Institute of Technology Co Ltd
Priority to CN2010106149153A priority Critical patent/CN102566963A/zh
Publication of CN102566963A publication Critical patent/CN102566963A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明提供了一种FPGA进行数据处理的方法,包括:提取输入数据的高log2M个比特位的数据,作为高有效位,根据预先设置的目标函数的计算表格,查找所述高有效位对应的目标函数值y(n)以及高有效位+1对应的目标函数值y(n+1);提取输入数据的剩余比特位数据,作为低有效位,并将所述低有效位与y(n)和y(n+1)的差值相乘,得到偏移值off(n),将该偏移值与所述高有效位对应的目标函数值y(n)相加,将计算结果作为所述输入数据对应的目标函数值。应用本发明,控制简单,结构规则,单运算周期,计算精度较高,适合于FPGA的数据处理实现。

Description

一种FPGA进行数据处理的方法
技术领域
本发明涉及数据处理方法,特别涉及一种FPGA进行数据处理的方法。
背景技术
现场可编程门阵列(FPGA)芯片在许多领域均有广泛的应用,尤其是在无线通信领域里,由于具有极强的实时性和并行处理能力,使其对信号进行实时处理成为可能。而FPGA内部一般都包含逻辑单元(查找表/触发器)、存储单元(BRAM)、乘加单元(MAC)和一些其它的时钟、引脚单元等。
现代数字信号处理的一个主要发展趋势是,算法结构日趋复杂,计算量大,实时性要求高,并且包含大量的三角函数、开方、对数等复杂函数的计算。当利用FPGA进行数据处理时,也越来越多的涉及到上述复杂函数的计算。但是,FPGA内部的乘加单元并不适合直接进行此类复杂函数的计算,需要把各种复杂函数分解为简单的移位、加法和乘法结构,进而在FPGA中实现。
当前,在FPGA上实现三角函数、开方、对数等复杂函数的计算,技术领域最多被介绍的是除法的计算,其次为开方和三角函数,对于对数和其它复杂一些的函数的计算普遍没有涉及。而在FPGA中进行数据处理时,除法运算一般采用直接查表法或幂级数展开法,对于三角函数和开方的计算,也会采用CORDIC的计算方法,但这三种方法的应用都有一定的局限性。以下进行详细说明。
首先,对于在FPGA上采用直接查表来实现前述复杂函数计算的方法,优点是通用性强、结构简单,但是随着输入位宽的增加,对于FPGA内部存储量的消耗呈指数性增长。在表1中给出了不同输入输出位宽所需要的存储单元(BRAM)。
表1 不同输入输出位宽所需要的存储单元
  输入位宽(bits)   输出位宽(bits)   存储单元(18k BRAM)
  10   16   1
  12   16   4
  16   16   64
  20   16   1024
  10   32   2
  12   32   8
  16   32   128
  20   32   2048
由表1可以看出,虽然在较小的输入输出位宽条件下,直接查表法可以满足实现要求,但在数字信号处理领域,输入输出一般都在16bits以上,这时采用直接查表法就很难满足实现需求。
下面以开方为例说明复杂函数在FPGA中的实现。采用直接查表法进行开方计算有两种方式:
方式一:在完全保证精度的条件下,采用直接查表法。若开方为16bits输入16bits输出,在完全保证精度的条件下,FPGA就需要存储2^16深度的数据,需要64块18k BRAM的存储空间。而一片中等FPGA一般包含几十块到几百块的18k BRAM存储单元,一个计算就要用掉大部分的存储单元,显然不满足实现的资源需求。
方式二:降低精度,减少输入位宽,采用直接查表法。
表2 直接查表法开方误差表
Figure BSA00000404095100021
  12   24   29   4
由表2可见,随着实际有效输入的增加,计算精度比较差,很难满足计算的误差要求。
其次,对于在FPGA上采用幂级数展开法实现前述复杂函数计算的方法,优点是计算精度可控,多级展开可以达到较高的计算精度。但是,幂级数展开法为了达到较高的精度,需要多级展开,这样就需要采用较多的资源来实现。
以exp为例(0~π/4范围内),采用三角函数幂级数展开法说明复杂函数在FPGA中的实现。具体的,
e=cosφ+j sinφ
cos φ = 1 - 1 2 ! φ 2 + 1 4 ! φ 4
sin φ = φ - 1 3 ! φ 3
若输入为16bits,采用幂级数展开法的实现框图如图1所示。如图1所示,从资源方面考虑,三角函数幂级数展开法在FPGA中的实现需要5级乘法和3级加法,考虑每级乘法位宽要扩展,实际需要FPGA的12个乘法器(18bits×18bits)资源。另外从误差方面考虑,0~π/4范围内,cosφ的最大误差为0.046%,sinφ的最大误差为0.35%。
此外幂级数展开法的应用范围也比较有限,开方、倒数、对数、三角函数的计算可以采用幂级数展开法,但对于
Figure BSA00000404095100033
等较复杂的函数计算就不再适合此方法进行计算。
最后,对于在FPGA上采用CORDIC法来实现函数计算的方法,优点是将复杂的运算分解为简单移位、加迭代运算,结构规则,运算周期可以预测,比较适合于FPGA实现。但是CORDIC法一般使用多周期方式,单周期方式资源消耗较高,并且计算仅限于向量旋转、开方等有限的范围。
采用CORCIC计算三角函数,16bits输入,在多周期条件下需要500个左右的LUT/FFs,在单周期条件下,需要1000个左右的LUT/FFs。
发明内容
本发明提供了一种FPGA实现数据处理的方法,在一维函数的实现中,FPGA控制简单,结构规则,单运算周期,计算精度高。
为实现上述目的,本发明采用如下的技术方案:
一种FPGA进行数据处理的方法,该方法包括:
提取输入数据的高log2M个比特位的数据,作为高有效位,根据预先设置的目标函数的计算表格,查找所述高有效位对应的目标函数值y(n)以及高有效位+1对应的目标函数值y(n+1);
提取输入数据的剩余比特位数据,作为低有效位,并将所述低有效位与y(n)和y(n+1)的差值相乘,得到偏移值off(n),将该偏移值与所述高有效位对应的目标函数值y(n)相加,将计算结果作为所述输入数据对应的目标函数值。
优选地,当所述输入数据的最高N位为零时,该方法进一步包括:预先将所述输入数据左移,左移的位数为min(A-log2M,使左移后数据的最高第N位为非零时的移位位数),并将移位后的数据作为所述输入数据,进行后续操作;
在将该偏移值与所述高有效位对应的目标函数值y(n)相加后,进一步将相加结果右移,将移位后的结果作为所述输入数据对应的目标函数值;
其中,所述右移的位数与所述左移的位数相同;所述N为预设的自然数,且小于FPGA中目标函数计算的输入位宽。
优选地,根据目标函数确定所述输入数据左移的位数。
优选地,当所述目标函数为随数据的增大而误差增大的函数时,在所述预先设置的目标函数的计算表格中,输入数据的步长为(A-log2M),起始输入数据为0,其中,A为目标函数计算时的输入位宽,M为所述计算表格的深度;
在根据所述计算表格查找目标函数值y(n)和y(n+1)时,将所述高有效位以及高有效位+1补零至输入位宽,再在所述计算表格中查找补零后的数据对应的目标函数值,作为所述y(n)和y(n+1)。
优选地,当所述目标函数为随数据的增大而误差减小的函数时,在所述预先设置的目标函数的计算表格中输入数据的步长为1;
在根据所述计算表格查找目标函数值y(n)和y(n+1)时,在所述计算表格中查找所述高有效位以及(高有效位+1)对应的目标函数值,作为所述y(n)和y(n+1)。
由上述技术方案可见,本发明中,在FPGA中进行数据处理时,通过两级方法实现函数的计算:第一级,直接利用输入数据的高有效位确定计算结果的有效范围;第二级,直接利用输入数据的低有效位进行计算结果的误差调整。通过上述方式进行数据处理,能够充分利用FPGA内部的各种逻辑资源、乘加器(或乘法器)资源和BRAM资源,可以根据FPGA内部BRAM资源的大小采用相应深度的数据表存储第一级数据的有效范围,采用FPGA内部的乘加器(或乘法器)资源进行乘加操作,控制简单,结构规则,单运算周期,计算精度较高,适合于FPGA的数据处理实现。
附图说明
图1为幂级数展开法实现exp计算的示意图;
图2为本发明方法在FPGA中进行数据处理的原理示意图;
图3为本发明中数据处理方法的总体流程图;
图4为相同的存储单元下,16bit输入
Figure BSA00000404095100051
直接查表法与本发明方法之间的误差比较;
图5为y=ej*x四级幂级数展开法与本发明方法的误差比较示意图;
图6为相同的存储单元(512深度)下,16bit输入y=log2x直接查表法与本发明方法之间的误差比较示意图。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明做进一步详细说明。
本发明的基本思想是:采用两级结构来实现一维函数的处理,第一级直接利用输入数据的高有效位确定计算结果的有效范围,第二级直接利用输入数据的低有效位进行计算结果的误差调整。
接下来对本发明的具体实现进行详细说明。首先,说明本发明依据的原理:
对于任意一个一维函数,若采样点足够密集,那么任何2个采样点之间可以看作是线性关系,可以通过插值的方法来计算。
对于FPGA来说,可以把输入数据分为2部分x=x_msb×2m+x_lsb,其中x_msb、x_lsb的位宽和m的大小根据输入数据的取值范围可以灵活配置。图2为本发明方法在FPGA中进行数据处理的原理示意图。
设x(n)=x_msb,通过查表得到x(n)对应的目标函数值y(n)
设x(n+1)=x_msb+1,通过查表得到x(n+1)对应的目标函数值y(n+1)
由图2可见,根据线性关系:
变换后: y ( n + 1 ) - y ( n ) 2 m = y - y ( n ) x _ lsb - - - ( 2 )
得到输出:y=(x_lsb×(y(n+1)-y(n))+y(n)×2m)×2-m    (3)
本发明即根据式(3)进行一维函数的处理,由式(3)可见,该方法通过一个乘法器和两个加法器就可以得到输出的计算结果。对于×2m和×2-m的操作在FPGA中可以通过直接移位和数据截取得到,不占用额外的处理单元。其中,×2^m和×2^-m的处理通过计算截取数据合并。这里涉及到定标问题。在FPGA中,1以16bits表示,可以Q(16,14)表示为0X4000,Q(16,13)表示为0X2000,同一个数不同定标的表示是不一样的。
图3为根据式(3)进行的本发明中数据处理方法的总体流程图。如图3所示,该方法包括:
步骤301,在FPGA中预先设置并保存目标函数的计算表格。
本步骤中的计算表格,即对应查表法实现函数计算中所查找的表格。在该表格中,保存数据对应的目标函数值,在给定数据下,通过该表格可以查找到将该给定数据作为自变量取值时的目标函数值。最简单地,该表格的具体内容设置可以采用现有方式进行。该计算表格的深度可以根据目标函数的特点、FPGA的BRAM资源大小来确定。
步骤302,提取输入数据的高有效位,根据预先设置的目标函数的计算表格,查找该高有效位对应的目标函数值y(n)。
步骤303,提取输入数据的高有效位,根据预先设置的目标函数的计算表格,查找(高有效位+1)对应的目标函数值y(n+1)。
步骤304,计算差值步骤302和303中的目标函数值之差diff(n)=y(n+1)-y(n)。
步骤305,提取数据的低有效位,作为有效的偏移数据同步骤304计算的差值相乘,得到偏移值off(n)。
步骤306,将步骤302得到的目标函数值y(n)与步骤305得到的偏移值相加得到计算值out=y(n)+off(n),截取相应的有效的数据位,输出。
这里得到的out值即为输入数据对应的目标函数值。截取相应数据位的操作即式(3)中的×2m和×2-m的操作。本领域技术人员能够根据实际函数进行相应数据位的截取,这里就不再赘述。至此,本发明中的方法流程结束,按照上述方式在FPGA中实现一维函数的处理。
在上述方法中,为增加较小数据的计算精度,当所述输入数据的最高N位为全零时,可以在步骤302之前进一步增加如下处理:将输入数据左移,左移的位数根据N、A和M确定,具体为min(A-log2M,使左移后数据的最高第N位为非零时的移位位数);移位后再执行步骤302,并且在步骤306后将out值右移,该右移的位数与前述左移的位数相同。其中,A为目标函数计算时的输入位宽,M为计算表格的深度,N为预设的自然数,该N小于FPGA中目标函数计算的输入位宽,具体取值根据目标函数确定。较佳地,确定N值时,以保证左移后的数据不溢出、且尽可能大为标准。
例如,本领域技术人员可知,对于开方函数,通常在对输入数据进行左移时,以2位为单位进行,因此,当对输入数据进行左移时,如果令移位后数据的最高位为非零,则可能出现溢出;这种情况下,较佳地,设置N为2,左移的位数为2*n,且左移后的数据至少保证最高第2位为非零,这样,既能保证移位后数据尽可能大,从而尽量提高计算精度,同时又能防止溢出。而对于正余弦函数,通常在对输入数据进行左移时,以1位为单位进行,因此,无论输入数据的有效位为多少,都可以在不溢出的前提下,将数据左移为最高位非零。这种情况下,较佳地,设置N为1,左移的位数为n,且左移后的数据最高位为非零。对于各类一维函数在具体实现时,本领域技术人员可以参照上述原则进行N的设置,这里就不再赘述。
本发明中,在步骤301中设置计算表格时,需要根据不同函数的特点进行。具体地,对于随着数据的增大误差增大的函数,例如正指数、三角函数等,表格中的输入数据如下设置:起始值为0,步长为A-log2M,其中,A为目标函数计算时的输入位宽,M为所述计算表格的深度;相对应地,在步骤202和203的查表操作中,将提取的高有效位以及高有效位+1补零至输入位宽,再在计算表格中查找补零后的数据对应的目标函数值,作为y(n)和y(n+1)。例如16bits输入,512表格深度,表格中的数据为;0x0000、0x0080、0x0100......0xff80对应的数据。
对于随着数据的增大误差减小的函数,例如负指数、对数等函数,表格中的输入数据如下设置:起始值为0,步长为1;相对应地,在步骤202和203的查表操作中,在计算表格中查找提取的高有效位以及(高有效位+1)的数据对应的目标函数值,作为y(n)和y(n+1)。例如16bits输入,512表格深度,表格中的数据为;0x000、0x001、0x002......0x1ff对应的数据。
接下来,通过两个实例说明本发明的实现,
实例1,在FPGA中实现
Figure BSA00000404095100081
的计算,其中,x为32bits正数输入输出。具体实现方法如下:
步骤1,根据输出位宽和FPGA内部常用的BRAM空间大小,生成1024深度的数据表(对应一块36kbit的BRAM)。
其中,根据数据的特点,表格中的输入数据的起始值为0,步长为1,保存这些数据及其对应的目标函数值。同时,在该函数实现中,设置N=2。
步骤2,将输入数据进行左移位,以2*n的方式进行移位,保证bit31/30不全为0,最多移位11次(即(32-10)/2=11),移位位数为2*n。
步骤3,提取输入数据的高10bits,作为高有效位,将该高有效位作为第一级数据表的地址,得到数据值y(n)。
步骤4,将高有效位加1,并作为第一级数据表的地址,得到下一个数据值y(n+1)。
步骤5,计算差值diff(n)=y(n+1)-y(n)。
步骤6,提取数据的低22bits,作为有效的偏移数据与步骤5计算的差值相乘,得到偏移值off(n)=data_lsb(n)*diff(n)。
步骤7,步骤3得到的y(n)与步骤6得到的偏移值相加,根据定标,截取相应的有效位,得到计算值out=y(n)+off(n)。
步骤8,根据步骤2的左移位数,将out值进行右移位的操作,得到实际输出值。
图4为相同的存储单元下,16bit输入
Figure BSA00000404095100091
直接查表法与本发明方法之间的误差比较。由图4可见,本发明的方法比直接查表法的误差要小得多。
实例2,在FPGA中实现y=ej*2π*x的计算,设x为[0,1]范围内16bits正数输入,16bits输出。首先,将展开,y=ej*2π*x=cos(2πx)+j*sin(2πx),因此在FPGA中计算y=ej*2π*x也就相当于计算正余弦两个一维函数,同时根据正余弦对称的特点,计算[0~1/4π]范围内cos(2πx)和sin(2πx)即可。接下来,给出FPGA中计算[0~1/4π]范围内cos(2πx)和sin(2πx)具体实现方法:
步骤1′,根据输出位宽和FPGA内部常用的BRAM空间大小,生成512深度的[0~1/4π]内的cos(x)、sin(x)数据表(对应一块18kbit的BRAM)。
其中,根据数据的特点,表格中的输入数据的起始值为0,步长为2^(A-log2M)=0x0080,保存这些数据及其对应的目标函数值。也就是说,输入数据高(log2512=10)bit取值为1或0,其余(16-log2512=7)bit取值均为0时对应的目标函数值。同时,在该函数实现中,设置N=1。
步骤2′,根据变换,把输入数据[0,1]对应的[0~2π]的范围变换到[0~1/4π]范围内,这样16bits数据输入数据的取值变为13bits有效。
步骤3′,提取输入数据的高9bits,作为高有效位,将该高有效位补零至16比特,作为第一级数据表的地址,得到数据值cos(n)和sin(n)。
步骤4′,将高有效位+1,并将结果补零至16比特,作为第一级数据表的地址,得到下一个数据值cos(n+1)和sin(n+1)。
步骤5′计算差值diff_cos(n)=cos(n+1)-cos(n);diff_sin(n)=sin(n+1)-sin(n)。
步骤6′,提取数据的低4bits,作为有效的偏移数据与步骤5′计算的差值相乘,得到偏移值off_cos(n)=data_lsb(n)*diff_cos(n);off_sin(n)=data_lsb(n)*diff_sin(n)。
步骤7′,步骤2′和3′得到的值与偏移值相加,根据定标,截取相应的有效位,得到计算值out_cos=cos(n)+off_cos(n),out_sin=sin(n)+off_sin(n),于是得到[0~1/4π]范围内的输出值。
步骤8′,根据实际输入的数据,进行调整,得到实际输出值。
图5为y=ej*x四级幂级数展开法与本发明方法的误差比较示意图。由图5可见,本发明的方法比幂级数展开法的误差要小得多。
实例3,在FPGA中实现y=log2x的计算,其中,x为16bits正数输入输出。
步骤1″,根据输出位宽和FPGA内部常用的BRAM空间大小,生成512深度的数据表(对应一块18kbit的BRAM)。
其中,根据数据的特点,表格中的输入数据的起始值为0,步长为1,保存这些数据及其对应的目标函数值。同时,在该函数实现中,设置N=1。
步骤2″,将输入数据进行移位,以1*n的方式进行移位,在不溢出的条件下最多移位(16-log2512=7)次。
步骤3″,提取输入数据的高9bits,作为第一级数据表的地址,得到数据值y(n)。
步骤4″,提取输入数据的高9bits,加1后作为第一级数据表的地址,得到下一个数据值y(n+1)。
步骤5″,计算差值diff(n)=y(n+1)-y(n)。
步骤6″,提取数据的低7bits,作为有效的偏移数据与步骤6″计算的差值相乘,得到偏移值off(n)=data_lsb(n)*diff(n)。
步骤7″,将步骤3″得到的值y(n)与步骤6″得到的偏移值相加,根据定标,截取相应的有效位,得到计算值out=y(n)+off(n)。
步骤8″,根据步骤2中移位的位数,进行移位逆操作,得到实际输出值。
本实例中,函数为对数函数,因为有移位操作,对数输入乘法相当于结果加法,所以对数移位的逆操作为加法。本步骤中,对数操作采用加法补偿(7-m)的方法来抵消步骤2移位的影响。至此,本实例的方法流程结束。
图6为相同的存储单元(512深度)下,16bit输入y=log2x直接查表法与本发明方法之间的误差比较示意图。由图6可见,本发明的方法比直接查表法的误差要小得多。
上述即为本发明的具体实现。接下来,对照背景技术中提到的FPGA中实现函数处理的几种方法,说明本发明相对于这些方法的优点。
1)同直接查表法比较
以开方为例进行,资源和误差的列表如下:
表格3 两级计算法开方同直接查表法误差比较表
Figure BSA00000404095100111
  20   本发明方法  1   0.091
  24   本发明方法  1   0.095
  16   直接查表法  4   0.18
  20   直接查表法  4   3
  24   直接查表法  4   29
可以看出,在资源和误差方面,本发明在FPGA上实现优势明显。另外FPGA可以通过增加存储单元和扩展输出位宽来进一步增加计算精度。
2)与幂级数展开法的比较
首先,本发明的方法比幂级数展开法的应用范围更广泛。
其次,在同样的函数下,以exp的计算为例,资源和误差更好。在资源方面,FPGA上采用的两级计算方法cosφ、sinφ同时计算只需要2个乘法器即可,远远少于幂级数展开法的资源消耗;在误差方面,0~π/4范围内,16bits输入,cosφ和sinφ的最大误差都小于10^-5以下,误差比幂级数展开法误差要小。
3)与CORDIC方法比较
首先,本发明的方法比幂级数展开法的应用范围更广泛。
其次,在同样的函数下,以exp的计算为例,资源消耗相对较少,cosφ、sinφ同时计算只需要300个左右的LUT/FFs即可。
而且,本发明采用的是单运算周期模式,运算速度更高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (5)

1.一种FPGA进行数据处理的方法,其特征在于,该方法包括:
提取输入数据的高log2M个比特位的数据,作为高有效位,根据预先设置的目标函数的计算表格,查找所述高有效位对应的目标函数值y(n)以及高有效位+1对应的目标函数值y(n+1);
提取输入数据的剩余比特位数据,作为低有效位,并将所述低有效位与y(n)和y(n+1)的差值相乘,得到偏移值off(n),将该偏移值与所述高有效位对应的目标函数值y(n)相加,将计算结果作为所述输入数据对应的目标函数值。
2.根据权利要求1所述的方法,其特征在于,当所述输入数据的最高N位为零时,该方法进一步包括:预先将所述输入数据左移,左移的位数为min(A-log2M,使左移后数据的最高第N位为非零时的移位位数),并将移位后的数据作为所述输入数据,进行后续操作;
在将该偏移值与所述高有效位对应的目标函数值y(n)相加后,进一步将相加结果右移,将移位后的结果作为所述输入数据对应的目标函数值;
其中,所述右移的位数与所述左移的位数相同;所述N为预设的自然数,且小于FPGA中目标函数计算的输入位宽。
3.根据权利要求2所述的方法,其特征在于,根据目标函数确定所述输入数据左移的位数。
4.根据权利要求1到3中任一所述的方法,其特征在于,当所述目标函数为随数据的增大而误差增大的函数时,在所述预先设置的目标函数的计算表格中,输入数据的步长为(A-log2M),起始输入数据为0,其中,A为目标函数计算时的输入位宽,M为所述计算表格的深度;
在根据所述计算表格查找目标函数值y(n)和y(n+1)时,将所述高有效位以及高有效位+1补零至输入位宽,再在所述计算表格中查找补零后的数据对应的目标函数值,作为所述y(n)和y(n+1)。
5.根据权利要求1到3中任一所述的方法,其特征在于,当所述目标函数为随数据的增大而误差减小的函数时,在所述预先设置的目标函数的计算表格中输入数据的步长为1;
在根据所述计算表格查找目标函数值y(n)和y(n+1)时,在所述计算表格中查找所述高有效位以及(高有效位+1)对应的目标函数值,作为所述y(n)和y(n+1)。
CN2010106149153A 2010-12-21 2010-12-21 一种fpga进行数据处理的方法 Pending CN102566963A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010106149153A CN102566963A (zh) 2010-12-21 2010-12-21 一种fpga进行数据处理的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010106149153A CN102566963A (zh) 2010-12-21 2010-12-21 一种fpga进行数据处理的方法

Publications (1)

Publication Number Publication Date
CN102566963A true CN102566963A (zh) 2012-07-11

Family

ID=46412484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010106149153A Pending CN102566963A (zh) 2010-12-21 2010-12-21 一种fpga进行数据处理的方法

Country Status (1)

Country Link
CN (1) CN102566963A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164982A (zh) * 2018-08-23 2019-01-08 京东方科技集团股份有限公司 数据处理电路、方法及数据存储设备
CN111142840A (zh) * 2019-12-27 2020-05-12 深圳鲲云信息科技有限公司 基于fpga的数据计算方法和装置
CN111385578A (zh) * 2018-12-28 2020-07-07 北京图森智途科技有限公司 一种应用于fpga的数据解压缩方法、成像设备和汽车
CN113378012A (zh) * 2021-06-30 2021-09-10 北京思朗科技有限责任公司 一种数据处理方法、装置和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5184317A (en) * 1989-06-14 1993-02-02 Pickett Lester C Method and apparatus for generating mathematical functions
CN1965292A (zh) * 2004-06-04 2007-05-16 Lm爱立信电话有限公司 复数对数运算alu
CN1979411A (zh) * 2005-11-30 2007-06-13 北京中电华大电子设计有限责任公司 一种高速除法器的实现方法与装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5184317A (en) * 1989-06-14 1993-02-02 Pickett Lester C Method and apparatus for generating mathematical functions
CN1965292A (zh) * 2004-06-04 2007-05-16 Lm爱立信电话有限公司 复数对数运算alu
CN1979411A (zh) * 2005-11-30 2007-06-13 北京中电华大电子设计有限责任公司 一种高速除法器的实现方法与装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164982A (zh) * 2018-08-23 2019-01-08 京东方科技集团股份有限公司 数据处理电路、方法及数据存储设备
CN109164982B (zh) * 2018-08-23 2021-04-02 京东方科技集团股份有限公司 数据处理电路、方法及数据存储设备
CN111385578A (zh) * 2018-12-28 2020-07-07 北京图森智途科技有限公司 一种应用于fpga的数据解压缩方法、成像设备和汽车
CN111142840A (zh) * 2019-12-27 2020-05-12 深圳鲲云信息科技有限公司 基于fpga的数据计算方法和装置
CN113378012A (zh) * 2021-06-30 2021-09-10 北京思朗科技有限责任公司 一种数据处理方法、装置和系统
CN113378012B (zh) * 2021-06-30 2023-10-24 上海思朗科技有限公司 一种数据处理方法、装置和系统

Similar Documents

Publication Publication Date Title
CN108021537B (zh) 一种基于硬件平台的softmax函数计算方法
CN101097511B (zh) 使用折叠的模归约
Nguyen et al. A high-performance, resource-efficient, reconfigurable parallel-pipelined FFT processor for FPGA platforms
CN102073472B (zh) 一种三角函数cordic迭代运算协处理器及运算处理方法
CN102566963A (zh) 一种fpga进行数据处理的方法
WO2013109532A1 (en) Algebraic processor
CN103488245A (zh) Dds中的相位幅度转换方法以及装置
Gutierrez et al. FPGA-implementation of atan (Y/X) based on logarithmic transformation and LUT-based techniques
US9151842B2 (en) Method and apparatus for time of flight sensor 2-dimensional and 3-dimensional map generation
TWI420807B (zh) 通訊系統之任意移頻器
US5382913A (en) Method and apparatus for generating two phase-coherent signals with arbitrary frequency ratio
CN109614073B (zh) 四象限反正切函数硬件实现电路
CN100458646C (zh) 三角函数值确定装置、方法及应用其的通信装置
CN109284528A (zh) 基于流水线设计的相控阵天线波束控制码计算方法及系统
CN103986480A (zh) 用于迭代计算数值的方法和装置
CN110633447B (zh) 基于fpga的球面距离定点计算方法及其计算装置
CN104731551B (zh) 基于fpga进行除法操作的方法及装置
CN107431495B (zh) 数字预失真校正方法及装置
CN201359721Y (zh) 一种高速除法器
CN102789446A (zh) 基于cordic算法的dds信号杂散抑制方法及系统
CN100511211C (zh) 周期函数自变量变换装置、方法及应用其的通信设备
CN113515259B (zh) 一种适用于浮点格式的复数的近似取模实现电路及方法
Saha et al. Area efficient architecture of Hyperbolic functions for high frequency applications
CN103901940B (zh) 一种产生数字余弦信号的方法
CN100534203C (zh) 一种获取白平衡校正参数的方法和图像处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120711