FFT를 사용하여 가속도계 제스처를 해석 할 수 있습니까?


10

가속도계 데이터를 볼 때 발생하는 두 가지 제스처를 감지해야합니다. 다음은 요약입니다 (가능한 한 간단하게).

얼굴이 위로 향한 상태에서 iPhone이 앞뒤로 진동하고 있다고 가정 해 봅시다. 사용자는 한 번의 진동 (한 번 앞으로 또는 뒤로, 제스처 하나) 또는 임의의 시간 동안 연속적인 진동 (제스처 2)을 수행 할 수 있습니다.

현재 내 코드는 마지막 50 프레임에서 장치의 가속도계 데이터 (y 축) 목록을 유지 관리합니다. 이 데이터가 FFT 알고리즘을 통해 각 프레임 (이 http://goo.gl/yi3mn )에 주어진 다음 주어진 주파수 도메인을 해석하려고합니다. 진동 속도와 주파수 공간의 중간 범위에서 낮은 범위의 전력 사이에 강한 관계가 있음을 알았습니다.

문제는 방금 완성 된 진동이 단수인지 또는 반대 방향으로 다른 진동을 계속하는지 여부를 실시간으로 감지해야한다는 것입니다. 여기서 가속도계는 압력판과 함께 작동합니다. 발진이 멈 추면 입력 데이터는 발진이 수행 될 때와 반대의 값을 보여줍니다. 이로 인해 단일 순방향 이동과 이중 순방향 이동 및 역방향 순방향 이동 (각 첫 번째 진동이 끝날 때) 간의 명백한 차이를보기가 어렵습니다.

누구든지 FFT를 사용하여 위에서 설명한 제스처 간의 차이를 알려주는 데 사용할 수있는 정확한 크기 값 (또는 다른 유용한 값)을 해독하는 방법을 제안 할 수 있습니까?

텍스트 파일에 사용중인 데이터를 기록했습니다. 가속도계 입력의 y 축에 따른 원시 데이터 (g-force 값)입니다.

http://pastebin.ca/2108123 은 두 개의 단일 진동에 대한 데이터를 보여줍니다 (시작, 끝 및 두 진동 사이에 장치를 고정시킵니다).

여기에 이미지 설명을 입력하십시오

참고 : 진동이 20 개인 새로운 원시 데이터가 업로드되었지만 아직 플롯되지 않았습니다. http://pastebin.ca/2108387 은 20 개의 연속 진동에 대한 데이터를 보여줍니다 (시작과 끝에서 장치를 계속 유지합니다).

여기에 이미지 설명을 입력하십시오


데이터를 직접 보지 못했지만 첫 인상은 이것이 FFT에 대한 좋은 응용 프로그램이 아닌 것 같습니다. 원시 형식 또는 플롯으로 게시 할 수있는 캡처 된 데이터가 있습니까?
Jason R

안녕, 피드백 감사합니다. ','구분 기호를 사용하여 각 값을 시간순으로 표시하는 파일 만 허용됩니까? 초당 약 60 개의 값을 얻습니다. 나는 이것이 좋은 응용 프로그램이 아닐 수도 있다고 생각합니다. 아마도 우리는 일부 데이터로 작업을 수행 할 수 있습니다.
rykardo

2
원시 데이터를 게시하면 누군가가 데이터를 플롯으로 변환하여 게시물을 편집 할 수 있습니다.
Jason R

큰 확인. 곧 업로드합니다.
rykardo

예상보다 오래 걸렸습니다. Unity에서 프로젝트를 실행 중이며 초당 60 프레임으로 장치에서 입력 데이터 만 수신 할 수 있습니다. 이것은 높은 샘플링 속도를 가질 수는 없지만 그럼에도 불구하고 의미합니다. 이것이 당신이 제안한 의미입니까?
rykardo

답변:


2

데이터를 보면이 목적으로 FFT를 사용하려는 이유를 알 수 없습니다 (잘못되었을 수도 있습니다). 이 데이터 세트 (첨부 한)를 기반으로 단일 또는 다중 움직임을 감지하고 싶다고 가정 해 보겠습니다.

  1. 절대 값의 변화율에 관한 것. 첫 번째 파생 상품은 잘 추측 할 것입니다.
  2. 웨이블릿 변환? 피크의 위치를 ​​알고 싶은지 아닌지 알 때까지 유틸리티에 대해 더 자세히 설명 할 수 없습니다.

당신이 감지하려는 유일한 것이 단일 진동 대 다중 진동이라면 FFT는 분석을위한 좋은 선택이 아닙니다.


피드백을 주셔서 감사합니다! 친구는 FFT가 갈 길이라고 제안했습니다. 내가 감지해야 할 것은 각 진동이 끝날 때마다 새로운 진동이 시작되는지 여부입니다. 위의 그림은 왜 어려운지 보여줍니다. 나는 크기 알고리즘을 사용할 수 있다고 생각했지만 진동의 힘 / 속도가 사용자마다 다르기 때문에 까다 롭습니다.
rykardo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.