ADC

ADC SNR, 양자화 잡음(MT-001)

망고토마토 2025. 12. 15. 18:19
반응형

ADC SNR, 양자화 잡음(MT-001)

1.      개요

본 문서는 아날로그 디바이스사의 MT-001 문서 참고하여 정리한 것이다. ADCSNR은 수학적/이론적으로 SNR = 6.02N + 1.76dB 로 표현한다. SNR의 잡음은 양자화 오차(Quantization error)가 대부분을 차지한다. 이론적 SNR을 표현시 양자화 오차를 어떻게 가정하였는지, 이론 값 SNR과 실제 SNR과 어떤 차이가 있는지 정리한다.  

참고로 SNR = 6.02N + 1.76dB 이 식은 N비트 ADC의 이론적인 SNR 값이다. 이 공식이 성립하려면, 양자화 잡음만 존재하고, DNL/INL = 0, thermal noise = 0, clock jitter = 0, distortion = 0, full-scale 사인파 입력 조건이 전제되어야 한다.

 

2.      Quantization Noise Model

 

 

이상적인 N비트 ADC는 입력을 LSB 간격으로 계단화.

양자화 오차(quantization error) = 실제 아날로그 값 - ADC가 출력한 디지털 값의 차이

이상적인 경우 양자화 오차는 항상 ±½ LSB 범위 안에 있으며, 이보다 클 수 없다.

 

ADC의 입력이 연속적으로 증가하거나 감소하면(ex. 사인파), ADC 출력은 계단 형태로 변한다.

따라서 양자화 오차는 1LSB 내에서 점점 커졌다가 다음 LSB에서는 양자화 오차는 -1/2LSB로 변경됨. 양자화 오차는 시간에 따라 보면 톱니파 모양임.

ADC SNR을 이론적으로 표현할 때 톱니파 모양의 양자화 오차가 ADC의 입력 신호와상관이 없다(uncorrelated)”는 것을 가정하는 것이 꼭 필요함.

 

양자화 오차가 ADC 입력신호와 uncorrelated 관계를 가진다는 것은 양자화 오차는
½ LSB ~ +½ LSB 사이에서 어느 값이든 똑같은 확률로 발생한다는 것을 의미함. 즉 균등 분포로 모델링하는 것임. 따라서 이 가정에 따르면 양자화 오차(잡음)의 전력은



ADC SNR 공식을 양자화 잡음을랜덤 잡음으로 보는 가정 위에 세워진다. 하지만 실제 ADC의 경우 ADC의 양자화 잡음이 랜덤이 아닌 상황이 생긴다. 이 경우 이 이론식이 맞지 않는다.

 

양자화 오차의 톱니파 모양은 주파수 영역에서 무한히 많은 high order harmonic을 만들어 낸다. 하지만 ADC는 아날로그가 아닌 이산적인 샘플링 시스템이므로 harmonic 성분들은 aliasing되어 Nyquist 대역 안으로 접혀(folding) dc~fs/2 안에 모인다. 이는 결과적으로 ADC 출력에서는 일정한 잡음(/√12)으로 보인다.

 

양자화 오차에 의한 잡음의 rms값은 q/√12이다. 이 때 가정한 것은 양자화 잡음이 통계적으로 Gaussian에 가깝고, Nyquist 대역에 고르게 분포한다는 것이다. 즉 양자화 잡음이 입력 신호와 상관이 없다.

하지만 실제로는 양자화 오차가 입력신호와 상관 관계를 가지는 경우가 있다. 입력신호의 주파수가 샘플링클럭(fs)과 정수배 관계를 가지는 경우 또는 샘플링 클럭과 입력의 위상이 고정되는 경우이다. 이 경우 양자화 오차의 잡음이 입력신호의 harmonic 성분에 집중된다. 이 경우 양자화 오차가 gaussian 분포를 가지지 못하며, 스펙트럼 상에서 톤 신호처럼 보인다. 하지만 이 경우에도 양자화 잡음의 rms 크기는 동일하다.

 

, 양자화 잡음은 이론적으로 Nyquist 대역에 고르게 퍼진 백색 잡음으로 모델링되지만, 이는 입력신호와 비상관(uncorrelated)이라는 가정이 필요하며, 그 가정이 깨지면 잡음은 톤처럼 보인다. 하지만 rms 전력(q/√12)은 거의 변하지 않으므로, 양자화 오차의 분포에 상관없이 ADCSNR 수치는 크게 안 변한다. 하지만 SFDR 등 다른 수치는 변할 수 있다.

 

 

 

3.      Frequency Spectrum of Quantization noise

 

ADC의 이론 SNR 값 유도에서 신호가 dc ~ fs/2 전체 대역을 쓰는 것처럼 가정했음. 하지만 실제 시스템의 관심 주파수대역폭은 Nyquist 대역폭보다 훨씬 작다. BW(관심대역폭)<< fs/2
(ex
관심 신호 대역폭 1 MHz이지만, ADC fs 100 MSPS)

