CN115655310B - 数据的校准方法、电子设备及可读存储介质 - Google Patents
数据的校准方法、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN115655310B CN115655310B CN202211317086.1A CN202211317086A CN115655310B CN 115655310 B CN115655310 B CN 115655310B CN 202211317086 A CN202211317086 A CN 202211317086A CN 115655310 B CN115655310 B CN 115655310B
- Authority
- CN
- China
- Prior art keywords
- calibration
- magnetometer
- electronic device
- data
- condition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000005291 magnetic effect Effects 0.000 claims abstract description 36
- 230000003068 static effect Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 12
- 239000010410 layer Substances 0.000 description 26
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 230000001976 improved effect Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 230000001133 acceleration Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Landscapes
- Navigation (AREA)
Abstract
本申请公开了一种数据的校准方法、电子设备及可读存储介质,属于终端技术领域。该方法包括:在当前时间满足电子设备的磁力计的校准周期的情况下,或者,在检测到电子设备发生磁场干扰的情况下,若电子设备当前处于运动状态,则分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据,陀螺仪传感器在采集数据之前在电子设备处于静止状态下且在陀螺仪传感器的校准周期内基于第一校准参数进行过校准;基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准;在校准精度达到预设精度条件的情况下,将第二校准参数进行存储,第二校准参数和校准精度是对磁力计进行校准后确定的信息,从而保证了磁力计校准的准确性。
Description
技术领域
本申请涉及终端技术领域,特别涉及一种数据的校准方法、电子设备及可读存储介质。
背景技术
随着社会的发展,为了便于人们的出行,导航应用程序被越来越频繁的使用。其中,导航应用程序可以依靠电子设备中安装的磁力计和陀螺仪等传感器感知用户的移动方向,以便于为用户提供导航功能。而由于在受到磁场或温度干扰的情况下,磁力计输出数据的精度将会受到影响,因此,通常需要对磁力计进行校准。
目前,电子设备在检测到磁力计受到外界环境影响的情况下,可以在显示导航应用程序的应用界面时,在导航应用程序的应用界面中显示提示信息,该提示信息可以提示用户对电子设备进行相应的操作以触发对磁力计的校准。比如,可以提示用户转动电子设备,从而电子设备可以获取用户转动时采集的数据,并通过采集的数据对磁力计进行校准。
但是,如果用户转动电子设备的幅度很小,那么会导致磁力计采集到的数据不够分散,而在校准过程中,采集的数据范围越小,校准结果的偏差就越大,进而导致对磁力计的校准结果不准确,从而降低了磁力计校准的可靠性以及磁力计采集数据的可靠性。
发明内容
本申请提供了一种数据的校准方法、电子设备及可读存储介质,可以用于解决相关技术中对磁力计的校准可靠性和准确性低的问题。所述技术方案如下:
第一方面,提供了一种数据的校准方法,应用于电子设备中,所述方法包括:
在当前时间满足所述电子设备的磁力计的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,检测所述电子设备的当前状态;
在所述电子设备当前处于运动状态的情况下,分别获取所述磁力计在预设时长内采集的数据和陀螺仪传感器在所述预设时长内采集的数据,所述陀螺仪传感器在采集数据之前在所述电子设备处于静止状态下且在所述陀螺仪传感器的校准周期内基于第一校准参数进行过校准;
基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据,对所述磁力计进行校准;
在校准精度达到预设精度条件的情况下,将第二校准参数进行存储,所述第二校准参数和所述校准精度是对所述磁力计进行校准后确定的信息。
如此,在当前时间满足磁力计的校准周期,或者,检测到电子设备发生磁场干扰的情况下,若电子设备处于运动状态,那么电子设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。其中,陀螺仪传感器在此之前已在陀螺仪传感器的校准周期内经过第一校准参数进行校准,从而保证了陀螺仪传感器采集的数据的准确性,进而提高了对磁力计的校准的准确性。其次,由于陀螺仪传感器和磁力计均可以周期性地根据电子设备的状态进行校准,无需用户手动对电子设备进行操作,从而保证了对磁力计进行校准的可靠性。另外,由于第二校准参数是在磁力计的校准精度达到预设精度条件的情况下存储的,从而保证了后续使用磁力计时,磁力计采集的数据的准确性,提高了磁力计的可靠性。
作为本申请的一个示例,所述在所述电子设备当前处于运动状态的情况下,分别获取所述磁力计在预设时长内采集的数据和陀螺仪传感器在所述预设时长内采集的数据,包括:
在所述电子设备当前处于运动状态的情况下,获取所述电子设备的功耗;
在所述电子设备的功耗小于或等于功耗阈值的情况下,分别获取所述磁力计在所述预设时长内采集的数据和所述陀螺仪传感器在所述预设时长内采集的数据;或者,
在所述电子设备的功耗大于所述功耗阈值的情况下,若所述电子设备的任意一个应用程序处于唤醒状态,则分别获取所述磁力计在所述预设时长内采集的数据和所述陀螺仪传感器在所述预设时长内采集的数据。
如此,通过确定电子设备的功耗来选择电子设备获取磁力计和陀螺仪传感器采集的数据的时机,从而最大程度的限制了电子设备功耗的增长。
作为本申请的一个示例,所述磁力计是基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据通过校准模型进行校准的;所述基于所述磁力计和所述陀螺仪传感器采集的数据,对所述磁力计进行校准之后,还包括:
在通过所述校准模型对所述磁力计进行校准的过程中,当所述校准模型收敛时,通过所述校准模型输出所述第二校准参数;
将所述校准模型的收敛值确定为所述校准精度。
如此,通过校准模型对磁力计进行校准,不仅能够实现对磁力计的校准,同时还能够得到第二校准参数和校准精度,从而提高了获取第二校准参数和校准精度的效率。
作为本申请的一个示例,所述在所述校准精度达到预设精度条件的情况下,将所述第二校准参数进行存储,包括:
在所述校准精度大于或等于精度阈值的情况下,将所述第二校准参数进行存储;或者,
在所述校准精度大于或等于上一次校准所述磁力计时的校准精度的情况下,将所述第二校准参数进行存储。
如此,通过在校准精度达到预设精度条件的情况下存储第二校准参数,从而保证了通过存储的第二校准参数对磁力计进行校准的准确性和可靠性。
作为本申请的一个示例,所述基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据,对所述磁力计进行校准之后,还包括:
在所述校准精度小于上一次校准所述磁力计时的校准精度的情况下,通过上一次存储的所述磁力计的校准参数对所述磁力计再次进行校准。
如此,在校准精度小于上一次校准磁力计时的校准精度的情况下,通过使用上一次存储的校准参数对磁力计再次进行校准,保证了本次校准磁力计的准确性。
作为本申请的一个示例,所述在所述电子设备当前处于运动状态的情况下,分别获取所述磁力计在预设时长内采集的数据和陀螺仪传感器在所述预设时长内采集的数据之前,还包括:
在当前时间满足所述陀螺仪传感器的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,若所述电子设备处于静止状态,则获取所述陀螺仪传感器采集的多组陀螺仪数据;
基于所述多组陀螺仪数据,确定所述第一校准参数;
根据所述第一校准参数对所述陀螺仪传感器进行校准;
将上一次校准所述陀螺仪传感器时存储的校准参数更新为所述第一校准参数。
如此,在满足对陀螺仪传感器进行校准的条件下,通过对陀螺仪传感器件进行校准,从而保证了后续使用陀螺仪传感器时,陀螺仪传感器采集的数据的可靠性。
作为本申请的一个示例,所述基于所述多组陀螺仪数据,确定所述第一校准参数,包括:
根据所述多组陀螺仪数据,确定所述陀螺仪传感器进行数据采集时的均方误差;
在所述均方误差小于或等于误差阈值的情况下,将所述多组陀螺仪数据之间的均值确定为所述第一校准参数。
如此,通过确定陀螺仪传感器采集的数据的均方误差,可以使用该均方误差描述对陀螺仪传感器的校准精度,并在均方误差大于误差阈值的情况下,确定第一校准参数,从而提高了第一校准参数校准陀螺仪传感器的准确性。
作为本申请的一个示例,所述在校准精度达到预设精度条件的情况下,将第二校准参数进行存储之后,还包括:
响应于对所述电子设备中导航应用程序的启动操作,显示所述导航应用程序的应用界面;
在所述导航应用程序的应用界面中,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,显示指南针控件的指向信息。
如此,由于在用户使用导航应用程序之前,电子设备已经对磁力计和陀螺仪传感器进行校准,从而电子设备在显示导航应用界面时,保证了指南针控件的指向信息的准确性。
第二方面,提供了一种数据的校准装置,应用于电子设备中,且所述数据的校准装置具有实现上述第一方面中数据的校准方法行为的功能。所述数据的校准装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的数据的校准方法。所述装置包括:
检测模块,用于在当前时间满足所述电子设备的磁力计的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,检测所述电子设备的当前状态;
第一获取模块,用于在所述电子设备当前处于运动状态的情况下,分别获取所述磁力计在预设时长内采集的数据和陀螺仪传感器在所述预设时长内采集的数据,所述陀螺仪传感器在采集数据之前在所述电子设备处于静止状态下且在所述陀螺仪传感器的校准周期内基于第一校准参数进行过校准;
第一校准模块,用于基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据,对所述磁力计进行校准;
存储模块,用于在校准精度达到预设精度条件的情况下,将第二校准参数进行存储,所述第二校准参数和所述校准精度是对所述磁力计进行校准后确定的信息。
作为本申请的一个示例,所述第一获取模块用于:
在所述电子设备当前处于运动状态的情况下,获取所述电子设备的功耗;
在所述电子设备的功耗小于或等于功耗阈值的情况下,分别获取所述磁力计在所述预设时长内采集的数据和所述陀螺仪传感器在所述预设时长内采集的数据;或者,
在所述电子设备的功耗大于所述功耗阈值的情况下,若所述电子设备的任意一个应用程序处于唤醒状态,则分别获取所述磁力计在所述预设时长内采集的数据和所述陀螺仪传感器在所述预设时长内采集的数据。
作为本申请的一个示例,所述磁力计是基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据通过校准模型进行校准的;所述装置还包括:
输出模块,用于在通过所述校准模型对所述磁力计进行校准的过程中,当所述校准模型收敛时,通过所述校准模型输出所述第二校准参数;
第一确定模块,用于将所述校准模型的收敛值确定为所述校准精度。
作为本申请的一个示例,所述存储模块用于:
在所述校准精度大于或等于精度阈值的情况下,将所述第二校准参数进行存储;或者,
在所述校准精度大于或等于上一次校准所述磁力计时的校准精度的情况下,将所述第二校准参数进行存储。
作为本申请的一个示例,所述装置还包括:
第二校准模块,用于在所述校准精度小于上一次校准所述磁力计时的校准精度的情况下,通过上一次存储的所述磁力计的校准参数对所述磁力计再次进行校准。
作为本申请的一个示例,所述装置还包括:
第二获取模块,用于在当前时间满足所述陀螺仪传感器的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,若所述电子设备处于静止状态,则获取所述陀螺仪传感器采集的多组陀螺仪数据;
第二确定模块,用于基于所述多组陀螺仪数据,确定所述第一校准参数;
第三校准模块,用于根据所述第一校准参数对所述陀螺仪传感器进行校准;
更新模块,用于将上一次校准所述陀螺仪传感器时存储的校准参数更新为所述第一校准参数。
作为本申请的一个示例,所述第二确定模块用于:
根据所述多组陀螺仪数据,确定所述陀螺仪传感器进行数据采集时的均方误差;
在所述均方误差小于或等于误差阈值的情况下,将所述多组陀螺仪数据之间的均值确定为所述第一校准参数。
作为本申请的一个示例,所述装置还包括:
第一显示模块,用于响应于对所述电子设备中导航应用程序的启动操作,显示所述导航应用程序的应用界面;
第二显示模块,用于在所述导航应用程序的应用界面中,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,显示指南针控件的指向信息。
第三方面,提供了一种电子设备,所述电子设备的结构中包括处理器和存储器,所述存储器用于存储支持电子设备执行上述第一方面所提供的数据的校准方法的程序,以及存储用于实现上述第一方面所述的数据的校准方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述电子设备还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据的校准方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据的校准方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是根据一示例性实施例示出的一种应用场景的示意图;
图2是根据一示例性实施例示出的一种电子设备的结构示意图;
图3是根据一示例性实施例示出的一种电子设备的软件架构示意图;
图4是根据另一示例性实施例示出的一种应用场景的示意图;
图5是根据另一示例性实施例示出的一种应用场景的示意图;
图6是根据一示例性实施例示出的一种数据的校准方法流程示意图;
图7是根据一示例性实施例示出的一种陀螺仪传感器在校准前和校准后采集的数据的示意图;
图8是根据一示例性实施例示出的一种不同应用场景下的功耗示意图;
图9是根据一示例性实施例示出的一种磁力计在校准前和校准后采集的数据的示意图;
图10是根据另一示例性实施例示出的一种数据的校准方法流程示意图;
图11是根据另一示例性实施例示出的一种数据的校准方法流程示意图;
图12是根据一示例性实施例示出的一种数据的校准装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
随着社会的发展及人们生活水平的提升,导航应用程序已渐渐成为人们日常生活中必不可少的应用程序。用户在需要进行定位或导航的情况下,都需要使用到导航应用程序。其中,导航应用程序需求依靠磁力计等传感器采集的数据来感知用户的移动方向,而由于磁力计容易受到外界环境干扰,且在受到外界干扰的情况下,磁力计输出数据的精度将会受到影响,继而导致导航应用程序指示的方向将会变得不准确。比如,电子设备与蓝牙设备放在一起,或者,电子设备进入强磁性环境中的情况下,电子设备中的磁力计可能会受到磁场的干扰,导致磁力计采集的数据不准确。因此,在磁力计受到外界环境干扰的情况下,需要对磁力计进行校准。
示例性地,在电子设备为手机的情况下,在手机运行导航应用程序时,可以显示如图1中的(a)图所示的导航应用界面,该导航应用界面中可以显示有指南针控件1,若手机正朝向89度东方向,那么该指南针控件在指向正北的情况下,该导航应用程序中应显示手机正朝向89度东方向。但因磁力计受到了外界环境的干扰,导致导航应用界面中显示的手机朝向为79度东(79°东),该种情况下,电子设备可以在导航应用界面中显示如图1中的(b)图所示的提示信息,该提示信息可以提示用户对电子设备进行一些操作以触发对磁力计的校准,比如,可以提示用户“请绕“8”字转动手机”。若用户按照提示信息的内容转动手机,那么手机可以获取用户在转动时磁力计采集的数据,然后通过采集的数据对磁力计进行校准;之后手机可以根据校准后的磁力计重新采集的数据,对显示的手机的指向信息进行修改。
但是,若用户转动电子设备的幅度较小,那么磁力计采集到的数据将不够分散,后续校准结果的偏差会比较大,从而导致对磁力计的校准结果不准确,导致显示的手机的朝向也不准确,比如,参见图1中的(c)图,手机对显示的指向信息进行修改后,在导航应用界面中显示手机朝向为84度东(84°东)。而且有时候用户可能不清楚不对磁力计进行校准的后果,就算手机显示了提示信息,用户也可能不会按照提示信息的要求操作手机,从而导致无法对手机进行校准,降低了磁力计校准的准确性,以及降低了磁力计采集的数据的可靠性。
为了提高磁力计校准的准确性和可靠性,本申请实施例提供了一种数据的校准方法,该方法中,在检测到当前时间满足磁力计的校准周期,或者,在检测到电子设备发生磁场干扰的情况下,若电子设备处于运动状态,那么电子设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。其中,陀螺仪传感器在此之前已在陀螺仪传感器的校准周期内经过第一校准参数进行校准,从而保证了陀螺仪传感器采集的数据的准确性,进而提高了对磁力计的校准的准确性。其次,由于陀螺仪传感器和磁力计均可以周期性地根据电子设备的状态进行校准,无需用户手动对电子设备进行操作,从而保证了对磁力计进行校准的可靠性。另外,由于第二校准参数是在磁力计的校准精度达到预设精度条件的情况下存储的,从而保证了后续使用磁力计时,磁力计采集的数据的准确性,提高了磁力计的可靠性。
在对本申请实施例提供的数据的校准方法进行详细地解释说明之前,先对本申请实施例涉及的终端予以说明。
本申请实施例提供的方法可以由电子设备执行,电子设备可以安装有磁力计、陀螺仪传感器、加速度传感器等传感器。进一步地,该电子设备中可以安装有诸如导航应用程序、指南针应用程序等使用到磁力计的应用程序。作为示例而非限定,电子设备可以是但不限于平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、蜂窝电话、个人数字助理(personaldigital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtualreality,VR)设备、手机、智能电器等,本申请实施例对此不作限定。
图2是本申请实施例提供的一种电子设备的结构示意图。参见图2,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口,如可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。比如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
外部存储器接口120可以用于连接外部存储卡,比如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D以及应用处理器等实现音频功能,比如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。比如:当有触摸操作强度小于压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。电子设备100根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别电子设备100的姿态,应用于横竖屏切换,计步器等应用。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。比如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
接下来对电子设备100的软件***予以说明。
电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,对电子设备100的软件***进行示例性说明。
图3是本申请实施例提供的一种电子设备100的软件***的框图。参见图3,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***层,以及内核层。
应用程序层可以包括一系列应用程序包。如图3所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,指南针等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图3所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图***包括可视控件,比如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序的显示界面,显示界面可以由一个或多个视图组成,比如,包括显示短信通知图标的视图,包括显示文字的视图,以及包括显示图片的视图。电话管理器用于提供电子设备100的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或滚动条文本形式出现在***顶部状态栏的通知,比如后台运行的应用程序的通知。通知管理器还可以是以对话窗口形式出现在屏幕上的通知,比如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块,比如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(比如:OpenGL ES),2D图形引擎(比如:SGL)等。表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别原始输入事件所对应的控件。以该触摸操作是单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用程序框架层的接口,启动相机应用,再调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
为了便于理解,在对本申请实施例提供的方法进行详细介绍之前,接下来以电子设备是手机,且手机具有指南针功能为例,对本申请实施例涉及的应用场景进行介绍。
请参考图4,图4是根据一示例性实施例示出的一种应用场景的示意图。在一种可能的场景中,在用户需要使用导航应用程序进行导航的情况下,参见图4中的(a)图,用户可以点击手机桌面中的导航应用程序的应用标识;响应于用户对导航应用程序的应用标识的点击操作,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,确定指南针控件的指向信息,并显示如图4中的(b)图所示的导航应用界面,该导航应用界面中显示有指南针控件1;若手机正朝向89度东方向,则该指南针控件1在指向正北方向的情况下,该导航应用界面中可以显示手机朝向为89度东。
需要说明的是,该手机在显示导航应用程序的导航应用界面之前,已周期性地对磁力计和陀螺仪传感器进行校准,因此,在手机显示导航应用程序的导航应用界面时,手机可以根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,在导航应用界面中准确地显示指南针控件的指向信息。
请参考图5,图5是根据另一示例性实施例示出的一种应用场景的示意图。在一种可能的场景中,在用户需要使用指南针应用程序的情况下,参见图5中的(a)图,用户可以点击手机中的指南针应用程序的应用标识;响应于用户对指南针应用程序的应用标识的点击操作,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,确定指南针控件的指向信息,并显示如图5中的(b)图所示的指南针应用界面,该指南针应用界面中显示有指南针控件1;若手机正朝向89度东方向,则该指南针控件1在指向正北方向的情况下,该指南针应用界面中可以显示手机朝向为89度东。
需要说明的是,该手机在显示指南针应用程序的导航应用界面之前,已周期性地对磁力计和陀螺仪传感器进行校准,因此,在手机显示指南针应用程序的指南针应用界面时,手机可以根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,在指南针应用界面中准确地显示指南针控件的指向信息。
需要说明的是,本申请实施例中仅以上述图4或图5所示的应用场景为例进行说明,并不对本申请实施例构成限定。
基于上述实施例提供的执行主体和应用场景,接下来对本申请实施例提供的数据的校准方法进行介绍。请参考图6,图6是根据一示例性实施例示出的一种数据的校准方法流程示意图。作为示例而非限定,这里以该方法应用于安装有磁力计和陀螺仪传感器的电子设备中,电子设备为图2所示的电子设备为例进行说明,该方法可以包括如下部分或者全部内容:
步骤601:检测电子设备当前所处的状态,并在电子设备当前处于静止状态的情况下,执行下述步骤602的操作,在电子设备处于运动状态的情况下,执行下述步骤608的操作。
由于在对磁力计进行校准时,要求电子设备处于运动状态,而在对陀螺仪传感器进行校准时,要求陀螺仪传感器处于静止状态,因此,为了使校准更具针对性,也为了使校准更准确,电子设备可以检测电子设备当前所处状态。
需要说明的是,电子设备可以实时检测当前所处状态,也可以每隔第一指定时间间隔检测当前所处状态,还可以在状态发生变化的情况下,检测当前所处的状态,本申请实施例对此不做具体限制。该第一指定时间间隔可以根据需求预先进行设置,比如,该第一指定时间间隔可以为10分钟、30分钟、60分钟等等。
作为一个示例,电子设备可以通过重力加速度传感器检测当前所处状态,在重力加速度传感器在静态坐标系中输出数据为(0,0,0)的情况下,可以确定电子设备当前处于静止状态,否则,确定电子设备处于运动状态。当然,电子设备还可以根据其他方式确定电子设备当前所处的状态,比如,电子设备还可以通过陀螺仪传感器检测当前所处状态,本申请实施例对此不做具体限制。
步骤602:在电子设备当前处于静止状态的情况下,检测当前时间是否满足陀螺仪传感器的校准周期,若是,则执行下述步骤603的操作;若否,则继续执行步骤602的操作,直至当前时间满足陀螺仪传感器的校准周期。
由于高频次地对陀螺仪传感进行校准,将会增加电子设备的功耗,从而不利于电子设备的使用寿命,因此,为了避免电子设备功耗过多的增加,可以设置陀螺仪传感器的校准周期,并在电子设备处于静止状态下,检测当前时间是否满足陀螺仪传感器的校准周期。
需要说明的是,陀螺仪传感器的校准周期可以根据需求预先进行设置,比如,该陀螺仪传感器的校准周期可以为30分、1小时、2小时或3小时等。
作为一个示例,电子设备处于静止状态下,在检测当前时间是否满足陀螺仪传感器的过程中,若检测到电子设备由静止状态切换为运动状态,则电子设备可以执行下述步骤609的操作。
步骤603:获取陀螺仪传感器采集的多组陀螺仪数据。
在当前时间满足陀螺仪传感器的校准周期的情况下,说明可以对陀螺仪传感器进行校准。而在对陀螺仪传感器进行校准时,需要使用陀螺仪传感器采集的数据,因此,电子设备需要获取陀螺仪传感器采集的多组陀螺仪数据。
需要说明的是,电子设备可以获取陀螺仪传感器处于第一指定功率下采集的多组陀螺仪数据,该第一指定功率可以根据需求预先进行设置,比如,该第一指定功率可以为10hz(赫兹)、20hz或100hz等。该多组陀螺仪数据可以为64组、72组或81组等,且选取的组数越多对陀螺仪传感器的校准精度越高。本申请实施例对此不作具体限制。
步骤604:根据多组陀螺仪数据,确定陀螺仪传感器进行数据采集时的均方误差。
由于均方误差是各数据偏离真实值差值的平方和的平均数,如此,通过均方误差可以描述陀螺仪传感器进行数据采集的偏差程度,且均方误差越小,说明陀螺仪传感器采集的数据越准确,因此,电子设备可以根据多组陀螺仪数据,确定陀螺仪传感器进行数据采集的均方误差。
需要说明的是,由于均方误差越小,说明陀螺仪传感器采集的多组陀螺仪数据越准确,通过采集的多组陀螺仪数据对陀螺仪传感器进行校准的准确性就越高,因此,还可以通过该均方误差描述对陀螺仪传感器的校准精度。
步骤605:判断均方误差是否小于或等于误差阈值;若是,则执行下述步骤606的操作;否则,返回上述步骤603的操作。
由于均方误差可以描述对陀螺仪传感器的校准精度,在均方误差越小的情况下,根据多组陀螺仪数据对陀螺仪传感器进行校准的校准精度越高,因此,电子设备可以判断均方误差是否小于或等于误差阈值。
需要说明的是,该误差阈值可以根据需求预先进行设置,比如,该误差阈值可以为0.5、1,2或3等,本申请实施例对此不做具体限制。
步骤606:在均方误差小于或等于误差阈值的情况下,根据多组陀螺仪数据之间的均值校对陀螺仪传感器进行校准。
由于在均方误差小于或等于误差阈值的情况下,说明通过当前采集的多组陀螺仪数据对陀螺仪传感器进行校准的校准精度较高,因此,可以根据多组陀螺仪数据之间的均值校对陀螺仪传感器进行校准。
作为一个示例,电子设备可以根据多组陀螺仪数据之间的均值,确定第一校准参数,该第一校准参数为校准陀螺仪传感器零飘的参数;通过该第一校准参数对陀螺仪传感器进行校准。
示例性地,参见图7,电子设备在对陀螺仪传感器进行校准之前,在陀螺仪传感器处于静止状态下,陀螺仪传感器采集的数据的偏差无法全部位于0上(图7中横轴时间在0-977毫秒之间的状态),而电子设备对陀螺仪进行校准后(图7中横轴时间在977毫秒之后),陀螺仪传感器在静止状态下采集的数据全部都可以快速归0(图7中横轴时间在977-2929毫秒之间的状态)。之后,在电子设备处于运动状态下,陀螺仪传感器采集的数据将围绕0进行变化,改善了陀螺仪传感器的数据偏差。其中,图7中的横轴表示时间,单位为毫秒,纵轴表示陀螺仪传感器在每个坐标轴(x轴、y轴和z轴)所采集的数据偏差。
步骤607:将上一次校准的陀螺仪传感器时存储的校准参数更新为第一校准参数。
由于当前第一校准参数是在陀螺仪传感器的校准精度较高的情况下确定得到的,通过第一校准参数对陀螺仪传感器进行校准的校准精度较高,因此,为了在后续使用陀螺仪传感器过程中,能够通过陀螺仪传感器获取到更准确地陀螺仪数据,电子设备可以将第一校准参数进行存储。
作为一个示例,电子设备可以将第一校准参数存储在指定存储空间中,且在存储第一校准参数时,可以将上一次校准陀螺仪传感器时存储的校准参数删除,然后存储第一校准参数。或者,电子设备可以使用第一校准参数替换上一次校准陀螺仪传感器时存储的校准参数。
步骤608:在电子设备处于运动状态的情况下,检测当前时间是否满足磁力计的校准周期,若是,则执行下述步骤609的操作;若否,则继续执行步骤608的操作,直至当前时间满足磁力计的校准周期。
由于磁力计需要在电子设备处于运动状态下进行校准操作,且为了避免高频次地对磁力计进行校准,在电子设备处于运动状态下,电子设备可以检测当前时间是否满足磁力计的校准周期。
需要说明的是,磁力计的校准周期同样可以预先进行设置,比如,该磁力计的校准周期可以为30分、1小时、2小时或3小时等。另外,磁力计的校准周期可以与陀螺仪传感器的校准周期相同,也可以不相同,通常情况下,可以设置磁力计的校准周期与陀螺仪传感器校准周期不相同。
作为一个示例,电子设备处于运动状态下,在检测当前时间是否满足陀螺仪传感器的过程中,若检测到电子设备由运动状态切换为静止状态,则电子设备可以执行上述步骤602的操作。
步骤609:获取电子设备的功耗。
为了在电子设备校准磁力计过程中,使电子设备产生较低功耗,电子设备可以先获取当前所产生的功耗。
作为一个示例,电子设备可以通过状态管理器确定电子设备当前的状态,并根据当前状态确定对应的功耗。比如,电子设备通过状态管理器确定电子设备处于休眠状态下,可以确定电子设备处于低功耗状态,或者,在通过状态管理器确定电子设备处于休眠状态下,可以通过设置的状态与功耗之间的对应关系中,获取电子设备处于休眠状态下的功耗。
在一些实施例,获取电子设备的功耗可以是指获取电子设备中各个元器件的功耗之和,比如,屏幕、电池等元器件的功耗之和。
步骤610:判断电子设备的功耗是否小于或等于功耗阈值;若是,则执行下述步骤612的操作;若否,则执行下述步骤后611的操作。
作为一个示例,在电子设备确定当前处于低功耗状态的情况下,可以确定电子设备的功耗小于或等于功耗阈值。或者,在电子设备获取到具体的功耗的情况下,可以将功耗与功耗阈值进行比较。
需要说明的是,该功耗阈值可以预先根据需求进行设置,比如,该功耗阈值可以为10mA(毫安)、20mA或30mA等。
由于在电子设备的功耗小于或等于功耗阈值的情况下,说明电子设备的功耗较小,在该种情况下,对磁力计进行校准所增长的功耗并不会对电子设备造成特别多的影响,因此,在电子设备的功耗小于或等于功耗阈值的情况下,电子设备可以直接执行下述步骤613的操作。
步骤611:检测电子设备中是否存在处于唤醒状态的应用程序;若是,则执行下述步骤612的操作,若否,则继续执行步骤611的操作,直至检测到电子设备中存在处于唤醒状态的应用程序。
由于在电子设备的功耗较高的情况下,若电子设备中不存在处于唤醒状态的应用程序,那么在该种情况下若是进行磁力计的校准,则该操作将会额外增加很多的功耗,导致电子设备的功耗会更高。而在电子设备的功耗较高的情况下,若电子设备中已存在处于唤醒状态的应用程序,那么在该种情况下,就算对磁力计的校准,所增加功耗也不会很多,从而相对来说避免了功耗的大量增长。因此,为了在合适的时机进行磁力计校准,电子设备需要检测是否存在处于唤醒状态的应用程序。
示例性地,在电子设备中存在处于唤醒状态的应用程序的情况下,若是进行磁力计的校准,则电子设备的损耗情况可以参考下述图8中的(a)图所示的情况下,该图8中的(a)图中,横轴表示时间,单位为s(秒),纵轴表示电流大小,单位为mA(毫安);在电子设备中不存在处于唤醒状态的应用程序的情况下,若是进行磁力计的校准,则电子设备的损耗情况可以参考下述图8中的(b)图所示的情况,该图8中的(b)图中,横轴表示时间,单位为s(秒),纵轴表示电流大小,单位为mA(毫安);从图8中的(a)图和图8中的(b)图可以看出,若电子设备的功耗较高,则在电子设备中存在处于唤醒状态的应用程序情况下进行磁力计校准,电子设备的电流较稳定,从而功耗也较为稳定。而在电子设备中不存在处于唤醒状态的应用程序的情况下,进行磁力计的校准,则电子设备的电流会突然变大(图8中的(b)图中86秒左右位置),导致电子设备的功耗继续增加。
步骤612:分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据。
需要说明的是,该预设时长可以根据需求预先进行设置,比如,该预设时长可以为15秒、20秒或25秒。该陀螺仪传感器为经过上述第一校准参数校准后的陀螺仪传感器。
作为一个示例,电子设备可以获取磁力计处于第二指定功率下采集的地磁数据,该第二指定功率可以根据需求预先进行设置,比如,该第二指定功率可以为50hz或100hz等。电子设备可以获取陀螺仪传感器处于第三指定功率下采集的陀螺仪数据,该第三指定功率同样可以根据需求预先进行设置,比如,该第三指定功率可以为50hz、70hz或100hz等。
步骤613:基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。
作为一个示例,电子设备基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准的操作包括:基于磁力计采集的数据和陀螺仪传感器采集的数据,通过校准模型对磁力计进行校准;在通过校准模型对磁力计进行校准的过程中,当校准模型收敛时,确定已完成对磁力计的校准。
之后,为了后续再次使用磁力计时便于对磁力计进行校准,也为了确定本次校准的校准精度,电子设备还可以在校准模型收敛时,通过校准模型输出所述第二校准参数,并将校准模型的收敛值确定为校准精度。
需要说明的是,该校准模块为预先训练得到的用于对磁力计进行校准的模型。
步骤614:在校准精度达到预设精度条件的情况下,将第二校准参数进行存储。
需要说明的是,预设精度条件可以根据需求预先进行设置,比如,该预设精度条件可以为校准精度大于或等于精度阈值;或者,为校准精度大于或等于上一次校准磁力计时的校准精度。因此,在校准精度达到预设精度条件的情况下,电子设备将第二校准参数进行存储的操作包括:在校准精度大于或等于精度阈值的情况下,将第二校准参数进行存储;或者,在校准精度大于或等于上一次校准磁力计时的校准精度的情况下,将第二校准参数进行存储。
需要说明的是,精度阈值可以预先根据需求进行设置,比如,该精度阈值可以为3、2.5或者2等等。
由于在校准精度大于或等于精度阈值的情况下,说明本次对磁力计的校准是准确的,因此,可以将第二校准参数进行存储。或者,在校准精度大于或等于上一次校准磁力计时的校准精度的情况下,说明本次校准磁力计的准确度高于上一次校准磁力计的准确度,因此,可以将本次确定的第二校准参数进行存储。
在一些实施例中,电子设备将第二校准参数进行存储的操作包括:删除上一次校准磁力计时存储的校准参数,并存储第二校准参数。或者,使用第二校准参数替换上一次校准磁力计时存储的校准参数。
示例性地,参见图9,在对磁力计进行校准之前,若磁力计受到磁场干扰,磁力计发生零偏,那么磁力计处于静止状态下采集的数据(图9中纵坐标表示的航向角)会发生较大偏差。在对磁力计进行校准后(比如,在图9中横坐标表示的时间为40000毫秒之后),磁力计在静止状态下采集的数据几乎不会发生偏差,从而后续在使用磁力计采集的数据后,指南针控件的指向可以快速收敛到正确指向,该指向的误差在5度以内。
步骤615:在校准精度未达到预设精度条件的情况下,通过上一次存储的磁力计的校准参数对磁力计再次进行校准。
作为一个示例,校准精度未达到预设条件的情况包括本次校准磁力计时得到的校准精度小于上一次校准磁力计时的校准精度,该种情况下,电子设备可以通过上次校准磁力计时存储的校准参数对磁力计再次进行校准。
作为一个示例,校准精度未达到预设条件的情况包括本次校准磁力计时得到的校准精度小于精度阈值,该种情况下,由于电子设备是将校准精度大于或等于精度阈值时对应的校准参数进行存储,因此,通过上一次存储的磁力计的校准参数对磁力计进行校准的准确性高于本次对磁力计进行校准的准确性,电子设备可以获取上一次存储的磁力计的校准参数,并通过上一次存储的磁力计的校准参数对磁力计再次进行校准,并继续存储上一次存储的校准参数。
在本申请实施例中,在检测到当前时间满足磁力计的校准周期,且电子设备处于运动状态,那么电子设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。其中,陀螺仪传感器在此之前已在陀螺仪传感器的校准周期内经过第一校准参数进行校准,从而保证了陀螺仪传感器采集的数据的准确性,进而提高了对磁力计的校准的准确性。其次,由于陀螺仪传感器和磁力计均可以周期性地根据电子设备的状态进行校准,无需用户手动对电子设备进行操作,从而保证了对磁力计进行校准的可靠性。另外,由于第二校准参数是在磁力计的校准精度达到预设精度条件的情况下存储的,从而保证了后续使用磁力计时,磁力计采集的数据的准确性,提高了磁力计的可靠性。
需要说明的是,上述实施例是以当前时间满足陀螺仪传感器的校准周期或磁力计的校准周期为例进行说明,接下来,以电子设备受到磁场干扰的情况为例进行说明,请参考图10,图10是根据另一示例性实施例示出的一种信息的显示方法流程示意图。作为示例而非限定,以该方法应用于安装有磁力计和陀螺仪传感器的电子设备中为例进行说明,该方法可以包括如下部分或者全部内容:
步骤1001:在检测到电子设备发生磁场干扰的情况下,检测电子设备当前所处的状态;并在电子设备当前处于静止状态的情况下,执行下述步骤1002的操作,在电子设备处于运动状态的情况下,执行下述步骤1007的操作。
作为一个示例,磁力计可以实时采集数据,或者,每隔第二指定时间间隔采集数据,在磁力计采集数据过程中发现磁力计采集的磁场强度发生变化的情况下,确定电子设备受到磁场干扰,即确定磁力计和陀螺仪传感器受到磁场干扰。
需要说明的是,该第二指定时间间隔可以根据需求预先进行设置,比如,该第二指定时间间隔5分钟、10分钟或20分钟等。
步骤1002:在电子设备当前处于静止状态的情况下,获取陀螺仪传感器采集的多组陀螺仪数据。
由于在电子设备受到磁场干扰的情况下,磁力计和陀螺仪传感器也会受到磁场干扰,该种情况下,在当前时间不处于磁力计的校准周期,也不处于陀螺仪传感器的校准周期的情况下,电子设备依旧可以根据当前所处状态对磁力计和陀螺仪传感器进行校准。
步骤1002-步骤1006的操作可以参考上述步骤603-步骤607的操作,本申请实施例对此不再进行一一赘述。
步骤1007:在电子设备处于运动状态的情况下,获取电子设备的功耗。
步骤1007-步骤1014的操作可以参考上述步骤608-步骤615的操作,本申请实施例对此不再进行一一赘述。
在本申请实施例中,在检测到电子设备发生磁场干扰,且电子设备处于运动状态,那么电子设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。其中,陀螺仪传感器在此之前已在陀螺仪传感器的校准周期内经过第一校准参数进行校准,从而保证了陀螺仪传感器采集的数据的准确性,进而提高了对磁力计的校准的准确性。其次,由于陀螺仪传感器和磁力计均可以周期性地根据电子设备的状态进行校准,无需用户手动对电子设备进行操作,从而保证了对磁力计进行校准的可靠性。另外,由于第二校准参数是在磁力计的校准精度达到预设精度条件的情况下存储的,从而保证了后续使用磁力计时,磁力计采集的数据的准确性,提高了磁力计的可靠性。
接下来,为了进一步理解本申请实施例,以该方法由具有磁力计和陀螺仪传感器的电子设备执行为例进行说明,请参考图11,图11是根据另一示例性实施例示出的一种数据的校准方法流程示意图。作为示例而非限定,该方法可以包括如下部分或者全部内容:
步骤1101:在当前时间满足电子设备的磁力计的校准周期的情况下,或者,在检测到电子设备发生磁场干扰的情况下,检测电子设备的当前状态。
由于在当前时间满足磁力计的校准周期的情况下,或者,在检测到电子设备发生磁场干扰的情况下,都需要对磁力计进行校准,而磁力计的校准要求电子设备处于运动状态,因此,在当前时间满足电子设备的磁力计的校准周期的情况下,或者,在检测到电子设备发生磁场干扰的情况下,电子设备需要检测当前的状态。
需要说明的是,电子设备检测当前状态的操作可以参考上述步骤601的操作,电子设备检测发生磁场干扰的情况的操作可以参考上述步骤1001的操作,本申请实施例对此不再进行一一赘述。
步骤1102:在电子设备当前处于运动状态的情况下,分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据。
在一些实施例中,在电子设备当前处于运动状态的情况下,电子设备分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据的操作包括:在电子设备当前处于运动状态的情况下,获取电子设备的功耗;在电子设备的功耗小于或等于功耗阈值的情况下,分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据;或者,在电子设备的功耗大于功耗阈值的情况下,若电子设备的任意一个应用程序处于唤醒状态,则分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据。
需要说明的是,电子设备获取磁力计和陀螺仪传感器在预设时长内采集的数据的具体操作可以参考上述步骤609-步骤612的操作,本申请实施例对此不再进行一一赘述。
值得说明的是,通过确定电子设备的功耗来选择电子设备获取磁力计和陀螺仪传感器采集的数据的时机,从而最大程度的限制了电子设备功耗的增长。
需要说明的是,陀螺仪传感器在采集数据之前在电子设备处于静止状态下且在陀螺仪传感器的校准周期内基于第一校准参数进行过校准。
在一些实施例中,在电子设备当前处于运动状态的情况下,获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据之前,还可以在当前时间满足陀螺仪传感器的校准周期的情况下,或者,在检测到电子设备发生磁场干扰的情况下,若电子设备处于静止状态,则获取陀螺仪传感器采集的多组陀螺仪数据;基于多组陀螺仪数据,确定第一校准参数;根据第一校准参数对陀螺仪传感器进行校准;将上一次校准陀螺仪传感器时存储的校准参数更新为第一校准参数,以存储第一校准参数。
需要说明的是,电子设备获取陀螺仪传感器采集的多组陀螺仪数据的操作可以参考上述步骤603的操作,本申请实施例对此不再进行一一赘述。
值得说明的是,在满足对陀螺仪传感器进行校准的条件下,通过对陀螺仪传感器件进行校准,从而保证了后续使用陀螺仪传感器时,陀螺仪传感器采集的数据的可靠性。
作为一个示例,电子设备基于多组陀螺仪数据,确定第一校准参数的操作包括:根据多组陀螺仪数据,确定陀螺仪传感器进行数据采集时的均方误差;在均方误差小于或等于误差阈值的情况下,将多组陀螺仪数据之间的均值确定为第一校准参数。
需要说明的是,电子设备根据多组陀螺仪数据,确定陀螺仪传感器进行数据采集的均方误差的操作可以参考上述步骤604的操作,本申请实施例对此不再进行一一赘述。
值得说明的是,通过确定陀螺仪传感器采集的数据的均方误差,可以使用该均方误差描述对陀螺仪传感器的校准精度,并在均方误差大于误差阈值的情况下,确定第一校准参数,从而提高了第一校准参数校准陀螺仪传感器的准确性。
步骤1103:基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。
作为一个示例,电子设备基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准的操作包括:基于磁力计采集的数据和陀螺仪传感器采集的数据,通过校准模型对磁力计进行校准;在通过校准模型对磁力计进行校准的过程中,当校准模型收敛时,确定已完成对磁力计的校准。
之后,为了后续再次使用磁力计时便于对磁力计进行校准,也为了确定本次校准的校准精度,电子设备还可以在校准模型收敛时,通过校准模型输出所述第二校准参数,并将校准模型的收敛值确定为校准精度。
需要说明的是,电子设备基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准的操作可以参考上述步骤613的操作,本申请实施例对此不再进行一一赘述。
值得说明的是,通过校准模型对磁力计进行校准,不仅能够实现对磁力计的校准,同时还能够得到第二校准参数和校准精度,从而提高了获取第二校准参数和校准精度的效率。
在一些实施例中,电子设备不仅可以通过上述方式基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准,还可以根据其他方式基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。比如,电子设备设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,通过参数确定模型确定第二校准参数;在第二校准参数达到预设精度条件的情况下,通过第二校准参数对磁力计进行校准;在第二校准参数未达到预设精度条件的情况下,通过上一次存储的校准参数对磁力计进行校准。
在一些实施例中,电子设备不仅可以按照上述方式分别获取磁力计在预设时长内采集的数据和陀螺仪传感器在预设时长内采集的数据,同时还可以获取加速度传感器在预设时长内采集的数据,然后,基于磁力计采集的数据、陀螺仪传感器采集的数据和加速度传感器采集的数据,通过校准模块对磁力计进行校准;并在校准过程中检测到校准性收敛时,确定完成对磁力计的校准。
需要说明的是,电子设备可以获取加速度传感器处于第四指定功率下采集的加速度数据,该第四指定功率可以根据需求预先进行设置,比如,该第四指定功率可以为50hz、60hz或这100hz等。
步骤1104:在校准精度达到预设精度条件的情况下,将第二校准参数进行存储。
需要说明的是,第二校准参数和校准精度是对磁力计进行校准后确定的信息。
在一些实施例中,在校准精度达到预设精度条件的情况下,电子设备将第二校准参数进行存储,包括:在校准精度大于或等于精度阈值的情况下,将第二校准参数进行存储;或者,在校准精度大于或等于上一次校准磁力计时的校准精度的情况下,将第二校准参数进行存储。
需要说明的是,电子设备将第二校准参数进行存储的操作可以参考上述步骤614的操作,本申请实施例对此不再进行一一赘述。
值得说明的是,通过在校准精度达到预设精度条件的情况下存储第二校准参数,从而保证了通过存储的第二校准参数对磁力计进行校准的准确性和可靠性。
在一些实施例中,在校准精度小于上一次校准磁力计时的校准精度的情况下,电子设备还可以通过上一次存储的磁力计的校准参数对磁力计再次进行校准。
值得说明的是,在校准精度小于上一次校准磁力计时的校准精度的情况下,通过使用上一次存储的校准参数对磁力计再次进行校准,保证了本次校准磁力计的准确性。
在一些实施例中,在校准精度达到预设精度条件的情况下,将第二校准参数进行存储之后,用户可能会使用指南针应用程序或导航应用程序,若用户使用导航应用程序,则该种情况下,电子设备响应于对电子设备中导航应用程序的启动操作,可以显示导航应用程序的应用界面;在导航应用程序的应用界面中,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,显示指南针控件的指向信息。示例性地,该场景可以参考上述图4所示的应用场景。
值得说明的是,由于在用户使用导航应用程序之前,电子设备已经对磁力计和陀螺仪传感器进行校准,从而电子设备在显示导航应用界面时,保证了指南针控件的指向信息的准确性。
在本申请实施例中,在当前时间满足磁力计的校准周期,或者,检测到电子设备发生磁场干扰的情况下,若电子设备处于运动状态,那么电子设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。其中,陀螺仪传感器在此之前已在陀螺仪传感器的校准周期内经过第一校准参数进行校准,从而保证了陀螺仪传感器采集的数据的准确性,进而提高了对磁力计的校准的准确性。其次,由于陀螺仪传感器和磁力计均可以周期性地根据电子设备的状态进行校准,无需用户手动对电子设备进行操作,从而保证了对磁力计进行校准的可靠性。另外,由于第二校准参数是在磁力计的校准精度达到预设精度条件的情况下存储的,从而保证了后续使用磁力计时,磁力计采集的数据的准确性,提高了磁力计的可靠性。
图12是本申请实施例提供的一种数据的校准装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为电子设备的部分或者全部,该电子设备可以为图2所示的电子设备。参见图12,该装置包括:检测模块1201、第一获取模块1202、第一校准模块1203和存储模块1203。
检测模块1201,用于在当前时间满足所述电子设备的磁力计的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,检测所述电子设备的当前状态;
第一获取模块1202,用于在所述电子设备当前处于运动状态的情况下,分别获取所述磁力计在预设时长内采集的数据和陀螺仪传感器在所述预设时长内采集的数据,所述陀螺仪传感器在采集数据之前在所述电子设备处于静止状态下且在所述陀螺仪传感器的校准周期内基于第一校准参数进行过校准;
第一校准模块1203,用于基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据,对所述磁力计进行校准;
存储模块1204,用于在校准精度达到预设精度条件的情况下,将第二校准参数进行存储,所述第二校准参数和所述校准精度是对所述磁力计进行校准后确定的信息。
作为本申请的一个示例,所述第一获取模块1202用于:
在所述电子设备当前处于运动状态的情况下,获取所述电子设备的功耗;
在所述电子设备的功耗小于或等于功耗阈值的情况下,分别获取所述磁力计在所述预设时长内采集的数据和所述陀螺仪传感器在所述预设时长内采集的数据;或者,
在所述电子设备的功耗大于所述功耗阈值的情况下,若所述电子设备的任意一个应用程序处于唤醒状态,则分别获取所述磁力计在所述预设时长内采集的数据和所述陀螺仪传感器在所述预设时长内采集的数据。
作为本申请的一个示例,所述磁力计是基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据通过校准模型进行校准的;所述装置还包括:
输出模块,用于在通过所述校准模型对所述磁力计进行校准的过程中,当所述校准模型收敛时,通过所述校准模型输出所述第二校准参数;
第一确定模块,用于将所述校准模型的收敛值确定为所述校准精度。
作为本申请的一个示例,所述存储模块用于:
在所述校准精度大于或等于精度阈值的情况下,将所述第二校准参数进行存储;或者,
在所述校准精度大于或等于上一次校准所述磁力计时的校准精度的情况下,将所述第二校准参数进行存储。
作为本申请的一个示例,所述装置还包括:
第二校准模块,用于在所述校准精度小于上一次校准所述磁力计时的校准精度的情况下,通过上一次存储的所述磁力计的校准参数对所述磁力计再次进行校准。
作为本申请的一个示例,所述装置还包括:
第二获取模块,用于在当前时间满足所述陀螺仪传感器的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,若所述电子设备处于静止状态,则获取所述陀螺仪传感器采集的多组陀螺仪数据;
第二确定模块,用于基于所述多组陀螺仪数据,确定所述第一校准参数;
第三校准模块,用于根据所述第一校准参数对所述陀螺仪传感器进行校准;
更新模块,用于将上一次校准所述陀螺仪传感器时存储的校准参数更新为所述第一校准参数。
作为本申请的一个示例,所述第二确定模块用于:
根据所述多组陀螺仪数据,确定所述陀螺仪传感器进行数据采集时的均方误差;
在所述均方误差小于或等于误差阈值的情况下,将所述多组陀螺仪数据之间的均值确定为所述第一校准参数。
作为本申请的一个示例,所述装置还包括:
第一显示模块,用于响应于对所述电子设备中导航应用程序的启动操作,显示所述导航应用程序的应用界面;
第二显示模块,用于在所述导航应用程序的应用界面中,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,显示指南针控件的指向信息。
在本申请实施例中,在当前时间满足磁力计的校准周期,或者,检测到电子设备发生磁场干扰的情况下,若电子设备处于运动状态,那么电子设备可以基于磁力计采集的数据和陀螺仪传感器采集的数据,对磁力计进行校准。其中,陀螺仪传感器在此之前已在陀螺仪传感器的校准周期内经过第一校准参数进行校准,从而保证了陀螺仪传感器采集的数据的准确性,进而提高了对磁力计的校准的准确性。其次,由于陀螺仪传感器和磁力计均可以周期性地根据电子设备的状态进行校准,无需用户手动对电子设备进行操作,从而保证了对磁力计进行校准的可靠性。另外,由于第二校准参数是在磁力计的校准精度达到预设精度条件的情况下存储的,从而保证了后续使用磁力计时,磁力计采集的数据的准确性,提高了磁力计的可靠性。
需要说明的是:上述实施例提供的数据的校准装置在校准数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的数据的校准装置与数据的校准方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(比如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种数据的校准方法,其特征在于,应用于电子设备中,所述方法包括:
在当前时间满足所述电子设备的磁力计的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,检测所述电子设备的当前状态;
在所述电子设备当前处于运动状态的情况下,获取所述电子设备的功耗;
在所述电子设备的功耗小于或等于功耗阈值的情况下,分别获取所述磁力计处于第二指定功率下在预设时长内采集的数据和陀螺仪传感器处于第三指定功率下在所述预设时长内采集的数据,所述陀螺仪传感器在采集数据之前在所述电子设备处于静止状态下且在所述陀螺仪传感器的校准周期内基于第一校准参数进行过校准;或者,在所述电子设备的功耗大于所述功耗阈值的情况下,若所述电子设备的任意一个应用程序处于唤醒状态,则分别获取所述磁力计处于所述第二指定功率下在所述预设时长内采集的数据和所述陀螺仪传感器处于所述第三指定功率下在所述预设时长内采集的数据;
基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据,通过校准模型对所述磁力计进行校准;
在通过所述校准模型对所述磁力计进行校准的过程中,当所述校准模型收敛时,通过所述校准模型输出第二校准参数;
将所述校准模型的收敛值确定为校准精度;
在所述校准精度达到预设精度条件的情况下,将所述第二校准参数进行存储,所述第二校准参数和所述校准精度是对所述磁力计进行校准后确定的信息。
2.如权利要求1所述的方法,其特征在于,所述在所述校准精度达到预设精度条件的情况下,将所述第二校准参数进行存储,包括:
在所述校准精度大于或等于精度阈值的情况下,将所述第二校准参数进行存储;或者,
在所述校准精度大于或等于上一次校准所述磁力计时的校准精度的情况下,将所述第二校准参数进行存储。
3.如权利要求1所述的方法,其特征在于,所述基于所述磁力计采集的数据和所述陀螺仪传感器采集的数据,对所述磁力计进行校准之后,还包括:
在所述校准精度小于上一次校准所述磁力计时的校准精度的情况下,通过上一次存储的所述磁力计的校准参数对所述磁力计再次进行校准。
4.如权利要求1所述的方法,其特征在于,所述在所述电子设备当前处于运动状态的情况下,获取所述电子设备的功耗之前,还包括:
在当前时间满足所述陀螺仪传感器的校准周期的情况下,或者,在检测到所述电子设备发生磁场干扰的情况下,若所述电子设备处于静止状态,则获取所述陀螺仪传感器采集的多组陀螺仪数据;
基于所述多组陀螺仪数据,确定所述第一校准参数;
根据所述第一校准参数对所述陀螺仪传感器进行校准;
将上一次校准所述陀螺仪传感器时存储的校准参数更新为所述第一校准参数。
5.如权利要求4所述的方法,其特征在于,所述基于所述多组陀螺仪数据,确定所述第一校准参数,包括:
根据所述多组陀螺仪数据,确定所述陀螺仪传感器进行数据采集时的均方误差;
在所述均方误差小于或等于误差阈值的情况下,将所述多组陀螺仪数据之间的均值确定为所述第一校准参数。
6.如权利要求1-5中任一项所述的方法,其特征在于,所述在校准精度达到预设精度条件的情况下,将第二校准参数进行存储之后,还包括:
响应于对所述电子设备中导航应用程序的启动操作,显示所述导航应用程序的应用界面;
在所述导航应用程序的应用界面中,根据校准后的磁力计采集的数据和校准后的陀螺仪传感器采集的数据,显示指南针控件的指向信息。
7.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,当所述处理器执行所述指令时,所述电子设备用于执行如权利要求1-6中任一项所述的数据的校准方法。
8.一种计算机可读存储介质,用于存储一个或多个程序,其中所述一个或多个程序被配置为被一个或多个处理器执行,所述一个或多个程序包括指令,所述指令使得电子设备执行如权利要求1-6任一所述的数据的校准方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211317086.1A CN115655310B (zh) | 2022-10-26 | 2022-10-26 | 数据的校准方法、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211317086.1A CN115655310B (zh) | 2022-10-26 | 2022-10-26 | 数据的校准方法、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115655310A CN115655310A (zh) | 2023-01-31 |
CN115655310B true CN115655310B (zh) | 2024-04-05 |
Family
ID=84991975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211317086.1A Active CN115655310B (zh) | 2022-10-26 | 2022-10-26 | 数据的校准方法、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115655310B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076888B (zh) * | 2023-08-29 | 2024-06-11 | 淮阴工学院 | 一种开关柜采集数据的预处理存储方法 |
CN117630414B (zh) * | 2024-01-25 | 2024-05-24 | 荣耀终端有限公司 | 加速度传感器校准方法、折叠式电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106033131A (zh) * | 2015-03-20 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种地磁传感器校准方法、装置及智能设备 |
CN106293006A (zh) * | 2016-08-12 | 2017-01-04 | 广东欧珀移动通信有限公司 | 运行磁传感器校准算法库的方法、装置及移动终端 |
CN107003144A (zh) * | 2014-11-11 | 2017-08-01 | 英特尔公司 | 基于扩展卡尔曼滤波器的自动磁强计校准 |
CN107202572A (zh) * | 2017-07-21 | 2017-09-26 | 深圳市泰衡诺科技有限公司上海分公司 | 电子罗盘的校准方法、电子罗盘及电子设备 |
CN111433562A (zh) * | 2017-12-27 | 2020-07-17 | 深圳市柔宇科技有限公司 | 磁力计的校准方法及相关设备 |
CN112525224A (zh) * | 2020-12-23 | 2021-03-19 | 北京小米移动软件有限公司 | 磁场校准方法、磁场校准装置及存储介质 |
CN114719846A (zh) * | 2020-12-28 | 2022-07-08 | 意法半导体公司 | 用于使用陀螺仪的快速磁力计校准的***和方法 |
CN114964214A (zh) * | 2022-07-27 | 2022-08-30 | 立得空间信息技术股份有限公司 | 一种航姿参考***的扩展卡尔曼滤波姿态解算方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102305093B1 (ko) * | 2015-02-26 | 2021-09-28 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 자이로 센서 칼리브레이션 방법 |
-
2022
- 2022-10-26 CN CN202211317086.1A patent/CN115655310B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003144A (zh) * | 2014-11-11 | 2017-08-01 | 英特尔公司 | 基于扩展卡尔曼滤波器的自动磁强计校准 |
CN106033131A (zh) * | 2015-03-20 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种地磁传感器校准方法、装置及智能设备 |
CN106293006A (zh) * | 2016-08-12 | 2017-01-04 | 广东欧珀移动通信有限公司 | 运行磁传感器校准算法库的方法、装置及移动终端 |
CN107202572A (zh) * | 2017-07-21 | 2017-09-26 | 深圳市泰衡诺科技有限公司上海分公司 | 电子罗盘的校准方法、电子罗盘及电子设备 |
CN111433562A (zh) * | 2017-12-27 | 2020-07-17 | 深圳市柔宇科技有限公司 | 磁力计的校准方法及相关设备 |
CN112525224A (zh) * | 2020-12-23 | 2021-03-19 | 北京小米移动软件有限公司 | 磁场校准方法、磁场校准装置及存储介质 |
CN114719846A (zh) * | 2020-12-28 | 2022-07-08 | 意法半导体公司 | 用于使用陀螺仪的快速磁力计校准的***和方法 |
CN114964214A (zh) * | 2022-07-27 | 2022-08-30 | 立得空间信息技术股份有限公司 | 一种航姿参考***的扩展卡尔曼滤波姿态解算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115655310A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115866121B (zh) | 应用界面交互方法、电子设备和计算机可读存储介质 | |
CN113434288B (zh) | 内存管理的方法及电子设备 | |
CN115655310B (zh) | 数据的校准方法、电子设备及可读存储介质 | |
CN115348350B (zh) | 一种信息显示方法及电子设备 | |
US20150066424A1 (en) | Electronic device and method for measuring position change | |
CN112817634B (zh) | Cota包下载方法及装置 | |
CN116070035B (zh) | 数据处理方法和电子设备 | |
WO2020029146A1 (zh) | 一种获取用户运动轨迹的方法及终端 | |
WO2022121445A1 (zh) | 添加widget的方法、装置及计算机可读存储介质 | |
CN114741256B (zh) | 传感器监听方法、装置及终端设备 | |
KR20150026257A (ko) | 액세서리의 정보를 업 데이트하는 전자 장치 및 방법 | |
CN116483734B (zh) | 一种基于编译器的插桩方法、***及相关电子设备 | |
CN113224804B (zh) | 一种充电控制方法及电子设备 | |
CN111797017A (zh) | 存储日志的方法、装置、测试设备及存储介质 | |
CN113790732B (zh) | 位置信息的生成方法及装置 | |
CN116048350A (zh) | 一种截屏方法及电子设备 | |
CN117009005A (zh) | 一种显示方法、汽车和电子设备 | |
CN113467821A (zh) | 应用程序的修复方法、装置、设备及可读存储介质 | |
CN116668951B (zh) | 一种生成地理围栏的方法、电子设备及存储介质 | |
CN116088955B (zh) | 进程处理方法和终端设备 | |
CN114996078B (zh) | dex文件的编译控制方法及装置 | |
CN116033333B (zh) | 确定位置信息的方法、电子设备及可读存储介质 | |
CN117215446B (zh) | 一种显示方法及电子设备 | |
CN116048236B (zh) | 通信方法及相关装置 | |
CN117473578A (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 |