# Noise 전달과 적분

:::goals
- 회로를 지나는 noise의 PSD가 $|H(f)|^2$배로 바뀐다는 것을 안다.
- 서로 다른 위치에서 생긴 noise를 같은 기준점(입력)으로 옮겨 더할 수 있다.
- 등가 noise 대역폭(ENBW)으로 적분을 간단히 어림할 수 있다.
- 유한한 대역에서 적분할 때 무엇을 빠뜨릴 수 있는지 안다.
:::

## 한 문장으로
noise는 생긴 자리에서 끝나지 않는다. 뒤따르는 회로를 지나며 **어떤 주파수는 키워지고 어떤 주파수는 걸러진다.** 그래서 같은 noise 원천이라도, 어디서 생겼고 무엇을 지났는지에 따라 최종 크기가 달라진다.

## PSD는 이득의 제곱으로 바뀐다
선형 회로의 전달함수가 $H(f)$라면, 지나간 noise의 PSD는 이렇게 된다.

$$
S_{out}(f) = |H(f)|^2\,S_{in}(f)
$$

전압 이득이 2이면 RMS는 2배, PSD는 4배다. **ASD에는 $|H|$를, PSD에는 $|H|^2$를 곱한다.** 둘을 섞으면 결과가 제곱만큼 틀린다.

## 같은 기준점으로 옮기기
픽셀 신호는 FD → SF → column 증폭 → ADC를 지난다. 각 단에서 생긴 noise를 비교하려면 모두 **같은 기준점**으로 옮겨야 한다. 보통 FD(또는 전자 수)를 기준으로 삼는다. 어떤 단의 noise를 앞쪽으로 옮길 때는 그 앞에 있는 이득으로 나눈다.

$$
v_{n,FD} = \frac{v_{n}}{A_{\text{앞단 전체}}}, \qquad \text{read noise} = \frac{\sqrt{\sum v_{n,FD}^2}}{\text{CG}_{FD}}
$$

뒷단 noise는 앞단 이득만큼 작게 보인다. 그래서 **첫 단의 이득과 noise가 전체 read noise를 좌우**한다. column에서 신호를 먼저 키우면 ADC noise의 몫이 줄어드는 이유다.

[[lab:refer]]

## 픽셀에서 CDS까지: 전달함수 체인
실제 readout 경로를 전달함수의 곱으로 써 보자. 각 단을 이득과 pole 하나로 나타내고 **단 사이가 버퍼로 분리되어 있다고 하면**, SF 입력에서 CDS 출력까지는 다음과 같다(07장 그림 7-2와 같은 단 구성). 실제 회로처럼 단이 서로 부하가 되는 경우는 아래 '더 깊이'에서 다룬다.

[[fig:readout-stages|그림 11-1. 픽셀 출력에서 CDS까지의 단 체인. 단마다 전달함수를 곱한다.]]

$$
H_{total}(f) = A_{SF}H_1(f)\cdot H_2(f)\cdot H_3(f)\cdot H_4(f)\cdot A_{OTA}H_5(f)\cdot\left(1 - e^{-j2\pi fT}\right),\qquad H_i(f) = \frac{1}{1 + jf/f_i}
$$

noise를 다룰 때 이 식에서 기억할 점은 세 가지다.

- **원천마다 지나는 부분이 다르다.** SF channel noise는 체인 전체를 지나고, 비교기 noise는 비교기와 CDS만 지난다. 출력 기준으로 모든 원천을 계산한 뒤 SF 입력까지의 이득으로 나누면 같은 기준점(FD)에서 비교할 수 있다.
- **저주파는 CDS가, 고주파는 가장 낮은 pole이 자른다.** 백색 noise가 실제로 보는 대역은 이 둘 사이의 모양으로 정해진다.
- **단 사이가 버퍼로 분리되지 않으면 단순 곱이 성립하지 않는다.** 뒤 단의 용량이 앞 단의 부하가 되므로, 그런 구간은 함께 묶어 하나의 network로 풀어야 한다(07장).

[[lab:tfchain]]

