CN109671134B - 基于动态延时技术的波形绘制方法和装置 - Google Patents
基于动态延时技术的波形绘制方法和装置 Download PDFInfo
- Publication number
- CN109671134B CN109671134B CN201811530485.XA CN201811530485A CN109671134B CN 109671134 B CN109671134 B CN 109671134B CN 201811530485 A CN201811530485 A CN 201811530485A CN 109671134 B CN109671134 B CN 109671134B
- Authority
- CN
- China
- Prior art keywords
- waveform
- data
- time
- waveform data
- delay time
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Recording Measured Values (AREA)
- Manipulation Of Pulses (AREA)
- Pulse Circuits (AREA)
Abstract
本发明提供了一种基于动态延时技术的波形绘制方法和装置,涉及数据处理技术领域;该方法包括:获取待处理的波形数据;基于波形数据绘制得到目标波形;计算绘制完成目标波形的绘制时长;根据绘制时长和预设的波形绘制周期确定延时时长;根据延时时长确定下一次获取待处理的波形数据的起始时刻。在数据处理、绘制波形和数据获取出现异常情况时进行有效处理,提高绘制波形的同步性、实时性和流畅性。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种基于动态延时技术的波形绘制方法和装置。
背景技术
目前各种场所需要通过波形来反映事件的起伏状态,并将波形显示在显示器上,比如心电波形。
现在大部分绘制技术都依赖定时器和互斥锁等相关资源,来保证绘制波形的持续性和同步性,这样很容易出现死锁和数据不同步的问题,并且还造成资源浪费。而且CPU(Central Processing Unit,中央处理器)工作以及绘制流程往往有很多不确定性,导致绘制时间有长有短,现有技术中无法根据整个绘制流程消耗不确定的时间来准确控制整个绘制周期,特别是在数据处理、绘制超时或数据获取失败等异常情况的处置时,绘制的波形不具有实时性、流畅性和高效性。
发明内容
有鉴于此,本发明的目的在于提供一种基于动态延时技术的波形绘制方法和装置,对异常情况进行有效处理,并提高了绘制波形的同步性、实时性和流畅性。
第一方面,本发明实施例提供了一种基于动态延时技术的波形绘制方法,该方法包括:获取待处理的波形数据;基于波形数据绘制得到目标波形;计算绘制完成目标波形的绘制时长;根据绘制时长和预设的波形绘制周期确定延时时长;根据延时时长确定下一次获取待处理的波形数据的起始时刻。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,上述获取待处理的波形数据的步骤,包括:判断是否获取失败;如果是,等待预设时长后重新获取波形数据,并记录获取到波形数据的时刻;其中,预设时长小于波形绘制周期的一半。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,上述基于波形数据绘制得到目标波形的步骤,包括:将获取到的波形数据存储到存储缓冲区内;对波形数据进行处理,得到波形绘制数据;将波形绘制数据填充到绘制缓冲区内,形成数据点;对绘制缓冲区内的数据点进行连线,得到目标波形;清除存储缓冲区内的波形数据,并将清除完成的时刻作为绘制完成目标波形的绘制完成时刻进行记录。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述波形数据包括至少一个波形数据集;将获取到的波形数据存储到存储缓冲区内包括:按照数据集的形式将波形数据集存储到存储缓冲区内;将波形绘制数据填充到绘制缓冲区内,形成数据点,包括:将存储在存储缓冲区内的波形绘制数据依次填充到绘制缓冲区内,形成数据点,清除存储在存储缓冲区内的波形数据集,并记录清除存储在存储缓冲区内的波形数据集完成的时刻。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述延时时长通过以下公式计算:R=P-(E-S)-K;其中,R表示延时时长;P表示波形绘制周期;E表示获取到波形数据的时刻;S表示绘制完成目标波形的绘制完成时刻;K表示预设的小于波形绘制周期的时长。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述根据延时时长确定下一次获取待处理的波形数据的起始时刻的步骤,包括:判断延时时长是否大于0;如果延时时长大于0,则下一次获取待处理的波形数据的起始时刻为从绘制完成时刻开始延时该延时时长后的时刻;如果延时时长小于或等于0,则下一次获取待处理的波形数据的起始时刻为绘制完成时刻。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述波形绘制周期通过以下公式计算:P=SP/FR;其中,P表示波形绘制周期;SP表示采集端采集波形数据的周期;FR表示人眼不能够识别连续动画的帧率。
第二方面,本发明实施例提供了一种基于动态延时技术的波形绘制装置,其中,该装置包括:获取模块,用于获取待处理的波形数据;绘制模块,用于基于波形数据绘制得到目标波形;计算模块,用于计算绘制完成目标波形的绘制时长;第一确定模块,用于根据绘制时长和预设的波形绘制周期确定延时时长;第二确定模块,用于根据延时时长确定下一次获取待处理的波形数据的起始时刻。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述获取模块,还用于:判断是否获取失败;如果是,等待预设时长后重新获取波形数据,并记录获取到波形数据的时刻;其中,预设时长小于波形绘制周期的一半。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,上述绘制模块,还用于:将获取到的波形数据存储到存储缓冲区内;对波形数据进行处理,得到波形绘制数据;将波形绘制数据填充到绘制缓冲区内,形成数据点;对绘制缓冲区内的数据点进行连线,得到目标波形;清除存储缓冲区内的波形数据,并将清除完成的时刻作为绘制完成目标波形的绘制完成时刻进行记录。
本发明实施例提供了一种基于动态延时技术的波形绘制方法和装置,该方法包括:获取待处理的波形数据;基于波形数据绘制得到目标波形;计算绘制完成目标波形的绘制时长;根据绘制时长和预设的波形绘制周期确定延时时长;根据延时时长确定下一次获取待处理的波形数据的起始时刻。在数据处理、绘制波形和数据获取出现异常情况时进行有效处理,提高绘制波形的同步性、实时性和流畅性。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于动态延时技术的波形绘制方法的流程图;
图2为本发明实施例提供的另一种基于动态延时技术的波形绘制方法的流程图;
图3为本发明实施例提供的另一种基于动态延时技术的波形绘制方法的流程图;
图4为本发明实施例提供的另一种基于动态延时技术的波形绘制方法的流程图;
图5为本发明实施例提供的一种基于动态延时技术的波形绘制装置的结构示意图;
图6为本发明实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,通过接收数据端接收波形数据时间差和波形数据单元个数来计算绘制的周期间隔,并根据接收速度调节波形绘制速度的快慢,使得绘制的波形数据只能相对平滑的移动。然而现有技术中还无法根据整个绘制流程消耗不确定的时间来准确控制整个绘制周期,特别是在数据处理、绘制超时或数据获取失败等异常情况的处置时,绘制的波形不具有实时性、流畅性和高效性。基于此,本发明实施例提供了一种基于动态延时技术的波形绘制方法和装置,应用于绘制波形的电子设备上,可以对异常情况进行有效处理,并提高了绘制波形的同步性、实时性和流畅性。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于动态延时技术的波形绘制方法进行详细介绍。
实施例一
本发明实施例提供了一种基于动态延时技术的波形绘制方法,如图1所示,该方法包括:
步骤S102,获取待处理的波形数据;
采集端通过网络协议主动从发送波形数据端获取待处理的波形数据,而该发送波形数据端可以是任何可发送波形数据的电子设备,而本发明采集端获取待处理的波形数据不仅限于通过TCP/UDP(Transmission Control Protocol/User Datagram Protocol,传输控制协议/用户数据报协议)的网络协议,可以通过任何网络协议获取待处理的波形数据;并且本发明采集端是可以在发送波形数据端主动获取待处理的波形数据,从而解决了现有技术中采集端被动接收波形数据的情形。该波形数据可以是包括单个波形数据或多个波形数据;由于采集端在单位时间1s中获取到的波形数据是固定的,也就是采集端获取波形数据的周期是固定的,使用单位时间1s与人眼在1s不能够识别连续动画的帧率相除,从而得到绘制波形的周期,需要说明的是,绘制波形的周期是固定的,而绘制波形的周期受采集端获取波形数据的周期的影响。
步骤S104,基于波形数据绘制得到目标波形;
作为一种可能的实施方式,获取的波形数据中包括多个数据,本发明既可以获取单波波形数据,也可以获取多波波形数据。可以理解的是,无论获取的波形数据是单波波形数据还是多波波形数据,都包括多个数据,以获取的波形数据是单波波形数据为例进行说明。例如,假设单波波形数据包括50个数据,第一个数据的值为m1,经过处理后得到第一数据的纵坐标为m2,那么就在绘制缓冲区的坐标值为(0,m2)进行填充,第二个数据的值为n1,经过处理后得到第一数据的纵坐标为n2,那么就在绘制缓冲区坐标值为(1,n2)进行填充,依次类推,将这50个数据进行填充可形成数据点,对绘制缓冲区内的50个数据点进行连线,得到目标波形。如果获取的波形数据是多波波形数据,则按照绘制单波波形的方法,依次对其进行绘制。
步骤S106,计算绘制完成目标波形的绘制时长;
从采集端获取到待处理的波形数据,根据待处理的波形数据经过绘制得到目标波形后,并将得到的波形数据进行清除后,这个过程会有一个时间,这个时间就是绘制完成目标波形的绘制时长。在没有特殊情况时,该绘制时长是固定的,而当遇到绘制流程耗时超过了绘制预设时间或者从采集端获取波形数据异常都会导致绘制时长发生变化。
步骤S108,根据绘制时长和预设的波形绘制周期确定延时时长;
在绘制波形的这个过程中可能会发生异常,例如,绘制缓冲区在绘制波形时,未在存储缓冲区中获取到,这个时候就是在采集端获取待处理的波形数据发生异常;或者,在绘制缓冲区绘制波形速度过慢,导致存储缓冲区中波形数据过多,使得绘制波形的速度和从采集端获取待处理的波形数据的速度不一致,导致绘制的波形可能出现不准确、不均匀的情况。所以,是否需要增加延时和延时时长,取决于绘制波形速度与获取波形数据之间的关系。
步骤S110,根据延时时长确定下一次获取待处理的波形数据的起始时刻。
进行下一次获取待处理的波形数据的起始时间取决于延时时长,当有延时时长时,在绘制完成目标波形时刻的基础上加上延时时长,即下一次获取待处理的波形数据的起始时间;当没有延时时长,在绘制完成目标波形之后就进行获取待处理的波形数据,即绘制完成目标波形的时刻为进行下一次获取待处理的波形数据的时刻。
本发明不同于现有技术使用的定时器与互斥锁,因为定时器、互斥锁不仅会消耗系统资源,而且互斥锁还容易造成数据不同步、死锁等问题,而本发明是基于多线程延时技术进行的波形绘制,使得绘制波形非常简洁、高效;从采集端获取波形数据或绘制波形超时等异常可及时进行处理,使得绘制波形更加准确、实时;由于对波形数据处理与绘制波形的时间进行灵活延时,使得绘制的波形均匀,显示的波形的效果比较好。
本发明实施例中,该方法包括:获取待处理的波形数据;基于波形数据绘制得到目标波形;计算绘制完成目标波形的绘制时长;根据绘制时长和预设的波形绘制周期确定延时时长;根据延时时长确定下一次获取待处理的波形数据的起始时刻。在数据处理、绘制波形和数据获取出现异常情况时进行有效处理,提高绘制波形的同步性、实时性和流畅性。
实施例二
本发明实施例还提供了另一种基于动态延时技术的波形绘制方法,如图2所示,该图是在图1的基础上实现的,该图是对步骤S102的进一步说明,包括如下步骤:
步骤S202,判断是否获取失败;如果是,执行步骤S204;如果否,执行步骤S206;
步骤S204,等待预设时长后重新获取波形数据,并记录获取到波形数据的时刻;
步骤S206,进行下一步;
如果获取到波形数据,则直接进行下一步,不必重新获取波形数据。
从采集端获取波形数据偶发异常或失败时,延时预设时长后再进行获取波形数据;其中,该预设时长小于波形绘制周期的一半;当预设时长越小时,从采集端获取波形数据失败后再一次获取波形数据就越及时,可保证绘制波形的连续性;当预设时长越大时,可减少从采集端频繁获取波形数据,即消耗资源就越少。其中,预设时长小于波形绘制周期的一半可保证一个绘制周期内至少两次从采集端获取波形数据,不会漏掉波形数据而错过绘制周期。
进一步地,上述波形绘制周期通过以下公式计算:P=SP/FR;其中,P表示波形绘制周期;SP表示采集端采集波形数据的周期;FR表示人眼不能够识别连续动画的帧率。
如图3所示,该图是在图1的基础上实现的,该图是对步骤S104的进一步说明,包括如下步骤:
步骤S302,将获取到的波形数据存储到存储缓冲区内;
进一步地,从采集端获取到待处理的波形数据后,需要填充双缓冲区,包括存储缓冲区和绘制缓冲区。具体为,从采集端获取到待处理的波形数据后,该波形数据包括一个或多个波形数据集,例如,如果波形数据包括一个波形数据集,则目标绘制波形为单波;如果波形数据包括多个波形数据集,则目标绘制波形为多波;最后按照数据集合的形式将波形数据集存储到存储缓冲区内,其中该数据集合为某种数据排列方式,可根据不同情况设定该数据排列的方式,例如可使用数组的方式进行排列;具体地,使用一维数组或二位数组把从采集端获取的一个或多个波形数据集分别依次顺序存储到存储缓冲区内;具体地,如果是单波波形数据则按照一维数组的形式将波形数据依次顺序的存储在存储缓冲区内;如果是多波波形数据则按照二维数组的形式分组将波形数据存储在存储缓冲区内,也可以按照一维数组的形式依次顺序的存储在存储缓冲区内。
步骤S304,对波形数据进行处理,得到波形绘制数据;
步骤S306,将波形绘制数据填充到绘制缓冲区内,形成数据点;
将存储在存储缓冲区内的波形绘制数据依次填充到绘制缓冲区内,形成数据点,清除存储在存储缓冲区内的波形数据集,并记录清除存储在存储缓冲区内的波形数据集完成的时间。
对于将波形数据进行处理得到波形绘制数据的情况,例如,对N个波形数据进行处理,得到N个波形绘制数据,其绘制缓冲区的宽度对应为N-1,对于第一个数据的横坐标X为0;可以理解的是,第n个波形数据的横坐标为n-1;对第一个波形数据w1经处理后的值为w2,其纵坐标Y为w2+M,其中M为偏移量,该偏移量可通过计算得到,即可得到第一波形数据的坐标(0,w2+M),剩余的波形数据按照上述步骤得到对应的纵坐标,每个波形数据都对应一个坐标值,这样每个波形数据都可在绘制缓冲区形成一个数据点。
步骤S308,对绘制缓冲区内的数据点进行连线,得到目标波形;
步骤S310,清除存储缓冲区内的波形数据,并将清除完成的时刻作为绘制完成目标波形的绘制完成时刻进行记录。
如图4所示,该图是在图1的基础上实现的,该图是对步骤S110的进一步说明,包括如下步骤:
步骤S402,判断延时时长是否大于0;如果是,执行步骤S404;如果否;执行步骤S406;
上述延时时长可通过以下公式计算:R=P-(E-S)-K;其中,R表示延时时长;P表示波形绘制周期;E表示获取到波形数据的时刻;S表示绘制完成目标波形的绘制完成时刻;K表示预设的小于波形绘制周期的时长。
上述的K值为任意大于零小于绘制周期的时长,设置了K值可加快从采集端获取波形数据的速度,保证从采集端获取波形数据的速度比采集端获取波形数据的速度快,这样不至于存储缓冲区存储的波形数据过多,也不至于数据处理和波形绘制的不及时;其中,上述K值越小,使得绘制时间与采集端获取波形数据的时间越接近,可保证绘制波形的实时性。
步骤S404,则下一次获取待处理的波形数据的起始时刻为从绘制完成时刻开始延时该延时时长后的时刻;
步骤S406,如果延时时长小于或等于0,则下一次获取待处理的波形数据的起始时刻为绘制完成时刻。
本发明实施例中,在获取波形数据的速度大于绘制波形的速度时,自动增加延时时长;在绘制波形耗时过长时,自动减少延时时长或不延时。通过延时功能的增加,保证处理波形数据和绘制波形的速度略大于采集端获取波形数据,极好的保证了单个波形或多个波形的实时性与准确性。
实施例三
本发明实施例还提供了一种基于动态延时技术的波形绘制装置,如图5所示,本实施例是在实施例一或实施例二的基础上实现的,该装置包括:
获取模块50,用于获取待处理的波形数据;
绘制模块51,用于基于波形数据绘制得到目标波形;
计算模块52,用于计算绘制完成目标波形的绘制时长;
第一确定模块53,用于根据绘制时长和预设的波形绘制周期确定延时时长;
第二确定模块54,用于根据延时时长确定下一次获取待处理的波形数据的起始时刻。
上述获取模块50,还用于:判断是否获取失败;如果是,等待预设时长后重新获取波形数据,并记录获取到波形数据的时刻;其中,预设时长小于波形绘制周期的一半。
上述绘制模块51,还用于:将获取到的波形数据存储到存储缓冲区内;对波形数据进行处理,得到波形绘制数据;将波形绘制数据填充到绘制缓冲区内,形成数据点;对绘制缓冲区内的数据点进行连线,得到目标波形;清除存储缓冲区内的波形数据,并将清除完成的时刻作为绘制完成目标波形的绘制完成时刻进行记录。
本发明实施例中,该装置包括:获取模块,用于获取待处理的波形数据;绘制模块,用于基于波形数据绘制得到目标波形;计算模块,用于计算绘制完成目标波形的绘制时长;第一确定模块,用于根据绘制时长和预设的波形绘制周期确定延时时长;第二确定模块,用于根据延时时长确定下一次获取待处理的波形数据的起始时刻。在数据处理、绘制波形和数据获取出现异常情况时进行有效处理,提高绘制波形的同步性、实时性和流畅性。
本发明实施例提供的基于动态延时技术的波形绘制装置,与上述实施例提供的基于动态延时技术的波形绘制方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
参见图6,本发明实施例还提供一种电子设备,包括:处理器400,存储器401,总线402和通信接口403,处理器400、通信接口403和存储器401通过总线402连接;该存储器401中存储有可在处理器400上运行的计算机程序,该处理器400执行计算机程序时实现实施例一或实施例二中的方法。
其中,存储器401可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口403(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线402可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器401用于存储程序,处理器400在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器400中,或者由处理器400实现。
处理器400可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器400中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器400可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器401,处理器400读取存储器401中的信息,结合其硬件完成上述方法的步骤。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明实施例所提供的进行基于动态延时技术的波形绘制方法和装置的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种基于动态延时技术的波形绘制方法,其特征在于,所述方法包括:
获取待处理的波形数据;
将获取到的所述波形数据存储到存储缓冲区内;
对所述波形数据进行处理,得到波形绘制数据;
将所述波形绘制数据填充到绘制缓冲区内,形成数据点;
对所述绘制缓冲区内的数据点进行连线,得到目标波形;
计算绘制完成所述目标波形的绘制时长;
根据所述绘制时长和预设的波形绘制周期确定延时时长;
判断所述延时时长是否大于0;
如果所述延时时长大于0,则下一次获取待处理的波形数据的起始时刻为从所述绘制完成时刻开始延时所述延时时长后的时刻;
如果所述延时时长小于或等于0,则下一次获取待处理的波形数据的起始时刻为所述绘制完成时刻;
其中,所述延时时长通过以下公式计算:
R=P-(E-S)-K;
式中,R表示所述延时时长;P表示所述波形绘制周期;E表示获取到所述波形数据的时刻;S表示绘制完成所述目标波形的绘制完成时刻;K表示预设的小于所述波形绘制周期的时长。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理的波形数据的步骤,包括:
判断是否获取失败;
如果是,等待预设时长后重新获取波形数据,并记录获取到所述波形数据的时刻;其中,所述预设时长小于所述波形绘制周期的一半。
3.根据权利要求1所述的方法,其特征在于,所述波形数据包括至少一个波形数据集;所述将获取到的所述波形数据存储到存储缓冲区内包括:
按照数据集合的形式将所述波形数据集存储到存储缓冲区内;
所述将所述波形绘制数据填充到绘制缓冲区内,形成数据点,包括:
将存储在所述存储缓冲区内的波形绘制数据依次填充到绘制缓冲区内,形成数据点,清除存储在所述存储缓冲区内的所述波形数据集,并记录清除存储在所述存储缓冲区内的所述波形数据集完成的时刻。
4.根据权利要求1所述的方法,其特征在于,所述延时时长通过以下公式计算:
R=P-(E-S)-K;
其中,R表示所述延时时长;P表示所述波形绘制周期;E表示获取到所述波形数据的时刻;S表示绘制完成所述目标波形的绘制完成时刻;K表示预设的小于所述波形绘制周期的时长。
5.根据权利要求1所述的方法,其特征在于,所述根据所述延时时长确定下一次获取待处理的波形数据的起始时刻的步骤,包括:
判断所述延时时长是否大于0;
如果所述延时时长大于0,则下一次获取待处理的波形数据的起始时刻为从所述绘制完成时刻开始延时所述延时时长后的时刻;
如果所述延时时长小于或等于0,则下一次获取待处理的波形数据的起始时刻为所述绘制完成时刻。
6.根据权利要求1所述的方法,其特征在于,所述波形绘制周期通过以下公式计算:
P=SP/FR;
其中,P表示所述波形绘制周期;SP表示采集端采集波形数据的周期;FR表示人眼不能够识别连续动画的帧率。
7.一种基于动态延时技术的波形绘制装置,其特征在于,所述装置包括:
获取模块,用于获取待处理的波形数据;
存储模块,用于将获取到的所述波形数据存储到存储缓冲区内;
数据处理模块,用于对所述波形数据进行处理,得到波形绘制数据;
填充模块,用于将所述波形绘制数据填充到绘制缓冲区内,形成数据点;
绘制模块,用于对所述绘制缓冲区内的数据点进行连线,得到目标波形;
计算模块,用于计算绘制完成所述目标波形的绘制时长;
第一确定模块,用于根据所述绘制时长和预设的波形绘制周期确定延时时长;
判断模块,用于判断所述延时时长是否大于0;
第二确定模块,用于在所述延时时长大于0的情况下,确定下一次获取待处理的波形数据的起始时刻为从所述绘制完成时刻开始延时所述延时时长后的时刻;
判断模块,用于判断所述延时时长是否大于0;
第二确定模块,用于在所述延时时长大于0的情况下,确定下一次获取待处理的波形数据的起始时刻为从所述绘制完成时刻开始延时所述延时时长后的时刻;
第三确定模块,用于在所述延时时长小于或等于0的情况下,确定下一次获取待处理的波形数据的起始时刻为所述绘制完成时刻;
其中,所述延时时长通过以下公式计算:
R=P-(E-S)-K;
式中,R表示所述延时时长;P表示所述波形绘制周期;E表示获取到所述波形数据的时刻;S表示绘制完成所述目标波形的绘制完成时刻;K表示预设的小于所述波形绘制周期的时长。
8.根据权利要求7所述的装置,其特征在于,所述获取模块,还用于:
判断是否获取失败;
如果是,等待预设时长后重新获取波形数据,并记录获取到所述波形数据的时刻;其中,所述预设时长小于所述波形绘制周期的一半。
9.根据权利要求7所述的装置,其特征在于,所述绘制模块,还用于:
将获取到的所述波形数据存储到存储缓冲区内;
对所述波形数据进行处理,得到波形绘制数据;
将所述波形绘制数据填充到绘制缓冲区内,形成数据点;
对所述绘制缓冲区内的数据点进行连线,得到目标波形;
清除所述存储缓冲区内的所述波形数据,并将清除完成的时刻作为绘制完成所述目标波形的绘制完成时刻进行记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530485.XA CN109671134B (zh) | 2018-12-13 | 2018-12-13 | 基于动态延时技术的波形绘制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811530485.XA CN109671134B (zh) | 2018-12-13 | 2018-12-13 | 基于动态延时技术的波形绘制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109671134A CN109671134A (zh) | 2019-04-23 |
CN109671134B true CN109671134B (zh) | 2023-07-28 |
Family
ID=66144855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811530485.XA Active CN109671134B (zh) | 2018-12-13 | 2018-12-13 | 基于动态延时技术的波形绘制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109671134B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110246204B (zh) * | 2019-05-28 | 2024-01-05 | 深圳数联天下智能科技有限公司 | 波形绘制方法、装置、计算机设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672727B2 (en) * | 2005-08-17 | 2010-03-02 | Enteromedics Inc. | Neural electrode treatment |
US8049754B2 (en) * | 2007-12-13 | 2011-11-01 | Spx Corporation | Multiple source waveform drawing system and method |
JP6012687B2 (ja) * | 2014-10-23 | 2016-10-25 | 日本電信電話株式会社 | 波形データ管理装置とその波形データ表示制御方法およびプログラム |
JP6848656B2 (ja) * | 2017-04-28 | 2021-03-24 | 横河電機株式会社 | 表示装置、表示方法及びプログラム |
CN108227828B (zh) * | 2018-02-11 | 2020-02-07 | 中国科学技术大学 | 一种序列信号发生器及序列信号产生方法 |
-
2018
- 2018-12-13 CN CN201811530485.XA patent/CN109671134B/zh active Active
Non-Patent Citations (2)
Title |
---|
Accurate measurement of the pulse wave delay with imaging photoplethysmography;Alexei A. Kamshilin;《Biomedical Optics Express》;5138-5147 * |
脉冲数据发生器数据/波形编辑软件设计;杨帆;《中国优秀硕士学位论文全文数据库信息科技辑》;I138-347 * |
Also Published As
Publication number | Publication date |
---|---|
CN109671134A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11438544B2 (en) | Image transmission device and method including an image data receiver and a processor | |
WO2015108520A1 (en) | Node cluster synchronization | |
WO2014176919A1 (en) | Method and system for displaying recommended pages by terminal device | |
CN114581856B (zh) | 基于北斗系统的农业机组运动状态识别方法、系统及云平台 | |
CN112749013B (zh) | 线程负载的检测方法、装置、电子设备及存储介质 | |
CN109671134B (zh) | 基于动态延时技术的波形绘制方法和装置 | |
CN114006688A (zh) | 一种基于lin协议的波特率更新的方法、装置、设备和介质 | |
CN104331494A (zh) | 一种更新数据的方法及系统 | |
EP4047979A1 (en) | Method and apparatus for sending system performance parameters, management device, and storage medium | |
US20230007606A1 (en) | Method for time synchronization, method for broadcast setting, chip, electronic device, and storage medium | |
CN111757371B (zh) | 一种传输时延的统计方法、服务器及存储介质 | |
CN113938631B (zh) | 一种基准监视器、图像帧截取方法及系统 | |
CN107066421B (zh) | 一种示波器及其采集数据上报方法 | |
CN113033752B (zh) | 通信故障检测方法、主机、从机 | |
KR101950945B1 (ko) | 모션 캡쳐 시스템의 모션 영상 생성 장치 및 그 방법 | |
CN110908886A (zh) | 一种数据发送方法、装置、电子设备和存储介质 | |
CN112565738A (zh) | 视频源状态检测方法及其装置 | |
CN115002527B (zh) | 数据传输优化方法、装置、设备及存储介质 | |
CN113806069B (zh) | 一种核电站系统交互方法、装置、外围系统及存储介质 | |
CN116916095B (zh) | 一种云视频的平滑显示方法、装置、设备及存储介质 | |
CN117097430B (zh) | 一种车流轨迹位置仿真时间同步的方法 | |
CN111352992B (zh) | 数据一致性检测方法、装置及服务器 | |
CN115913462B (zh) | 一种基于事先规划的网络数据发送方法和数据发送模块 | |
CN115658581A (zh) | 提升高频数据通信可靠性的方法、装置、设备及介质 | |
CN118075688A (zh) | 一种有效活动时长统计方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |