“주파수 해상도”가 무엇을 의미하는지에 대한 확실한 아이디어를 아직 가지고 있지 않은 상태에서 다음 문제를 해결하려고합니다.
샘플링주기 Ts = 1/2000 인 연속 시간 신호를 샘플링 한 다음 결과 이산 시간 신호에 길이가 1000 인 창을 사용한다고 가정합니다. 2000 포인트 DFT를 사용하여 변환하면 주파수 분해능은 어떻게됩니까?
누구나이 문제를 알아낼 수 있습니까?
설명
- 보간, S / N에 따른 피크 위치 추정 해상도, 결과 빈 분리 또는 분리 기준이있는 피크 분리 해상도를 사용하여 잠재적 플롯 해상도를 원하십니까? 이 모든 것들은 동일한 길이의 DFT에 대해 서로 다른 주파수 해상도를 생성합니다.
- @ hotpaw2이 문제 나 다른 유익한 질문에서 이러한 해상도에 대해 이야기 할 수 있다면 관심이있을 것입니다.
답변
수정 :
" 주파수 해상도 " 에 대한 내 정의가 완전히 잘못되었습니다 (또한 OP의 질문). 주파수 분해능 은 주파수 공간에서 창 함수의 크기가 Dirac 델타 함수와 얼마나 유사한 지 나타냅니다. 이는 창과 시간 도메인의 신호의 곱이 주파수 도메인에서 회선이되기 때문입니다 ( 그리고 Dirac 델타 함수를 사용한 컨볼 루션은 완벽한 주파수 분해능을 제공하는 샘플링입니다. 메인 로브가 뚱뚱해지고 (분산으로 정량화 됨) 사이드 로브가 높을수록 주파수 분해능이 나빠집니다. 또한 시간 분해능 은 시간 도메인에서 창 함수의 분산으로 정량화 될 수 있습니다.
주파수 분해능은 Bin 분해능 / 폭이 아닙니다. 아래 그래프에서 빈 폭이 감소하더라도 로브가 가까워지지 않음 (주파수 해상도)을 알 수 있습니다.
주파수 분해능은 직사각형 함수 (예 : sinc 함수)의 푸리에 변환 속성입니다.
푸리에 변환을 사용하려면 (이론적으로 작업하는 경우에도) 윈도우 함수를 사용해야합니다. 결과적으로 우리는 항상 $ f (t) 함수 대신 $ f (t) w (t) $ 로 작업하고 있습니다. ) $ 자체입니다 (여기서 $ w (t) $ 는 직사각형 함수). 컨볼 루션 정리에 따르면 윈도우 함수의 푸리에 변환은 항상 $ \와 $ \ hat {f} $ 의 컨볼 루션입니다. hat {w} = $ sinc. 특히 $ f $ 가 정현 파일 때 $ \ hat {f} $ 은 Dirac 델타 함수이며 컨볼 루션은 sinc 함수의 샘플링 일뿐입니다. 따라서 윈도우를 만들 때 주기적으로 주파수를 완전히 잃습니다.이 손실의 주기성은 주파수 해상도 입니다.
윈도우 함수에서 DTFT는 CTFT의주기적인 근사치이므로 이러한 속성도 획득합니다.
혼란이 발생하는 이유는 DFT에 0을 채우지 않으면 (즉, 샘플 $ f (t) w (t) $ 여기서 $ w (t) = 1 $ ), 빈 너비는 주파수 해상도와 같습니다.
하지만 0을 채울 수도 있습니다 (예 : $ f (t) w (t) $ 여기서 $ w (t) = 0 $ ) 그러면 DTF가 <의 DTFT를 더 잘 보간합니다. span class = "math-container"> $ f (t) w (t) $ . 첫 번째 그래프와상의하세요.
직사각형 함수의 푸리에 변환이 sinc 함수 인 이유를 확인하려면 이 동영상보기 그리고 정현파 함수의 권선을 고려합니다 (하지만 상당히 관련이 있음).
OP의 예에 답하기 위해 bin 해상도는 $$ \ frac입니다. {F_s} {N} = \ frac {2000} {2000} = 1 $$ 여기서 $ F_s = 2000 $ Hz는 샘플링 속도이고 $ N $ DFT 크기
주파수 해상도는 방금 창에서 샘플링 한 경우의 빈 해상도입니다 (제로 패딩 없음).
$$ \ frac {F_s} {M} = \ frac {1} {T} = 2 $$ 여기서 $ M $ 는 창의 샘플 수, $ T $ 는 샘플 기간, $ F_s = M / T $ .
댓글
- 좋은 답변 Tom.또한 명확하지 않은 경우 추가하기 위해 ' 실제로 직사각형 창을 사용하지 않는 경우가 많지만 성능이 저하되는 대신 사이드 로브 (동적 범위 개선)를 크게 줄이는 역할을하는 점점 가늘어지는 다른 창을 추가합니다. 주파수 해상도를 더 높일 수 있습니다. 이것에 대한 내가 가장 좋아하는 고전 논문 중 하나와 DFT의 일반적인 적용은 fred harris의 것입니다. ' 아직 본 적이 없다면 ' 정말 재미있을 것 같습니다. web.mit.edu/xiphmont/Public/windows.pdf
- @TomHuntington 좋네요, 너무 나쁩니다. ' 두 번 찬성 투표 할 수 없습니다.
- @TomHuntington Wikipedia는 내 공식이나 기술에 대해 ' 모르는 것 같습니다. 여전히 인트라 빈 해상도 (노이즈와 방정식의 민감도로 인해)에 어려움이 있지만 근처 주파수는 반복적 인 추정 및 제거로 해결할 수 있습니다. 큰 톤을 제거하면 작은 톤이 추정 가능합니다. 작은 톤을 제거하면 큰 톤을 더 잘 읽을 수 있습니다. 여러 가지 음색이 있어도 등등. 모든 종류의 창은 수학을 복잡하게합니다.
- 진폭이 거의 같지만 주파수가 매우 가까운 두 개의 정현파가 있다면 시간 영역에서 비트 현상을 사용할 수 있습니다. 신호의 겉보기 주파수 (제로 크로싱에 의한)는 두 주파수의 평균이며 엔벨로프의 주파수 (예 : 두 개의 로브와 같이 전체 사이클을 수행하는 경우)는 주파수 차이의 절반입니다.
- 또한 해상도는 측정하는 모든 것의 정밀도를 정의합니다. 정확성에 대해서는 언급하지 않습니다.
답변
달성하려는 목표에 따라 달라집니다.
pan class = “math-container”의 속도로 샘플링 된 신호의 길이가 $ N $ 인 FFT를 수행하는 경우 > $ F_s $ 이면 많은 사람들이 귀하의 주파수 해상도가 $ \ frac {F_s} {N} $ 라고 말할 것입니다. 그것이 정확한지 아닌지는 주파수 분해능을 정확히 정의하는 방법과 그것으로 무엇을 할 계획인지에 달려 있습니다.
실제로 일어나는 일은 샘플링으로 주파수 도메인 함수를 샘플링하는 것입니다. $ \ frac {F_s} {N} $ 의 간격. FFT 크기를 선택하자마자 샘플링 간격은 시간이 $ \ frac {1} {F_s} $ 이고 $ \ frac {F_s} {N} $ 빈도.
주파수 도메인 샘플링에는 시간 도메인 샘플링과 동일한 속성, 요구 사항 및 문제가 있습니다. 앨리어싱을 얻으면 보간 할 수 있고 다른 영역에서 주기성을 가정하는 등의 작업을 수행 할 수 있습니다.
샘플링 정리를 간단히 적용하면 신호를 완전히 특성화하는 데 필요한 주파수 분해능이 시간 도메인의 길이. 이는 LTI 시스템의 임펄스 응답과 같이 본질적으로 시간 제한이있는 신호에 적합합니다.
그러나 길고 연속적인 신호에는 실용적이지 않습니다.이 경우 애플리케이션에 “충분히 좋은”주파수 분해능을 선택해야하며 이는 실제로 사용자의 요구 사항과 목표에 따라 달라집니다. 특정 응용 프로그램.
답변
샘플링은 $ {T} _ {s}에 의해 제공됩니다. = \ frac {1} {2000} $ [Sec].
창 길이는 1000 샘플입니다.
창 길이는 데이터 길이와 같아야하므로 데이터 길이는 1000 샘플이라고 추론합니다. 이는 샘플링 시간이 $ 0.5 $ [초]임을 의미합니다.
DFT의 Bin 해상도는 샘플링 간격과 숫자 사이의 비율입니다. DFT 샘플 (이 경우 2000). 따라서 빈 해상도는 $ \ frac {1} {4000} $ [Hz]입니다.
Answer
FFT의 binwidth 또는 표현하고자하는 해상도는 Fs / N이며 여기서 N은 FFT의 크기입니다. 실제 해상도는 사용하는 창과 창의 길이에 따라 달라집니다.
예 : 직사각형 창은 최대 해상도를 제공하지만 동적 범위는 낮습니다. 다른 더 부드러운 창은 더 많은 동적 범위 또는 더 낮은 사이드 로브로 더 낮은 해상도를 제공합니다.