一种基于FPGA的龙贝格积分硬件逻辑求解方法及系统技术方案

技术编号:38608942 阅读:9 留言:0更新日期:2023-08-26 23:38
本发明专利技术公开了一种基于FPGA的龙贝格积分硬件逻辑实时求解方法,包括以下步骤:S1、构建待求积分等式预处理模块;S2、根据逐次分半加速法以及S1中的预处理模块,构建数值参数模块;S3、构建局部并行计算数值参数模块,与S2中的数值参数模块组成积分计算迭代模块;S4、根据用户设定的数据精度误差ε和实时迭代控制模块,控制参数迭代精度并输出积分值。本发明专利技术通过流水线架构和并行处理能力,提高数值迭代的速度,缓解计算时延问题,提供高精度积分值。精度积分值。精度积分值。

【技术实现步骤摘要】
一种基于FPGA的龙贝格积分硬件逻辑求解方法及系统


[0001]本专利技术属于FPGA数学运算IP设计领域,具体涉及一种基于FPGA的龙贝格积分硬件逻辑求解方法及系统。

技术介绍

[0002]在利用FPGA对无人机航姿求解过程中,需要对测量的加速度和角速度做误差修正以及计算姿态角,其中求解积分是不必可少的操作。大多数情况下采用在连续域中得到被积函数,再通过离散化逼近连续函数进而实现,该方法除了需要掌握积分求解方法外,实现该方法的硬件逻辑无法被广泛应用。另一方面,FPGA厂商的IDE中缺乏求解积分的相关IP。

技术实现思路

[0003]本专利技术的目的在于针对FPGA无人机航姿姿态角和加速度误差修正中求解积分的过程较为繁琐复杂,缺少相关通用性IP这一问题,提出了一种基于FPGA的龙贝格积分硬件逻辑求解方法及系统。通过FPGA高性能运算和并行处理能力,预留用户配置端口,在保持计算积分结果高精度的同时,缓解数值迭代的计算时延问题,快速求解积分值。
[0004]为了实现上述目的,本专利技术基于FPGA的龙贝格积分硬件逻辑求解方法的系统,其特征在于:包括积分预处理模块、积分计算迭代模块、实时迭代精度控制模块和用户参数配置接口;
[0005]所述积分预处理模块,用于构建待求积分等式I=∫f(x)dx;
[0006]所述积分计算迭代模块,用于求解数值参数和数值参数,构建积分数值迭代计算模型;
[0007]所述实时迭代精度控制模块,用于控制积分数值精度误差和实时控制迭代计算;
[0008]所述用户参数配置接口,包括积分上下限、数据位宽和数据精度,分别用于计算函数值和配置步长、配置浮点数格式和数据位宽和控制数据精度误差。
[0009]本专利技术还提供了一种基于FPGA的龙贝格积分硬件逻辑求解方法,包括以下步骤:
[0010]S1、构建待求积分等式I=∫f(x)dx预处理模块integral;
[0011]S2、根据逐次分半加速法以及S1中的预处理模块integral,构建数值参数模块;
[0012]S3、构建局部并行计算数值参数模块,与S2中的数值参数模块组成积分计算迭代模块T_romberg_top;
[0013]S4、根据用户设定的数据精度误差ε和实时迭代控制模块T_control,控制参数迭代精度并输出积分值。
[0014]作为优选,所述步骤S1包括以下子步骤:
[0015]S1

1、根据被积函数的选择和梯形法的递推化公式,调用FPGA的浮点数运算IP构
成被积函数f(x),再根据积分上下限,计算出区间步长;
[0016][0017][0018]其中,表示二分前的步长,x
k
为等距节点,x
k
=a+kh;
[0019]S1

2、构建积分等式预处理模块integral,其中模块的输入信号为自变量值x浮点数和相对应的区间步长,输出信号为函数值fx浮点数和有效信号fx_vld,其中根据迭代次数k次,并行计算函数值可以使得计算时钟缩减为原来的1/k;
[0020]S1

3、将计算的区间步长和fx函数值构成矩阵形式,存到寄存器数组T_data中进行数据缓存。
[0021]作为优选,所述步骤S2包括以下子步骤:
[0022]S2

1、构建数值参数模块Tk_renew,该模块的输入信号为S1

3中的寄存器数组T_data中的区间步长和函数值并行数据,输出信号为参数值和有效指示信号Tk_complete;
[0023]S2

2、模块内部采用流水线结构计算出相应的参数,其中第一级流水线的输入信号为区间步长对应的函数值,输出信号为函数总和值;
[0024]S2

3、第二级流水线的输入信号为函数总和值,通过加入区间步长,输出信号为函数加速值f'0;
[0025]S2

4、第三级流水线的输入信号为f'0,与二分之后的T'0相加,通过公式(2)计算出最终参数作为输出信号;
[0026]S2

