FFT에서 주파수 해상도 및 창 크기를 선택하는 방법은 무엇입니까?


9

주파수가 200Hz에서 10kHz로 변하는 시변 신호의 스펙트럼 분석을 수행하고 있습니다. 신호의 주파수 성분을 분석하기 위해 FFT를 사용하고 있습니다. 내 질문은 :

  1. 신호의 주파수 해상도와 창 너비를 결정하는 방법은 무엇입니까?
  2. 시변 신호에 적합한 윈도우 기능 유형은 무엇입니까?
  3. FFT의 최적 크기는 무엇입니까?

신호의 샘플링 속도는 44.1kHz입니다.


2
주파수 변경 패턴은 무엇입니까? 신호가 다른 주파수 사이에서 갑자기 홉핑됩니까, 아니면 주파수 변경이 계속됩니까? 신호가 호핑되는 경우 신호가 동일한 주파수를 유지한다고 가정 할 수 있습니까? 주파수 변화가 연속적이라면이 변화에는 어떤 패턴이 있습니까 (선형, 가우시안, 기타)?
Vasiliy

Chirp 신호와 유사한 신호를 계속 홉핑하지 않습니다. 각 주파수의 진폭은 임의로 변경 될 수 있습니다.
nitin

4
주파수 성분을 분석하기 위해 FFT를 사용한다고합니다. 이것은 중간 단계이며, 귀하의 질문에 정확하게 대답하기 위해, 당신이 이루고자하는 것을 알아야합니다. 그 정보로 무엇을 하시겠습니까? 왜 주파수 성분을 알아야합니까? 이 정보를 얼마나 자주 업데이트해야합니까? 이 내용을 알려주지 않으면 해결 방법이 무엇인지 알 수있는 유일한 사람입니다. 실제로 하나 또는 두 개의 주파수에서만 답을 알아야하는 경우에는 FFT가 최선의 방법이 아닐 수도 있습니다.
Scott Seidman

@ScottSeidman, 당신은 내 마음을 읽었습니다.
Vasiliy

1
@ trav1s, 우리는 모두 다르게 가르칩니다. 내 학생이 이런 식으로이 질문을하게된다면, 나는 그에게 나의 상세한 의견을 받고있는 것과 같은 집으로가는 메시지를 보내려고 노력할 것이다. 그것에 착수하기 전에 무언가 ". 주파수 분해능을 N의 함수로 설명하는 방정식을 찾을 수있는 수천 개의 리소스가 있으며, 질문자가 사용할 수있는 것처럼 느껴지지만 해당 메시지는 첨부되지 않았습니다! 다행스럽게도 proding은 그 질문에 대해 그가 이미 답을 잡고 있다는 것을 깨닫게했다.
Scott Seidman

답변:


4

고정 샘플링 속도로 작업하기 때문에 FFT 길이 (창의 너비가 같아야 함)로 주파수 분해능이 높아집니다. 보다 정밀한 주파수 분해능의 이점은 두 가지입니다. 명백한 것은 미세한 주파수 분해능을 얻으므로 주파수가 매우 가까운 두 신호를 구별 할 수 있다는 것입니다. 두 번째는 주파수 해상도가 높을수록 FFT 노이즈 플로어가 낮아진다는 것입니다. 시스템의 노이즈는 FFT의 포인트 수와 관계없이 고정 된 전력을 가지며 모든 주파수 구성 요소에 전력이 고르게 분배됩니다 (백색 노이즈를 말하는 경우). 따라서 주파수 성분이 많을수록 주파수 빈의 개별 노이즈 기여도가 낮아지고 총 통합 노이즈는 동일하게 유지됩니다. 소음이 줄어 듭니다. 이를 통해 더 높은 다이나믹 레인지를 구별 할 수 있습니다.

