2011-01-26 6 views
0

좋아요, 질문이 모호하여 일부 컨텍스트를 제공 할 것입니다. 아마도 컨텍스트 관련 답변을 받게 될 것입니다.Android 기기에서 피치 추적 알고리즘의 성능을 안정적으로 평가하려면 어떻게해야합니까?

저는 BSc 컴퓨터 과학 (수학) 학위의 일부로 마지막 프로젝트를 진행하고 있습니다. 제가 선택한 프로젝트는 모바일 장치에서 실행되는 피치 추적 알고리즘을 평가하는 프로젝트입니다. Android 기반 기기에서 구현할 수있는 몇 가지 표준 알고리즘이 있습니다.

성능, 신뢰성 및 정확도에 대한 주파수 견적서를 평가할 것이므로 관련 양적 측정을해야합니다.

내 관심사는 내 결론이이 알고리즘을 직접 구현 한 것과 관련이 있다는 것입니다. 내가 도입 한 비효율을 감지하거나 최소화하는 방법은 무엇입니까?

또한 모바일 장치의 수학적 계산과 관련하여 일반적으로 알고 있어야하는 성능 문제가 있습니까? 부동 소수점 값이 프로세서에서 항상 지원되는 것은 아니기 때문에 정수 계산이 선호되는 것을 읽었습니까?

몇 가지 관련 질문을 읽고 표준 알고리즘으로 책을 가리키고 있지만, 많은 피치 추적 알고리즘이 학술지에 설명으로 만 존재하는 경우에는 그렇게 쉽지 않습니다.

나는 또한 performace 평가 소프트웨어를 지향하지만 특정 응용 프로그램의 방향으로는 아닙니다. 인기있는 선택이 있습니까?

답변

1

비효율적 인 것을 탐지하고 최소화하는 것과 관련하여 다른 시스템 유형의 피치 추적 알고리즘에 대한 평가가 있습니까? 아마도 평가를 평가할 때 참조로 사용할 수 있습니다 (말하자면). 즉, 구현에서 명백한 편향을 도입하는지 확인할 수있는 몇 가지 기본 문제가있을 수 있습니다.

일부 (대부분?) 장치에는 부동 소수점 프로세서가 없으므로 정수 또는 고정 소수점 연산을 사용하는 것이 좋습니다. (부동 소수점 계산은 해당 플랫폼의 소프트웨어에서 수행됩니다.) 물론 부동 소수점과 그렇지 않은 부동 소수점 사이의 절충점을 조사하는 것도 공정합니다. 동일한 알고리즘을 두 가지 방법으로 구현할 수도 있습니다. 단지이 문제를 연구하는 것입니다.

일반 성능 평가 소프트웨어는 귀하의 과제에 적합 할 수도 있고 아닐 수도 있습니다. 특정 측정 기준에서 "성능, 신뢰성 및 정확성"이 무엇을 의미하는지 정확하게 정의해야합니다. 그런 다음 해당 측정 항목을 측정하거나 추정하기위한 구현 도구를 마련하는 가장 좋은 방법에 대해 물어볼 수 있습니다.

+0

정수/부동 소수점 상충 관계를 조사하는 아이디어는 흥미로운 전망이지만, 테스트 할 하드웨어가 충분하지 않다고 생각합니다. 그러나 나는 그렇게하는 것이 여전히 가치 있다고 생각한다. 물론 레퍼런스 구현에 대해 궁금합니다. 내 i7 시스템에서 전혀 문제없이 실행되는 많은 것들이 있지만 레이턴시는 쉽게 비교할 수 있습니까? 나는 내가 휴대 전화처럼 PC에서 동일한 대기 시간 비율을보고 싶어 할 것이라고 확신하지 못한다. 내가 사용하고있는 프로세서에 대한 작업의 "비용"을 고려해야합니다. –

+0

사실, 나는 레퍼런스 구현을 위해 약간 다른 용도를 염두에 두었다. 알고리즘 A와 B가 기존의 테스트 스위트에 따라 대략적으로 같지만 구현에 A가 상당히 뛰어나다면 B의 구현을 망쳤다는 가능성을 탐색해야한다고 제안 할 것입니다. (물론, 항상 가능성이 있습니다. 기존의 테스트 스위트가 A를 망쳤다는 것을 알 수있었습니다.) 대기 시간과 같은 상황에서 고정 비율과 성능에 비례하는 구성 요소가있을 때 비율이 위험 할 수 있습니다. –