Analog Digital Converter/ADC Test

#3 ADC Dynamic 특성

돌머리 돌돌 2026. 1. 7. 16:59

INL과 DNL은 ADC의 Speed와는 상관없는 Static 특성입니다.
반면 Dynamic 특성은 입력 신호 주파수에 따라서 달라질 수 있기에 Spectrum이 필요합니다.

 SNR과 SNDR, ENOB에 대한 이야기는 Data Converter SNR Part에서 이야기를 했습니다.
그렇기에 여기서는 그 기저인 DFT부터 이야기를 시작해볼까 합니다.

 

ADC의 출력은 Digital Bit입니다.
그리고 DFT는 이러한 이산적인 값에 대해서 푸리에 변환을 해줍니다.
하지만 DFT는 두가지 문제점을 갖고 있습니다.

첫번째는 Aliasing에 약하다는 것입니다.
Aliasing 같은 경우에는 Anti-Aliasing Filter를 통해 Nyquist rate에 맞는 신호를 변환하게 될 경우 방지할 수 있습니다.

두번째는 Channel leakage 문제입니다.
Channel leakage 문제의 경우에는 완벽하게 막을 수 없고 window 함수를 이용해서 제한이 가능합니다.

 

가장 간단한 Window는 Rectangular Window입니다.

Rectangular 함수에 푸리에 변환을 취할 경우 Sinc 함수와 같이 됩니다.
하지만 Sinc 함수는 Main lobe와 Side robe의 크기의 비가 $ M/S = 13.56  dB$로 낮습니다.
여기서 Channel leakage가 많이 생겨납니다.

또한 주파수 분해능을 향상시키기 위해서는 Sinc 함수의 Main lobe가 더 뾰족해져야 합니다.
이는 시간 영역에서 Rectangular 함수의 길이가 길어져야 함을 의미하며,
결과적으로 샘플 수가 증가할수록 주파수 분해능이 좋아집니다.

 

Side lobe로 인한 단점을 보완하기 위해서 일반적으로 Rectangular window 대신 다른 window 함수를 사용합니다.
그중 가장 널리 사용되는 window 중 하나가 Hanning window입니다.

$$
h(t)=
\begin{cases}
\sin^2\!\left( \pi \dfrac{t-0.5\tau}{\tau} \right), & -0.5\tau \le t \le 0.5\tau \\
0, & \text{otherwise}
\end{cases}
$$

$$
h(t)=\frac{1}{2}\left(1+\cos\frac{2\pi t}{\tau}\right)\,R\!\left(\frac{t}{\tau}\right)
$$

수식을 보면 알 수 있듯 Hanning Window의 모양은 Sin 제곱 형태의 패턴을 갖습니다.
Spectrum 특성을 구해보면
$$
\begin{aligned}
H(f)
&= \frac{1}{2} W_R(f)
 + \frac{1}{2} W_R(f) \otimes \frac{\delta\!\left(f-\frac{1}{\tau}\right)+\delta\!\left(f+\frac{1}{\tau}\right)}{2} \\[6pt]
&= \frac{1}{2} W_R(f)
 + \frac{1}{4} W_R\!\left(f-\frac{1}{\tau}\right)
 + \frac{1}{4} W_R\!\left(f+\frac{1}{\tau}\right) \\[6pt]
&= 0.5\,\mathrm{sinc}(\pi \tau f)
 + 0.25\,\mathrm{sinc}(\pi \tau f-\pi)
 + 0.25\,\mathrm{sinc}(\pi \tau f+\pi)
\end{aligned}
$$

와 같이 되며 이를 Plot 하게 되면 Main lobe의 BW가 기존 Rectangular Window에 비해 2배 증가한 것을 알 수 있으며, Side lobe의 크기도 훨씬 작아진 것을 알 수 있습니다.

Resolution은 살짝 떨어졌지만 Side lobe를 거의 없애버린 형태라고 볼 수 있습니다.
밑의 사진을 통해 쉽게 비교하여 볼 수 있습니다.

위 그래프를 보면 DC Gain이 정확하게 절반 줄어들은 것을 확인할 수 있습니다.
만약 Gain correction이 필요하다면 2를 곱해줘야 합니다.

더 Side lobe를 줄이고 싶다면 Kaiser window를 사용할 수 있습니다.
Kaiser Window를 사용한다면 Main lobe와 Side lobe의 비를 60dB까지 높일 수 있습니다.

 

실제 Window는 위 그림처럼 씌울 수 있습니다.
파랑색 그래프가 ADC로 Sampling 한 신호입니다.
하지만 이 신호는 시작 지점과 끝 지점이 일치하지 않는 것을 확인할 수 있는데,
이 경우 DFT의 periodic 조건을 만족하지 못하게 되어 불연속성을 갖습니다.
이 경우 불연속에 의한 Channel leakage로 인해 고주파 성분들이 생겨납니다.

반면 주황색 그래프는 Hanning Window를 씌운 그래프입니다.
Hanning Window를 씌운 후 Spectrum Domain에서 값을 구할 수 있습니다.

다음 그래프는 Hanning Window 처리한 그래프를 DFT 한 것입니다.
입력 주파수가 일정한 주파수를 갖는 정현파기에 Spectrum에서도 Delta 함수가 있어야 합니다.
하지만 Hanning Window를 씌우면 델타 함수와 Hanning Window와 컨볼루션이 일어나며 늘어집니다.
만약 이러한 늘어짐을 줄이고 싶다면 Gating Time을 늘리면 됩니다.