숫자 시퀀스를 입력하면 이산 푸리에 변환(DFT)을 계산하고, 각 주파수 bin의 복소수 값, 크기, 위상, 주요 주파수 성분을 한 번에 확인할 수 있습니다.
실수 입력:
0, 1, 0, -1 / 복소수 입력: 1+2i, 0, -1i, 3"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
이 사이트는 광고 수익으로 유지되고 있습니다. 배너 또는 여기를 클릭하여 구매해 주시면 유지에 도움을 주실 수 있습니다.
DFT(이산 푸리에 변환)이란?
DFT(이산 푸리에 변환)는 시간 순서로 나열된 이산 데이터
x[n]를 주파수 성분 X[k]로 변환하는 수학적 방법입니다. 영어로는 Discrete Fourier Transform이라고 하며, 디지털 신호 처리(DSP)에서 가장 기본적으로 사용되는 푸리에 변환 방식 중 하나입니다.소리, 진동, 센서 데이터, 주가, 전압 변화처럼 일정한 간격으로 측정된 데이터는 시간 영역에서 보면 단순한 숫자 배열처럼 보일 수 있습니다. 하지만 이산 푸리에 변환을 적용하면 그 데이터 안에 어떤 주파수 성분이 포함되어 있는지, 특정 주기가 얼마나 강한지, 위상이 어떻게 이동했는지를 확인할 수 있습니다. 즉, DFT는 "시간에 따라 변하는 데이터"를 "주파수별 성분"으로 나누어 보는 도구입니다.
DFT 계산기란?
DFT 계산기는 숫자 시퀀스를 입력하면 이산 푸리에 변환 결과를 자동으로 계산해주는 푸리에 변환 계산기입니다. 입력한 샘플 데이터에 대해 복소수 결과
X[k], 실수부, 허수부, 크기 스펙트럼, 위상, 주파수 bin, Hz 단위 주파수를 함께 확인할 수 있습니다.이 계산기는 단순히 DFT 값만 나열하지 않고, 주요 주파수 성분을 자동으로 추출해 보여줍니다. 샘플링 주파수
fs를 입력하면 각 bin이 실제 몇 Hz에 해당하는지도 계산할 수 있어 수학 수업, 공학 과제, 오디오 분석, 진동 분석, 센서 데이터 분석에 활용하기 좋습니다.DFT 공식
DFT의 기본 공식은 다음과 같습니다.
X[k] = Σ x[n] · e^(-j2πkn/N), k = 0, 1, ..., N-1
N은 입력 샘플 개수, n은 시간 영역 샘플 인덱스,k는 주파수 영역의 bin 번호입니다.x[n]은 원래 입력 데이터이고, X[k]는 DFT를 적용한 뒤 얻는 주파수 영역의 복소수 결과입니다.계산 결과
X[k]는 일반적으로 복소수 형태로 나타납니다. 따라서 실수부와 허수부만 보는 것보다 크기와 위상을 함께 해석하는 것이 중요합니다. 크기는 해당 주파수 성분의 강도를 의미하고, 위상은 그 성분이 기준 파형에 비해 얼마나 앞서거나 뒤처져 있는지를 나타냅니다.DFT 결과에서 크기 스펙트럼과 위상은 어떻게 읽나요?
크기 스펙트럼은 각 주파수 성분이 입력 신호에 얼마나 강하게 포함되어 있는지를 보여줍니다. 특정
k 값의 크기 |X[k]|가 크다면, 입력 데이터 안에 그 주파수 성분이 많이 들어 있다는 뜻입니다. 예를 들어 일정한 주기로 반복되는 사인파 데이터는 특정 주파수 bin에서 큰 피크가 나타납니다.위상은 해당 주파수 성분의 시작 위치 또는 시간적 이동을 각도 단위로 표현한 값입니다. 같은 주파수와 비슷한 크기를 가진 신호라도 시작 지점이 다르면 위상 값이 달라질 수 있습니다. 그래서 DFT 결과를 해석할 때는 크기만 보는 것보다 위상까지 함께 확인하는 것이 더 정확합니다.
실수 입력 신호에서는 보통
k와 N-k 위치에 대칭적인 성분이 나타납니다. 이 계산기에서는 실수 신호일 때 DC 성분과 Nyquist 성분을 제외한 주요 성분의 진폭을2|X[k]|/N 기준으로 함께 보여줍니다. 이 값은 순수 사인파나 코사인파의 실제 진폭을 직관적으로 확인할 때 유용합니다.샘플링 주파수와 주파수 bin
DFT에서 주파수 bin은 주파수 영역에서의 칸 번호를 의미합니다. 샘플링 주파수
fs를 입력하면 각 bin이 실제 몇 Hz인지 계산할 수 있습니다. 주파수 해상도는 다음과 같이 계산합니다.Δf = fs / N
k=3 성분은 30Hz에 해당합니다.샘플링 주파수를 입력하지 않아도 DFT 자체는 계산할 수 있지만, 결과가 실제 몇 Hz인지 해석하려면 샘플링 주파수가 필요합니다. 오디오, 진동, 센서 데이터처럼 실제 시간 간격이 있는 데이터를 분석할 때는 샘플링 주파수를 함께 입력하는 것이 좋습니다.
Zero-padding은 DFT 값을 더 정확하게 만드는 기능인가요?
Zero-padding은 입력 데이터 뒤에 0을 추가해 DFT 길이
N을 늘리는 방법입니다. DFT 길이가 길어지면 주파수 bin 간격이 더 촘촘해져 스펙트럼 그래프를 더 부드럽게 볼 수 있습니다.다만 zero-padding은 원래 데이터에 없던 정보를 새로 만들어내는 기능은 아닙니다. 실제 주파수 해상도는 측정 시간과 샘플 수에 의해 결정되므로, zero-padding은 주파수 위치를 더 보기 좋게 보간하는 용도에 가깝습니다. 이 계산기에서는 입력 길이를 그대로 사용하거나, 다음 2의 거듭제곱 길이로 자동 zero-padding하거나, 원하는 DFT 길이를 직접 지정할 수 있습니다.
DFT와 FFT의 차이
DFT는 이산 데이터를 주파수 영역으로 변환하는 수학적 정의이고, FFT는 DFT를 빠르게 계산하기 위한 알고리즘입니다. 즉, FFT는 별개의 변환 공식이라기보다 DFT를 효율적으로 계산하는 방법입니다.
입력 데이터가 작을 때는 DFT 공식 그대로 계산해도 큰 문제가 없지만, 샘플 수가 많아질수록 계산량이 빠르게 증가합니다. 이때 FFT를 사용하면 같은 의미의 결과를 훨씬 빠르게 얻을 수 있습니다. 이 페이지의 DFT 계산기는 학습, 검산, 소규모 데이터 분석에 적합하도록 DFT 결과를 이해하기 쉬운 형태로 보여주는 데 초점을 맞추고 있습니다.
DFT 계산기 사용법
이산 푸리에 변환을 계산하려면 먼저 시간 영역 데이터를 쉼표로 구분해 입력합니다. 예를 들어
0, 1, 0, -1처럼 실수 데이터를 입력할 수 있고,1+2i, 0, -1i, 3처럼 복소수 데이터도 입력할 수 있습니다.샘플링 주파수를 알고 있다면
fs 값을 함께 입력하면 됩니다. 그러면 DFT 결과의 각 bin 번호가 실제 Hz 단위 주파수로 변환되어 표시됩니다. 정규화 방식은 원본 DFT 값을 보고 싶다면 기본값을 사용하고, 진폭 해석을 더 쉽게 하고 싶다면 X[k]/N 또는 X[k]/√N 옵션을 선택해 비교할 수 있습니다.입력 예시와 결과 해석
0, 1, 0, -1을 입력하고 샘플링 주파수를 4Hz로 설정하면, 입력 신호는 4개 샘플에 한 주기를 갖는 사인파 형태로 볼 수 있습니다. 이 경우 DFT 결과에서는 k=1과 k=3 성분이 크게 나타납니다.k=1은 양의 주파수 성분, k=3은 음의 주파수 성분으로 해석할 수 있습니다. 실수 신호에서는 이런 대칭 구조가 자연스럽게 나타나므로, 하나의 실제 진동 성분이 두 개의 DFT bin에 나뉘어 보일 수 있습니다. 따라서 결과를 볼 때는 가장 큰 bin 하나만 보기보다 대칭 성분과 DC 성분까지 함께 확인하는 것이 좋습니다.DFT 계산기 활용 예시
- 디지털 신호 처리 수업에서 DFT 공식과 계산 결과 검산
- 사인파, 코사인파, 복합 신호의 주파수 성분 확인
- 센서 데이터의 반복 주기나 진동 성분 분석
- 오디오 샘플의 주요 주파수 성분 확인
- 복소수 신호의 실수부, 허수부, 크기, 위상 계산
- 샘플링 주파수에 따른 Hz 단위 주파수 bin 확인
- DFT와 FFT 차이를 이해하기 위한 학습용 예제 제작
DFT 계산 시 주의할 점
DFT 결과는 입력 데이터의 길이, 샘플링 주파수, 정규화 방식, window 적용 여부에 따라 다르게 해석될 수 있습니다. 특히 입력 구간 안에 신호의 주기가 정확히 맞지 않으면 특정 주파수 하나가 아니라 주변 bin으로 에너지가 퍼지는 스펙트럼 누설이 발생할 수 있습니다.
따라서 실제 신호 분석에서는 DFT 결과를 절대적인 정답으로만 보기보다, 입력 데이터의 측정 조건과 샘플링 간격을 함께 고려하는 것이 중요합니다. 이 계산기는 복잡한 신호 처리 프로그램을 사용하기 전, 작은 데이터로 DFT 원리와 결과 구조를 빠르게 확인하는 용도로 활용하면 좋습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
이 사이트는 광고 수익으로 유지되고 있습니다. 배너 또는 여기를 클릭하여 구매해 주시면 유지에 도움을 주실 수 있습니다.



