표본화 정리

편집 역사 토론
수치해석 전자공학 마지막 수정: 2026-08-02 04:13:58

1. 개요[편집]

연속 신호를 몇 개 점으로 찍어도 되는가? 대역이 제한돼 있다면, 놀랍게도 하나도 안 잃고 된다.

표본화 정리(sampling theorem, 섀넌-나이퀴스트 표본화 정리)는 최고 주파수 fmaxf_{\max} 이하로 대역이 제한된 신호는 표본화 주파수 fs>2fmaxf_s > 2f_{\max}로 균일하게 찍기만 하면 표본열로부터 원 신호를 완벽하게 복원할 수 있다는 정리다. “근사적으로 비슷하게”가 아니라 정확히 같은 함수를 되살릴 수 있다는 뜻이다. 디지털 신호처리라는 분야 전체가 이 한 문장 위에 서 있다.

이 정리의 진짜 무게는 반대 방향에 있다. 조건을 어기면 잃은 정보를 되돌릴 방법이 없다. 표본화가 끝나는 순간 섞여 버린 주파수 성분은 그 뒤에 어떤 알고리즘을 갖다 붙여도 분리되지 않는다. 그래서 실무에서 표본화 정리는 “얼마나 자주 찍을까”의 지침이 아니라 **“찍기 전에 무엇을 잘라야 하는가”**의 지침으로 쓰인다.

2. 정리와 재구성 공식[편집]

x(t)x(t)의 푸리에 변환 X(f)X(f)fB\lvert f \rvert \ge B에서 0이라 하자(대역제한). 간격 T=1/fsT = 1/f_s로 찍은 표본열 x(nT)x(nT)의 스펙트럼은 X(f)X(f)fsf_s 간격으로 무한히 복제해 더한 것이다.

Xs(f)=fsk=X(fkfs)X_s(f) = f_s \sum_{k=-\infty}^{\infty} X(f - k f_s)

복제본들이 서로 겹치지 않을 조건이 곧 fs>2Bf_s > 2B이고, 겹치지 않으면 이상적 저역통과 필터로 원본 하나만 오려 낼 수 있다. 시간 영역에서 이 오려내기는 sinc 보간(카디널 급수)이 된다.

x(t)=n=x(nT)sinc ⁣(tnTT),sinc(u)=sinπuπux(t) = \sum_{n=-\infty}^{\infty} x(nT)\,\mathrm{sinc}\!\left(\frac{t - nT}{T}\right), \qquad \mathrm{sinc}(u) = \frac{\sin \pi u}{\pi u}

용어 정리가 자주 헷갈리는데, 나이퀴스트 율(Nyquist rate)은 신호가 요구하는 최소 표본화율 2B2B이고, 나이퀴스트 주파수(Nyquist frequency, 접힘 주파수)는 주어진 fsf_s의 절반 fs/2f_s/2다. 앞은 신호의 성질, 뒤는 장비의 성질이다.1

이름값 얘기도 빼놓을 수 없다. 나이퀴스트(1928)는 전신 채널 용량을, 휘터커(1915)는 카디널 급수를, 코텔니코프(1933)는 소련에서 완전한 형태의 정리를 이미 발표했고, 섀넌(1949)이 정보이론 논문에서 정리하며 지금의 이름이 굳었다. 그래서 러시아어권 교재에는 “코텔니코프 정리”로 나온다.

3. 에일리어싱 — 접히는 주파수[편집]

fs>2Bf_s > 2B를 어기면 복제 스펙트럼이 겹친다. 이때 f0>fs/2f_0 > f_s/2인 성분은 사라지는 게 아니라 낮은 주파수로 위장해서 나타난다.

falias=f0kfs(가장 가까운 정수 k)f_{\text{alias}} = \lvert f_0 - k f_s \rvert \quad (\text{가장 가까운 정수 } k)

fs/2f_s/2를 거울로 삼아 접힌다고 해서 접힘(folding)이라 부른다. 60 Hz로 도는 바퀴를 30 fps 카메라로 찍으면 멈춰 보이거나 거꾸로 도는 그 현상이다. 문제는 접혀 들어온 가짜 성분이 진짜 저주파와 수학적으로 구별 불가능하다는 것 — 둘 다 표본점에서 정확히 같은 값을 준다. 그러니 디지털 후처리로는 절대 못 뺀다.

