一种基于三次样条插值的波形拟合方法及装置与流程

文档序号:11286238阅读:403来源:国知局
一种基于三次样条插值的波形拟合方法及装置与流程

本发明涉及数据处理领域,特别涉及一种基于三次样条插值的波形拟合方法、装置及高速插补波形拟合器。



背景技术:

数字存储测量仪器在快时基档位工作时,由于实时采样率往往不够,仅能采集信号的少数样点,为了重构信号,必须要进行插值。而插值的过程需要由fpga(field-programmablegatearray,现场可编程门阵列)硬件实现流水作业,从而达到较高的波形刷新率。目前常用的插值方法有最邻近插值、线性插值和正弦插值。

现有技术中,最邻近插值、线性插值和正弦插值只能对某些特定波形恢复得很好,最邻近插值、线性插值对矩形波和三角波有较好的效果,对正弦波的恢复效果较差,而正弦插值则正好相反。而三次样条插值对各类信号都有较好的恢复效果。但对于fpga硬件实现波形高刷新率,要考虑计算效率问题,需要分若干模块运算,但现有的各三次样条插值单元往往存在首尾存在不连续的问题,难以实现fpga流水作业。因此,如何解决三次样条插值的首尾边界不连续问题,实现fpga流水作业,是现今亟需解决的问题。



技术实现要素:

本发明的目的是提供一种基于三次样条插值的波形拟合方法、装置及高速插补波形拟合器,以使相邻的三次样条插值单元的首尾边界连续,实现fpga流水作业操作,提升用户体验。

为解决上述技术问题,本发明提供一种基于三次样条插值的波形拟合方法,应用于高速插补波形拟合器,包括:

将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件;

将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点;

根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元。

可选的,所述将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,具体为:

其中,a为所述第一预定个数,b为所述第二预定个数。

可选的,所述根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,具体为:

所述第一边界条件等于所述第二边界条件相等等于

可选的,该方法还包括:

将相邻的两个所述三次样条插值单元中所述前一三次样条插值单元的首端点和所述后一三次样条插值单元的首端点均与自身前所述第一预定个数的点和自身后所述第二预定个数的点拟合成多项式。

可选的,所述第一预定个数和所述第二预定个数相等。

此外,本发明还提供了一种基于三次样条插值的波形拟合装置,应用于高速插补波形拟合器,包括:

第一处理模块,用于将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件;

第二处理模块,用于将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点;

连接模块,用于根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元。

可选的,所述第一处理模块拟合成的多项式,具体为:

其中,a为所述第一预定个数,b为所述第二预定个数。

可选的,该装置还包括:

第三处理模块,用于将相邻的两个所述三次样条插值单元中所述前一三次样条插值单元的首端点和所述后一三次样条插值单元的首端点均与自身前所述第一预定个数的点和自身后所述第二预定个数的点拟合成多项式。

本发明还提供了一种高速插补波形拟合器,包括:

处理器,用于将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件;将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点;根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元;

输出器,用于将相邻的两个所述三次样条插值单元的波形输出。

本发明所提供的一种基于三次样条插值的波形拟合方法,应用于高速插补波形拟合器,包括:将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件;将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点;根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元;

可见,本发明通过用多项式拟合相邻的三次样条插值单元的首尾边界,以首尾点对应的一阶导数作为该三次样条插值边界条件,令相邻的三次样条插值单元连接,保证了三次样条插值单元的首尾连续,可以光滑自然地过渡,使三次样条插值单元能够实现fpga流水作业的操作,达到了高的波形刷新率,且能更好地恢复波形,提升了用户体验。此外,本发明还提供了一种基于三次样条插值的波形拟合装置及高速插补波形拟合器,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的一种基于三次样条插值的波形拟合方法的流程图;

图2为本发明实施例所提供的另一种基于三次样条插值的波形拟合方法的流程图;

图3为本发明实施例所提供的另一种基于三次样条插值的波形拟合方法的三次样条插值单元的示例图;

图4为本发明实施例所提供的一种基于三次样条插值的波形拟合装置的结构图;

图5为本发明实施例所提供的一种高速插补波形拟合器的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例所提供的一种基于三次样条插值的波形拟合方法的流程图。该方法应用于高速插补波形拟合器,可以包括:

步骤101:将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件。

其中,三次样条插值原理可以为:

对于若干个离散点,可以如式(1)所示:

样条曲线是分段组成,有n+1个点,共n个区间,由n个si组成,可以如式(2)所示:

每段曲线分别由三次多项式组成,可以如式(3)所示:

