데이터계측분석/데이터분석 기술자료

고속 푸리에 변환 FFT - Fast Fourier Transformation

에이티에스 2023. 5. 29. 00:47
728x90

"고속 푸리에 변환"(FFT)은 오디오 및 음향 측정 과학에서 중요한 측정 방법입니다. 신호를 개별 스펙트럼 성분으로 변환하여 신호에 대한 주파수 정보를 제공합니다. FFT는 기계 또는 시스템의 결함 분석, 품질 관리 및 상태 모니터링에 사용됩니다. 

엄밀히 말하면 FFT는 "이산 푸리에 변환"(DFT) 구현에 최적화된 알고리즘입니다. 신호는 일정 기간 동안 샘플링되어 주파수 성분으로 나뉩니다. 이러한 구성 요소는 각각 고유한 진폭과 위상을 가진 별개의 주파수에서 단일 정현파 진동입니다. 이 변환은 다음 다이어그램에 설명되어 있습니다. 측정된 기간 동안 신호에는 3개의 고유한 주 주파수가 포함됩니다.

 

시간 및 주파수 영역에서의 신호 보기
 

 

첫 번째 단계에서는 신호의 일부를 스캔하여 추가 처리를 위해 메모리에 저장합니다. 두 가지 매개 변수가 관련이 있습니다.

  1. 측정 시스템의 샘플링 속도 또는 샘플링 주파수 fs(예: 48kHz). 1초 동안 얻은 평균 샘플 수(초당 샘플 수)
  2. 선택된 샘플 수; 블록 길이 BL. 이것은 항상 FFT의 기본 2에 대한 정수 거듭제곱입니다(예: 2^10 = 1024개 샘플)

두 가지 기본 파라미터 fs 및 BL에서 측정의 추가 파라미터를 결정할 수 있습니다.

대역폭 fn(= 나이퀴스트 주파수). 이 값은 FFT에 의해 결정될 수 있는 이론적인 최대 주파수를 나타낸다.

fn = fs / 2

예를 들어, 48kHz의 샘플링 속도에서 최대 24kHz의 주파수 성분을 이론적으로 결정할 수 있습니다. 아날로그 시스템의 경우 아날로그 필터(예: 20kHz)로 인해 실제로 달성 가능한 값은 일반적으로 이보다 약간 낮습니다.

 

측정 기간 D. 측정 기간은 샘플링 레이트 fs와 블록 길이 BL에 의해 주어진다. D = BL / fs.
fs = 48kHz 및 BL = 1024에서 1024/48000Hz = 21.33ms를 생성합니다

 

주파수 분해능 df. 주파수 분해능은 두 측정 결과 사이의 주파수 간격을 나타냅니다.

df = fs / BL

fs = 48kHz 및 BL = 1024에서 df는 48000Hz / 1024 = 46.88Hz입니다. 실제로 샘플링 주파수 fs는 일반적으로 시스템에서 제공하는 변수입니다.

그러나 블록 길이 BL을 선택하여 측정 기간과 주파수 분해능을 정의할 수 있습니다. 다음 사항이 적용됩니다.

  • 블록 길이가 작기 때문에 대략적인 주파수 분해능으로 측정 횟수가 빨라집니다.
  • 블록 길이가 길면 미세한 주파수 분해능으로 측정 반복 속도가 느려집니다.

 

작은 블록길이와 큰 블록길이를 갖는 신호의 FFT 표현
 

푸리에 변환에서, 샘플링된 신호 세그먼트는 무한 기간 동안 주기적으로 반복된다고 가정한다. 이것은 두 가지 결론을 가져옵니다.

  1. FFT는 주기적 신호에만 적합합니다.
  2. 샘플링된 신호 세그먼트는 전체 개수의 기간을 포함해야 합니다.

조건 2는 극소수의 신호에만 적용됩니다. 주파수가 df의 정수 배수가 아닌 신호의 샘플링은 값이 다른 2^n 샘플로 구성된 블록 내에서 시작하고 끝납니다. 이로 인해 시간 신호가 점프하고 FFT 스펙트럼이 "번지는" 결과가 발생합니다. (일명 누출)

 

번짐 스펙트럼이 있는 윈도우가 없는 시간 신호
 


Windowing

이러한 번짐을 방지하기 위해 실제로 신호 샘플에 "윈도잉"이 적용됩니다. 가중치 함수를 사용하여 신호 샘플을 다소 부드럽게 켜고 끕니다. 그 결과 샘플링된 신호와 후속 "윈도우" 신호가 진폭 0에서 시작하고 끝납니다. 이제 하드 전이 없이 샘플을 주기적으로 반복할 수 있습니다.

 

스펙트럼이 있는 윈도우 시간 신호
 

 

신호 이론의 전형적인 예는 구형파 신호의 스펙트럼 구성입니다. 이것은 기본 주파수의 모든 가중 홀수 배수의 합으로 구성됩니다.

 

 

FFT 추가 고려 사항

FFT 측정은 다양한 어플리케이션에서 사용됩니다. 결과는 일반적으로 그래프로 표시되며 해석하기 쉽습니다. 정확한 FFT 측정을 위해 주의해야 할 몇 가지 사항이 있습니다. 

