計步方法及終端設備的制作方法
【專利摘要】本發明提供一種計步方法及終端設備。計步方法包括:實時獲取終端設備的加速度值;確定加速度值中的極大值和極小值;當相鄰極大值和極小值之差大于加速度閾值時,對兩個相鄰極大值或兩個相鄰極小值之間的加速度值進行頻域變換,獲得兩個相鄰極大值或兩個相鄰極小值對應時間內的步行頻率;如果前述對應時間內的步行頻率大于預設頻率閾值,則確定持有終端設備的用戶在前述對應時間內移動一步,將步數加1。本發明技術方案可以降低計步時發生誤判的概率,提高計步精度。
【專利說明】計步方法及終端設備 【【技術領域】】
[0001] 本發明涉及分析及測量控制【技術領域】,尤其涉及一種計步方法及終端設備。 【【背景技術】】
[0002] 隨著科學技術的發展以及微機電系統(Micro-Electro-Mechanical System, MEMS)慣性傳感器的普及,計步器、手機、智能手表等越來越多的電子設備擁有了陀螺和加 速度計,因此可以幫助用戶統計收集運動信息,分析用戶的運行狀態。
[0003] 現有計步方法大多是通過加速度計采集用戶的加速度值,找到加速度的波峰和波 谷,將相鄰波峰和波谷之差與預設的閾值進行比較,根據比較結果判斷用戶是否發生移步。 該方法中使用的閾值的設定受較多因素,例如人的運動特征、加速度計的影響,這樣該方法 僅適用于用戶勻速運動的場景,對于走走停停等非勻速運動的場景很容易發生誤判,導致 計步精度下降。 【
【發明內容】
】
[0004] 本發明的多個方面提供一種計步方法及終端設備,用以降低計步時發生誤判的概 率,提1?計步精度。
[0005] 本發明的一方面,提供一種計步方法,包括:
[0006] 實時獲取終端設備的加速度值;
[0007] 確定所述加速度值中的極大值和極小值;
[0008] 當相鄰極大值和極小值之差大于加速度閾值時,對包括所述相鄰極大值和極小值 中的極大值的兩個相鄰極大值或包括所述相鄰極大值和極小值中的極小值的兩個相鄰極 小值之間的加速度值進行頻域變換,獲得所述兩個相鄰極大值或兩個相鄰極小值對應時間 內的步行頻率;
[0009] 如果所述兩個相鄰極大值或兩個相鄰極小值對應時間內的步行頻率大于預設頻 率閾值,則確定持有所述終端設備的用戶在所述兩個相鄰極大值或兩個相鄰極小值對應時 間內移動一步,將步數加1。
[0010] 本發明的另一方面,提供一種終端設備,包括:
[0011] 第一獲取模塊,用于實時獲取所述終端設備的加速度值;
[0012] 第一確定模塊,用于確定所述加速度值中的極大值和極小值;
[0013] 第二獲取模塊,用于在相鄰極大值和極小值之差大于加速度閾值時,對包括所述 相鄰極大值和極小值中的極大值的兩個相鄰極大值或包括所述相鄰極大值和極小值中的 極小值的兩個相鄰極小值之間的加速度值進行頻域變換,獲得所述兩個相鄰極大值或兩個 相鄰極小值對應時間內的步行頻率;
[0014] 第二確定模塊,用于在所述兩個相鄰極大值或兩個相鄰極小值對應時間內的步行 頻率大于預設頻率閾值時,確定持有所述終端設備的用戶在所述兩個相鄰極大值或兩個相 鄰極小值對應時間內移動一步,將步數加1。
[0015] 在本發明技術方案中,實時獲取終端設備的加速度值,確定加速度值中的極大值 和極小值,將相鄰極大值和極小值之差與加速度閾值進行比較,此時并不是直接根據比較 結果確定用戶是否發生移步,而是繼續對包括上述參與比較的極大值的兩個相鄰極大值或 包括上述參與比較的極小值的兩個相鄰極小值之間的加速度值進行頻域變換,獲得兩個相 鄰極大值或兩個相鄰極小值對應時間內的步行頻率,進一步從頻域進行判斷,只有在步行 頻率大于預設頻率閾值時,才確定持有終端設備的用戶在兩個相鄰極大值或兩個相鄰極小 值對應時間內移動一步,將步數加1,由于同時基于時域和頻域特征進行計步分析,因此有 利于降低計步時發生誤判的概率,提高計步精度。 【【專利附圖】
【附圖說明】】
[0016] 為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述 中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實 施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附 圖獲得其他的附圖。
[0017] 圖1為本發明一實施例提供的計步方法的流程示意圖;
[0018] 圖2為本發明另一實施例提供的計步方法的流程示意圖;
[0019] 圖3為本發明又一實施例提供的計步方法的流程示意圖;
[0020] 圖4為本發明一實施例提供的終端設備的結構示意圖;
[0021] 圖5為本發明另一實施例提供的終端設備的結構示意圖。 【【具體實施方式】】
[0022] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0023] 圖1為本發明一實施例提供的計步方法的流程示意圖。如圖1所示,該方法包括:
[0024] 101、實時獲取終端設備的加速度值。
[0025] 本實施例的執行主體可以是任何內置有慣性傳感器的終端設備,該終端設備通常 被用戶隨身攜帶,以便通過該終端設備對用戶進行計步。舉例說明,終端設備可以是手機、 智能手表、計步器或iPad等等。終端設備內的慣性傳感器可以是任何可以測量終端設備的 加速度的器件,例如可以是加速度計。
[0026] 具體的,終端設備內的慣性傳感器會測量終端設備的運動信息,這里的運動信息 主要是指終端設備的加速度值。終端設備內用于進行計步的部件,例如控制器,可以從慣性 傳感器實時獲取終端設備的加速度值。
[0027] 102、確定上述加速度值中的極大值和極小值。
[0028] 在該步驟中,終端設備使用加速度值的絕對值來確定極大值和極小值。也就是說, 這里的極大值和極小值都是指加速度值的絕對值。具體的,終端設備可以按照以下方式計 算加速度值中的極大值和極小值,即如果> ak且ak+1 > ak,則確定k時刻的加速度值是 極小值;如果且a1+1 < ,則確定1時刻的加速度值是極大值。其中,a表示加速度 值的絕對值,a的下角標表示加速度值對應的時刻,舉例說明,ag是k-1時刻的加速度值, ak是k時刻的加速度值,是1-1時刻的加速度值,a1+1是1+1時刻的加速度值,等等。
[0029] 值得說明的是,在步驟102中確定出的極大值和極小值可以是多個。
[0030] 103、當相鄰極大值和極小值之差大于加速度閾值時,對包括該相鄰極大值和極小 值中的極大值的兩個相鄰極大值或包括該相鄰極大值和極小值中的極小值的兩個相鄰極 小值之間的加速度值進行頻域變換,獲得兩個相鄰極大值或兩個相鄰極小值對應時間內的 步行頻率。
[0031] 在確定上述加速度值中的極大值和極小值之后,將相鄰極大值和極小值之差與加 速度閾值進行比較,根據比較結果初步判斷持有終端設備的用戶在該包括這里涉及的"相 鄰極大值和極小值"中的極大值的兩個相鄰極大值或包括這里涉及的"相鄰極大值和極小 值"中的極小值的兩個相鄰極小值對應時間內是否可能發生移步。該判斷主要是從時域角 度進行的初步判斷。
[0032] 在此說明,包括上述"相鄰極大值和極小值"中的極大值的兩個相鄰極大值是指上 述"相鄰極大值和極小值"中的極大值,以及與上述"相鄰極大值和極小值"中的極大值相 鄰的另一個極大值。為便于描述,本實施例以下將包括上述"相鄰極大值和極小值"中的極 大值的兩個相鄰極大值,簡稱為兩個相鄰極大值。
[0033] 相應的,包括上述"相鄰極大值和極小值"中的極小值的兩個相鄰極小值是指上述 "相鄰極大值和極小值"中的極小值,以及與上述"相鄰極大值和極小值"中的極小值相鄰的 另一個極小值。為便于描述,本實施例以下將包括上述"相鄰極大值和極小值"中的極小值 的兩個相鄰極小值,簡稱為兩個相鄰極小值。
[0034] 舉例說明,上述步驟102中的和ak是相鄰的極大值和極小值,則將afak與加速 度閾值R進行比較,根據比較結果初步判斷持有終端設備的用戶在兩個相鄰極大值或兩個 相鄰極小值對應時間內是否可能發生移步。
[0035] 當判斷出相鄰極大值和極小值之差大于上述加速度閾值時,即ai-ak > R,說明持 有終端設備的用戶在兩個相鄰極大值或兩個相鄰極小值對應時間內可能發生移步;當判斷 出相鄰極大值和極小值之差不大于上述加速度閾值時,即h-ak < R,說明持有終端設備的 用戶在兩個相鄰極大值或兩個相鄰極小值對應時間內不可能發生移步。
[0036] 當持有終端設備的用戶在兩個相鄰極大值或兩個相鄰極小值對應時間內可能發 生移步時,終端設備進一步根據加速度值的頻域信息來從頻域來判斷持有終端設備的用戶 在上述兩個相鄰極大值或兩個相鄰極小值對應時間內是否會發生移步。具體的,終端設備 將上述兩個相鄰極大值或兩個相鄰極小值之間的加速度值進行頻域變換,獲得上述兩個相 鄰極大值或兩個相鄰極小值對應時間內的步行頻率。步行頻率是指對上述兩個相鄰極大值 或兩個相鄰極小值之間的加速度值進行頻域變換得到的頻域里的頻率。
[0037] 可選的,上述頻域變換可以是離散傅里葉變換(Discrete Fourier Transform, DFT),也可以使用小波變換等其他頻率提取信息,但不限于此。例如,可以根據公式
【權利要求】
1. 一種計步方法,其特征在于,包括: 實時獲取終端設備的加速度值; 確定所述加速度值中的極大值和極小值; 當相鄰極大值和極小值之差大于加速度閾值時,對包括所述相鄰極大值和極小值中的 極大值的兩個相鄰極大值或包括所述相鄰極大值和極小值中的極小值的兩個相鄰極小值 之間的加速度值進行頻域變換,獲得所述兩個相鄰極大值或兩個相鄰極小值對應時間內的 步行頻率; 如果所述兩個相鄰極大值或兩個相鄰極小值對應時間內的步行頻率大于預設頻率閾 值,則確定持有所述終端設備的用戶在所述兩個相鄰極大值或兩個相鄰極小值對應時間內 移動一步,將步數加1。
2. 根據權利要求1所述的方法,其特征在于,還包括: 如果所述兩個相鄰極大值或兩個相鄰極小值對應時間內的步行頻率不大于預設頻率 閾值,則確定所述用戶在所述兩個相鄰極大值或兩個相鄰極小值對應時間內沒有移動。
3. 根據權利要求1所述的方法,其特征在于,還包括: 計算第一時間內的加速度值的方差,將所述加速度閾值更新為所述方差,所述第一時 間是從第一時間點到當前時刻且長度等于第一指定時長的時間。
4. 根據權利要求1-3任一項所述的方法,其特征在于,所述確定持有所述終端設備的 用戶在所述兩個相鄰極大值或兩個相鄰極小值對應時間內移動一步之后,還包括: 對第二時間內的加速度值進行頻域變換,獲得所述第二時間內的步行頻率,根據所述 第二時間內的步行頻率計算所述用戶當前的步長,所述第二時間是從第二時間點到當前時 刻且長度等于第二指定時長的時間。
5. 根據權利要求4所述的方法,其特征在于,所述根據所述第二時間內的步行頻率計 算所述用戶當前的步長,包括: 根據公式λ = af+b,計算所述用戶當前的步長; 其中,λ為所述用戶當前的步長; f為所述第二時間內的步行頻率; a、b為經驗值。
6. -種終端設備,其特征在于,包括: 第一獲取模塊,用于實時獲取所述終端設備的加速度值; 第一確定模塊,用于確定所述加速度值中的極大值和極小值; 第二獲取模塊,用于在相鄰極大值和極小值之差大于加速度閾值時,對包括所述相鄰 極大值和極小值中的極大值的兩個相鄰極大值或包括所述相鄰極大值和極小值中的極小 值的兩個相鄰極小值之間的加速度值進行頻域變換,獲得所述兩個相鄰極大值或兩個相鄰 極小值對應時間內的步行頻率; 第二確定模塊,用于在所述兩個相鄰極大值或兩個相鄰極小值對應時間內的步行頻率 大于預設頻率閾值時,確定持有所述終端設備的用戶在所述兩個相鄰極大值或兩個相鄰極 小值對應時間內移動一步,將步數加1。
7. 根據權利要求6所述的終端設備,其特征在于,所述第二確定模塊還用于在所述兩 個相鄰極大值或兩個相鄰極小值對應時間內的步行頻率不大于預設頻率閾值時,確定所述 用戶在所述兩個相鄰極大值或兩個相鄰極小值對應時間內沒有移動。
8. 根據權利要求6所述的終端設備,其特征在于,還包括: 第一計算模塊,用于計算第一時間內的加速度值的方差,所述第一時間是從第一時間 點到當前時刻且長度等于第一指定時長的時間; 更新模塊,用于將所述加速度閾值更新為所述方差。
9. 根據權利要求6-8任一項所述的終端設備,其特征在于,還包括: 第三獲取模塊,用于對第二時間內的加速度值進行頻域變換,獲得所述第二時間內的 步行頻率,所述第二時間是從第二時間點到當前時刻且長度等于第二指定時長的時間; 第二計算模塊,用于根據所述第二時間內的步行頻率計算所述用戶當前的步長。
10. 根據權利要求9所述的終端設備,其特征在于,所述第二計算模塊具體用于根據公 式λ = af+b,計算所述用戶當前的步長; 其中,λ為所述用戶當前的步長; f為所述第二時間內的步行頻率; a、b為經驗值。
【文檔編號】G01C22/00GK104089624SQ201410344625
【公開日】2014年10月8日 申請日期:2014年7月18日 優先權日:2014年7月18日
【發明者】趙佳 申請人:趙佳