si(x)=ai+bi(x-xi)+ci(x-xi)2+di(x-xi)3,i=0,1…n-1(3)

三次样条插值的求解原理可以为:样条曲线需满足以下几个条件:

真实的离散点在每段曲线的首尾处,可以如式(4)所示:

si(xi)=yi(4)

每段曲线首尾0阶、1阶和2阶连续,可以如式(5)所示:

首尾端点为特性边界,有自由边界、固定边界、非节点边界三种,由于自由边界和非节点边界不能保证相邻三次样条插值单元相近点光滑自然地过渡。而固定边界经一定的操作,可以使相邻的三次样条插值单元的首尾端点能光滑自然地过渡,因此可以设定首尾两端点的导数是指定的。

由式(1)和式(7)可以得:

由xi和yi的数据按式(8)可以求得求m,再代入式(5),可以求得ai、bi、ci和di。将xi<x<xi+1对应到相应的三次多项式即可得y=si(x)。

需要说明的是,对于每个三次样条插值单元均可通过上述求解原理进行求解,以相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点对应的一阶导数作为尾端点的第一边界条件,可以为如式(6)中所示,令式中,b1为上述第一边界条件。

对于将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与尾端点前第一预定个数的点和尾端点后第二预定个数的点拟合成多项式,可以具体为:

式中,a为上述第一预定个数,b为上述第二预定个数。

可以求得:

可以理解的是,本步骤中相邻的两个三次样条插值单元可以为fpga硬件中各个相邻的三次样条插值单元,每两个相邻的三次样条插值单元均可以进行本步骤。

对于上述第一预定个数和第二预定个数的具体设置,也就是拟合多项式时选取的尾端点之前最接近该尾端点的点的个数和尾端点之后最接近该尾端点的点的个数,可以由设计人员或用户根据实用场景和用户需求自行设置,本实施例对此不受任何限制。优选的,为了方便计算,可以将第一预定个数和第二预定个数设置为相等的数值。

步骤102:将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点。

可以理解的是,通过上述三次样条插值的求解原理,以相邻的两个三次样条插值单元中后一三次样条插值单元的首端点对应的一阶导数作为首端点的第二边界条件,可以为如式(6)中所示,令式中,a2为第二边界条件。

需要说明的是,将相邻的两个三次样条插值单元中后一三次样条插值单元的首端点与首端点前第一预定个数的点和首端点后第二预定个数的点拟合成多项式,可以通过步骤101相同的方式生成如式(9)的多项式,最终可以求得:

步骤103:根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元。

其中,根据第一边界条件与第二边界条件相等,可以求得:确定了相邻的两个三次样条插值单元的相近点的边界条件,也就是可以确保相邻的两个三次样条插值单元中的前一三次样条插值单元的样条曲线与后一三次样条插值单元的样条曲线能够在相近点光滑自然的过度。

可以理解的是,对于fpga硬件来说,只要确保相邻两个三次样条插值单元中的前一三次样条插值单元的尾端点和后一三次样条插值单元的首端点与各自前第一预定个数的点和各自后第二预定个数的点拟合成多项式,也就是相邻三次样条插值单元的相近点与前若干点和后若干点拟合成多项式,便可达到本实施例的目的,可以令全部相邻的两个三次样条插值单元均设置相同的第一预定个数和第二预定个数,如有3个相邻的三次样条插值单元,相邻的第一个三次样条插值单元与第二个三次样条插值单元的相近点与前2个点和后2个点拟合成多项式,相邻的第二个三次样条插值单元与第三个三次样条插值单元的相近点与前2个点和后2个点拟合成多项式;也可以令全部相邻的两个三次样条插值单元均设置不同的第一预定个数和第二预定个数,如有3个相邻的三次样条插值单元,相邻的第一个三次样条插值单元与第二个三次样条插值单元的相近点与前2个点和后2个点拟合成多项式,相邻的第二个三次样条插值单元与第三个三次样条插值单元的相近点与前1个点和后1个点拟合成多项式;还可以令部分相邻的两个三次样条插值单元均设置不同的第一预定个数和第二预定个数。本实施例对此不受任何限制。

本实施例中,本发明实施例通过用多项式拟合相邻的三次样条插值单元的首尾边界,以首尾点对应的一阶导数作为该三次样条插值边界条件,令相邻的三次样条插值单元连接,保证了三次样条插值单元的首尾连续,可以光滑自然地过渡,使三次样条插值单元能够实现fpga流水作业的操作,达到了高的波形刷新率,且能更好地恢复波形,提升了用户体验。

