DSP Tutorial – 오디오 샘플레이트란?

Ableton Live의 오디오 설정 메뉴

오디오 샘플레이트는 DSP를 공부하거나 DAW(Digital Audio Workstation) 사용자들이 가장 먼저 마주치는 기술 용어중 하나다.

디지털 신호처리에서 샘플레이트란 무엇이고, 어떤 식으로 정의내려지는지에 대해서 알아보자.

아날로그 vs 디지털

아날로그 신호는 일반적으로 연속적인 신호라고 불린다.

우리가 측정하게 되는 신호는 초당 회전수 (cps, cycle per seconds) 또는 Hz, 즉 주파수만을 알 수 있다.

아날로그 신호는 연속적인 하나의 선으로 나타낼 수 있다.

1Hz의 사인 파를 시각화한 자료를 보면서 우리가 자주 잊는 사실중 하나는 우리가 ‘파형’을 듣는 것이 아니라, 한 점의 궤적을 시간 선에서 모은 결과가 파형이라는 것을 잊는다는 것이다.

하나의 점이 0도에서 360도까지 사인 함수와 같은 반복 운동을 1초의 간격으로 수행한 결과‘ 가 곧 우리가 보는 사인 파형의 그래프인 것이다.

ADC 과정에서 사인 곡선이 아닌, 궤적 안에 있는 데이터들이 저장되어 단속적인 신호가 된다.

디지털 신호란 무엇일까? 간단히 말해, 디지털 신호는 일정한 시간동안 아날로그 신호의 궤적을 촬영한 것이라고 볼 수 있다.

결국 디지털 신호는 유한한 수를 가지는 샘플들의 집합이 될 것이므로, 이러한 신호를 우리는 단속적(Discrete) 신호라고 부른다. 

샘플레이트는 아날로그 신호를 단속적 신호로 변환하는 과정에서 초당 몇 개의 샘플을 저장할지를 결정하는 속도이다.

오디오 매체 뿐만 아니라 비디오에도 샘플레이트와 유사한 개념이 존재하는데 그것은 프레임률(Framerate), 화면 주사율(Refresh Rate)이다. 샘플레이트를 설명하기 전에 먼저 애니메이션에 대 알아보자.

프레임률과 화면 주사율

얼마만큼의 프레임이 모여야 부드러운 애니메이션이 될까?

자연스러운 동작을 표현하기 위해서는 최소 15프레임 이상이 되어야 하며, 보다 부드러운 동작을 위해서는 24프레임, 30프레임 이상을 요구한다.

모든 프레임을 손으로 그려야했던 셀 애니메이션 시대에는 예산을 아끼기 위해 표현해야되는 동화에 맞춰서 사용하는 프레임수를 줄이는 형태의 가변 프레임률을 사용하기도 했다.

PC 벤치마크에서 빼놓을 수 없는 게임 벤치마크.

수없이 많은 벤치마크에서 지금 현재 사양의 CPU, GPU를 사용했을때 특정 어플리케이션 또는 게임의 프레임률이 얼마나 나오는지를 비교하곤 한다.

물론 이는 실제로 컴퓨터 성능을 알아볼 수 있는 척도이긴 하지만, 실제로 컴퓨터 화면이 이러한 프레임들을 어떻게 표현하는지 생각해본 적 있는가?


프레임이 증가할수록 동작은 부드러워진다.

프레임률은 초당 몇개의 프레임이 모여 동작을 이루는지를 의미한다.

80FPS면 초당 80개의 프레임을 재생하고 있다는 뜻이다.

명심해야할 것은 게임상의 FPS는 소프트웨어 안에서 처리되는 속도를 말한다는 것이지, 실제로 모든 프레임이 모니터에 표현되는 것이 아니라는 점이다.

나의 게임 또는 그래픽 프로그램의 프레임률이 아무리 높게 나타난다 해도, 실제 우리가 보게 되는 화면의 속도는 가능한 속도는 외부로 출력되는 기기에 따라 정의 내려지는데 이것이 화면 주사율(Refresh Rate)이다.

80FPS로 리그 오브 레전드가 돌아가고 있고 내 모니터의 주사율이 75Hz인 경우. 초당 80개의 동작을 75등분한 값인 75Hz, 즉 초당 75개의 화면으로 나뉘어져 나오게 된다.

주사율보다 프레임률이 떨어지면 부정확하거나 연속적인 동작 사이에 오류가 생기거나, 화면 속 캐릭터가 순간이동 하는 등의 시각적 오류가 일어날 수 있다. 이것에 대해서는 다음에 다루도록 하자.


나이퀴스트 정리

관측하고자 하는 파형이 x Hz일때, ‘최소한 얼마나 많은 샘플을 모아야 원본 신호와 최대한 비슷한 결과를 가져올 수 있는가?‘ 당연히 많을수록 좋겠지만, 비디오의 프레임률처럼 규격화된 시스템을 만들기 위해서는 디지털 오디오 또한 영상매체를 만들때와 비슷한 문제에 직면하게 된다.

이를 정의한 최소 샘플레이트에 대한 정리를 나이퀴스트-새넌 정리 (Nyquist-Shanon Theorem) 또는 표본화 정리라고 한다.

입력 신호 x(f)가 B Hz보다 높은 주파수 성분을 가지고 있지 않다면, 표본화에 필요한 주기는 최소 1/(2B) 초이다.

간단하게 정리하자면, 1Hz 의 신호를 측정하기 위해선 ‘최소한’ 1Hz의 2배, 즉 2Hz 이상의 속도를 가져야한다고 할 수 있으며, 이를 나이퀴스트 속도 (Nyquist Rate)라고 부른다.

하지만 나이퀴스트 속도는 샘플링을 위한 최소 조건이지, 충분조건이 아니다. 1Hz의 사인파를 정보화하기 위한 최소한의 내용은 무엇일까?

파형의 궤적을 모두 완벽히 담지는 못하더라도 주파수가 무엇인지 알기 위해서는 파형의 Zero-crossing Point 및 최대/최저 값의 위치를 알아야 할 것이다.

따라서 샘플링 속도는 설정된 최소 나이퀴스트 속도의 두배인 4Hz가 되어야 할 것이다.

인간의 가청주파수 대역 (20-20khz)를 고려하였을 때, 오디오 신호처리를 위한 표본화 속도는 1/40000(2 * 20khz) 이상이 되어야 한다.

이때 처리 가능한 대역폭은 샘플레이트의 절반 값이 되며 이를 나이퀴스트 주파수(Nyquist Frequency)라 한다. 

나이퀴스트 속도는 샘플링하려는 신호의 속도인 B Hz의 두배여야 하며, 나이퀴스트 주파수는 샘플링 속도의 절반이 된다.

결과적으로 샘플링 속도는 측정하려는 나이퀴스트 주파수를 상회하는 속도가 되어야 하며, 이러한 이유로 PCM(Pulse Code Modulation) 오디오의 표준이라 할 수 있는 매체인 CD의 샘플레이트로 44.1khz가 채택되게 된다.

Fabfilter Pro-L 2의 오버샘플링 메뉴

하지만 44.1khz로도 가청주파수를 모두 커버할수 있을텐데, 어째서 많은 오디오 플러그인/신디사이저, DAW를 포함한 디지털 오디오 장비들은 이보다 더 높은 고속 샘플레이트를 지원하는 것일까?

이에 대해서는 다음 장에서 오버샘플링과 에일리어싱에 대해 다루면서 알아보도록 하자.

참고 자료:

Wikipedia – Oversampling

다른 DSP Tutorial 읽기