具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
参考图1,图1为本发明一实施例提供的一种红外数据滤波方法的流程示意图。本实施例详述如下:
S101:采集当前采集周期内的第一红外数据和第二红外数据。
在本实施例中,判断第一红外数据或第二红外数据是否超出了预设阈值范围,当第一红外数据或第二红外数据超出了预设阈值范围时,则舍弃第一红外数据或第二红外数据并重新获取第一红外数据或第二红外数据。
具体地,预设阈值范围包括最大阈值Dmax和最小阈值Dmin,当第一红外数据或第二红外数据大于Dmax或者小于Dmin,则舍弃第一红外数据或第二红外数据并重新获取第一红外数据或第二红外数据。
S102:对第一红外数据和第二红外数据求和取算数平均值,得到当前红外采样数据。
在本实施例中,当前红外采样数据Dn=(D1n+D2n)/2,其中D1n为当前采集周期的第一红外数据,D2n为当前采集周期的第二红外数据。
S103:根据当前红外采样数据和已存的上一采集周期的红外采样数据,确定当前红外采样数据的数据变化趋势。
在本实施例中,数据变化趋势可以包括数据变化方向和数据变化加速度。
S104:根据数据变化趋势确定滤波方式,并采用滤波方式对当前红外采样数据进行滤波,得到红外输出数据。
在本实施例中,根据不同数据变化趋势采用不同的滤波方式。
从本实施例可知,通过采集当前采集周期内的第一红外数据和第二红外数据;对第一红外数据和第二红外数据求和取算数平均值,得到当前红外采样数据;根据当前红外采样数据和已存的上一采集周期的红外采样数据,确定当前红外采样数据的数据变化趋势;根据数据变化趋势确定滤波方式,并采用滤波方式对当前红外采样数据进行滤波,得到红外输出数据,本发明实施例能够实现不同干扰场景下的红外数据进行滤波,提高红外数据滤波抗干扰能力。
参考图2,图2为本发明另一实施例提供的一种红外数据滤波方法流程示意图。在本实施例中数据变化趋势包括的第一数据变化方向和数据变化加速度,上述步骤S104详述如下:
S201:若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,或者数据变化加速度大于预设加速度阈值,则根据当前红外采样数据和N-1个基础红外采样数据,采用预设加权递推滤波算法,得到第一红外输出数据,N为正整数。
在本实施例中,N取值大于2。优选的,N的取值为10。预存的上一采集周期的红外采样数据对应的第二数据变化方向Fo,其获取过程与获取第一数据变化方向Fn的方式一致。当Fn与Fo的方向一致时,或者当前红外采样数据的数据变化加速度An大于预设加速度阈值Ah时,采用预设加权递推滤波算法,计算得到第一红外输出数据。其中的预设加权递推滤波算法可以是现有的已知的任何加权递推滤波算法。
在本实施例中,N-1个基础红外采样数据可以为已存的历史滤波输出数据,也可以是与当前红外采样数据取值相等的红外采样数据。具体地,当能够获取已存的历史滤波输出数据时,确定N-1个基础红外采样数据为已存的历史滤波输出数据;当无法获取已存的历史滤波输出数据时,确定N-1个基础红外采样数据为与当前红外采样数据取值相等的红外采样数据。
在本发明的一个实施例中,设当前红外采样数据记为DN,N-1个基础红外采样数据按照采集先后顺序记为D1,D2,...,DN-1;
若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,且数据变化加速度大于预设加速度阈值,则确定第一红外输出数据式中,O为第一红外输出数据;i为1,2,3,...,N;加权因子ki=2i;
若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,数据变化加速度不大于预设加速度阈值;或者若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,数据变化加速度大于预设加速度阈值,则确定第一红外输出数据式中,O为第一红外输出数据;i为1,2,3,...,N;加权因子ki=i。
S202:若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,且数据变化加速度不大于预设加速度阈值,则根据当前红外采样数据和N-1个基础红外采样数据,采用预设中位值滤波算法,得到第二红外输出数据,N为正整数。
在本实施例中,当Fn与Fo的方向一致时,且当前红外采样数据的数据变化加速度An不大于预设加速度阈值Ah时,采用预设中位值滤波算法,计算得到第一红外输出数据。其中的预设中位值滤波算法可以是现有的已知的任何加权递推滤波算法。
在本实施例中,若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,或者数据变化加速度大于预设加速度阈值,则根据当前红外采样数据和N-1个基础红外采样数据,采用预设加权递推滤波算法,得到第一红外输出数据;若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,且数据变化加速度不大于预设加速度阈值,则根据当前红外采样数据和N-1个基础红外采样数据,采用预设中位值滤波算法,得到第二红外输出数据,能够简便、快速地对红外数据进行滤波,以提高红外数据滤波的效率,降低运算成本。
参考图3,图3为本发明再一实施例提供的一种红外数据滤波方法的流程示意图。本实施例中步骤S301与步骤S101内容一致,具体参考步骤S101的相关描述,这里不再赘述,本实施例详述如下:
S302:判断第一红外数据和第二红外数据是否均位于预设阈值范围内。
在本实施例中,判断第一红外数据或第二红外数据是否超出了预设阈值范围,当第一红外数据或第二红外数据超出了预设阈值范围时,则舍弃第一红外数据或第二红外数据并重新获取第一红外数据或第二红外数据。
具体地,预设阈值范围包括最大阈值Dmax和最小阈值Dmin,当第一红外数据或第二红外数据大于Dmax或者小于Dmin,则舍弃第一红外数据或第二红外数据并重新获取第一红外数据或第二红外数据。
S303:若判定第一红外数据和第二红外数据均位于预设阈值范围内,则执行对第一红外数据和第二红外数据求和取算数平均值,得到当前红外采样数据的步骤。
S304:若判定第一红外数据或第二红外数据超出预设阈值范围内,则重新执行采集当前采集周期内的第一红外数据和第二红外数据的步骤。
步骤S305至S306与S103至S104内容一致,具体参考步骤S103至S104的相关描述,这里不再赘述。
从本实施例可知,通过限幅处理保证第一红外数据和第二红外数据稳定在一定的范围内,不会出现数据不稳定造成的第一红外数据和第二红外数据的波动,影响红外数据滤波方法的精度。
参考图4,图4为本发明又一实施例提供的一种红外数据滤波方法的流程示意图。在上述实施例的基础上,上述步骤S202中根据当前红外采样数据和N-1个基础红外采样数据,采用预设中位值滤波算法,得到第二红外输出数据,包括:
S401:删除当前红外采样数据和N-1个基础红外采样数据中的最大值和最小值。
在本实施例中,N-1个基础红外采样数据可以为已存的历史滤波输出数据,也可以是与当前红外采样数据取值相等的红外采样数据。
具体地,当能够获取已存的历史滤波输出数据时,确定N-1个基础红外采样数据为已存的历史滤波输出数据;当无法获取已存的历史滤波输出数据时,确定N-1个基础红外采样数据为与当前红外采样数据取值相等的红外采样数据。
S402:对删除后的当前红外采样数据和N-1个基础红外采样数据求和后除以N-2,得到第二红外输出数据。
在本实施例中,删除后的当前红外采样数据和N-1个基础红外采样数据求和后除以N-2得到算数平均值。
在本发明的一个实施例中,若所述当前红外采样数据大于所述已存的上一采集周期的红外采样数据,则确定所述第一数据变化方向为递增方向;
若所述当前红外采样数据小于所述已存的上一采集周期的红外采样数据,则确定所述第一数据变化方向为递减方向;
确定所述当前红外采样数据和所述已存的上一采集周期的红外采样数据差值的绝对值为所述当前红外采样数据的数据变化加速度。
在本实施例中,第一数据变化方向为递减方向,说明当前红外采样数据是从上一采集周期的红外采样数据递减得到的。当前红外采样数据的数据变化加速度An=|Dn-Do|,当前红外采样数据的数据变化加速度代表了当前红外采样数据递增或者递减的幅度。
从本实施例可知,通过根据当前红外采样数据和预存的上一采集周期的红外采样数据进行比较,可以方便、快速地确定当前红外采样数据的第一数据变化方向和当前红外采样数据的数据变化加速度,用于后续的计算第一红外输出数据和第二红外输出数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例的红外数据滤波方法,图5为本发明一实施例提供的一种红外数据滤波方法装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。参照图5,该系装置包括:数据采集模块501、当前红外采样数据处理模块502、数据变化趋势确定模块503和红外输出数据处理模块504。
数据采集模块501,用于采集当前采集周期内的第一红外数据和第二红外数据;
当前红外采样数据处理模块502,用于对第一红外数据和第二红外数据求和取算数平均值,得到当前红外采样数据;
数据变化趋势确定模块503,用于根据当前红外采样数据和已存的上一采集周期的红外采样数据,确定当前红外采样数据的数据变化趋势;
红外输出数据处理模块504,用于根据数据变化趋势确定滤波方式,并采用滤波方式对当前红外采样数据进行滤波,得到红外输出数据。
从本实施例可知,通过采集当前采集周期内的第一红外数据和第二红外数据;对第一红外数据和第二红外数据求和取算数平均值,得到当前红外采样数据;根据当前红外采样数据和已存的上一采集周期的红外采样数据,确定当前红外采样数据的数据变化趋势;根据数据变化趋势确定滤波方式,并采用滤波方式对当前红外采样数据进行滤波,得到红外输出数据。本发明实施例能够实现不同干扰场景下的红外数据进行滤波,提高红外数据滤波抗干扰能力。
参考图5,在本发明的一个实施例中,所述数据变化趋势包括的第一数据变化方向和数据变化加速度;所述红外输出数据处理模块504包括:
第一红外输出数据处理单元5041,用于若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,或者数据变化加速度大于预设加速度阈值,则根据当前红外采样数据和N-1个基础红外采样数据,采用预设加权递推滤波算法,得到第一红外输出数据,N为正整数;
第二红外输出数据处理单元5042,用于若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,且数据变化加速度不大于预设加速度阈值,则根据当前红外采样数据和N-1个基础红外采样数据,采用预设中位值滤波算法,得到第二红外输出数据,N为正整数。
参考图5,在本发明的一个实施例中,在上述实施例的基础上,所述装置还包括:阈值范围判断模块505,用于数据采集模块501之后判断第一红外数据和第二红外数据是否均位于预设阈值范围内;
所述当前红外采样数据处理模块502,还用于若判定第一红外数据和第二红外数据均位于预设阈值范围内,则执行对第一红外数据和第二红外数据求和取算数平均值,得到当前红外采样数据的步骤;
所述数据采集模块501,还用于若判定第一红外数据或第二红外数据超出预设阈值范围内,则重新执行采集当前采集周期内的第一红外数据和第二红外数据的步骤。
参考图5,在本发明的一个实施例中,在上述实施例的基础上,所述第一红外输出数据处理单元5041,具体用于
设当前红外采样数据记为DN,N-1个基础红外采样数据按照采集先后顺序记为D1,D2,...,DN-1;
若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,且数据变化加速度大于预设加速度阈值,则确定第一红外输出数据式中,O为第一红外输出数据;i为1,2,3,...,N;加权因子ki=2i;
若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,数据变化加速度不大于预设加速度阈值;或者若第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,数据变化加速度大于预设加速度阈值,则确定第一红外输出数据式中,O为第一红外输出数据;i为1,2,3,...,N;加权因子ki=i。
参考图5,在本发明的一个实施例中,在上述实施例的基础上,所述第二红外输出数据处理单元5042,具体用于删除当前红外采样数据和N-1个基础红外采样数据中的最大值和最小值;对删除后的当前红外采样数据和N-1个基础红外采样数据求和后除以N-2,得到第二红外输出数据。
参考图5,在本发明的一个实施例中,在上述实施例的基础上,所述数据变化趋势确定模块503,包括:
递增方向确定单元5031,用于若当前红外采样数据大于已存的上一采集周期的红外采样数据,则确定第一数据变化方向为递增方向;
递减方向确定单元5032,用于若当前红外采样数据小于已存的上一采集周期的红外采样数据,则确定第一数据变化方向为递减方向;
数据变化加速度确定单元5033,用于确定当前红外采样数据和已存的上一采集周期的红外采样数据差值的绝对值为当前红外采样数据的数据变化加速度。
参见图6,图6为本发明一实施例提供的一种红外数据滤波终端设备的示意框图。如图6所示的本实施例中的终端600可以包括:一个或多个处理器601、一个或多个输入设备602、一个或多个则输出设备603及一个或多个存储器604。上述处理器601、输入设备602、则输出设备603及存储器604通过通信总线605完成相互间的通信。存储器604用于存储计算机程序,所述计算机程序包括程序指令。处理器601用于执行存储器604存储的程序指令。其中,处理器601被配置用于调用所述程序指令执行以下操作:
处理器601,用于采集当前采集周期内的第一红外数据和第二红外数据;对所述第一红外数据和所述第二红外数据求和取算数平均值,得到当前红外采样数据;根据所述当前红外采样数据和已存的上一采集周期的红外采样数据,确定所述当前红外采样数据的数据变化趋势;根据所述数据变化趋势确定滤波方式,并采用所述滤波方式对所述当前红外采样数据进行滤波,得到红外输出数据。
进一步地,所述数据变化趋势包括的第一数据变化方向和数据变化加速度;处理器601,还用于若所述第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,或者所述数据变化加速度大于预设加速度阈值,则根据所述当前红外采样数据和N-1个基础红外采样数据,采用预设加权递推滤波算法,得到第一红外输出数据,N为正整数;
若所述第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,且所述数据变化加速度不大于预设加速度阈值,则根据所述当前红外采样数据和N-1个基础红外采样数据,采用预设中位值滤波算法,得到第二红外输出数据,N为正整数。
进一步地,处理器601,还用于判断所述第一红外数据和所述第二红外数据是否均位于预设阈值范围内;若判定所述第一红外数据和所述第二红外数据均位于预设阈值范围内,则执行对所述第一红外数据和所述第二红外数据求和取算数平均值,得到当前红外采样数据的步骤;若判定所述第一红外数据或所述第二红外数据超出预设阈值范围内,则重新执行采集当前采集周期内的第一红外数据和第二红外数据的步骤。
进一步地,处理器601,还用于设当前红外采样数据记为DN,N-1个基础红外采样数据按照采集先后顺序记为D1,D2,...,DN-1;若所述第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,且所述数据变化加速度大于预设加速度阈值,则确定第一红外输出数据式中,O为第一红外输出数据;i为1,2,3,...,N;加权因子ki=2i;若所述第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向一致,所述数据变化加速度不大于预设加速度阈值;或者若所述第一数据变化方向与已存的上一采集周期的红外采样数据对应的第二数据变化方向不一致,所述数据变化加速度大于预设加速度阈值,则确定第一红外输出数据/>式中,O为第一红外输出数据;i为1,2,3,...,N;加权因子ki=i。
进一步地,处理器601,还用于删除所述当前红外采样数据和N-1个基础红外采样数据中的最大值和最小值;对删除后的所述当前红外采样数据和N-1个基础红外采样数据求和后除以N-2,得到第二红外输出数据。
进一步地,处理器601,还用于若所述当前红外采样数据大于所述已存的上一采集周期的红外采样数据,则确定所述第一数据变化方向为递增方向;若所述当前红外采样数据小于所述已存的上一采集周期的红外采样数据,则确定所述第一数据变化方向为递减方向;确定所述当前红外采样数据和所述已存的上一采集周期的红外采样数据差值的绝对值为所述当前红外采样数据的数据变化加速度。
应当理解,在本发明实施例中,所称处理器601可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备602可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备603可以包括显示器(LCD等)、扬声器等。
该存储器604可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器604的一部分还可以包括非易失性随机存取存储器。例如,存储器604还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器601、输入设备602、输出设备603可执行本发明实施例提供的业务请求方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。
在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序及所述终端所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。