방어는 하나뿐이다. 안티에일리어싱 필터를 ADC 앞의 아날로그 단에 두고 fs/2f_s/2 위를 미리 죽인다. 이상적 벽돌담 필터는 물리적으로 불가능하므로 실제로는 유한한 롤오프를 가진 필터를 쓰고, 그만큼 여유 대역을 잡는다. 오디오 CD의 44.1 kHz가 가청 상한 20 kHz의 두 배인 40 kHz가 아니라 4.1 kHz를 더 얹은 이유 중 하나가 이 전이대역이다.2

4. 실무의 우회로들[편집]

오버샘플링. 필요보다 훨씬 높은 율로 찍으면 아날로그 필터의 전이대역이 광활해져서 1~2차 RC 필터로도 충분해진다. 이후 디지털 영역에서 정밀한 저역통과 후 데시메이션한다. 델타-시그마 ADC는 여기서 한 발 더 나가 잡음 성형(noise shaping)으로 양자화 잡음을 고주파로 밀어내고, 데시메이션 필터로 통째로 걷어낸다. 아날로그 회로의 어려움을 디지털 연산량으로 바꿔치기하는 전형적 거래다.

대역통과 표본화(언더샘플링). 정리를 자세히 읽으면 조건은 “fmaxf_{\max}의 두 배”가 아니라 **“복제본이 겹치지 않을 것”**이다. 신호가 [fL,fH][f_L, f_H]에만 살아 있고 대역폭 B=fHfLB = f_H - f_L이면,

2fHnfs2fLn1,1nfHB\frac{2f_H}{n} \le f_s \le \frac{2f_L}{n-1}, \qquad 1 \le n \le \left\lfloor \frac{f_H}{B} \right\rfloor

를 만족하는 fsf_s2fH2f_H보다 훨씬 낮은 율로도 복원이 된다. 소프트웨어 정의 라디오에서 수백 MHz 반송파 신호를 수십 MHz ADC로 직접 받는 기법이 이것이다. 물론 이때 안티에일리어싱 필터는 대역통과 필터여야 하고, 조건을 만족하는 fsf_s 구간이 띄엄띄엄한 섬 모양이라 아무 값이나 고르면 그대로 망한다.

압축센싱은 정리를 깨지 않는다. “나이퀴스트 이하로 찍는다”는 홍보 문구 때문에 오해가 잦은데, 압축센싱은 가정을 하나 더 넣은 것이다. 표본화 정리는 “대역제한” 하나만 가정하고 선형 복원을 보장하지만, 압축센싱은 “어떤 기저에서 KK-희소하다”는 훨씬 강한 구조를 추가로 요구하고 복원도 1\ell_1 최소화라는 비선형 절차다. 필요 측정 수는 대략 O(Klog(N/K))O(K\log(N/K)). 조건이 다르면 결론이 다른 게 당연하지, 정리가 틀린 게 아니다.3

5. sinc 보간은 왜 실무에서 안 쓰는가[편집]

재구성 공식이 그렇게 아름다운데 실제 코드에서 sinc를 그대로 쓰는 경우는 거의 없다. 이유는 셋이다.

  • 무한 지지. 한 점을 계산하려고 모든 표본을 다 봐야 한다. 실시간 처리에서는 애초에 불가능하고, 인과성도 없다.
  • 느린 감쇠. sinc\mathrm{sinc}의 꼬리는 1/t1/t로만 죽는다. 절단하면 곧바로 깁스 현상이 튀어나와 링잉이 생긴다.
  • 비대역제한 데이터. 실제 데이터는 대역제한이 아니다. 이상적 재구성은 이상적 입력에만 최적이다.

그래서 현실에서는 창을 씌운 sinc(Lanczos), 3차 컨볼루션(Keys의 Catmull-Rom 계열), B-스플라인 같은 유한 지지 커널을 쓴다. 이론적 완벽함을 조금 내주고 국소성과 연산량을 얻는 거래이며, 커널 설계 논의는 보간과 근사윈도 함수 문서로 이어진다.

6. 격자와 파장 — 시뮬레이션판 표본화 정리[편집]

CFD·구조·음향 하는 사람에게 이 정리는 남의 동네 이야기가 아니다. 공간 격자도 표본화다.

