도구스개발

괴르첼 알고리즘 계산기 (단일 주파수 검출)

전체 스펙트럼이 아니라 원하는 주파수 하나(또는 DTMF 두 톤)의 크기만 2차 순환식으로 빠르게 구하는 괴르첼 알고리즘을 계산합니다. DTMF 톤 검출·모뎀에 실제로 쓰이는 방식입니다.

검출된 조합

770Hz + 1336Hz

8개 후보 주파수에 각각 괴르첼을 돌려 가장 센 로우·컬럼 두 개를 찾았습니다. 버튼 '5'가 실제로 만드는 조합과 같아야 합니다.

후보 8개 주파수별 크기 (로우 4개 + 컬럼 4개)

697
770
852
941
1209
1336
1477
1633
s(n) = x(n) + 2cos(ω)·s(n−1) − s(n−2) (ω = 2π·k/N, k = 목표 주파수 × 표본 수 ÷ 표본화 주파수) 전체 표본을 이 2차 순환식으로 한 번 훑은 뒤, 마지막 두 상태값만으로 그 주파수 성분의 크기와 위상을 복원합니다. dev/dft-calc의 정의 그대로 계산한 DFT와 같은 정수 빈에서는 정확히 같은 값이 나옵니다 — 완전히 다른 경로로 같은 답을 내는 것이 이 알고리즘이 맞다는 증거입니다.
목표 주파수가 표본 수·표본화 주파수로 정해지는 DFT 빈에 정확히 대응하지 않으면(정수가 아닌 빈이면) 결과가 그 주변 빈들이 섞인 근사값이 됩니다. 목표 주파수는 나이퀴스트 주파수(표본화 주파수의 절반)를 넘을 수 없습니다.

사용 방법

  1. 1표본 신호를 직접 넣거나 DTMF 두 톤 예시를 골라 만듭니다.
  2. 2찾고 싶은 목표 주파수와 표본화 주파수를 정합니다.
  3. 3괴르첼 순환식으로 구한 크기·위상을 확인합니다.

자주 묻는 질문

DFT처럼 신호 전체의 스펙트럼을 구하지 않고, 원하는 주파수 하나(또는 몇 개)의 크기만 2차 순환식 s(n) = x(n) + 2cos(ω)·s(n−1) − s(n−2)로 구하는 알고리즘입니다. 전화 버튼음(DTMF) 검출이나 모뎀에서 실제로 씁니다.

몇 개의 특정 주파수만 필요할 때 전체 N개 빈을 다 계산하는 DFT보다 훨씬 적은 연산으로 답을 얻습니다. DTMF 검출처럼 확인해야 할 주파수가 8개뿐인 경우에 특히 유리합니다.

목표 주파수가 표본 수·표본화 주파수로 정해지는 DFT 빈 하나에 정확히 대응할 때(정수 빈일 때)는 같은 값이 나옵니다. 두 계산은 완전히 다른 경로를 거치지만 수학적으로 같은 값을 구하는 것이라 서로 검산할 수 있습니다.

전화기 버튼을 누르면 로우(행) 주파수 하나와 컬럼(열) 주파수 하나가 동시에 섞여 나가는 방식입니다. 예를 들어 숫자 5는 770Hz(로우)와 1336Hz(컬럼)가 섞인 소리입니다. 8개 후보 주파수 각각에 괴르첼을 돌려 가장 센 로우·컬럼 조합을 찾으면 눌린 숫자를 알 수 있습니다.

아니요. 입력한 표본과 주파수는 모두 브라우저에서만 계산되며 서버로 전송되지 않습니다.

알아두면 좋은 점

  • 목표 주파수는 0 이상, 표본화 주파수의 절반(나이퀴스트 주파수) 이하여야 합니다.
  • 목표 주파수가 DFT 빈에 정확히 대응하지 않으면(정수가 아닌 빈이면) 결과가 그 주변 빈들이 섞인 근사값이 됩니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.