2014-04-14 3 views
0

우선 신호 처리의 전문가는 아니지만 아주 기본적인 사항을 알고 있습니다. 이 질문이 의미가 없으면 사과드립니다.정의 된 주파수 대역에 대한 FFT 스펙트럼 분석의 기술적 의미

기본적으로 사용자 정의 이산 주파수 대역의 특정 세트에 대해 스펙트럼 분석을 실행할 수 있기를 원합니다. 이상적으로 나는 약 50-100 개의 다른 밴드를 동시에 캡처하고 싶습니다. 예 : 80 키 그랜드 피아노의 각 건반의 주파수입니다.

또한 나는 아마도 약 200 개의 코어를 가진 CUDA 환경 (Jetson TK1)에서 이것을 실행할 계획이라고 언급해야한다.

내 질문 : 원하는 결과를 얻기 위해 충분한 획득 시간, 샘플 속도, 샘플링 빈도 등을 사용해야합니까? 10000 샘플과 같이 미친 높은 수를 선택하고 싶지는 않으므로 원하는 밴드 내에서 스펙트럼 라인을 얻는 동안 샘플 수를 최소화하는 트릭이 있습니까?

감사합니다.

+0

모든 관련 주파수를 고유하게 식별 할 수 있도록 해상도가 충분히 높은 경우 FFT를 사용해야합니다. 이는 음표 간의 주파수 차이가 가장 작은 피아노 음계의 가장 낮은 음표에서 가장 힘듭니다. –

+0

어쩌면 내가 문제를 100 가지 파트 (주파수 밴드)로 나누고 각 파트를 병렬로 실행할 수 있기를 바랬습니까? 1 또는 2 밴드의 해상도 대 100 개의 FFT의 성능 차이와 100 밴드의 1 FFT는 무엇입니까? –

+0

음, 각 옥타브마다 다운 샘플링/데시 메이트라고하는 스키마를 구현할 수는 있지만, 복잡성이 많이 발생하며 일반적으로 성능 측면에서는 아무 것도 사지 않습니다. 더 높은 주파수에서 더 나은 시간 분해능을 제공합니다. FFT는 매우 최적화되어 있기 때문에 하나의 큰 FFT 만 사용하면됩니다. –

답변

2

FFT 결과는 초기화, 샘플 속도, 길이 및 신호 입력에만 의존하지 않습니다. 하나의 주파수 결과 만 원한다면 전체 FFT를 사용할 필요가 없습니다. 각 주파수 대역에 대한 대역 통과 필터 (코어 당 1 개)는 해당 주파수에 대해 요구되는 대역폭 및 응답에 대해 각 필터를 사용자 정의 할 수 있습니다.

또한 음악의 경우, 음조 피치가 스펙트럼 주파수 피크와 매우 다를 수 있습니다.

관련 문제