掌桥专利:专业的专利平台
掌桥专利
首页

信号波动检测方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 18:37:28


信号波动检测方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机技术领域,尤其是一种信号波动检测方法、装置、计算机设备和存储介质。

背景技术

CAN(Controller Area Network,控制器局域网络)总线是一种常用的差分串行总线,其又有高速、低速等子类别。

按照CAN协议规定,高速CAN总线处于“显性”时,CANH为3.5V,CANL为1.5V;高速CAN总线处于“隐性”时,CANH为2.5V,CANL为2.5V。

按照CAN协议规定,低速CAN总线处于“显性”时,CANH为3.6V,CANL为1.4V;低速CAN总线处于“隐性”时,CANH为0V,CANL为5.0V。

此外,CAN收发器难以做到完全严格按照协议标准,不同厂家的CAN收发器真正支持的电平标准往往有一定偏差。传统的方式通过读取信号的电压,并判断该电压位于协议规定的哪些区间范围,从而确定信号的高电平值和低电平值,如3.5V和1.5V。然而传统的方式,存在获得的数据不准确的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种信号波动检测方法、装置、计算机设备和存储介质,能够提高获得的波动高电平值和波动低电平值的准确性。

一种信号波动检测方法,所述方法包括:

获取信号的目标电压序列;所述目标电压序列包含处于跳变沿范围内的连续的目标电压值;

对所述目标电压序列中连续的目标电压值求取均值,获得多个电压均值;

从多个所述电压均值中,确定最大均值和最小均值;

当确定所述目标电压序列通过波动性检测时,将所述最大均值作为所述信号的波动高电平值,将所述最小均值作为所述信号的波动低电平值。

一种信号波动检测装置,所述装置包括:

目标电压序列获取模块,用于获取信号的目标电压序列;所述目标电压序列包含处于跳变沿范围内的连续的目标电压值;

均值求取模块,用于对所述目标电压序列中连续的目标电压值求取均值,获得多个电压均值;

均值确定模块,用于从多个所述电压均值中,确定最大均值和最小均值;

波动性检测模块,用于当确定所述目标电压序列通过波动性检测时,将所述最大均值作为所述信号的波动高电平值,将所述最小均值作为所述信号的波动低电平值。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现各信号波动检测方法实施例的步骤。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现各信号波动检测方法实施例的步骤。

上述信号波动检测方法、装置、计算机设备和存储介质,由于信号并不一定是严格按照协议所要求的高电平值和低电平值生成,因此需要检测出实际的波动高电平值和波动低电平值。通过获取处于跳变沿范围内的连续的目标电压值,能够保证获得信号的高电平值和低电平值;由于在目标电压序列中可能会存在脉冲序列或者噪声等,对波动测量造成影响,因此对连续的目标电压值求均值,获得多个电压均值,再从中确定最大均值和最小均值,并对目标电压序列进行波动性检测,以最大均值和最小均值分别作为信号的高电平值和低电平值,通过均值计算减少大部分的测量误差和波动误差,并且选择通过波动性检测的序列,能够准确得到一段信号的实际波动的高低电平值。

附图说明

图1为一个实施例中信号波动检测方法的应用环境图;

图2为一个实施例中信号波动检测方法的流程示意图;

图3为一个实施例中二值化序列的波形示意图;

图4为一个实施例中信号的波形示意图;

图5为另一个实施例中信号的波形示意图;

图6为另一个实施例中信号波动检测方法的流程示意图;

图7为一个实施例中信号波动检测装置的结构框图;

图8为一个实施例中计算机设备的内部结构图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

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

需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。

另外,在本申请中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种数据,但这些数据不受这些术语限制。这些术语仅用于将第一个数据与另一个数据区分。举例来说,在不脱离本申请的范围的情况下,可以将第一值称为第二值,且类似地,可将第二值称为第一值。第一值和第二值两者都是值,但其不是同一值。

可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。

