首页 / 一种基于FPGA的大地水准面差距计算系统

一种基于FPGA的大地水准面差距计算系统实质审查 发明

技术领域

[0001] 本发明属于嵌入式系统技术领域,尤其涉及一种基于FPGA的大地水准面差距计算系统。

相关背景技术

[0002] 在物理学和工程学的多个领域中,尤其是在解决与球坐标系相关的问题时,缔合勒让德函数在地球物理学中尤为重要,因为它们用于表达地球重力场的球谐展开。随着地球重力场模型精化的不断推进,对于能够精确计算高阶次缔合勒让德函数的需求日益增加。其中,缔合勒让德函数的标准前向行推法主要应用于地球重力场模型的计算以及其他涉及球谐函数分析的领域。
[0003] 在已有的传统计算缔合勒让德函数中,缔合勒让德函数只能在计算机中实现,并且标准前向行推法随着阶次的增加,所需的存储空间会迅速增长,可能导致内存使用效率低下,特别是对于极高阶次的计算。标准前向行推法在计算过程中可能会受到计算精度的限制,特别是在处理高阶的函数时,这意味着在某些情况下,该方法可能无法提供足够精确的结果。当计算高阶次缔合勒让德函数时,标准前向行推法可能会遇到数值稳定性的问题,这是因为随着阶次的增加,所需的计算量和中间值的累积可能会导致数值误差的放大。而通过本发明在FPGA上成功实现缔合勒让德函数的标准前向行推法可以实现以上传统计算缔合勒让德函数的标准前向行推法的不足,达到节约存储空间提高内存使用效率、提高计算精度等目的。
[0004] 缔合勒让德函数在地球重力场对大地水准面差距的具体应用领域中,扮演着至关重要的角色。大地水准面差距计算中需要广泛运用到缔合勒让德函数,大地水准面差距的计算需要利用地球重力场模型来确定。而且随着模型阶次的增加,用来表达地球重力场的缔合勒让德函数的计算量会急剧上升,高阶次计算不仅消耗大量计算资源,还可能遭遇数值稳定性问题,尤其是使用缔合勒让德函数的标准前向行推法这样的传统递推算法时。高阶次模型需要存储大量的球谐系数和中间计算结果,这可能导致内存需求显著增加,限制了模型在资源受限环境下的应用。缔合勒让德函数在此过程中用于计算位函数的球谐系数,这些系数是描述重力场的关键参数,在计算大地水准面差距时尤为重要。所以本发明在FPGA上实现了缔合勒让德函数标准前向行推法的计算,验证了缔合勒让德函数在地球重力场对大地水准面差距的计算在FPGA上实现的可能性。

具体实施方式

