[공지]글 작성 및 수정 방법
목차
PCM
Pulse Code modulation
오디오 신호를 디지털 데이터로 변환 시켜서 2진수 데이터로 변환하는 방법.
PCM은 아날로그 신호를 디지털 형식으로 표현하는 방법 중 하나입니다. PCM은 일반적으로 음성 및 오디오 신호를 디지털 형태로 인코딩하는 데 사용되며, 다음과 같은 주요 원리로 작동합니다:
심도
bit
A/D converting
4dBu 를 기준으로 헤드룸을 18dB 를 준 아날로그 입력을 디지털로 변환하는 A/D 컨버터 기준으로 예를 들면
아날로그 신호 | Vpp(peak) |
---|---|
22dBu | 27.581673844 Vpp |
4dBu | 3.47232701Vpp |
0dBu | 2.19089023Vpp |
-100dBu | 0.000021909 Vpp |
-122dBu | 0.00000174 Vpp |
-infinity | 0 Vpp |
즉 V (전압) 의 범위는 -122dBu ~ 22dBu 까지 0.00000174v~ 27.581673844v
즉 약 144dB의 범위에서
가장 큰 전압과 가장 작은 전압의 차이를 표현할 때 자리수의 범위는 “최소” 8자리가 필요하다.(소수점 -6자리 부터 소수점 위로 +2자리까지) 하지만, 자리수가 더 많아지면 더 자세한 표현이 가능하다. 24-bit 가 144dB 표현이 가능하다는 말은 “최소” 라는 전제조건이 붙는 것이다.
dBFS
dB full scale
디지털 심도 포맷에 따라서 표현 가능한 최대값이 다 다르기 때문에(16-bit:96dB, 24-bit:144dB), 최대값이 통일이 안되어서 거꾸로 0을 최대값으로 - 단위로 표기한다. 또한 심도에 따라 표현 범위도 다 다르기 때문에 그 범위를 Full Scale 로 표현하게 된다. 일반적인 레퍼런스 레벨은 -18dBFS(24-bit & above), -12dBFS(16-bit)이다.
최대값의 진폭(Amplitude)의 절반값을 가지는 지점을 -6dBFS로 정해서, 값을 정한다. 다시 말해서 24-bit(144dB) 던, 16-bit(96dB)던, 48-bit(288dB)이건 상관 없이 최대값을 0dBFS, 절반값을 -6dBFS로 정하기 때문에, 디지털 심도의 차이는 “해상도”의 차이로 나타난다.1)
위의 표는 10V 를 각기 4-bit, 16-bit, 24-bit 등으로 A/D 컨버팅 했을 때의 분해능, 해상도를 나타낸다.
https://en.wikipedia.org/wiki/DBFS
The level of 0 dBFS is assigned to the maximum possible digital level.[2] For example, a signal that reaches 50% of the maximum level has a level of −6 dBFS, which is 6 dB below full scale. Conventions differ for root mean square (RMS) measurements, but all Peak measurements smaller than the maximum are negative levels.
쉽게 요약하면 Full scale 은 지도에서 말하는 “축척” 과 같은 개념이다. 따라서 높은 심도는 파형을 더 세밀하고 자세하게 표현하게 된다. 2)
DSP 엔진
DAW
Cubase나 Logic 등의 DAW 에서 32-bit 부동소수 포맷으로 프로젝트를 설정하고 사용하는 경우, 24-bit로 녹음된 오디오는 추가로 8자리의 부동소수 표현을 위한 비트를 추가로 얻게 된다.
따라서, DAW 내부적으로 파형의 진폭이 0dBFS 이상으로 크게 변화하는 경우에도 클리핑 현상이 일어나지 않고 오디오 프로세싱이 가능하다.
24-bit로 녹음된 데이터를 DAW에서 32-bit 부동소수 포맷으로 사용할 시 레퍼런스 레벨인 -18dBFS를 기준으로 변환하기 때문에 해상도에 영향을 미치게 된다. 즉 예를 들면 24-bit에서 32-bit 부동소수로 변환 시 가장 큰 신호값인 0dBFS는 0dBFS로 일치하도록, -18dBFS는 그도 역시 32-bit 부동소수 포맷의 -18dBFS로 full scale을 유지하게 된다. 그에 따라 시그널 처리의 해상도가 증가하게 된다. 기존 데이터의 값에는 변함이 없었지만 그 다음에 이 데이터를 가지고 DSP 처리를 하게 되면 더 세밀하고 정밀한 처리가 들어가게 되는 것이다.3)
특히, 이퀄라이저나 컴프레서와 같은 시그널 프로세서에서는 10dB, 20dB와 같은 높은 증폭 및 감쇄가 필요한 DSP 연산을 하게 된다. 20dB 정도이면 실제 디지털 숫자로는 큰 단위의 연산(100배 증폭 및 감쇄)이므로 심도가 상당히 중요하다고 볼 수 있다.
Fixed point dynamic range comparison
https://www.analog.com/-/media/analog/en/landing-pages/relationship-of-data-word-size/figure7.gif?la=en
정수 VS 부동소수
정수형 연산(Integer)과 부동소수형 연산(Floating point)을 비교하면, 정수형 연산의 장점은 부동소수형 연산보다 연산 클럭 수가 적게 들어가서 레이턴시 부분에서 유리하다.는 점이다. 하지만 최근에는 부동소수 DSP의 발전으로 인하여 큰 차이는 없다.
반면 부동소수점의 장점은, 매우 높은 해상도이다. 위에 항목들에서 설명했듯이 소수점을 유동적으로 변경할 수 있는 숫자 표시 양식 때문에, 부동소수점으로 표현할 수 있는 가장 큰 숫자는 정수형에서 표현할 수 있는 가장 큰 숫자보다 훨씬 큰 수를 표현하는 것이 가능하다.
레이턴시에 관한 문제 때문에, DSP 칩을 주력으로 사용하는 디지털 믹싱 콘솔이나, 디지털 시그널 프로세서들의 경우에는 40비트나 56비트 정수형 DSP를 사용하는 경우가 있지만 점점 32비트 부동소수형 DSP 또는 CPU 기반으로 바뀌는 추세이다.
Reference
나이퀴스트 정리
Nyquist's theorem
Nyquist's theorem states that a periodic signal must be sampled at more than twice the highest frequency component of the signal
앨리어싱 에러
Aliasing error
사람의 일반적인 가청 주파수는 20Hz-20kHz인데, 사람이 듣는 가청 주파수의 소리를 디지털로 저장하려면 20Hz-20kHz의 범위를 저장해야 한다. 하지만 나이퀴스트라는 사람이 발견한 법칙에 의하면, 20kHz의 소리를 디지털로 표본화 하려면 최소 1 cycle의 파형 당 2개의 점을 취득해야 하므로 40kHz의 간격으로 점을 찍어야 한다.(디지털 표본화) 다시 말해서 어떤 주파수를 디지털로 샘플링한 후, 다시 원래의 소리로 재생하려면 해당 주파수의 2배의 주파수로 샘플링해야 한다. 만약 20kHz의 소리를 샘플링 하려면 40kHz 간격으로 점을 찍으면 된다.
근데 여기서 하나의 전제 조건이 필요하다. 20kHz를 40kHz로 디지털 표본화할 때, 절대로 20kHz 이상의 소리가 들어와서는 안된다. 우리는 평소에 사람의 가청 주파수가 20Hz-20kHz이기 때문에 20kHz 이상이 안들리고 있을 뿐이지, 실제 자연계에는 20kHz 이상의 소리도 존재한다. 만약 30kHz의 소리가 들어오면 그것도 40kHz의 간격으로 샘플링 될 것이고,그 경우엔 1cycle의 파형 당 2개의 점을 찍기에 모자르게 된다. 위 그림에서 C와 같은 상황. 다시 원상 복구하면 전혀 엉뚱한 신호로 재생된다. 이러한 현상을 Alias error라고 한다.
Anti-aliasing filter
그래서 20kHz 이상의 소리가 샘플링 되지 않도록 샘플링하기 전에 아날로그 필터를 사용하여 20kHz 이상의 소리를 지워야 한다. 그것을 Anti-aliasing filter라고 한다.
하지만 아무리 필터 성능이 좋다고 해도 그래프를 보면 알겠지만, 20kHz 이상이 완벽히 지워지는 곳은 필터의 컷오프 주파수가 시작되고도 한참 위의 주파수이다. 필터의 기울기4)를 높게 설계하면 좀 더 가파르게 되지만, 그렇게 하면 필터의 다른 성능5)이 떨어지게 된다.
에를 들어, 위에 있는 Butterworth 필터에서, 만약 1 을 기준으로 3 까지 -60dB6)를 떨어뜨릴 수 있는 가장 성능 좋은 필터를 사용한다 가정했을 때, 1 에 20kHz 란 수치를 대입하면, 60kHz 까지는 소리를 완벽히 없에는 것이 불가능하고, 그렇다면, 이론 상 60kHz라는 샘플링 레이트를 사용해서 표본화 해야 한다. 하지만 -60dB 정도까지 낮추는 것이지, 완벽하게 제거한 것은 아니기 때문에, 결국 alias error로 폴딩되어서 가청 주파수 중 낮은 주파수 쪽에 이 alias error가 노이즈 플로어7)로 존재하게 될 것이다.
Reference
오버샘플링
Over-sampling
아날로그 필터만을 안티 앨리어스 필터로 사용하는 것은 현실적인 어려움이 있기 때문에, 추가로 오버샘플링이란 기술을 사용하기도 한다.
아날로그만으로 가장 성능 좋은 필터를 쓰는 것도 기술 및 비용 상 어려울 수 있다. 장비의 제작 비용이 올라갈 수 있고, 필터의 부가 효과인 위상 왜곡8)이 발생할 수 있다.
아날로그 안티 앨리어싱 필터의 경우 20kHz 대역을 제거하기 위해 20kHz 대역을 컷오프 프리퀀시 로 설정하여 필터를 걸면 위의 그림과 같이 필터가 걸린다. 그런데 20kHz 대역 이상의 주파수 성분들이 칼같이 잘려서 제거되는 것이 아니다. 필터의 기울기가 완만함에 의해 20kHz 이상에도 아직 찌꺼기 주파수 성분들이 남아 있음을 알 수 있다.
따라서, 48KHz를 목표로 하는 샘플링을 진행할 때, 4배인 192kHz로 샘플링을 하면 앨리어싱 필터의 기울기가 완만해서 발생하는 20kHz~192kHz 사이의 걸러지지 않은 찌꺼기 주파수들에 의한 앨리어싱 에러가 줄어들게 된다. 그런 후에 48kHz로 다시 다운 샘플링을 하여 목표했던 앨리어싱 에러가 큰 폭으로 줄어들은 48kHz 결과물을 얻게 된다.
다만 샘플레이트를 몇 배로 곱해서 샘플링하기 때문에 고성능의 워드클럭 기술이 필요하게 된다. 따라서 PLL 등의 워드클럭 기술이 적용된다.
높은 샘플링 레이트 사용의 필요성
결국, 이런 것들을 모두 고려하면, 가청 주파수인 20Hz~ 20kHz를 온전하게 제대로 샘플링하고 재생하기 위해서는9) 안티 앨리어스 필터도 최고 성능으로 설계하고, 샘플링 레이트도 96kHz 나 192kHz로 높혀서 샘플링하고, 오버샘플링 기술도 사용해야 앨리어스 에러에 의한 노이즈 플로어도 낮추고, 위상 왜곡도 줄일 수 있다고 본다.10) 어차피, 당연하지만 사람은 20kHz 이상의 주파수를 듣지 못하니까 주파수 대역이 높아진다는 의미보다는 “노이즈 플로어“의 감쇄와, “위상 왜곡“의 최소화에 효과가 있다고 보면된다.
48kHz 나 44.1kHz로 샘플링하는 A/D 컨버터의 경우 아날로그 안티 앨리어스 필터 성능이 아주 좋아야 하기 때문에, 하이엔드 컨버터와, 저렴한 오디오 인터페이스간의 음질의 간극이 매우 크게 느껴집니다. 아날로그 필터의 성능에 크게 의존하게 되기 때문입니다. 하지만 96kHz 나 192kHz의 샘플링 레이트에서는 하이엔드 컨버터와 일반 기기를 비교하면 크게 차이 나지 않는 성능을 보여주기도 합니다. 따라서 96kHz, 192kHz를 지원하는 기기를 48kHz, 44.1kHz 셋팅으로 사용하는 것은 큰 도움이 될 수 있습니다.
Oversampled Clipping Demo
Reference
양자화
Quantization
양자11)는 더 이상 나눌 수 없는 최소값을 뜻한다. PCM 방식의 신호 디지털 컨버팅에서 연속된 값인 아날로그를 최소 단위의 불연속 값으로 재정의하는 것을 말한다.
양자화
표본화
샘플링 레이트
왜 44.1kHz인가?
영상 포맷과의 호환성을 고려하여 가청 주파수 20kHz 의 두배인 40kHz 이상12)을 가지면서 비디오 형식인 NTSC와 PAL 동시 호환이 가능한 샘플링 레이트를 CD 표준으로 정했다.
NTSC
PAL
48kHz
Sony가 개발한 DAT(Digital Audio Tape)의 최고 샘플링 레이트가 48kHz 였다.
Sony DAT는 A/D 컨버터 회로에 들어가는 안티 앨리어싱 필터로 20Hz 컷오프 프리퀀시로 시작해서 24kHz까지 떨어지는 필터를 채택했고 기기도 거기에 맞춰서 48kHz의 샘플레이트로 작동했다. 이 A/D 컨버터는 기존의 44.1kHz의 샘플레이트로 동작하는 A/D 컨버터보다 음질이 우수했다.13)
녹음실에서 믹스를 완료한 후 스테레오 트랙을 받는 용도로 DAT 레코더들이 쓰였고 DAT로 담긴 믹스 완성본을 마스터링 스튜디오에서 마스터링 과정을 거쳐 마스터 CD로 만들었다.(근데 CD는 44.1kHz 사양이다. 그래서, 마스터링 스튜디오에서 CD에 담기 위해 샘플레이트 변환작업을 하였다.)
또한 녹음실에 아주 많이 보급되었던 Alesis의 디지털 멀티 트랙 레코더인 ADAT도 DAT의 사양 그대로 48kHz를 채용했다.
워드클럭
Word Clock
디지털 프로토콜을 이용해 여러 개의 장비를 연결할 때, 디지털 신호는 0,1 로 이루어진 신호이기 때문에, 몇 개의 Word(이진수 Word)를 주고 받았는지 알려주는 워드클럭 신호가 있어야 신호가 이상 없이 전송된다.
따라서 일반적으로 디지털 출력에는 당연히 워드클럭 신호가 포함되어 있다.14)
예를 들면, ADAT 출력 → ADAT 입력으로 디지털 장비를 연결한 경우, ADAT의 TOSLink 케이블을 통해 디지털 오디오 신호도 전송되고 워드클럭 신호도 전송이 된다.15)
방향성
단 워드클럭도 디지털 신호의 경로와 방향이 같기 때문에, 디지털 아웃풋 → 디지털 인풋의 단방향으로만 전송된다.16)
이러한 방향성의 문제로 인하여 디지털 연결된 두개의 기기 중에 어느 것이 클럭 마스터이고, 클럭 슬레이브인지 결정된다.
예를 들면, 오디오 인터페이스에 8 채널 프리앰프를 확장하기 위해서 ADAT 연결을 지원하는 8 채널 프리앰프를 연결할 때, 8 채널 프리앰프의 출력을 ADAT 아웃풋으로 출력하여 오디오 인터페이스의 ADAT 인풋으로 연결하게 되는데, 워드클럭 신호도 이 신호 경로의 방향과 같기 때문에, 워드클럭 신호도 또한 8 채널 프리앰프 → 오디오 인터페이스 방향으로 연결된다.
따라서, 오디오 인터페이스는 워드클럭 신호를 받기만 할 뿐이고 워드클럭 신호를 보내주는 쪽은 연결된 8 채널 프리앰프이기 때문에, 오디오 인터페이스가 클럭 슬레이브, 8 채널 프리앰프가 클럭 마스터가 된다.
따라서, 오디오 인터페이스를 클럭 마스터로 사용하기 위해서는, 오디오 인터페이스의 워드클럭 아웃을 다시 8 채널 프리앰프의 워드클럭 인풋으로 연결해서 워드클럭을 오디오 인터페이스에서 8 채널 프리앰프로 보내주어야 한다.
디지털 연결이 일반적인 디지털 프로토콜이 아닌 네트워크 오디오 프로토콜일 경우에는, 디지털 신호가 양방향으로 연결되기 때문에, 워드클럭도 양방향으로 연결된다. 따라서, 네트워크 오디오 프로토콜에서는 어느 기기를 마스터로 두어도 크게 상관이 없다.
터미네이션
기기 간 워드클럭의 연결은 75Ω BNC 케이블로 한다. 워드클럭 연결이 끝나는 장비에서는 75Ω 터미네이터를 사용하여 클럭 신호를 막아줘야 한다. 기기에 따라 터미네이션 스위치가 있는 경우도 있다. 자체적인 워드클럭 액티브 리제너레이터 회로가 있는 경우에는 워드클럭 터미네이션이 필요 없는 경우도 있다. 기기 자체 설정에서 클럭 설정을 통해 워드클럭 아웃이 off 될 수 있기 때문이다.
PLL
Phase Locked Loop
입력 신호의 위상을 기준으로 위상이 고정 된 출력 신호를 생성하는 제어 시스템 입니다. 입력 및 출력 위상을 고정 단계로 유지한다는 것은 입력 및 출력 주파수를 동일하게 유지하는 것을 의미하므로 위상 고정 루프도 입력 주파수를 추적할 수 있습니다. 그리고 주파수 분배기를 통합함으로써 PLL은 입력 주파수의 배수인 안정적인 주파수를 생성할 수 있습니다.
관련글
[홈레코딩 필독서]"모두의 홈레코딩"구매링크