本申请提供的信号波动检测方法,可以应用于如图1的应用环境中。图1为一个实施例中信号波动检测方法的应用环境图。其中,计算机设备110可以但不限于是各种FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。

在一个实施例中,如图2所示,为一个实施例中信号波动检测方法的流程示意图,其中包括:

步骤202,获取信号的目标电压序列;目标电压序列包含处于跳变沿范围内的连续的目标电压值。

其中,信号具体可以是有较清晰跳变沿的信号。如信号可以是方波信号、梯形波等。信号可以是模拟信号。跳变沿是指从一种状态跳变到另一种状态的边沿。跳变沿可以是上升沿,也可以是下降沿,还可以包括上升沿和下降沿。跳变沿两侧的电压值差距较大。跳变沿范围内的连续的目标电压值至少包含跳变沿边缘的电压,还可以包含边缘前后的电压。目标电压序列是一种数字电压序列。如目标电压序列可以表示为“3.6/3.5/3.26/3.67/3.28/1.56/1.37/1.50…”等。连续是指按时间顺序排列。

具体地,计算机设备对信号进行采样,获得电压序列。计算机设备可以通过设置阈值,当连续的两个电压值之间的差值超过阈值时,确定检测到跳变沿。或者,计算机设备将一个码元周期内的信号均值与下一个码元周期内的信号均值进行比较,若差距较大,确定检测到跳变沿。计算机设备取包含处于跳变沿范围内的连续的目标电压值,获得目标电压序列。

步骤204,对目标电压序列中连续的目标电压值求取均值,获得多个电压均值。

具体地,计算机设备可以对目标序列中连续的目标电压值进行分组,求取每组的均值,获得多个电压均值。多个是指至少两个。

步骤206,从多个电压均值中,确定最大均值和最小均值。

步骤208,当确定目标电压序列通过波动性检测时,将最大均值作为信号的波动高电平值,将最小均值作为信号的波动低电平值。

其中,波动性检测用于检测目标电压序列是否波动过大、是否存在噪声等。波动性检测可基于信号中各段均方误差确定。当波动较大时,说明该最大均值和最小均值不能准确表示信号的波动高电平值和波动低电平值。波动高电平值是指信号在波动时实际所表示的高电平的电压值。波动低电平值是指在波动时实际所表示的低电平的电压值。

具体地,计算机设备可对目标电压序列进行波动性检测,当目标电压序列通过波动性检测时,将该最大均值作为信号的波动高电平值,将该最小均值作为信号的波动低电平值。

计算机设备可基于波动高电平值和波动低电平值,确定信号的划分阈值,并基于划分阈值将信号进行二值化处理,以获得数字信号。如此所获得的数字信号减少了误差,更加准确。

可选地,本申请实施例中的信号可以是差分总线所产生的信号。那么相对应,目标电压序列可以是目标差模电压序列。差分总线可以是CAN(Controller Area Network,控制器局域网络)总线、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)总线、SPI(Serial Peripheral Interface,串行外设接口)总线、IIC(Inter-Integrated Circuit,集成电路)总线等。差模电压是指总线之间的电压差。那么,所获得的最大均值和最小均值,即为差模电压的最大均值和最小均值。同样也能获得差模电压的最大均值和最小均值。

上述信号波动检测方法,由于信号并不一定是严格按照协议所要求的高电平值和低电平值生成,因此需要检测出实际的波动高电平值和波动低电平值。通过获取处于跳变沿范围内的连续的目标电压值,能够保证获得信号的高电平值和低电平值;由于在目标电压序列中可能会存在脉冲序列或者噪声等,对波动测量造成影响,因此对连续的目标电压值求均值,获得多个电压均值,再从中确定最大均值和最小均值,并对目标电压序列进行波动性检测,以最大均值和最小均值分别作为信号的高电平值和低电平值,通过均值计算减少大部分的测量误差和波动误差,并且选择通过波动性检测的序列,能够准确得到一段信号的实际波动的高低电平值。同时,本申请实施例能够在未知信号类别以及收发器实际电平标准的情况下,用一套硬件兼容各种收发器,提高了信号波动检测方法的通用性。

