Goertzel 알고리즘을 사용하면 실제로 더 나은 주파수 해상도를 제공합니까?


19

나는이 기사를 읽고 있으며, Goertzel 알고리즘에 관한 저자의 '주파수 분해능'의 자유주의 사용에 약간 혼란스러워하고 있습니다.

기본 질문 : Goertzel 알고리즘을 사용하면 실제로 특정 관심 대역에 대해 더 많은 주파수 분해능을 제공 합니까 , 아니면 특정 관심 대역에 대해서만 FFT를 효율적으로 계산하지만 샘플링 주파수를 숫자로 나눈 동일한 주파수 분해능으로 효율적으로 계산합니까? 샘플

예를 들어, 가 100 KHz (고정)이고 데이터 샘플 N 의 수가 10000이라고 가정합니다 (고정). 내가 FFT 길이도 일반 FFT, 계산하면 N을 내 주파수 해상도는 F 에프에스에프에스 은 예상대로 10Hz와 같습니다. 이것은 내 쓰레기통이 -50,000 Hz에서 50,000 Hz까지 10 Hz로 분리되어 있음을 의미합니다.

이제 Geortzel 알고리즘을 사용하여 20,000-21,000 Hz 범위의 주파수 만보고 싶다고 가정하겠습니다. 샘플 수에 동일한 을 사용하고 FFT 크기에 동일한 N 을 사용하면 주파수 분해능은 어떻게됩니까? 여전히 10Hz? 아니면이며 21 , 000 - (20) , 000Hz에서?21,00020,00010000=0.1

나는 0에서 50,000까지의 주파수를 21,000에서 20,000으로 평가하기 위해 동일한 을 사용하여 메인 로브의 점을 보간하는 것만 큼 주파수 분해능을 실제로 높이 지 않는다고 생각 합니다.

이것이 올바른 이해입니까?

답변:


18

이해가 정확합니다.

Goertzel 알고리즘은 동일한 길이 또는 개수의 샘플 (및 FFT 트위들 인자가 삼각 재귀에 의해 생성되는 경우)에서 DFT 또는 FFT의 1 빈과 거의 동일한 결과를 제공합니다. Goertzel 길이. 그러나 많은 형태의 Goertzel 알고리즘은 복잡한 결과 나 FFT 1 bin 결과의 단계가 아닌 크기 만 제공합니다. 또한 계산 상 일반 Goertzel은 일반 FFT보다 수치 적으로 약간 안정적이지 않을 수 있습니다. 정수가 아닌 기간 내 조리개 주파수의 경우, 결과는 동일한 길이의 DFT 또는 FFT의 빈 사이의 sinc 보간과 같습니다 (FFT 결과의 일반적인 포물선 보간보다 보간이 약간 더 정확할 수 있음) ).

보간은 그래픽 의미 (더 많은 플롯 포인트)로 해상도를 증가 시키거나 정보 이론적 의미가 아니라 최대 값을 시각적으로 쉽게 파악할 수있게하거나 2 개의 근접한 스펙트럼 라인을 2 개의 개별 피크로 더 잘 분리 할 수 ​​있다고합니다.


3
두 번째 단락 : hotpaw2에 대해 잘 말했습니다. 이것이 많은 사람들을 혼란스럽게 생각합니다. 예, Goertzel Algo는 선택 서브 밴드를 통해 FFT를 계산하는 빠른 방법 인 것 같습니다. 내장 된 F- 도메인 보간도 발생합니다. FFT.
Spacey

1

난 당신이 언급 된 기사에 액세스 할 수 없습니다,하지만 난 당신이 찾을 수 있습니다 생각 이 하나의 매우 흥미로운합니다. 저자는 주어진 신호에서 기본 주파수의 정수가 아닌 배수 인 주파수에서 진폭과 위상을 찾는 데 사용할 수있는 Goertzel 알고리즘 버전을 제시했습니다. 그것은 그들의 알고리즘이 주파수 분해능을 향상 시킨다는 것을 의미합니다. 이 기사에는 수학 증명과 알고리즘 코드가 포함되어 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.