ADC가 샘플링한 신호가 디지털 필터(혹은 decimation)를 거치면, 필터링한 대역의 잡음 전력은 제거된다.

따라서 관심 주파수 대역폭에 대한 SNR 계산 시, 잡음 전력은 Nyquist 대역폭 중 관심 주파수 대역폭만 고려해야 한다. 이러한 부분을 반영하여 관심 대역폭에 대한 SNR은 다음과 같다.


여기서 주의할 점은 ADC의 성능이 좋아진것도 아니며, ENOB(Effective Number of Bit)가 늘어난 것도 아니라는 점이다. ADC의 양자화 잡음 총량은 동일하며, 단지 관심 대역에서 잡음이 줄어든 것이다. 디지털 필터로 불필요한 잡음을 제거하면 in-band SNR이 증가하며, 이 증가분을 processing gain이라 한다.

4.      Correlation between quantization noise and input signal yields misleading results

양자화 잡음의 rms 값은 q/√12이지만 양자화 잡음이 입력 신호와 상관이 생기면 양자화 잡음은 백색이 아니라, 입력신호의 harmonic 성분 위치에 spur로 나타날 수 있다.

대부분의 실제 시스템에서는 양자화 잡음을랜덤(백색)”으로 가정해도 된다. 실제 ADC 입력으로 단일 톤신호보다는 여러 주파수가 섞인 대역 신호가 입력되며, 추가로 아날로그 시스템 잡음도 항상 존재한다.

이 경우 양자화 오차가 입력과 위상·주기적으로 맞아떨어질 수 없어서 사실상 오차는 랜덤 특성을 가짐.
하지만 입력 신호가 단일 주파수를 가진 사인파인 경우 양자화 오차가 입력신호와 상관관계를 가질 수 있다.

샘플링 주파수

와 입력 사인파 주파수

의 비율이 비 정수·비유리수에 가까우면 샘플링 위상이 계속 바뀌므로 양자화 오차가 주기성을 잃어서 잡음이 랜덤화된다.

하지만 정수비 또는 유리수 비율이면, 샘플링 패턴이 반복되어, 양자화 잡음이 신호와 상관관계가 생겨 스펙트럼 상에서 스퍼(spur)가 발생한다.

 

다음은 fs=80MHz, 12 bit ADC로 수집한 4096개의 IQ FFT 한 결과이다. 왼쪽 결과는 입력 신호의 주파수가 2MHz인 경우로, 입력신호의 주파수와 fs 40이라는 정수 비율을 가진다. 이로 인해 양자화 잡음의 전력이 spur형태로 입력신호의 harmonic 주파수( 4,6,8,10,12,14 …MHz)에 집중되어 있다. 오른쪽 그림은 입력신호의 주파수가 2.111MHz인 경우의 스펙트럼 모양이다. 입력신호의 주파수와 fs의 비율이 정수배가 아니다. 양자화 잡음이 균일하게 분포되어 있다. 두 경우 모두 SNR 74dB로 같다. 하지만 SFDR은 오른쪽 경우가 93dB로 왼쪽의 77dB보다 우수하다.

 

ADC distortion을 측정할 때 harmonic에 위치한 spur 성분은 ADC 자체의 비선형 특성에 의한 것인지 샘플링 + 양자화 상관성 때문인지 구분하는 것이 필요하다.  

 

5.      SNR, Process Gain, and FFT noise floor relationships

  

FFT에서 보이는 Noise floor(dBFS/Hz 비슷한 값) ADC SNR로 착각하면 안 된다.

 

위 그림은 12 bit ADC 4096 point FFT 결과이다. 12-bit ADC의 이론적 SNR=6.02×12+1.7674 dB인데 스펙트럼을 보면 Noise floor107 dB이다. 이것을 보고 ADCSNR 107 dB라고 판단하면 안된다.

 

FFT아주 좁은 대역폭의 전력을 보여준다. FFT 결과의 bin 1개당 대역폭은 Δ𝑓=𝑓𝑠/𝑀이다.

ADCSNR - 전체 Nyquist 대역에 존재하는 총 잡음 전력 기준

FFT 결과의 Noise floor - 1개의 bin (fs/M 대역) 안에 들어온 잡음 전력 기준

→ 당연히 FFT Noise floor ADC SNR보다 훨씬 낮음.

 

양자화 잡음은 Nyquist 대역 전체에 퍼져 있음. bin 1개당 noise


dB
로 쓰면, 이것이 FFT processing gain이다.


예를 들어 FFT 길이

이면, processing gain


ADC SNR 74 dB인 경우에 4096개의 FFT로 스펙트럼을 표현하면, FFT noise floor(74 + 33) 107 dBFS 이다.

 

FFT 스펙트럼에서 보이는 Noise floor(-107dB)ADC SNR(-74dB)이 아님. FFT가 좁은 대역(fs/M) 을 보기 때문에 생긴 processing gain의 결과다. 그래서 FFT 길이를 늘리면 → noise floor 더 내려간다. 하지만 ADC SNR은 절대 변하지 않으며, 그대로임.