在一个实施例中,确定目标电压序列通过波动性检测,包括:

对最大均值和最小均值求平均,获得参考均值;

基于参考均值对目标电压序列进行二值化处理,获得二值化电压序列;

当确定二值化电压序列通过波动性检测时,确定目标电压序列通过波动性检测。

其中,二值化处理用于将电压序列处理成仅有两种值。二值化电压序列是有顺序的,且仅有两种值的电压序列。

其中,二值化电压序列中仅有两种值,分别为第一值和第二值。第一值和第二值中的一个值可以是1,另一个可以是0。

具体地,计算机设备对最大均值和最小均值求平均,获得参考均值。当目标电压值大于参考均值时,获得第一值,如1;当目标电压值小于或等于参考均值时,获得第二值,如0。可以理解的是,0和1可根据需求配置,反之亦可。当二值化电压序列中未存在脉冲序列时,即二值化电压序列通过波动性检测,计算机设备则确定目标电压序列通过波动性检测。

本实施例中,目标电压序列中的值较多,基于参考均值对目标电压序列进行二值化处理,获得二值化电压序列,对二值化电压序列进行波动性检测,由于数值种类较少,能够降低波动性检测的计算量,提高计算速度。

在一个实施例中,确定二值化电压序列通过波动性检测,包括:

确定二值化电压序列中的连续相同值组;

当连续相同值组中相同值的数量均大于或等于预设数量时,确定二值化电压序列通过波动性检测。

具体地,连续相同值组中按照时间顺序排序的值连续且相同。预设数量具体可以根据需要配置。例如,二值化电压序列为“1111110000001111111”,那么连续相同值组即有“111111”、“000000”和“1111111”这三个组。预设数量设为5,则“111111”、“000000”和“1111111”中相同值的数量分别为6、6和7,因此该二值化电压序列通过波动性检测。

本实施例中,当二值化电压序列的连续相同值组中相同值的数量均大于或等于预设数量时,确定二值化电压序列通过波动性检测,能够筛选出未存在噪声信号等误差的电压序列,从而使得获得的波动高电平值和波动低电平值更加准确。

在一个实施例中,该信号波动检测方法还包括:当连续相同值组中相同值的数量小于预设数量时,将相同值的数量小于预设数量的连续相同值组作为脉冲序列;

将在目标电压序列中脉冲序列对应的值替换为相应值,返回执行对目标电压序列中连续的目标电压值求取均值,获得多个电压均值的步骤。

具体地,当连续相同值组中相同值的数量小于预设数量时,说明该连续相同值组的误差较大,可能是一个脉冲,因此计算机设备将相同值的数量小于预设数量的连续相同值组作为脉冲序列。计算机设备将目标电压序列中该脉冲序列对应的值替换为相应值。当脉冲序列中的值表示为小于参考均值的值时,相应值可以是大于参考均值的值。当脉冲序列中的值表示为大于参考均值的值时,相应值可以是小于参考均值的值。例如,二值化电压序列为“000001100000”,二值化电压序列具有对应的目标电压序列,脉冲序列为“11”,1表示大于参考均值,参考均值为2.5,那么“11”对应的目标电压值可以是“1.9/1.8”。那么计算机设备更新该目标电压序列,返回执行将在目标电压序列中脉冲序列对应的值替换为相应值。

本实施例中,由于相同值的数量少的组可能是噪声或者波动过大造成的误差脉冲,因此将相同值的数量小于预设数量的连续相同值组作为脉冲序列,并将目标电压序列中脉冲序列对应的值替换为相应值,能够去除目标电压序列中的误差值;返回执行对目标电压序列中连续的目标电压值求取均值,获得多个电压值的步骤,重新确定最大均值和最小均值,并且重新执行波动性检测,能够去除误差,重新检测目标电压序列的是否符合条件,获得更准确的波动高电平值和波动低电平值。

