지난번 글에서는 SNR (Signal-to-Noise Ratio) 에 대하여 정성적으로 살펴보았습니다. SNR은 신호와 잡음의 비율이라고 했습니다. 정량적으로 표현하면 SNR은 신호 Power 와 잡음 Power 의 비율 입니다. 그리고 주로 로그함수를 사용하여 아래와 같이 dB 로 표현합니다. Power 값을 비교하기 때문에 10*Log를 사용합니다.
SNR (dB) = 10 * Log (Signal_Power / Noise_Power)
만일, 비교하는 신호와 잡음의 단위가 Power 가 아니라 전압이라면 10 대신 20을 곱하면 됩니다. 그 이유는 단위 저항에 대한 전력이 전압의 제곱으로 표현 되기 때문입니다.
SNR (dB)
= 10 * Log (Signal_Power / Noise_Power)
= 10 * Log ((Signal_Voltage^2/R) / (Noise_Voltage^2/R))
= 10 * Log (Signal_Voltage^2) / (Noise_Voltage^2)
= 10 * Log (Signal_Voltage / Noise_Voltage)^2
= 20 * Log (Signal_Voltage / Noise_Voltage)
이번 글에서는 ADC 에서 SNR 이 어떻게 표현하는지 정량적으로 살펴보겠습니다. 그리고 다음 글에서는 좀 더 나아가 ADC 의 SNDR (Signal-to-Noise Ratio) 와 ENOB (Effective Number of Bit) 에 대하여 살펴보겠습니다. ADC 의 SNR 과 ENOB는 ADC 의 사양을 결정하고 성능을 평가하는 대단히 중요한 요소 입니다. 잘 이해하고 있어야 합니다.
그럼, ADC 의 SNR을 살펴보겠습니다.
이상적인 N-bit ADC 의 경우 (ADC 내부 및 외부에 잡음이 완전히 없는 경우), ADC 의 입력 아날로그 신호는 정확하게 출력단에서 N-bit 디지탈 신호로 양자화가 되어야 합니다. 자 그렇다면 이 경우, ADC 의 SNR 은 어떻게 될까요? 정의에 따라 계산을 해보겠습니다. 계산의 편의를 위해 입력 아날로그 신호를 진폭이 A 인 Sine 파형이라고 하겠습니다.
먼저 Signal_Voltage 는 어떻게 될까요? Sine 파형이기 때문에 RMS 값으로 표현을 하면 A/SQRT(2) 가 됩니다. 그러면 Noise_Voltage는 어떻게 될까요? 위에서 ADC 내부 및 외부에 잡음이 완전히 없다고 했으니까 0 (Zero) 이 될까요? 그렇지 않습니다. ADC 자체가 아날로그 신호를 디지탈 신호로 변화시키기 때문에 변화된 디지탈 신호 자체가 Noise 를 품고 있는거죠 (사실은 Noise 가 아니라 Error 입니다.) 입력파형과 출력파형이 완전히 똑같지 않기 때문에 변환과정에서 Noise 가 포함되었다고 볼 수 있는 거죠. 이 Noise (혹은 Error) 를 Quantization Noise (혹은 Error) 라고 합니다.
Quantization Noise를 계산하는 것은 조금 복잡합니다. 자세한 계산 과정은 Walt Kester의 ‘The Data Conversion Handbook’ Chapter 2의 SECTION 2.3: DATA CONVERTER AC ERRORS를 보시면 됩니다. Figure 2.38: Quantization Noise as a Function of Time 을 참조하시기 바랍니다. 어렵지 않은 적분 계산이니까 한번 쯤 계산해 보세요.
책을 보시고 이해하셨다고 가정하겠습니다. 이제 위에서 언급한 진폭이 A 인 Sine 파형에 대한 Quantization Noise 를 계산해보면 그 값은 RMS 값이 되고 크기는 1LSB/SQRT(12) 가 됩니다. 여기서, 1LSB = 2*A/2^N 입니다 (Walt Kester 책에서는 1LSB 를 ‘q’ 라고 표현 했습니다.)
이제 위에서 구한 입력신호의 RMS 값을 Quantization Noise 의 RMS 값으로 나눈 뒤 20*LOG 를 취하면 이상적인 N-bit ADC 의 SNR 값이 나옵니다.
SNR (dB) = 20 * LOG [ (A/SQRT(2)) / (1LSB/SQRT(12) ) = 6.02*N + 1.76
이 식은 꼭 외워두셔야 합니다. 어디에 적어서 붙여놓으세요. (소수점이 많아서 외우기가 좀 아릿까리 할 때가 많습니다. 그렇다면 약식으로 SNR = 6*N + 2 정도로 암기해 놓으세요.)
재미있는 것은 ADC 의 해상도 (N) 가 높아질 수록 SNR 값이 커진다는 겁니다. 가만히 생각해 보면 당연한 거죠. 해상도가 높아지면 출력되는 디지탈 Bit 수가 많아지고 파형이 더 세밀하게 양자화 되기 때문에 입력 아날로그 파형하고 점점 가까워지기 때문입니다. 자, 그렇다면 이제 이상적이지 못한 ADC 경우 (예를들면, ADC 내부 및 외부에 잡음이 존재하는 경우) ADC 의 SNR 은 어떻게 될까요? 사실은 이것을 이야기 하고 싶은게 제 의도였습니다. 이상적이지 못한 ADC 의 경우는 위 식을 기본으로 하여 다른 용어를 사용합니다. 그 용어가 바로 SNDR (Signal-to-Distortion Ratio) 라는 것과 ENOB (Effective Number Of Bit) 이라는 겁니다. ADC 를 설계하면서 SNDR 및 ENOB 를 계산할 수 없다면 ADC 를 설계한다고 할 수 없습니다. 다음 글에서는 ADC 의 SNDR 과 ENOB 에 대하여 설명하겠습니다.