가속도계 데이터를 볼 때 발생하는 두 가지 제스처를 감지해야합니다. 다음은 요약입니다 (가능한 한 간단하게).
얼굴이 위로 향한 상태에서 iPhone이 앞뒤로 진동하고 있다고 가정 해 봅시다. 사용자는 한 번의 진동 (한 번 앞으로 또는 뒤로, 제스처 하나) 또는 임의의 시간 동안 연속적인 진동 (제스처 2)을 수행 할 수 있습니다.
현재 내 코드는 마지막 50 프레임에서 장치의 가속도계 데이터 (y 축) 목록을 유지 관리합니다. 이 데이터가 FFT 알고리즘을 통해 각 프레임 (이 http://goo.gl/yi3mn )에 주어진 다음 주어진 주파수 도메인을 해석하려고합니다. 진동 속도와 주파수 공간의 중간 범위에서 낮은 범위의 전력 사이에 강한 관계가 있음을 알았습니다.
문제는 방금 완성 된 진동이 단수인지 또는 반대 방향으로 다른 진동을 계속하는지 여부를 실시간으로 감지해야한다는 것입니다. 여기서 가속도계는 압력판과 함께 작동합니다. 발진이 멈 추면 입력 데이터는 발진이 수행 될 때와 반대의 값을 보여줍니다. 이로 인해 단일 순방향 이동과 이중 순방향 이동 및 역방향 순방향 이동 (각 첫 번째 진동이 끝날 때) 간의 명백한 차이를보기가 어렵습니다.
누구든지 FFT를 사용하여 위에서 설명한 제스처 간의 차이를 알려주는 데 사용할 수있는 정확한 크기 값 (또는 다른 유용한 값)을 해독하는 방법을 제안 할 수 있습니까?
텍스트 파일에 사용중인 데이터를 기록했습니다. 가속도계 입력의 y 축에 따른 원시 데이터 (g-force 값)입니다.
http://pastebin.ca/2108123 은 두 개의 단일 진동에 대한 데이터를 보여줍니다 (시작, 끝 및 두 진동 사이에 장치를 고정시킵니다).
참고 : 진동이 20 개인 새로운 원시 데이터가 업로드되었지만 아직 플롯되지 않았습니다. http://pastebin.ca/2108387 은 20 개의 연속 진동에 대한 데이터를 보여줍니다 (시작과 끝에서 장치를 계속 유지합니다).