在一个实施例中,将在目标电压序列中脉冲序列对应的值替换为相应值,包括:

当脉冲序列表征第一值时,将在目标电压序列中脉冲序列对应的目标电压值替换为最小均值;第一值所对应的目标电压值大于参考均值;

当脉冲序列表征第二值时,将在目标电压序列中脉冲序列对应的目标电压值替换为最大均值;第二值所对应的目标电压值小于参考均值。

具体地,本实施例中以第一值为1,且表示第一值对应的目标电压值大于参考均值、第二值为0且第二值对应的目标参考电压小于参考均值为例说明。那么当脉冲序列表征1时,计算机设备将1对应的目标电压值替换为最小均值。当脉冲序列表征0时,计算机设备将0对应的目标电压值替换为最大均值。

如图3所示,为一个实施例中二值化序列的波形示意图。图3中在多个1之间出现了脉冲序列0,而该脉冲序列0本应该是1。因此计算机设备将目标电压序列中脉冲序列0对应的目标电压值替换为最大均值。

本实施例中,当脉冲序列表征大于参考均值的第一值时,说明与该脉冲序列相邻的值均为第二值,那么该脉冲序列为误差序列,应当为第二值,因此将在目标电压序列中脉冲序列对应的目标电压值替换为最小均值;当脉冲序列表征小于参考均值的第二值时,说明与该脉冲序列相邻的值均为第一值,该脉冲为误差序列,应当为第一值,因此将在目标电压序列中脉冲序列对应的目标电压值替换为第二均值,能够减少目标电压序列的误差,从而提高获得的波动高电平值和波动低电平值的准确性。

在一个实施例中,获取信号的目标电压序列,包括:对信号进行采样,获得连续的电压序列;基于跳变沿规则,从电压序列中确定目标电压序列。

具体地,计算机设备基于采样率,通过ADC对信号进行采样,获得按照时间排序的电压序列。采样率具体可以大于信号的最大波特率。如支持的CAN总线的波特率最高可达500KHz(千赫兹),实际波特率未知,采样率可以但不限于是5MHz(兆赫兹)。

计算机设备可以通过设置阈值,当连续的两个电压值之间的差值超过阈值时,确定检测到跳变沿。或者,计算机设备将一个码元周期内的信号均值与下一个码元周期内的信号均值进行比较,若差距较大,确定检测到跳变沿。

本实施例中,对信号进行采样,获得连续的电压序列,基于跳变沿规则,从电压序列中确定目标电压序列,能够获得高电平值和低电平值,从而准确获得最终的波动高电平值和波动低电平值。

在一个实施例中,基于跳变沿规则,从电压序列中确定目标电压序列,包括:

将电压序列划分出至少三组,包括第一电压组、第二电压组和第三电压组;

分别求取第一电压组、第二电压组和第三电压组的电压均值,获得第一电压均值、第二电压均值和第三电压均值;

当第一电压均值、第二电压均值和第三电压均值两两之间的任一差值满足差值条件时,将电压序列作为目标电压序列。

其中,第一电压组、第二电压组和第三电压值中包括按照时间顺序排列的且连续的电压值。第一电压组、第二电压组和第三电压组中电压值加起来的数量可以比电压序列中的电压值序列少。

具体地,计算机设备将电压序列划分出至少三组,包括第一电压组、第二电压组和第三电压组。计算机设备求取第一电压组的电压均值,获得第一电压均值。计算机设备求取第二电压组的电压均值,获得第二电压均值。计算机设备求取第三电压组的电压均值,获得第三电压均值。当第一电压均值、第二电压均值和第三电压均值两两之间的任一差值满足差值条件时,将电压序列作为目标电压序列。差值可以是绝对值,那么对应的差值条件是大于差值阈值。差值也可以是时间靠后的电压均值减去时间靠前的电压均值,当任一差值的绝对值较大时,将该电压序列作为目标电压序列。

