한양과학기술고등학교

에듀테크 프로젝트 대시보드

표본화 정리와 에일리어싱

표본화 정리와 에일리어싱

연속적으로 흐르는 아날로그 신호(소리·빛·전압)를 컴퓨터에 담으려면 일정 간격으로 값을 표본화(sampling)해야 한다. 너무 드문드문 찍으면 원래 신호가 전혀 다른 낮은 주파수로 둔갑하는데, 이것이 에일리어싱(aliasing)이다. 나이퀴스트–섀넌 표본화 정리는 그 경계선을 알려준다.

1. 표본화 실험실 — 슬라이더로 에일리어싱 만들기
원래 신호 (연속) 표본점 복원된 신호 (샘플만 보고 그린 최저 주파수)
나이퀴스트 주파수 (fs / 2) 10 Hz
겉보기(에일리어스) 주파수 3 Hz
표본 / 신호 주기 6.7×
fs > 2·f 이므로 표본만으로 원래 신호를 정확히 복원할 수 있다.
2. 왜 이런 일이? — 스트로보스코프 / 마차 바퀴 효과

영화·영상의 카메라는 1초에 24~60장의 사진(프레임)만 찍는다. 이것도 표본화율이다. 바퀴가 프레임 사이에 거의 한 바퀴를 돌면 카메라에는 조금 뒤로 돈 것처럼 보인다 — 질주하는 자동차 바퀴가 거꾸로 도는 그 착시다.

화면에서 보이는 회전 +1.0 회/초
3. 나이퀴스트–섀넌 표본화 정리

대역폭이 B Hz 이하인 신호는, 표본화율이 fs > 2B 이기만 하면 표본값만으로 원래의 연속 신호를 완벽하게 복원할 수 있다. 이 하한선 2B 를 나이퀴스트율, 그 절반 fs/2 를 나이퀴스트 주파수(= 표현 가능한 최고 주파수)라고 한다.

에일리어스 주파수(folding): f_alias = | f − fs · round(f / fs) | f < fs/2 → f_alias = f (그대로, 안전) f > fs/2 → 더 낮은 가짜 주파수로 접힘 (에일리어싱)

fs/2 를 기준으로 주파수 축이 거울처럼 접히기 때문에 "folding frequency"라고도 부른다. 한 번 접혀 섞인 성분은 나중에 어떤 계산으로도 분리할 수 없다 — 그래서 아날로그 단계에서 미리 안티에일리어싱 저역통과 필터로 fs/2 위 성분을 잘라낸다.

# 표본에서 겉보기 주파수를 예측
def alias_freq(f, fs):
    k = round(f / fs)
    return abs(f - fs * k)

alias_freq(3,  20)   # 3.0  (3 < 10, 안전)
alias_freq(23, 20)   # 3.0  (23Hz가 3Hz로 둔갑!)
alias_freq(18, 20)   # 2.0  (18Hz → 2Hz)
4. 현실 속의 표본화율
CD 오디오 44.1 kHz사람 가청 상한 ≈ 20 kHz. 여유를 두고 그 2배 남짓으로 잡아 필터 설계를 편하게 했다.
전화 음성 8 kHz음성 명료도에 필요한 ~3.4 kHz만 남기고 저역통과 필터 후 표본화. 그래서 전화 목소리가 먹먹하다.
게임·3D 렌더링픽셀도 화면의 "표본". 경계선이 계단처럼 튀는 재기(jaggies)가 공간적 에일리어싱이라 MSAA·FXAA로 완화한다.
디지털 오실로스코프표본화율이 신호보다 낮으면 화면의 파형이 실제와 다르다. 그래서 "실시간 대역폭" 스펙이 중요하다.