:::deep 실제 회로로 풀면: SF 피드백과 연결된 RC network
위의 곱은 단마다 버퍼가 있다고 본 그림이다. 실제 경로에서 능동 소자는 SF와 비교기뿐이고, 그 사이의 column, 외곽 routing, 칩 간 연결은 서로 부하가 되는 수동 RC다. 이런 경로는 다음 세 단계로 식을 세운다. 모두 고정된 동작점에서 선형화하고, 두 표본 시점의 noise 통계가 같다고 가정한다(13장).

**1. SF 단: $C_{gs}$ 피드백까지 넣은 1-pole.** FD 용량 $C_f$, gate–source 용량 $C_{gs}$, 출력 쪽 용량 $C_L$을 두고 FD 전하 $Q$를 $x = Q/(C_f + C_{gs})$로 정규화한다. gate는 떠 있으므로 전하 보존에서 $v_g = x + \beta v_s$, $\beta = C_{gs}/(C_f + C_{gs})$이다. 이것을 source 노드의 KCL에 넣으면 다음을 얻는다.

$$
v_s = \frac{(g_m + sC_{gs})\,x + i_n}{G + sC_{eff}},\qquad G = g_m(1-\beta) + g_{mb} + g_{ds} + g_L,\quad C_{eff} = C_L + C_{gs}(1-\beta)
$$

- 신호($x$)의 전달은 $\dfrac{g_m + sC_{gs}}{G + sC_{eff}}$이다. 분자에 zero $f_z = g_m/(2\pi C_{gs})$가 있다.
- channel noise를 $i_n = g_m e_n$으로 쓰면 전달은 $\dfrac{g_m}{G + sC_{eff}} = \dfrac{g_m/G}{1 + s\tau_A}$, $\tau_A = C_{eff}/G$이다. zero가 없다.

두 전달은 pole을 공유하지만 분자가 달라 그 비가 $1 + sC_{gs}/g_m$이다. 그래서 신호의 −3 dB 대역과 noise가 보는 대역이 꼭 같지는 않다. DC에서는 $g_m/G = A/(1-\beta A)$이고, 이것으로 구한 CG는 10장의 $Aq/(C_f + C_{gs}(1-A))$와 같은 값이다. 부하 전류원의 noise도 같은 source 노드로 들어가므로 SF channel 기준으로 옮겨 합칠 수 있다.

$$
S_{eq} = S_{e_n,SF} + \left(\frac{g_{m,L}}{g_m}\right)^2 S_{e_n,L}
$$

**2. 수동 RC 구간: 곱하지 말고 한 network로.** 이상 전압원–$R_1$–$C_1$–$R_2$–$C_2$ 두 구간만 이어도 전달함수는 다음과 같다.

$$
H(s) = \frac{1}{1 + s\,[R_1C_1 + (R_1+R_2)C_2] + s^2 R_1R_2C_1C_2}
$$

독립 1-pole의 곱 $(1+sR_1C_1)(1+sR_2C_2)$는 1차 항의 $R_1C_2$를 빠뜨린다. 뒤 구간의 용량이 앞 저항의 부하가 되는 효과다. $R_1 = R_2 = R$, $C_1 = C_2 = C$이면 Elmore 값은 $3RC$이고, 두 pole의 시정수는 $(3\pm\sqrt5)RC/2$, 곧 약 $2.6RC$와 $0.38RC$다. 그래서 SF 출력 노드에 noise 전류를 넣었을 때 비교기 입력까지의 전달 impedance $Z_c(s)$를 연결된 network 전체에서 구한다.

$$
H_{APS}(s) = g_m\,Z_c(s)
$$

RC를 모두 $C_L$ 하나로 뭉치면 $Z_c = 1/(G + sC_{eff})$가 되어 1번의 식으로 돌아간다.