例如,电压序列中包含最新的连续50个电压值,记为Rsft=data0~data49。实时计算A/B/C三组平均值,A=mean(data10~data19),B=mean(data20~data29),C=mean(data30~data39);判断A/B/C是否满足上升沿规则(即B-A>ΔV或者C-A>ΔV,其中ΔV为指定的差值阈值,如1.0V)。若Rsft满足上升沿规则,则将Rsft的值复制到寄存器组,获得目标电压序列RI。

如图4所示,为一个实施例中信号的波形示意图。若采样的电压序列为图4中的序列,由于B序列的均值较小,那么仅用均值B减去均值A无法大于差值阈值,无法测出该电压序列含有上升沿。因此,本实施例通过三组平均值检测跳变沿,如存在均值C减去均值A大于差值阈值,则该电压序列含有上升沿,能够有效避免如图4出现的电压序列无法检测到跳变沿的情况。

本实施例中,计算机设备可将第一电压组、第二电压组和第三电压组之前的一个电压组和之后的一个电压组加入目标电压序列中。即目标电压序列中包括第一电压组之前的一个电压组,第一电压组、第二电压组、第三电压组和第三电压组之后的一个电压组。如图5所示,为另一个实施例中信号的波形示意图。当出现图5的情况时,若只有ABC,则无法获得完整的高电平电压和完整的低电平电压。当信号为非归零码信号时,无论非归零码如何排序,在任何情况下,5个电压值都可获得完整的高电平和完整的低电平,能够进一步提高波动高电平值和波动低电平值的准确性。

本实施例中,将电压序列划分出至少三组,包括第一电压组、第二电压组和第三电压组,求得第一电压均值、第二电压均值和第三电压均值,当第一电压均值、第二电压均值和第三电压均值两两之间的任一差值满足差值条件时,将电压序列作为目标电压序列,能够保证目标电压序列中包含有跳变沿,能够获得信号的高电平值和低电平值。

在一个实施例中,对目标电压序列中连续的目标电压值求取均值,获得多个电压均值,包括:以目标电压序列中多个连续的目标电压值为组,确定目标电压序列的滑动平均值,获得多个电压均值。

其中,滑动平均值是从一项有N项的时间序列中计算多个连续M项序列的平均值。

例如,目标电压序列中包含50个目标电压值。那么计算机设备以连续的10个采样值为一组计算其平均值,按照滑动平均的规则共计算出41个电压均值。

本实施例中,以目标电压序列中多个连续的目标电压值为组,确定目标电压序列的滑动平均值,获得多个电压均值,能够计算出最多数量的均值,从而确定的最大均值和最小均值更加准确。

在一个实施例中,提出了一种信号波动检测方法,以应用于CAN总线、跳变沿为上升沿、第一值为1、第二值为0为例进行说明。如图6所示,为另一个实施例中信号波动检测方法的流程示意图。

CANH/CANL上的差分电压信号经模数转换器(ADC)被转换成数字值送给数字电路处理,获得电压序列。

已知支持的CAN总线的波特率最高可达500KHz,实际波特率未知;ADC的采样率固定为5MHz。

具体操作如下:

1、一个移位寄存器组Rsft用来缓存最新的连续50个采样电压值(即电压序列),记为Rsft=data0~data49。

2、对Rsft进行上升沿规则检测:实时计算A/B/C三组平均值,A=mean(data10~data19),B=mean(data20~data29),C=mean(data30~data39);判断A/B/C是否满足上升沿规则(即B>A+ΔV或者C>A+ΔV,其中ΔV为指定的上升沿阈值,如1.0V)。

3、更新RI:若Rsft满足上升沿规则,则将Rsft的值复制到寄存器组RI。无论Rsft满足上升沿规则与否,Rsft都保持一直更新。