측정 시스템의 샘플링 속도 fs와 블록 길이 BL은 FFT의 두 가지 중심 매개변수입니다. 샘플링 속도는 분석할 아날로그 신호가 스캔되는 빈도를 나타냅니다.

예를 들어, 시중에서 판매되는 PC 사운드 카드를 통해 wav 파일을 녹음할 때 오디오 신호는 일반적으로 초당 44,100번 샘플링됩니다.

 

나이퀴스트 정리 - Nyquist Theorem

Harry Nyquist는 아날로그 신호 샘플링의 기본 규칙인 샘플링 주파수가 신호의 최고 주파수의 최소 두 배여야 한다는 것을 발견한 사람입니다. 예를 들어, 최대 24kHz의 주파수를 포함하는 신호를 샘플링해야 하는 경우 이를 위해 최소 48kHz의 샘플링 속도가 필요합니다. 샘플링 속도의 절반(이 예에서는 24kHz)을 "나이퀴스트 주파수"라고 합니다.

 

앨리어싱 - Aliasing

대부분의 경우 신호는 충분한 수의 샘플로 샘플링됩니다. 예를 들어, 48kHz 샘플링 속도에서 6kHz 주파수는 사이클당 8번 샘플링되는 반면, 12kHz 주파수는 사이클당 4번만 샘플링됩니다. 나이퀴스트 주파수에서는 사이클당 2개의 샘플만 사용할 수 있습니다.
2개 이상의 샘플에서도 손실 없이 신호를 재구성할 수 있습니다. 그러나 2개 미만의 샘플을 사용할 수 있는 경우 샘플링된(원본) 신호에서 발생하지 않는 아티팩트가 생성됩니다.

 

미러 주파수 - Mirror frequencies

FFT에서 이러한 아티팩트는 미러 주파수로 나타납니다. 나이퀴스트 주파수를 초과하면 신호는 이 허수 한계에서 반사되어 유용한 주파수 대역으로 다시 떨어집니다. 다음 비디오는 44.1kHz 샘플링 속도의 FFT 시스템을 보여줍니다. 15kHz에서 25kHz의 스윕 신호가 이 시스템에 공급됩니다.

 

이러한 원치 않는 미러 주파수는 스캐닝 전에 아날로그 저역 통과 필터(anti-aliasing filter)로 상쇄됩니다. 필터는 나이퀴스트 주파수를 초과하는 주파수가 억제되도록 합니다.

 

Time window

주기적으로 연속적인 신호의 경우, 타임 윈도우는 스캐닝이 끝날 때 원하지 않는 전환 점프를 부드럽게 하는 역할을 합니다(파트 1 참조). 이것은 스펙트럼의 번짐을 방지합니다. 다양한 유형의 창이 있으며 그 중 일부는 약간만 다릅니다. 시간 창을 선택할 때 다음 규칙이 적용됩니다. 각 창은 주파수 선택성과 진폭 정확도 사이의 절충안이 필요합니다.

 


스펙트럼의 평균화 

비주기적 신호, 예를 들어 잡음 또는 음악의 분석에서, 다수의 FFT 블록을 캡처하고 그로부터 평균값을 결정하는 것이 종종 유리하다. 다음과 같은 두 가지 방법을 사용할 수 있습니다.

  1. 고전적 평균: 많은 FFT가 측정됩니다. 각 결과는 평균화된 최종 결과에서 동일한 부분으로 간주됩니다. 이 방법은 정의된 기간의 측정에 적합합니다.
  2. 지수 평균: FFT는 지속적으로 측정됩니다. 여기에서도 연속 측정의 고정 된 수의 결과가 고려됩니다. 그러나 가중치는 결과의 '나이'에 반비례합니다. 가장 오래된 측정값이 가장 적게 고려되며, 가장 최근의 측정값이 평균 결과에 가장 효과적으로 기여합니다. 이 지수 평균은 스펙트럼이 장기간에 걸쳐 지속적으로 모니터링될 때 사용됩니다.
     

 

Power vs. Peak detector

최신 고분해능 FFT 분석기는 FFT 블록 길이에서 측정 결과의 수를 분리할 수 있는 가능성을 제공합니다. 그 결과 특히 고분해능 FFT의 경우 측정 성능 시간이 증가합니다. 따라서, 예를 들어, 2MB 블록 길이로, 더 이상 1만 포인트(빈)를 초과하여 측정하고 표현할 필요가 없으며, 디스플레이에 필요한 수, 예를 들어, 1024만 측정하고 표현할 필요가 있다.
각 FFT bin에 대해 선택된 값은 두 가지 방법으로 정의할 수 있습니다.

  1. "MaxPeak": 여기서는 FFT 결과의 최대값을 사용합니다. 이 유형은 FFT의 시각적 표현에 매우 적합합니다
  2. "Power": 여기서 FFT 결과는 요약되고 에너지적으로 평균화됩니다. FFT를 계산에 사용할 때 필요합니다.
     

 

728x90
반응형
그리드형