**3. 비교기와 CDS.** 비교기는 이득을 DC 값으로 나눈 1-pole $H_{OTA}(s) = 1/(1 + s\tau_O)$로 두고, 결과를 비교기 입력 기준으로 읽는다. 절대 이득을 곱하면 출력 기준 값이 되므로 입력으로 환산할 때 다시 나눠야 한다. 위 시뮬레이터의 "DC 이득²"이 $A_{OTA}$를 포함한 출력 기준 값이다. 셋을 곱하면 전체 전달은 다음과 같다.

$$
H_{tot}(s) = g_m Z_c(s)\cdot\frac{1}{1 + s\tau_O}\cdot\left(1 - e^{-sT}\right)
$$

RC를 뭉친 경우, 독립 원천들의 CDS 뒤 분산은 다음 적분이다.

$$
\sigma^2 = \int_0^\infty S_{eq}(f)\left(\frac{g_m}{G}\right)^2 \frac{4\sin^2(\pi fT)}{\left[1 + (2\pi f\tau_A)^2\right]\left[1 + (2\pi f\tau_O)^2\right]}\,df
$$

전자 수로 바꿀 때는 같은 기준점의 CG로 나눈다.

$$
\text{CG} = \frac{g_m}{G}\cdot\frac{q}{C_f + C_{gs}},\qquad \text{read noise [e}^-\text{]} = \frac{\sigma}{\text{CG}}
$$

DC에서 $g_m/G$가 약분되므로 결과는 10장의 $e_n(C_f + C_{gs})/q$와 같은 꼴이 된다. 주파수에 따라 달라지는 부분만 적분에 남는다.
:::

## 면적을 쉽게 구하는 법: ENBW
백색 noise $S_0$가 1-pole 저역 통과 필터(대역 $f_c$)를 지나면, 출력 분산은 다음과 같다.

$$
\sigma^2 = \int_0^\infty \frac{S_0}{1+(f/f_c)^2}\,df = S_0 \cdot \frac{\pi}{2} f_c
$$

이 결과는 "높이 $S_0$, 폭 $\tfrac{\pi}{2}f_c$인 직사각형"의 면적과 같다. 이 폭을 ==등가 noise 대역폭==(ENBW)이라고 한다. 필터 모양이 달라도 ENBW만 알면 백색 noise의 분산을 바로 구할 수 있다.

## 어디까지 적분하나
실제 계산은 유한한 대역에서 한다. 이때 두 가지를 조심하자.

- **너무 일찍 자르면 놓친다.** 1-pole 출력을 $f_c$까지만 적분하면 전체 분산의 **절반**만 들어온다. $f_c$는 진폭이 $1/\sqrt{2}$가 되는 점일 뿐, 면적의 끝이 아니다.
- **낮은 주파수 쪽**: 1/f noise는 하한을 낮출수록 계속 커진다. 하한은 관측 시간이나 CDS 같은 처리로 정해진다.

[[lab:noise]]

:::deep 수치 적분에서 놓치지 않으려면
PSD가 표로 주어지거나 닫힌형이 없으면 수치 적분을 한다. 대역이 여러 자릿수에 걸치므로 로그 주파수 격자를 쓰는 것이 좋다. 적분 구간 밖에 남은 꼬리는 PSD의 경향(예: 높은 주파수에서 $1/f^2$)으로 상한을 구해 함께 적는다. 구간 안의 오차는 격자를 촘촘히 하거나 적응형 구적법(예: Gauss–Kronrod)으로 추정한다. 어떤 기준으로 "충분히 수렴했다"고 판단했는지를 결과와 함께 남기는 것이 좋다. 부록 B에서 자세히 다룬다.
:::

## 핵심 정리
- 회로를 지난 noise의 PSD는 $|H|^2$배가 된다. ASD에는 $|H|$, PSD에는 $|H|^2$.
- 서로 다른 위치의 noise는 앞단 이득으로 나눠 같은 기준점으로 옮긴 뒤 분산으로 더한다.
- 첫 단의 이득과 noise가 전체를 좌우한다.
- 1-pole 백색 noise의 분산은 $S_0 \cdot \tfrac{\pi}{2}f_c$ (ENBW).
- $f_c$까지만 적분하면 절반만 들어온다. 1/f는 하한에 민감하다.