4、对RI进行滑动平均筛选:以连续的10个采样值为一组计算其平均值,按照滑动平均的规则共计算出41个平均值。挑选出其中的最大均值记为MAX,挑选出最小均值记为MIN。

5、二值化和更新RI_s:以VTH=(MAX+MIN)/2作为阈值电压(即参考均值),对RI中的50个采样电压值进行二值化,得到由50个0和1组成的二值化序列,记为RI_s。其中,高于VTH的记为1,低于VTH的记为0。

6、检查RI_s序列中是否能够通过波动性检测。即是否存在脉冲序列。脉冲序列是指连续的0序列或1序列长度不到5个点。

6.1若判定波动性检测通过,即不存在脉冲序列,继续执行步骤7。

6.2若存在0脉冲,则将RI中对应该0脉冲的采样电压值替换成MAX。若存在1脉冲,则将RI中对应该1脉冲的采样电压值替换成MIN。然后对RI中的值进行上升沿规则检测。

6.2.1若RI不满足上升沿规则,则判定波动性检测不通过,并继续执行步骤8。

6.2.2若RI满足上升沿规则,则再次执行步骤4~步骤6。若RI_s序列中不存在脉冲序列,则判定波动性检测通过,并继续执行步骤7;若RI_s序列中依然存在脉冲序列,则判定波动性检测不通过,并继续执行步骤8。

7、设置MAX为波动高电平值,MIN为波动低电平值。

8、结束。

本实施例中,提供一种利用波形分析来检测CAN总线信号波动的方法,通过分析模数转换器输出的CAN总线信号电压值,准确测量出该CAN总线信号波动时的高低电平的电压值。在未知CAN类别以及收发器实际电平标准的情况下,能够兼容不同厂家的CAN收发器,并测量出各种状态下的实际差模电压值。

在一个实施例中,一种信号波动检测方法,包括:

步骤(a1),对信号进行采样,获得连续的电压序列。

步骤(a2),将电压序列划分出至少三组,包括第一电压组、第二电压组和第三电压组。

步骤(a3),分别求取第一电压组、第二电压组和第三电压组的电压均值,获得第一电压均值、第二电压均值和第三电压均值。

步骤(a4),当第一电压均值、第二电压均值和第三电压均值两两之间的任一差值满足差值条件时,将电压序列作为目标电压序列;目标电压序列包含处于跳变沿范围内的连续的目标电压值。

步骤(a5),以目标电压序列中多个连续的目标电压值为组,确定目标电压序列的滑动平均值,获得多个电压均值。

步骤(a6),从多个电压均值中,确定最大均值和最小均值。

步骤(a7),对最大均值和最小均值求平均,获得参考均值。

步骤(a8),基于参考均值对目标电压序列进行二值化处理,获得二值化电压序列。

步骤(a9),确定二值化电压序列中的连续相同值组。

步骤(a10),当连续相同值组中相同值的数量均大于或等于预设数量时,将最大均值作为信号的波动高电平值,将最小均值作为信号的波动低电平值。

步骤(a11),当连续相同值组中相同值的数量小于预设数量时,将相同值的数量小于预设数量的连续相同值组作为脉冲序列。

步骤(a12),当脉冲序列表征第一值时,将在目标电压序列中脉冲序列对应的目标电压值替换为最小均值;第一值所对应的目标电压值大于参考均值。

步骤(a13),当脉冲序列表征第二值时,将在目标电压序列中脉冲序列对应的目标电压值替换为最大均值;第二值所对应的目标电压值小于参考均值,返回执行对目标电压序列中连续的目标电压值求取均值,获得多个电压均值的步骤。