5、上述通过流水线架构使得参数数据处理时间缩短并提高了计算效率,通过参数有效指示信号Tk_complete,将计算出的参数通过寄存器组Tk_buffer进行数据缓存,并输出数据有效使能信号Tm_complete,将两者一起送入数值参数模块;
[0027]作为优选,所述步骤S3包括以下子步骤:
[0028]S3

1、构建数值参数模块Tm_renew,该模块通过判断S2

5中的有效使能信号Tm_complete,接收寄存器组Tk_buffer缓存的数据作为该模块的输入信号,输出信号为迭代后的参数值;
[0029]S3

2、构建参数系数矩阵对数据缓存的Tk_buffer进行并行计算,计算公式为:
[0030][0031][0032]S3

3、模块内部加入参数系数矩阵对缓存的数据按照式(4)进行并行计算,其中并行计算结构分为三级,第一级并行结构计算式(4)中的移位中并行计算结构分为三级,第一级并行结构计算式(4)中的移位和乘法浮点数运算将计算结果记为K1和K2;
[0033]S3

4、第二级并行结构计算式(4)中的减法K1

K2和除法浮点数运算1/C
m3
,将计算结果记为K3和K4;
[0034]S3

5、第三级并行结构对式(4)整体的实现,求解出迭代后的参数值,即
[0035]S3

6、将数值参数模块Tk_renew和数值参数模块Tm_renew进行组合,构建积分迭代模块T_romberg_top,并将迭代所得数据和数据作差取绝对值得到误差ε0,并送入精度控制模块;
[0036][0037]作为优选,所述S4中根据用户设定的数据精度误差ε和实时迭代控制模块T_control,控制参数迭代精度并输出积分值,其具体过程为:
[0038]计算误差ε0和用户设定的ε的差值,判断此次迭代是否满足用户设定的误差精度,若满足精度误差,则迭代控制寄存器T_flag为“0”表示迭代结束,将数据作为最终输出;若不满足精度误差,则迭代控制寄存器T_flag为“1”表示迭代计算中,发送下一次迭代脉冲信号至积分迭代模块,进行下一次迭代计算;
附图说明
[0039]图1为本专利技术实施例的一种基于FPGA的龙贝格积分硬件逻辑求解方法的流程图。
[0040]图2为本专利技术实施例的结构框图。
具体实施方式
[0041]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的龙贝格积分硬件逻辑求解方法,其特征在于,包括以下步骤:S1、构建待求积分等式I=∫f(x)dx预处理模块integral;S2、根据逐次分半加速法以及S1中的预处理模块integral,构建数值参数模块;S3、构建局部并行计算数值参数模块,与S2中的数值参数模块组成积分计算迭代模块T_romberg_top;S4、根据用户设定的数据精度误差ε和实时迭代控制模块T_control,控制参数迭代精度并输出积分值。2.根据权利要求1所述的基于FPGA的龙贝格积分硬件逻辑求解方法,其特征在于,所述步骤S1包括以下子步骤:S1

1、根据被积函数的选择和梯形法的递推化公式,调用FPGA的浮点数运算IP构成被积函数f(x),再根据积分上下限,计算出区间步长;区间步长;其中,表示二分前的步长,x
k
为等距节点,x
k
=a+kh;S1

2、构建积分等式预处理模块integral,其中模块的输入信号为自变量值x浮点数和相对应的区间步长,输出信号为函数值fx浮点数和有效信号fx_vld,其中根据迭代次数k次,并行计算函数值可以使得计算时钟缩减为原来的1/k;S1

3、将计算的区间步长和fx函数值构成矩阵形式,存到寄存器数组T_data中进行数据缓存。3.根据权利要求2所述的基于FPGA的龙贝格积分硬件逻辑求解方法,其特征在于,所述步骤S2包括以下子步骤:S2

1、构建数值参数模块Tk_renew,该模块的输入信号为S1

3中的寄存器数组T_data中的区间步长和函数值并行数据,输出信号为参数值和有效指示信号Tk_complete;S2

2、模块内部采用流水线结构计算出相应的参数,其中第一级流水线的输入信号为区间步长对应的函数值,输出信号为函数总和值;S2

3、第二级流水线的输入信号为函数总和值,通过加入区间步长,输出信号为函数加速值f
′0;S2

4、第三级流水线的输入信号为f
′0,与二分之后的T
′0相加,通过公式(2)计算出最终参数作为输出信号;
S2

5、上述通过流水线架构使得参数数据处理时间缩短并提高了计算效率,通过参数有效指示信号Tk_complete,将计算出的参数通过寄存器组Tk_buffer进行数据缓存,并输出数据有效使能信号Tm_complete,将两者一起送入数值参数模块。4.根...

【专利技术属性】
技术研发人员:黄继业陈协和田大海董哲康杨宇翔李平
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1