그러나 더 긴 FFT를 사용하면 단점이 있습니다. 첫 번째는 더 많은 처리 능력이 필요하다는 것입니다. FFT는 O (NlogN) 알고리즘이며 여기서 N은 포인트 수입니다. 순진한 DFT만큼 극적이지는 않지만 특히 임베디드 시스템의 경계에서 작업하는 경우 N이 증가하면 프로세서가 번지기 시작합니다. 둘째, N을 ​​높이면 시간 분해능을 잃으면 서 주파수 분해능을 얻습니다. N이 클수록 주파수 영역 결과에 도달하기 위해 더 많은 샘플을 가져와야하므로 더 오랜 시간 동안 샘플을 가져와야합니다. 더 높은 다이나믹 레인지와 더 미세한 주파수 분해능을 감지 할 수 있지만 스퍼를 찾고 있다면 스 퍼가 정확히 언제 발생했는지에 대해 덜 명확하게 알 수 있습니다.

사용해야하는 창의 유형은 다른 주제 일뿐입니다. 어떤 것이 더 나은지에 대한 답변을 제공하는 것은 아닙니다. 그러나 윈도우마다 출력 특성이 다르기 때문에 FFT 결과를 처리 한 후 대부분의 가역적입니다. 일부 창은 주파수 구성 요소를 측면 통에 블리드하게 만들 수 있습니다 (실수하지 않은 경우 Hanning 창은 구성 요소를 3 개의 통에 표시합니다). 이것은 달성하려는 결과의 특성에 전적으로 달려 있으므로 특정 응용 분야에 가장 적합한 결과를 얻기 위해 몇 가지 연구 (또는 일부 시뮬레이션)를 수행합니다.


순차적 블록에서 FFT 평가를 실행하는 것이 직관적 일 수도 있지만, 중첩 된 입력 데이터 블록에서 이를 실행할 수도 있습니다 . 즉, 256 샘플마다 1024 포인트 FFT를 시작하여 시간 분해능은 다소 향상됩니다. 더 많은 계산 비용.
Chris Stratton

0

먼저 샘플링 주파수는 신호의 최대 주파수 (44.1kHz> 2x10kHz)의 두 배 이상이어야합니다. 다음으로 시간 영역에서 창의 길이가 T 인 경우 FFT를 사용한 주파수 분해능은 정확히 1 / T입니다. FFT를 사용하는 주파수 영역의 분해능은 시간 영역의 샘플링 주파수와 관련이 없습니다. 그러나 이전 답변에서 지적했듯이 시간 도메인 창은 너무 클 수 없으므로 순간적으로 나타나는 가짜 신호에 대한 정보를 잃을 수 있습니다. 따라서 주파수 분해능과 스퓨리어스 신호 감지간에 절충이 필요합니다. 마지막으로 FFT가 시간 영역에서 주파수 영역으로 신호를 보내는 유일한 알고리즘은 아닙니다. 시간 영역에서 샘플 수가 제한된 주파수 영역에서 고해상도를 찾고 있다면 MUSIC 및 ESPIRIT와 같은 고해상도 스펙트럼 추정 기법을 사용할 수 있습니다. 이것들은 스펙트럼 추정 문제와 매우 유사한 도착 방향 (DOA) 추정에도 사용됩니다.


음 .. 아니 퀴 스트를 다시 읽어봐 주파수를 안정적으로 재구성하려면 5-10x가 필요합니다. 마찬가지로 더 넓은 창은 가장 낮은 관심 주파수의 재구성을 하위 고조파로 옮길 수 있습니다. 스퓨리어스 확실 의무 만 신뢰할 /주기 성분은 상당한 진폭 도시한다 "랜덤"인 고주파수 컨텐츠 가질 수 디락 펄스로 어쨌든 FFT에서 볼 수없는 것
JonRB

관심있는 신호의 주파수 범위는 200Hz ~ 10kHz입니다. 따라서 샘플링 주파수는 신호 주파수의 4.41 배 이상입니다. 스펙트럼의 하단을 보면 샘플링 주파수는 220.5 배입니다. 주파수가 통계적으로 어떻게 분포되어 있는지 알아야 할 수도 있습니다 ... 어쨌든 샘플링 주파수는 문제가되지 않습니다!
Yasir Ahmed
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.