本实施例中,由于信号并不一定是严格按照协议所要求的高电平值和低电平值生成,因此需要检测出实际的波动高电平值和波动低电平值。通过获取处于跳变沿范围内的连续的目标电压值,能够保证获得信号的高电平值和低电平值;由于在目标电压序列中可能会存在脉冲序列或者噪声等,对波动测量造成影响,因此对连续的目标电压值求滑动平均值,获得多个电压均值,再从中确定最大均值和最小均值,并对目标电压序列进行波动性检测,以最大均值和最小均值分别作为信号的高电平值和低电平值,通过均值计算减少大部分的测量误差和波动误差,并且选择通过波动性检测的序列,能够准确得到一段信号的实际波动的高低电平值。同时,本申请实施例能够在未知信号类别以及收发器实际电平标准的情况下,用一套硬件兼容各种收发器,提高了信号波动检测方法的通用性。

应该理解的是,虽然上述图2和图6的流程图中各个步骤按照箭头的指示依次显示,步骤(a1)至步骤(a13)中的各个步骤按照标号指示依次显示,但是这些步骤并不是必然按照箭头或者数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图7所示,为一个实施例中信号波动检测装置的结构框图。图7提供了一种信号波动检测装置,该装置可以采用软件模块或者硬件模块,或者二者的结合成为计算机设备的一部分,该装置具体包括:目标电压序列获取模块702、均值求取模块704、均值确定模块706和波动性检测模块708,其中:

目标电压序列获取模块702,用于获取信号的目标电压序列;目标电压序列包含处于跳变沿范围内的连续的目标电压值;

均值求取模块704,用于对目标电压序列中连续的目标电压值求取均值,获得多个电压均值;

均值确定模块706,用于从多个电压均值中,确定最大均值和最小均值;

波动性检测模块708,用于当确定目标电压序列通过波动性检测时,将最大均值作为信号的波动高电平值,将最小均值作为信号的波动低电平值。

上述信号波动检测装置,由于信号并不一定是严格按照协议所要求的高电平值和低电平值生成,因此需要检测出实际的波动高电平值和波动低电平值。通过获取处于跳变沿范围内的连续的目标电压值,能够保证获得信号的高电平值和低电平值;由于在目标电压序列中可能会存在脉冲序列或者噪声等,对波动测量造成影响,因此对连续的目标电压值求均值,获得多个电压均值,再从中确定最大均值和最小均值,并对目标电压序列进行波动性检测,以最大均值和最小均值分别作为信号的高电平值和低电平值,通过均值计算减少大部分的测量误差和波动误差,并且选择通过波动性检测的序列,能够准确得到一段信号的实际波动的高低电平值。同时,本申请实施例能够在未知信号类别以及收发器实际电平标准的情况下,用一套硬件兼容各种收发器,提高了信号波动检测方法的通用性。

在一个实施例中,波动性检测模块708用于:对最大均值和最小均值求平均,获得参考均值;基于参考均值对目标电压序列进行二值化处理,获得二值化电压序列;当确定二值化电压序列通过波动性检测时,确定目标电压序列通过波动性检测。

本实施例中,目标电压序列中的值较多,基于参考均值对目标电压序列进行二值化处理,获得二值化电压序列,对二值化电压序列进行波动性检测,由于数值种类较少,能够降低波动性检测的计算量,提高计算速度。

在一个实施例中,波动性检测模块708用于:确定二值化电压序列中的连续相同值组;当连续相同值组中相同值的数量均大于或等于预设数量时,确定二值化电压序列通过波动性检测。

本实施例中,当二值化电压序列的连续相同值组中相同值的数量均大于或等于预设数量时,确定二值化电压序列通过波动性检测,能够筛选出未存在噪声信号等误差的电压序列,从而使得获得的波动高电平值和波动低电平值更加准确。

在一个实施例中,波动性检测模块708用于:当连续相同值组中相同值的数量小于预设数量时,将相同值的数量小于预设数量的连续相同值组作为脉冲序列;将在目标电压序列中脉冲序列对应的值替换为相应值;均值求取模块704,用于在对目标电压序列中连续的目标电压值求取均值,获得多个电压均值之后,对目标电压序列中连续的目标电压值求取均值,获得多个电压均值。

