답변:
주파수 분해능은 FFT 길이와 입력 신호의 샘플링 속도 사이의 관계에 따라 다릅니다.
FFT를 위해 8192 개의 샘플을 수집하면 다음과 같은 결과를 얻게됩니다.
샘플링 속도가 10 kHz이면 Nyquist-Shannon 샘플링 정리에 따르면 신호에 최대 5 kHz의 주파수 내용이 포함될 수 있습니다. 주파수 빈 분해능은 다음과 같습니다.
빈 해상도는 단지 . 여기서 는 입력 신호의 샘플링 속도이고 N은 FFT 포인트의 수입니다. 사용됨 (샘플 길이).
위에서 FFT 빈을 더 작게 만들려면 FFT를 더 길게 (즉 , FFT를 실행하기 전에 동일한 속도로 더 많은 샘플 을 채취) 샘플링 속도를 줄일 수 있습니다.
캐치 :
시간 해상도와 주파수 해상도 사이에는 항상 상충 관계가 있습니다.
위의 예에서 FFT를 실행하기 전에 8192 개의 샘플을 수집해야합니다. 10kHz에서 샘플링 할 때 0.82 초가 걸립니다.
더 긴 FFT를 실행하여 더 작은 FFT 빈을 얻으려고하면 필요한 샘플을 수집하는 데 시간이 더 오래 걸립니다.
괜찮을 수도 있고 아닐 수도 있습니다. 중요한 점은 고정 샘플링 속도에서 주파수 분해능을 높이면 시간 분해능이 감소한다는 것입니다. 즉, 주파수 영역에서 측정이 정확할수록 시간 영역에서 정확도가 떨어집니다. FFT 길이 내의 모든 시간 정보를 효과적으로 잃게됩니다.
이 예에서, 1999 Hz 톤이 8192 샘플 FFT의 상반기에 시작되고 중지되고 2002 Hz 톤이 창의 하반기에 재생되면 둘 다 표시되지만 둘 다 동일하게 발생한 것으로 보입니다 시각.
처리 시간도 고려해야합니다. 8192 포인트 FFT는 적절한 처리 능력을 필요로합니다. 이 필요성을 줄이는 방법은 샘플링 속도를 줄이는 것인데, 이는 주파수 분해능을 높이는 두 번째 방법입니다.
귀하의 예에서 샘플링 속도를 4096Hz와 같이 떨어 뜨린 경우 1Hz 빈 * 4096Hz를 달성하기 위해 4096 포인트 FFT 만 필요하면 1Hz 빈을 달성하기 위해 4096 포인트 FFT 만 필요하며 여전히 2khz 신호. 이는 FFT 빈 크기를 줄이지 만 신호 대역폭도 줄입니다.
궁극적으로 FFT를 사용하면 항상 주파수 분해능과 시간 분해능간에 균형이 유지됩니다. 모든 목표에 도달하려면 약간의 균형 조정 작업을 수행해야합니다.
기본 FFT 해상도는 . 여기서 는 샘플링 주파수입니다.
매우 근접한 두 신호를 구별하는 기능은 상대 진폭과 사용 된 윈도 잉 기능에 따라 크게 달라집니다.
Baudline 신호 분석기를 사용하는 것이이 문제에 대한 직관을 개발하는 좋은 방법 이라는 것을 알 수 있습니다. 아니면 FFT를 실행하고 Matlab 또는 Python / Numpy에서 한 번에 하나의 스펙트럼을 플로팅하는 것은 실제로 동일하지 않습니다.
편집 : 입력을 0으로 채우고 더 큰 FFT를 취하는 트릭도 있습니다. 분화 능력을 향상 시키지는 않지만 스펙트럼을 더 읽기 쉽게 만들 수 있습니다. 기본적으로 벡터 그래픽의 앤티 앨리어싱과 유사한 트릭입니다.
FFT는 Sample [k] * SineRefWave [j] [k] 및 Sample [j] * CosRefWave [j의 여러 개별 쌍 쌍 (k = 0..sample_length-1)을 계산하는 대신 사용할 수 있습니다. ] [k], 모든 j에서 샘플 길이의 절반까지. 모든 주파수에서 진폭 판독 값이 필요한 경우, FFT는 O (NlgN) 시간에 모두이를 계산하는 반면, 개별적으로 계산하려면 O (N ^ 2) 시간이 걸립니다. 반면에, 몇 개의 주파수에서 진폭 판독 값 만 필요로하는 경우, 특히 개별 스타일 계산을 효율적으로 계산할 수있는 프로세서 또는 DSP를 사용하는 경우에는 개별적으로 계산하는 것이 더 좋습니다.
예를 들어 20ms 샘플링 윈도우가있는 FFT는 단일 1975Hz 톤 또는 N <25에 대해 주파수 (1975-N) Hz와 (1975 + N) Hz의 조합을 구분할 수 없지만, 근처에 다른 스펙트럼 성분이없는 경우 샘플링 창보다 더 정밀하게 분리 된 주파수를 측정하는 데 사용할 수 있습니다. 1974Hz와 1976Hz 톤의 조합과 마찬가지로 1950Hz와 2000Hz 빈에서 1975Hz의 단독 주파수가 동일하게 선택됩니다. 그러나 분리 된 1974Hz 톤은 2000Hz 빈보다 1950Hz 빈에서 더 강하게 들리고 1976Hz 톤은 2000Hz 빈에서 더 강하게 들립니다.