2013-10-20 2 views
1

나는 아주 간단한 안드로이드 보수계를 만들려고 노력하고있다. 그러나 지금까지 그것은 매우 나쁘게 실패하고있다. 나는 여기 저기에 인터넷에 조언을하고 있지만 아무 것도 작동하지 않는 것 같다.보수계 구현 : 지역 최고점을 찾는 방법?

기본적으로 가속도 센서를 설정하고 x, y 및 z 축의 값을 가져옵니다. 그 후 나는 기본적으로 원점으로부터의 거리를 계산합니다 : d = sqrt (x² + y² + z²) 다음에 이동 평균을 계산합니다. 내 생각은 내가 한 발자국으로 간주해야 할 지역 봉우리를 발견 할 때마다였다. 문제는, 단계를 계산하기 위해 로컬 피크를 바로 찾는 방법을 모른다. 미안하지만이 문제가 간단한 문제인 것 같으면 여기에서 어떻게 진행해야할지 모르겠습니다.

대단히 감사합니다.

답변

1

나는 이것을 구현하려했는데, 당신이 취하는 접근법은 상당한 측정 오류가있을 수 있습니다. 그냥 받아 들여야합니다. 그 이유는 다음과 같습니다

  • 전화는
  • 전화 가속기가 의학적으로 정확하지 않은 바지 '주머니뿐만 아니라, 어떤 위치에있을 수 있습니다, 그들은 공간
  • 정확히 같은 위치 주어진 벗어나 "흐름"수
  • 이동 평균이 작업을 수행 할 수있는 가장 잘 알려진 기법 아니라, 더 나은 사람은
  • 이 있습니다
  • 하나 (내가 정확히 기억 경우) 단계는이 지역의 최대 값과이 개 지역의 최소를 가지고 일부 파도의 종류와 웨이블릿 분석을 사용 세계적으로 받아 들여지는 "단계"에 대한 엄격한 정의가 없다. 생리학, 측정 및 귀하의 질문에

이제 연구 분야에 사용되는 다양한 기술 :

  • 플롯 당신이 축 세의 신호가이 극적으로 당신을 도울 것입니다 (시간 대 신호)
  • 고정 된 (또는 약간 움직이는) 크기의 창을 정의하면 더 천천히 걷거나 달리거나 장애가있는 사람을 감지하는 이동 창이 필요합니다.
  • 새로운 측정을 할 때마다 (보통의 주파수는 약 20-30Hz), 창문의 꼬리 부분에 하나 넣어 (신호 측정 대기열) 그리고 머리에서 하나 튀어 나와. 모든 형학이 물건을 다시 계산하고 결정을위한 창이 하나가 포함되어있는 경우이 방법으로 당신은 항상 (또는 2를!)
  • 다시 최소를 마지막 N 측정과 큐를하고 단계

좋은으로 계산 운!

+0

먼저 도움을 주셔서 대단히 감사합니다. 미안하지만, 어리석은 짓 일지 모르지만 저는 이해가 안됩니다 ... 그래서 기본적으로 먼저 세 축에서 신호를 출력 한 다음 위에서 설명한 계산? – theJuls

+0

신호를 플로팅하면 편리하게 데이터를 볼 수 있습니다. 나는 내 대답을 [여기] (http://stackoverflow.com/a/11241452/706456) 밖으로 파고 그 질문을 둘러보십시오. 명확하게하기 : 계산은 플로팅과 독립적입니다. 신호를 이해하기 위해서는 한 번만 계획하십시오. 계산은 일반적으로 신호의 작은 부분, 예를 들어 3 초 간격으로 수행됩니다. 세그먼트가 이동하고 있습니다. 즉, 최신 가속도계 측정 값을 얻으면 세그먼트에서 가장 오래된 측정 값을 먼저 제거하고 최근 측정 값을 추가합니다. 그러므로 당신은 항상 마지막 3 초를 유지합니다. – oleksii