2012-04-14 3 views
2

Emotiv 지원팀과 커뮤니티에서 내 질문에 대한 답변을 얻으려고했지만 누구도 응답하지 않으므로 일부 사용자가 Emotiv API를 사용하고 있을지도 모른다고 생각했습니다.Emotiv Epoc 데이터 수집

원시 데이터 수집 프로세스의 작동 방식을 파악하는 데 어려움을 겪고 있습니다. Emotiv 헤드셋으로 EEG 원시 데이터 수집에 대해 알 수있는 모든 주제를 읽었지만 도움이되지 않았습니다.

여기 내 질문은 :

  • 는이 채널 당 1 개 샘플을 얻기 위해 어떻게 든 수 있습니까?

내 응용 프로그램에는 정확히 1ms마다 호출하는 타이머 기능이 있습니다. 그리고 버퍼에 채널당 1 개의 샘플이 포함되어 있다면 다른 함수를 호출하려고합니다.

  • EE_DataUpdateHandle() 함수는 호출시 검색된 모든 샘플을 덤프합니까?

나는 버퍼는 채널 당 1 샘플이 포함되어 있지만 EE_DataGetNumberOfSample() 함수는 결코 한 샘플을 반환하지 않는 경우 다른 함수를 호출하기 위해 EE_DataGetNumberOfSample() 함수를 폴링. 이것은 EE_DataUpdateHandle()이 호출되면 다른 모든 샘플을 덤프하기 때문입니까? EE_DataUpdatedHandle() 함수가 호출되면 새로운 데이터를 가리키고 있다고 생각하십니까? 이전에 수집 된 모든 데이터에 더 이상 액세스 할 수 없다는 의미입니까? 채널 당 1 샘플을 검색 할 준비가되었을 때 EDK_OK를 반환하는 함수가 없습니까? 타이머 기능에서 모든 ms를 폴링 할 수 있으며 EDK_OK를 반환하면 EE_DataGet을 호출하고 채널 당 1 샘플을 반환합니다.

  • 나는 당신이()는 그냥 검색하기 위해 내 타이머 기능 1/128초에서 계산 가능하다고 생각 않는 EE_DataUpdateHandle를 호출하기 전에 채워진 버퍼를 얻기 위해 SL의 EEP()를 사용하는 것이 좋습니다 읽었 채널 당 샘플 1 개? 나는 이것을 수행하는 방법을 정말로 모르겠다 ... 약 7.8 ms 후 버퍼 당 채널 당 1 샘플이 있어야한다? 타이머 기능이 매 1ms마다 호출되므로 EE_DataGet 함수를 8ms마다 호출하면 어떻게됩니까?

좋아, 내 문제를 해결하는 방법에 대한 제안을 얻을 수 있기를 바랍니다.

건배, 도미니크

답변

1

OpenVibe는 오픈 소스이며 확인할 수 있습니다 이모 티브 드라이버와 함께 제공됩니다.

0

emotiv가 프로그래밍 모델을 변경하지 않는 한 한 채널에서 단 하나의 샘플 만 얻을 수 없다고 생각합니다.

현재 emotiv API 라이브러리는 헤드셋에서 데이터를 수집하여 데이터 버퍼에 저장하는 것으로 보이지만 클라이언트 응용 프로그램은 EE_DataGet을 사용하여 버퍼의 데이터 만 폴링 할 수 있습니다.

아마도 버퍼는 emotiv 라이브러리에 의해 하나의 데이터 입력으로 채워지지 않을 것입니다. 그렇지 않은 경우 가능한 한 빨리 (데이터 수집보다 빠름) 폴링을 시도하여 EE_DataGet으로 단 하나의 샘플 만 얻을 수 있는지 확인한 다음 EE_DataUpdateHandle을 호출하여 새 샘플의 버퍼를 정리하십시오.