[0035] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
[0036] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0037] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0038] 下面结合附图,对本发明的技术方案进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
[0039] 本发明的基于FPGA的大地水准面差距计算系统,基于FPGA开发板实现,并且采用了流水线设计模式。该系统具体包括模型构建模块、数据采集模块、迭代控制模块、第一计算模块、结果选取模块和第二计算模块。
[0040] 本实施例中,模型构建模块用于基于地球重力场的球谐展开理论,确定大地水准面差距模型。其中,大地水准面差距由球谐系数和对应的缔合勒让德函数表示。
[0041] 需要说明的是,基于地球重力场的球谐展开理论,地球重力场可表示为球谐函数的级数,每一级由一个非缔合勒让德函数(Legendre Polynomial)和相应的缔合勒让德函数(Associated Legendre Function)组成,系数由观测数据反演得到。
[0042] 进一步地,大地水准面差距模型为大地水准面与参考椭球面之间的距离,为了精确计算这个差距,需要准确了解地球重力场的分布,对大地水准面差距CJ,根据布隆斯公式CJ=Tγ,则有:
[0043]
[0044] 式中,CJ为大地水准面差距,θ为地心余纬,r为地心向径,λ为地心经度,GM为引力常数与地球质量的乘积, 为完全规格化的n阶m次缔合勒让德函数,即n为截断阶数,N为最大横断阶数,m为级次,γ为正常重力值,此处采用国际地球物理和大地测量联合会推荐的正常重力公式 a为地球长半轴, 系数 通过现代观测技术精确求出,
分别为n阶m次、2n阶m次完全正规化的重力场模型位系数。
[0045] 应当理解的是,利用球谐展开式可以计算地球位势模型,这是理解大地水准面差距的基础;通过比较实际观测点的重力位与由地球位势模型预测的正常重力位,计算出大地水准面差距。
[0046] 需要说明的是,缔合勒让德函数在地球重力场对大地水准面差距的计算过程中扮演着至关重要的角色。缔合勒让德函数的应用不仅局限于大地水准面差距的计算,而且在构建地球位势模型中也起到了关键作用。首先,需要理解缔合勒让德函数值 是如何被用于球谐系数的计算中的。在地球物理学中,球谐系数是描述地球重力场的关键参数,而缔合勒让德函数值则是计算这些系数的重要组成部分。通过将每个球谐系数与对应的缔合勒让德函数值相乘,可以将这些系数整合进地球重力位的表达式中。然后,可以通过比较理论计算的重力位与实测重力位来解算出每个点的大地水准面差距。这个过程实际上是对地球形状和内部质量分布差异的一种体现。因为地球并不是一个完美的球体,其形状和内部质量分布都存在一定的差异,这些差异会直接影响到地球重力场的分布。在这个过程中,缔合勒让德函数的作用就体现出来了,它不仅可以帮助我们更准确地计算出球谐系数,而且还可以有助于更好地理解地球的形状和内部质量分布。通过这种方式,可以更深入地研究地球的物理性质,从而为地球科学研究提供更多的可能性。
[0047] 本实施例中,数据采集模块用于采集检测点的重力场观测数据和地球椭球参数,并将其通过坐标转换方法转换为地心余纬、地心经度和地心向径。其中,重力场观测数据包括卫星重力测量数据、地面重力测量数据等。
[0048] 需要说明的是,数据采集模块需要采集用于计算大地水准面差距所需的必要的地球重力场数据、地形数据以及其他辅助信息。其中,计算所需的θ,λ,r的来源不能直接通过采集器进行数据采集,在本实例中通过接收机采集检测点的重力场观测数据和地球椭球参数再通过坐标转换转换为计算所需的θ,λ,r。
[0049] 本实施例中,迭代控制模块用于负责生成和管理整个递推过程的迭代序列并精准控制第一计算模块执行缔合勒让德函数标准前向列推法的递推计算过程,以确保缔合勒让德函数的整个递推过程按照预设的顺序高效进行;该迭代控制模块通过使用状态机和计数器协同工作,以共同控制迭代过程的进行;该迭代控制模块根据输入的参数动态调整迭代次数和步长参数,以适应不同计算场景的需求;该迭代控制模块通过采用流水线设计模式对输入数据进行冗余计算并在各个分级插入寄存器暂存中间数据,确定缔合勒让德函数的数据流信息和/或控制流信息。
[0050] 需要说明的是,迭代控制模块是缔合勒让德函数计算过程中至关重要的组成部分,其核心实现依赖于状态机。设定初始值和迭代次数,使用迭代控制模块生成迭代序列;其通过计数器和状态机生成迭代序列并控制第一计算模块执行递推计算。迭代控制模块采用精心设计的计数器和状态机机制,确保整个迭代过程能够严格按照预定的顺序进行。迭代控制模块具有高度的灵活性和可配置性,根据输入的参数动态调整迭代次数和步长参数,以适应不同计算场景的需求,这种灵活性使得该迭代控制模块能够广泛适用于各种计算任务,实现高效且准确的计算。在数据处理方面,迭代控制模块采用冗余计算的方式,对输入数据进行多次计算以确保结果的准确性。同时,在各个分级中插入寄存器来暂存中间数据,这不仅减少了数据丢失和计算错误的可能性,还提高了数据处理的效率。此外,迭代控制模块还负责确定缔合勒让德函数的数据流信息和/或控制流信息,通过对这些数据流和控制流信息的精确把握,该迭代控制模块能够优化计算过程,减少不必要的计算开销,进一步提高计算性能。
[0051] 具体地,图1展示了一个用于处理标准前向行推法的迭代控制模块,该迭代控制模块的核心功能是实现标准前向行推法的计算过程,其核心职责是管理和协调标准前向行推法在执行过程中的各种计算和数据处理任务。在标准前向行推法中,数据通常按照一定的顺序逐行进行处理,这种处理方式要求有一个精确的控制机制来确保每一行的数据都能按照既定的规则和步骤得到正确的处理。该迭代控制模块通过一系列的算法和逻辑控制,实现了对标准前向行推法处理流程的精确管理。它能够确保在处理每一行数据时,都能够按照预定的算法规则进行操作,从而保证了整个处理过程的准确性和高效性。此外,该迭代控制模块还具备灵活性,能够根据不同的应用场景和需求,调整控制策略和参数,以适应各种不同的数据处理任务。
[0052] 本实施例中,第一计算模块用于根据数据流信息和/或控制流信息,采用流水线设计模式和分布式方法将缔合勒让德函数的标准前向行推计算分配到FPGA上,使用FPGA内部的存储资源作为数据缓存,以便中间结果的快速存取,输入暂存中间数据,利用FPGA的并行处理能力执行缔合勒让德函数的标准前向行推计算过程,并行处理多个计算任务,包括多项式的乘法、加法和除法操作,以完成缔合勒让德函数的并行计算。
[0053] 具体地,在第一计算模块中执行递推计算,第一计算模块利用FPGA内部的并行处理能力同时处理多项式的乘法、加法和除法操作。根据数据流信息和/或控制流信息,中间数据被妥善暂存,以便用于执行缔合勒让德函数的递推计算,这一计算过程包括但不限于多项式的乘法、加法和除法操作,每一步都精确且高效。为了充分发挥FPGA内部强大的并行处理能力,专门设计了硬件电路,以实现对多个计算任务的并行处理,从而显著提高计算效率。为了进一步优化性能,采用了流水线技术和分布式方法,流水线技术使得计算任务能够连续不断地进行,从而减少了等待时间,大大提高了计算速度;分布式方法则通过将计算任务分配到不同的处理单元上,实现了计算资源的最大化利用,进一步提升了整体性能。在缔合勒让德函数的标准前向行推计算过程中,特别关注那些满足特定条件的数据,即截断阶数等于级次的数据,对于这些数据,采用并行计算的方式进行处理,以确保能够迅速得出准确的结果,这种并行计算策略不仅提高了计算速度,还增强了系统的处理能力,使其能够适应更复杂的计算需求。
[0054] 进一步地,缔合勒让德函数的标准前向行推法公式为:
[0055]
[0056] 式中, 为完全规格化的n阶m次缔合勒让德函数,即n为截断阶数,m为级次,此时,m
[0057] 应当理解的是,由上述公式可知,不同的m取值,缔合勒让德函数会有不同的计算方式,一共有2种计算方式,分别是m=n和m<n两种。
[0058] 进一步地,图2展示了用于处理标准前向行推法的第一计算模块的具体实施的流程图,具体包括如下子步骤:
[0059] (1.1)第一计算模块接收到计算开始信号后,将缔合勒让德函数的递推公式的起算值、地心余纬、截断阶数和级次数据写入到第一计算模块中,对冗余量m+1、n+m+1、n‑m、n+m+2、n‑m‑1进行先行计算。
[0060] (1.2)接收到先行计算值计算完成的信号后,基于步骤(1.1)的先行计算结果,开始进行标准前向行推的具体计算,对截断阶数n和级次m的大小进行判断:当级次m大于截断阶数n时,第一计算模块直接输出0,并返回开始状态更新截断阶数;当级次m小于等于截断阶数n时,直接执行步骤(1.3)。
[0061] (1.3)对级次m进行判断检测,判断级次m是否等于截断阶数n,若级次m等于截断阶数n,则选择缔合勒让德函数的第一计算方式进行计算;否则,选择缔合勒让德函数的第二计算方式进行计算。
[0062] 进一步地,缔合勒让德函数的第一计算方式具体为:
[0063]
[0064] 式中, 为完全规格化的n阶m次缔合勒让德函数,即n为截断阶数,m为级次,此时,m=n;θ为地心余纬,u=sinθ。
[0065] 进一步地,缔合勒让德函数的第二计算方式具体为:
[0066]
[0067] 式中, 为完全规格化的n阶m次缔合勒让德函数,即n为截断阶数,m为级次,此时,m
[0068] (1.4)将步骤(1.3)计算完成的数值传递给寄存器,然后进行下一次更新计算。
[0069] 应当理解的是,设置低阶缔合勒让德函数的初值,利用标准前向行推公式,从低阶的函数值出发,逐步递推至所需高阶的缔合勒让德函数,计算出高阶的缔合勒让德函数值,此过程通常涉及当前阶次和前一阶次的函数值,通过精心设计的计算路径,保证了计算的高效性和数值稳定性。
[0070] 需要说明的是,缔合勒让德函数的标准前向行推法是一种高效的数值计算方法,用于计算不同阶次的缔合勒让德函数值,实现了标准前向行推法在FPGA上计算,并且通过递推关系显著减少了计算过程中的复杂度和计算量,从而提高了计算效率。当使用标准前向行推法在FPGA上计算缔合勒让德函数时,不同横断阶数下的单点计算耗时呈现出明显的差异。具体而言,当横断阶数为360阶时,单点计算耗时为0.1575917秒,显示出在相对较低阶数下,其计算效率较高。然而,随着横断阶数的增加,计算复杂度也随之上升,导致耗时显著增加。在横断阶数达到621阶时,单点计算耗时已增加至0.4677453秒,几乎是360阶时的三倍。这一变化凸显了横断阶数对计算耗时的影响,也标志着在实际应用中需要根据问题的规模和精度要求来合理选择横断阶数,以平衡计算效率和精度之间的关系。
[0071] 示例性地,为了对比标准前向行推法在计算机和FPGA上不同截断阶数的计算结果,进行了详细的测试和分析。以下是具体的数据和对比情况:当截断阶数为360阶时,计算机和FPGA上的计算结果表现出较高的一致性,具体来说,其均方误差为0.000295893,显示出了计算结果在整体上非常接近;平均误差为0.000000238663,进一步证明了计算结果的准确性;此外,计算结果的最大值为4.15452,最小值为‑3.41125,反映了计算结果的波动范围。随着截断阶数的增加,当达到621阶时,计算机和FPGA上的计算结果仍然保持了一定的一致性,但误差有所增大,此时,均方误差为0.002875621,相比360阶时有所增加;平均误差为0.000002023971,也略高于低阶数时的误差;计算结果的最大值为4.19369,最小值为‑3.51015,波动范围略有扩大。这些对比数据表明,无论是计算机还是FPGA,标准前向行推法在不同截断阶数下都能得到相对准确的结果。然而,随着截断阶数的增加,计算误差也会相应增大。因此,在实际应用中,需要根据问题的精度要求和计算资源的限制来选择合适的截断阶数。
[0072] 本实施例中,结果选取模块用于根据迭代控制模块的指示在第一计算模块的并行计算结果中选取对应的缔合勒让德函数值;该结果选取模块设有多路选择器和缓冲区,以便实时存储和输出所需的并行计算结果。
[0073] 应当理解的是,结果选取模块根据第一计算模块的并行计算结果,将计算数据传入结果选取模块,根据系统的要求或者根据用户的需要,从第一计算模块得到的多个结果中选取特定的值,作为结果选取模块输出的最终结果。通过设计的多路选择器和缓冲区,以便在高速计算的同时能够及时地存储和输出所需的计算结果。结果选取模块可以根据迭代控制模块的指示,存储和输出所需要的计算结果,可以实时监控计算状态,并根据反馈调整结果选取策略,最后根据结果选取模块选择最优解输出。
[0074] 本实施例中,第二计算模块用于根据数据采集模块采集到的数据和结果选取模块输出的缔合勒让德函数结果计算模型构建模块所构建的大地水准面差距模型,获取目标检测点的大地水准面差距。
[0075] 需要说明的是,还可以将计算出的大地水准面差距与已知的大地水准面数据对比,以此进行模型校正和优化。
[0076] 综上所述,缔合勒让德函数在地球重力场对大地水准面差距的具体应用领域中,扮演着至关重要的角色,地球重力场是地球内部和近地空间物质密度分布和空间位置的综合反映,它直接影响着地球的形状和质量分布。为了精确描述地球重力场,常常使用球谐函数作为一组正交基,将重力场表示为这些基函数的线性组合,缔合勒让德函数作为球谐函数的一种特殊形式,其复杂性允许它们更精确地模拟地球重力场的细节,这种精确性对于大地水准面差距的计算至关重要,因为大地水准面差距是指地球表面与理想椭球体之间的高度差,这个高度差受到地球重力场的影响。通过使用缔合勒让德函数,可以更准确地描述地球重力场,从而计算出更精确的大地水准面差距,这对于地球科学研究、地理测量、导航系统等领域具有重要意义。缔合勒让德函数在地球重力场建模中的应用,可以能够更准确地模拟重力场的分布,进而计算出更精确的大地水准面差距,在使用缔合勒让德函数进行大地水准面差距的计算时,计算效率是一个重要的考虑因素,由于缔合勒让德函数的复杂性,计算耗时会随着截断阶数的增加而显著增加。因此,通过在FPGA上实现的数值计算方法,以减少计算时间和提高计算精度等。在FPGA上实现缔合勒让德函数的标准前向行推计算过程,并行计算多个计算任务,能够显著提升计算效率和精度,同时降低功耗。
[0077] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页 第1页 第2页 第3页