1.2 FFT 특성

FFT Properties

 

FFT는 시간영역의 신호를 주파수 영역으로 변환시키는 알고리즘이다. 그러나 신호를 주파수 영역으로 연속적으로 변환할 수는 없다. 먼저 샘플링을 한 후에 디지털화가 이루어져야 한다. 이것은 시간영역에서 샘플링된 자료가 그림 6-1에서 보는 것과 같이 주파수 영역에서의 샘플로 디지털화되는 것을 의미한다. 샘플링으로 인해 두 영역에서 원래의 신호를 동일하게 나타낼 수는 없다. 그러나 샘플 간격이 조밀할수록 샘플링된 신호는 원래의 신호에 근사하게 된다. 이 절의 마지막 부분에서는 정밀한 결과를 보장하기 위한 필요한 샘플 간격에 대해서 언급할 것이다.

그림 6-1 시간 및 주파수 영역에서의 FFT 샘플

시간기록(Time Record)이란 입력 신호를 연속적, 등간격으로 추출한 유한한 개수의 샘플을 말한다. 샘플의 수를 2의 배수로 하면 변환 알고리듬을 간단하고 빠른 속도를 갖게 만들 수 있기 때문에 샘플의 수를 2의 배수로 제한한다. 마이크로프로세서는 이진법(Binary Number)이라고 하는 2의 지수를 사용한다. 따라서 1024 개의 등간격 샘플은 210 개와 같다(만약 A/D 장비가 특별히 이와 같이 설계되었다면 “10 Bit A/D 장비”라고 한다).

이 시간기록은 하나의 다발로서 주파수 선의 한 다발로 변환된다. 주파수 영역의 모든 주파수 선을 계산하기 위해서는 시간기록(입력신호)의 모든 샘플을 필요로 한다. 이것은 한 개의 시간영역 샘플이 한 개의 주파수 영역의 선으로 변환되는 것을 의미하는 것이 아니다. 이에 대한 설명은 다음 절에서 기술한다.

FFT는 모든 시간기록을 한꺼번에 변환하기 때문에 시간기록이 완전히 수집되기 전까지 유효한 주파수 영역의 결과가 있을 수 없다. 그러나 일단 수집되면 그림 6-2에서 보듯이 모든 샘플이 시간기록에서 이동되어 가장 오래된 샘플은 버리고 새로운 한 개의 샘플이 시간기록의 끝에 추가된다. 따라서 초기에 시간기록이 일단 채워지면, 모든 시간영역 샘플에 대해 새로운 시간기록이 만들어진다. 이로 인해 일정 시간이 경과한 후에야 스펙트럼이 빠르게 변하게 된다. 비록 이것이 실용화되지는 않았지만 앞으로는 이용될 것이다.

그림 6-2 시간기록이 채워진후 모든 샘플을 추가한 새로운 시간기록

 

1.2.1 몇 개의 스펙트럼 線이 있는가? (How Many Spectral Lines are There?)

FFT 알고리듬은 “복소수” 연산이다. 즉 그 결과는 “실수”와 “허수”로 나타나며 주파수 영역의 성분은 양과 음의 주파수로 나타난다. 복소평면은 0에서 2π까지이다. 양의 벡터는 복소평면의 상반부에 위치한다. 따라서 양의 주파수는 0에서 π 사이에 놓인다. 음의 벡터는 복소평면의 하반부에 위치하기 때문에 음의 주파수는 π와 2π 사이에 놓인다(회전축의 한 회전은 2π 라디안임을 상기).

실수값 신호에 대해 양의 주파수 성분은 음의 주파수 성분과 대칭을 이룬다. 따라서 실수값 신호의 FFT의 진폭을 나타낼 때, 일반적으로 중복되는 음의 주파수 성분은 버린다. FFT 알고리듬으로부터 반쪽의 정보만을 표시하기 때문에 표시하기 전에 각 성분의 진폭에 2를 곱해준다(실수축에서 주파수 0이 되는 DC 성분은 제외).

요약해서 말하자면 주파수 영역에서의 각 성분은 복소수이다. 즉 각 성분은 진폭과 위상을 갖는다. 따라서 FFT는 시간영역에서 유한한 개수의 등간격 샘플을 주파수 영역에서 반으로 줄어든 수만큼의 선으로 변환한다 (식 (1) 참조). 이는 위에서 설명한 데로 각 주파수 선은 실제로 두 가지 정보-진폭과 위상-을 포함하기 때문이다.

따라서 실수값 신호에 대해 400 개의 스펙트럼 수를 계산하기 위해서는 800 개의 데이터 수를 필요로 하며, 800 개의 스펙트럼을 위해서는 1,600 개의 데이터를 필요로 한다. 그러나 Anti-Aliasing Filter의 Rolloff를 보상하기 위해 높은 주파수 성분의 데이터를 버린다. 실제로는 400 Line의 스펙트럼을 위해서는 1024 개의 데이터를 필요로 하며 800 Line을 위해서는 2048 개를 필요로 한다.

1.2.2 線 사이의 間隔이란? (What is the Spacing of the Lines ?)

분해 가능한 최소 주파수는 시간기록의 길이에 의해 결정된다. 만약 입력신호의 주기(T)가 시간기록보다 길면, 주기를 결정할 수 있는 방법이 없다. 따라서 FFT의 최소 주파수 선은 시간기록 길이의 역수에 해당하는 주파수와 일치한다.

F = 1/T F : 주파수(㎐ 또는 cpm), T : 주기(sec 또는 min)

또한 DC 성분에 해당하는 0 ㎐의 주파수 선이 있다. 이것은 단순히 시간기록동안 입력의 평균이다. 비록 이것이 실질적인 의미는 없지만 이들 두 선(따라서 모든 선) 사이의 간격이 시간기록의 역수임을 보여주는데 도움이 된다. 따라서 모든 스펙트럼은 주파수 축을 따라 수많은 개개의 수직선(또는 “Bin”)으로 이루어져 있다. 이들 중에서 진폭에 대한 정보를 갖고 있는 Bin만이 FFT Peak를 나타낸다.

1.2.3 FFT의 周波數 領域이란? (What is the Frequency Range of the FFT?)

측정 가능한 최대 주파수는 다음 식으로 주어진다.

- - - - - - - - - - - - - - - - - - - (1)

왜냐하면 주파수 영역에서 0 ㎐로부터 시작하여 시간기록의 역수만큼의 간격을 갖는 선들이 1/2 만큼 있기 때문이다. 이 주파수 영역의 유용성은 “Aliasing”이라고 불리는 문제에 의해 제약을 받으며 이에 대해서는 다음 절에서 논의하기로 한다.

시간 샘플의 수(샘플의 크기)는 FFT의 알고리즘 방법에 의해 고정된다. 따라서 FMAX(cycle/sec)를 변화시키기 위해서는 주기(sec/cycle)가 변화되어야 한다. 이렇게 하기 위해서는 변화되는 시간기록 주기 내에 항상 고정된 수의 시간 샘플을 갖도록 샘플링 비율을 변화시켜야 한다. 고주파를 포함하기 위해서는 시간기록 주기가 짧아야 하기 때문에 샘플링이 매우 빨라야 한다.

 

TRAC Mark INCOSYS