파장 λ\lambda짜리 파동을 셀 크기 hh로 자를 때 파장당 셀 수 PPW=λ/h\mathrm{PPW} = \lambda/h가 곧 표본화율이다. 표본화 정리의 하한은 PPW = 2지만, 이건 “완벽한 재구성 필터가 있을 때”의 값이고 2차 정확도 차분 도식에서는 위상 오차가 누적돼 실질적으로 PPW 15~20이 필요하다. 전산음향학에서 고주파 해석 비용이 폭발하는 이유가 이것이며, 고차 도식이나 스펙트럴 방법이 각광받는 이유도 같은 PPW에서 위상 오차가 훨씬 작기 때문이다. 이 오차 구조 자체는 수치 소산과 분산에서 다룬다.

의사스펙트럴 직접수치모사에서는 더 노골적이다. 비선형 항 uuu \cdot \nabla u를 물리공간에서 곱하면 두 파수의 곱이 2kmax2k_{\max}까지 올라가 나이퀴스트를 넘고, 그게 그대로 저파수로 접혀 들어와 에너지 스펙트럼을 오염시킨다. 이걸 막는 국룰이 2/3 규칙(상위 1/3 파수를 매 스텝 0으로 만들기)이나 3/2 패딩이다. 표본화 정리를 안 지키면 난류 시뮬레이션이 조용히 틀린 답을 내놓는다.

메시 독립성 연구격자 수렴 지수가 하는 일도 결국 “표본화율이 충분한가”를 사후에 확인하는 절차다. 그래픽스에서 같은 이름을 가진 안티앨리어싱은 무대만 화면 픽셀로 바뀌었을 뿐 정확히 같은 정리의 응용이다 — 계단 현상과 모아레 무늬는 공간 표본화의 접힘 그 자체다.

7. 시간 표본화 — 프로브 신호에서 자주 나는 사고[편집]

공간뿐 아니라 결과를 저장하는 주기도 표본화다. 카르만 와열 해석에서 후류에 프로브를 박고 속도 이력을 저장한 뒤 고속 푸리에 변환으로 와류 이탈 주파수를 뽑는 것은 표준 작업인데, 여기서 두 가지가 반복적으로 어긋난다.

  • 저장 주기가 너무 성기다. 해석 시간 간격 Δt\Delta tCFL 조건이 정하지만, 결과 저장은 용량 때문에 100스텝에 한 번씩 하는 경우가 많다. 이때 실효 fsf_s1/(100Δt)1/(100\Delta t)이고, 그보다 빠른 난류 요동은 전부 저주파로 접혀 들어와 스펙트럼 저주파 대역을 통째로 부풀린다. 대와류 모사에서 저주파 에너지가 실험보다 높게 나온다면 물리 이전에 저장 주기부터 의심해야 한다.
  • 디지털에서는 안티에일리어싱을 못 한다. 이미 성기게 저장된 데이터에 필터를 걸어 봐야 소용없다. 해법은 해석 중에 이동평균으로 시간 필터를 걸어 놓고 저장하는 것뿐이다. 하드웨어 계측에서 아날로그 필터를 ADC 앞에 두는 것과 정확히 같은 이유다.

가변 시간 간격(적응 Δt\Delta t)으로 돌린 해석의 이력은 비균일 표본이라 FFT를 그냥 못 쓴다는 점도 자주 걸린다. 균일 격자로 재보간해야 하는데, 그 보간 자체가 또 저역통과 필터로 작용해 고주파를 깎는다. 롬-스카글 주기도처럼 비균일 표본을 직접 다루는 추정량을 쓰는 편이 안전하다.

8. 관련 문서[편집]

9. Footnotes[편집]

  1. 이 둘을 뒤섞어 쓰는 문헌이 정말 많다. “나이퀴스트 주파수 이상은 못 본다”는 맞는 말이고 “나이퀴스트 율 이상으로 찍어야 한다”도 맞는 말인데, 두 단어를 바꿔 쓰면 둘 다 틀린 말이 된다. 리뷰어가 제일 먼저 잡는 지점이기도 하다.

  2. 44.1 kHz라는 숫자의 기원은 초기 디지털 오디오를 U-matic 비디오 테이프에 저장하던 관행이다. NTSC 프레임당 라인 수와 라인당 표본 수를 곱해서 나온 값이라, 인간의 청각이 아니라 방송 규격이 결정한 숫자다. 반세기 가까이 그 숫자를 쓰고 있다.

  3. “압축센싱이 섀넌을 깼다”는 헤드라인이 2007년쯤 유행했고, 그때마다 원저자들이 “우리는 아무것도 깨지 않았다”고 정정하는 촌극이 반복됐다. 가정을 더 넣고 결론을 더 얻는 건 수학에서 가장 정상적인 거래다.