本实施例中,由于相同值的数量少的组可能是噪声或者波动过大造成的误差脉冲,因此将相同值的数量小于预设数量的连续相同值组作为脉冲序列,并将目标电压序列中脉冲序列对应的值替换为相应值,能够去除目标电压序列中的误差值;返回执行对目标电压序列中连续的目标电压值求取均值,获得多个电压值的步骤,重新确定最大均值和最小均值,并且重新执行波动性检测,能够去除误差,重新检测目标电压序列的是否符合条件,获得更准确的波动高电平值和波动低电平值。

在一个实施例中,波动性检测模块708用于:当脉冲序列表征第一值时,将在目标电压序列中脉冲序列对应的目标电压值替换为最小均值;第一值所对应的目标电压值大于参考均值;

当脉冲序列表征第二值时,将在目标电压序列中脉冲序列对应的目标电压值替换为最大均值;第二值所对应的目标电压值小于参考均值。

本实施例中,当脉冲序列表征大于参考均值的第一值时,说明与该脉冲序列相邻的值均为第二值,那么该脉冲序列为误差序列,应当为第二值,因此将在目标电压序列中脉冲序列对应的目标电压值替换为最小均值;当脉冲序列表征小于参考均值的第二值时,说明与该脉冲序列相邻的值均为第一值,该脉冲为误差序列,应当为第一值,因此将在目标电压序列中脉冲序列对应的目标电压值替换为第二均值,能够减少目标电压序列的误差,从而提高获得的波动高电平值和波动低电平值的准确性。

在一个实施例中,目标电压序列获取模块702,用于:对信号进行采样,获得连续的电压序列;基于跳变沿规则,从电压序列中确定目标电压序列。

本实施例中,对信号进行采样,获得连续的电压序列,基于跳变沿规则,从电压序列中确定目标电压序列,能够获得高电平值和低电平值,从而准确获得最终的波动高电平值和波动低电平值。

在一个实施例中,目标电压序列获取模块702,用于:将电压序列划分出至少三组,包括第一电压组、第二电压组和第三电压组;

分别求取第一电压组、第二电压组和第三电压组的电压均值,获得第一电压均值、第二电压均值和第三电压均值;

当第一电压均值、第二电压均值和第三电压均值两两之间的任一差值满足差值条件时,将电压序列作为目标电压序列。

本实施例中,将电压序列划分出至少三组,包括第一电压组、第二电压组和第三电压组,求得第一电压均值、第二电压均值和第三电压均值,当第一电压均值、第二电压均值和第三电压均值两两之间的任一差值满足差值条件时,将电压序列作为目标电压序列,能够保证目标电压序列中包含有跳变沿,能够获得信号的高电平值和低电平值。

在一个实施例中,均值求取模块704,用于:以目标电压序列中多个连续的目标电压值为组,确定目标电压序列的滑动平均值,获得多个电压均值。

本实施例中,以目标电压序列中多个连续的目标电压值为组,确定目标电压序列的滑动平均值,获得多个电压均值,能够计算出最多数量的均值,从而确定的最大均值和最小均值更加准确。

关于信号波动检测装置的具体限定可以参见上文中对于信号波动检测方法的限定,在此不再赘述。上述信号波动检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种信号波动检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例的步骤。

在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行上述各方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例中流程。其中,本申请所提供的各实施例中所使用地对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 微弱故障信号检测方法、装置、计算机设备和存储介质
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 一种检测方法、装置、计算机可读存储介质和计算机设备
  • 设备的检测方法、装置、计算机设备和存储介质
  • 音频信号的评分方法、装置、电子设备及计算机存储介质
  • 电压波动参数检测方法、计算机设备和存储介质
  • 欺骗信号检测方法、检测装置、接收机、终端设备及计算机可读存储介质
技术分类

06120115630800