请参考图2和图3,图2为本发明实施例所提供的另一种基于三次样条插值的波形拟合方法的流程图;图3为本发明实施例所提供的另一种基于三次样条插值的波形拟合方法的三次样条插值单元的示例图。该方法应用于高速插补波形拟合器,可以包括:

步骤201:将相邻的三次样条插值单元中各三次样条插值单元的首端点和尾端点与各自前后各第三预定个数的点拟合成多项式。

其中,本步骤可以为令fpga中全部相邻的三次样条插值单元的首端点和尾端点均与各自前后各第三预定个数的点拟合成多项式,可以方便计算并保证拟合波形的标准统一。

如图3中四个采样点数据为例,相邻两个fpga模块也就是上述三次样条插值单元的相近点为第6点,取前2点和后2点与第6点按式(9)拟合多项式可以得:

步骤202:以首端点和尾端点各自对应的一阶导数作为三次样条插值单元的边界条件。

可以理解的是,本步骤可以通过如上文中式(6)的方式计算。如图3中fpga插值单元1可以求出尾端边界条件b1,fpga插值单元2可以求出首端边界条件a2。

步骤203:根据相邻的两个三次样条插值单元的前一三次样条插值单元的尾端点的边界条件与后一三次样条插值单元的首端点的边界条件相等,连接相邻的两个所述三次样条插值单元。

如图3中第6点的边界条件可以通过确定后,fpga插值单元1生成关于第3到6点的样条曲线和fpga插值单元2生成的关于第6到9点的样条曲线,在6点边界能够光滑自然过渡。

本实施例中,本发明实施例通过将相邻的三次样条插值单元中各三次样条插值单元的首端点和尾端点与各自前后各第三预定个数的点拟合成多项式,可以更加方便计算该多项式并保证拟合波形的标准更加统一。

请参考图4,图4为本发明实施例所提供的一种基于三次样条插值的波形拟合装置的结构图。该装置应用于高速插补波形拟合器,可以包括:

第一处理模块100,用于将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件。

第二处理模块200,用于将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点。

连接模块300,用于根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元。

可选的,所述第一处理模块100拟合成的多项式,具体为:

其中,a为所述第一预定个数,b为所述第二预定个数。

可选的,该装置还可以包括:

第三处理模块,用于将相邻的两个所述三次样条插值单元中所述前一三次样条插值单元的首端点和所述后一三次样条插值单元的首端点均与自身前所述第一预定个数的点和自身后所述第二预定个数的点拟合成多项式。

本实施例中,本发明实施例通过用多项式拟合相邻的三次样条插值单元的首尾边界,以首尾点对应的一阶导数作为该三次样条插值边界条件,令相邻的三次样条插值单元连接,保证了三次样条插值单元的首尾连续,可以光滑自然地过渡,使三次样条插值单元能够实现fpga流水作业的操作,达到了高的波形刷新率,且能更好地恢复波形,提升了用户体验。

请参考图5,图5为本发明实施例所提供的一种高速插补波形拟合器的结构图。该高速插补波形拟合器可以包括:

处理器10,用于将相邻的两个三次样条插值单元中前一三次样条插值单元的尾端点与所述尾端点前第一预定个数的点和所述尾端点后第二预定个数的点拟合成多项式,以所述尾端点对应的一阶导数作为所述尾端点的第一边界条件;将相邻的两个所述三次样条插值单元中后一三次样条插值单元的首端点与所述首端点前所述第一预定个数的点和所述首端点后所述第二预定个数的点拟合成多项式,以所述首端点对应的一阶导数作为所述首端点的第二边界条件;其中,所述尾端点和所述首端点为相邻的两个所述三次样条插值单元的相近点;根据相等的所述第一边界条件和所述第二边界条件确定所述相近点的边界条件,连接相邻的两个所述三次样条插值单元。

输出器20,用于将相邻的两个所述三次样条插值单元的波形输出。

本实施例中,本发明实施例通过用多项式拟合相邻的三次样条插值单元的首尾边界,以首尾点对应的一阶导数作为该三次样条插值边界条件,令相邻的三次样条插值单元连接,保证了三次样条插值单元的首尾连续,可以光滑自然地过渡,使三次样条插值单元能够实现fpga流水作业的操作,达到了高的波形刷新率,且能更好地恢复波形,提升了用户体验。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置及高速插补波形拟合器而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的基于三次样条插值的波形拟合方法、装置及高速插补波形拟合器进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1