영차 홀드

편집 역사 토론
전자공학 수치해석 마지막 수정: 2026-08-15 04:48:31

1. 개요[편집]

영차 홀드
Zero-Order Hold (ZOH)
하는 일표본값을 다음 표본까지 그대로 유지 → 계단형 신호
전달함수(1 − e−sT) / s
크기 응답T · sinc(ωT/2)
위상−ωT/2 (평균 T/2 순수 지연)
상태공간 이산화Ad = eAT, Bd = A−1(Ad − I)B
피해자위상 여유

표본과 표본 사이에 무슨 값을 넣을지 모르겠으면, 방금 값을 그대로 들고 있으면 된다. 세상에서 가장 게으른 보간이 세상에서 가장 널리 쓰인다.

영차 홀드(zero-order hold, ZOH)는 이산 시각의 표본열 u[k]u[k]를 연속 시간 신호로 되돌릴 때, 각 표본값을 다음 표본이 올 때까지 상수로 유지해 계단 파형을 만드는 복원 방식이다. 이름의 “영차”는 표본 사이를 0차 다항식(=상수)으로 채운다는 뜻이다. 디지털-아날로그 변환기(DAC)가 출력을 다음 갱신까지 래치해 두는 것, 마이크로컨트롤러가 PWM 듀티비를 다음 주기까지 고정하는 것이 전부 영차 홀드다.

수학적으로 게으른 만큼 값도 싸지만 공짜는 아니다. ZOH는 두 가지 대가를 부과한다. 평균 T/2T/2의 순수 시간 지연과, 표본화가 만든 스펙트럼 이미지를 완전히 지우지 못하는 불완전한 저역통과 특성이다. 앞의 것은 제어 루프의 위상 여유를 갉아먹고, 뒤의 것은 표본화 정리가 약속한 완전 복원이 실무에서 왜 안 되는지를 설명한다. 이 문서는 그 두 청구서를 정확히 계산한다.

2. 전달함수[편집]

ZOH를 선형 시불변 블록으로 보면, 입력은 시각 kTkT에 세기 u[k]u[k]인 임펄스열이고 출력은 폭 TT·높이 u[k]u[k]인 사각 펄스열이다. 즉 임펄스 응답이 TT의 사각 펄스다.

h(t)={1,0t<T0,그 외Gh0(s)=0Testdt=1esTsh(t) = \begin{cases} 1, & 0 \le t < T \\ 0, & \text{그 외}\end{cases} \quad\Longrightarrow\quad G_{h0}(s) = \int_0^{T} e^{-st}\,dt = \frac{1 - e^{-sT}}{s}

이 한 줄이 ZOH에 관한 거의 모든 것의 출발점이다.1 s=jωs = j\omega를 넣고 지수를 반각으로 묶어내면

Gh0(jω)=Tsin(ωT/2)ωT/2  ejωT/2=Tsinc ⁣(ωT2)ejωT/2G_{h0}(j\omega) = T\,\frac{\sin(\omega T/2)}{\omega T /2}\; e^{-j\omega T/2} = T\,\mathrm{sinc}\!\left(\frac{\omega T}{2}\right) e^{-j\omega T/2}

가 된다. 읽을 것이 셋이다.

  • 위상은 ωT/2-\omega T/2, 정확히 선형이다. 즉 ZOH는 (sinc가 양수인 첫 영점 아래, 곧 실무에서 다루는 전 대역에서) T/2T/2짜리 순수 시간 지연으로 작동한다. 널리 쓰이는 근사 esT/2e^{-sT/2}는 근사가 아니라 위상에 관해서는 정확한 표현이다.
  • 크기는 Tsinc(ωT/2)T\,\mathrm{sinc}(\omega T/2)로 처진다. 직류에서 TT였다가 나이퀴스트 주파수 ω=π/T\omega = \pi/T에서 2T/π0.637T2T/\pi \approx 0.637\,T, 즉 3.9-3.9 dB까지 떨어진다. 그래서 고속 DAC 뒤에는 이 처짐을 되세우는 1/sinc1/\mathrm{sinc} 보정 필터를 다는 것이 관례다.
  • 영점이 ω=2πk/T (k=1,2,)\omega = 2\pi k/T\ (k = 1, 2, \dots), 즉 표본화 주파수의 정수배에 정확히 놓인다. 이미지 스펙트럼의 중심은 여기서 완전히 죽는다. 문제는 이미지가 폭을 가진 덩어리라 중심만 죽고 옆구리는 살아남는다는 것이다.

3. 왜 완전 복원이 아닌가[편집]

표본화 정리가 보장하는 완전 복원의 재구성 필터는 sinc\mathrm{sinc} 함수, 즉 시간 영역에서 무한히 뻗는 비인과적 커널이다. 실무에서 그것을 쓸 수 없다는 이야기는 그 문서에 있고, 그 자리를 실제로 채우는 것이 ZOH다.

주파수 영역에서 표본화는 원 스펙트럼을 ωs=2π/T\omega_s = 2\pi/T 간격으로 무한히 복제한다. 이상적 복원은 그 복제본(image)을 전부 지우고 원본만 남기는 벽돌담 저역통과인데, ZOH의 sinc\mathrm{sinc} 포락선은 ωs\omega_s의 정수배에서만 정확히 0이고 그 사이는 성기게 샌다. 첫 사이드로브의 꼭대기(ω1.43ωs\omega \approx 1.43\,\omega_s)가 13-13 dB 남짓이고, 무엇보다 이미지의 안쪽 자락은 나이퀴스트 바로 위라 4-4 dB 정도밖에 안 깎인다. 신호가 대역폭을 꽉 채워 쓸수록 이 자락이 커진다. 표본화 주파수 근처에 남은 이미지가 곧 계단 파형의 각진 모서리이며, 이것이 기계계에 들어가면 가진 토크 리플이, 오디오라면 초음파 성분이, 전력변환이라면 EMI가 된다. 그래서 ZOH 뒤에는 아날로그 재구성 필터(anti-imaging filter)가 붙는다 — 그리고 그 필터가 다시 위상 지연을 얹는다는 것이 이 바닥의 영원한 굴레다.

입력 쪽 대칭도 잊으면 안 된다. 표본화 이전에 안티앨리어싱 필터가 없으면 접혀 들어온 고주파는 어떤 복원 방식으로도 되돌릴 수 없다. ZOH는 출력 쪽 문제만 다루며, 입력 쪽 앨리어싱과는 아무 상관이 없다.

4. 위상 여유 잠식[편집]

제어 실무에서 ZOH가 유명해진 이유는 크기 처짐이 아니라 T/2T/2 지연이다. 지연은 크기 곡선을 건드리지 않고 위상만 깎으므로, 보드 선도에서 이득교차 주파수 ωgc\omega_{gc} 근처의 위상만 조용히 끌어내린다. 잃는 위상은

Δϕ    ωgcT2[rad]\Delta\phi \;\approx\; \frac{\omega_{gc} T}{2} \quad [\text{rad}]

이고, 이만큼이 그대로 위상 여유에서 빠진다. 숫자를 넣어 보자. ωgc=100\omega_{gc} = 100 rad/s에 T=1T = 1 ms면 0.050.05 rad =2.9= 2.9^\circ — 무시해도 된다. 그런데 대역폭을 열 배 올려 ωgc=1000\omega_{gc} = 1000 rad/s로 가면 0.50.5 rad =28.6= 28.6^\circ가 되어, 여유 6060^\circ짜리 설계가 순식간에 위태로워진다. 대역폭과 허용 샘플 주기는 정확히 반비례이며, 이것이 “제어 대역폭의 20~30배로 샘플링하라”는 경험칙의 근거다.

게다가 실제 디지털 루프에서 지연은 T/2T/2로 끝나지 않는다. 표본 kk에서 읽은 값이 계산을 거쳐 표본 k+1k+1에서야 출력되는 계산 지연 TT가 앞에 붙어, 실효 지연이 대략 1.5T1.5T가 되는 것이 표준적인 회계다. 하드웨어 인 더 루프 랙에서 실물에는 없는 진동이 나타나는 “가짜 불안정”의 주범이 이 누적 지연이고, 실시간 시뮬레이션의 스텝 주기 설계가 성능 문제가 아니라 안정성 문제인 이유도 같다.

5. 상태공간 ZOH 이산화[편집]

연속 시간 상태방정식 x˙=Ax+Bu\dot{\mathbf{x}} = A\mathbf{x} + B\mathbf{u}에서 입력 u\mathbf{u}가 한 주기 동안 상수라고 하면, 그 구간의 해는 적분인자로 정확히 적힌다.

x(tk+T)=eATx(tk)+(0TeAτdτ)Bu[k]\mathbf{x}(t_k + T) = e^{AT}\mathbf{x}(t_k) + \left(\int_0^{T} e^{A\tau}\,d\tau\right) B\,\mathbf{u}[k]

따라서 이산 모델은 근사가 아니라 정확하다 — 입력이 정말로 계단이라는 가정 아래에서.

Ad=eAT,Bd=(0TeAτdτ)B=A1 ⁣(eATI)BA_d = e^{AT}, \qquad B_d = \left(\int_0^{T} e^{A\tau} d\tau\right) B = A^{-1}\!\left(e^{AT} - I\right) B

여기서 흔히 나는 사고가 AA가 특이할 때 A1A^{-1}을 쓰는 것이다. 적분기(AA에 0 고윳값)가 하나만 있어도 오른쪽 공식은 그대로 터진다. 그런데 적분 자체는 멀쩡히 존재하므로 이건 공식의 문제이지 물리의 문제가 아니다. 처방은 확대 행렬의 지수함수를 한 번에 계산하는 것이다.

exp ⁣([AB00]T)=[AdBd0I]\exp\!\left( \begin{bmatrix} A & B \\ 0 & 0 \end{bmatrix} T \right) = \begin{bmatrix} A_d & B_d \\ 0 & I \end{bmatrix}

블록 상삼각 행렬의 지수를 한 번 구하면 오른쪽 위 블록에 BdB_d가 통째로 떨어진다. 역행렬이 필요 없고 AA의 가역성도 요구하지 않는다. 수치 라이브러리의 c2d류가 실제로 하는 일이 이것이며, 계산 자체는 행렬 지수함수의 스케일링·제곱법에 맡긴다.2

전달함수 경로로 가면 같은 것이 펄스 전달함수로 나온다.

Gd(z)=(1z1)Z ⁣{G(s)s}G_d(z) = \left(1 - z^{-1}\right)\mathcal{Z}\!\left\{ \frac{G(s)}{s} \right\}

앞의 (1z1)(1-z^{-1})이 ZOH의 1esT1 - e^{-sT}에, G(s)/sG(s)/s의 z 변환이 나머지 1/s1/s 적분에 대응한다. 극점은 z=esTz = e^{sT}로 예쁘게 사상되지만 영점은 그렇지 않다는 점이 중요한데, 이산화 과정에서 원래 없던 “표본화 영점”이 새로 생겨나며, 빠른 표본화 극한(T0T \to 0)에서 상대차수가 3 이상이면 그중 일부가 반드시 단위원 밖에 놓인다. 자세한 이야기는 비최소위상계 문서에 있다.

6. 1차 홀드·삼각 홀드와의 비교[편집]

계단 말고 더 똑똑하게 채우면 어떨까? 두 가지 대안이 표준적으로 논의된다.

1차 홀드(first-order hold, FOH)는 직전 두 표본의 기울기를 연장해 램프로 채우는 인과적 외삽이다.

Gh1(s)=1+TsT(1esTs)2G_{h1}(s) = \frac{1 + Ts}{T}\left(\frac{1 - e^{-sT}}{s}\right)^{2}

위상은 argGh1=arctan(ωT)ωT\arg G_{h1} = \arctan(\omega T) - \omega T인데, 저주파에서 (ωT)3/3-(\omega T)^3/3 수준이라 ZOH의 ωT/2-\omega T/2보다 훨씬 적게 지연된다. 여기까지는 좋다. 문제는 나이퀴스트 근처다. ωT=π\omega T = \pi에서 위상은 약 108-108^\circ로 ZOH의 90-90^\circ보다 나빠지고, 크기는 Gh11.34T|G_{h1}| \approx 1.34\,T로 직류 이득보다 커진다. 외삽기는 본질적으로 예측기라 고주파 잡음을 증폭하는 것이다. 지연을 벌고 안티이미징을 잃는 거래라, 제어 실무가 굳이 ZOH를 못 버리는 이유가 여기 있다.

삼각 홀드(triangle hold)는 u[k]u[k]u[k+1]u[k+1]을 직선으로 이어 채운다. 크기 응답이 Tsinc2(ωT/2)T\,\mathrm{sinc}^2(\omega T/2)로 훨씬 빠르게 굴러떨어져 이미지 억제가 우수하지만, 다음 표본을 알아야 하므로 비인과적이다. 한 표본 앞을 미리 아는 시뮬레이션 안에서는 쓸 수 있고(수치 라이브러리의 foh 옵션이 대개 이것이다), 실물 DAC에서는 한 표본 지연을 감수해야 해서 총 지연이 TT로 ZOH의 두 배가 된다.

방식크기 응답실효 지연인과적
영차 홀드T sinc(x)T/2
1차 홀드저주파 평탄, 나이퀴스트 부근 증폭저주파에서 매우 작음
삼각 홀드T sinc²(x)T아니오

여기서 x=ωT/2x = \omega T/2다. 이산화 정확도만 보면 삼각 홀드가 낫고, 실시간 구현 가능성만 보면 ZOH가 유일하며, 지연만 보면 FOH가 유혹적이다. 셋 다 이기는 선택지는 없다.

7. 전력전자와 PWM[편집]

펄스폭 변조 기반 전력변환기에서 ZOH는 개념이 아니라 하드웨어 그 자체다. 제어기가 계산한 듀티비는 다음 캐리어 주기가 시작될 때까지 레지스터에 그대로 앉아 있고, 그동안 스위칭 패턴은 그 값에 따라 결정된다. 정확히 영차 홀드다.

전류 제어 루프의 지연 예산은 관례적으로 이렇게 센다 — 표본화한 값으로 계산해 다음 주기에 반영하니 계산 지연 TsT_s, 그 듀티비가 한 주기 유지되니 ZOH Ts/2T_s/2, 합쳐서 1.5Ts1.5\,T_s. 이 지연이 전류 루프 대역폭의 상한을 잡는다. 스위칭 주파수를 못 올리는 상황에서 대역폭을 벌고 싶으면 캐리어의 산과 골 양쪽에서 표본화·갱신하는 더블 업데이트를 쓰는데, 실효 TsT_s가 절반이 되므로 절대 지연이 절반으로 준다. 지연 회계가 곧 설계 자유도라는 것이 이 분야의 문법이다.3

디지털 PID 제어기나 디지털 필터를 설계할 때 연속 설계를 이산으로 옮기는 경로 선택도 같은 맥락이다. ZOH 이산화는 계단 응답을 표본 시각에서 정확히 보존하고, 쌍일차 변환(Tustin)은 좌반평면 전체를 단위원 안으로 사상해 안정성을 보존하는 대신 주파수 축을 뒤튼다. 플랜트 모델링은 ZOH, 보상기 변환은 Tustin이 흔한 조합이지만, 어느 쪽이든 T/2T/2의 위상은 여전히 청구된다. 이산화 방식을 바꿔서 지연을 없앨 수는 없다 — 지연은 수학이 아니라 하드웨어가 만든 것이기 때문이다.

8. 여담[편집]

  • “ZOH가 T/2T/2 지연”이라는 말은 자주 반쯤만 인용된다. 정확히는 위상에 관해서만 순수 지연과 동일하고, 크기는 sinc\mathrm{sinc}만큼 처진다. 나이퀴스트 부근 해석에서 esT/2e^{-sT/2}로만 대체하면 3.9-3.9 dB를 통째로 놓친다.
  • 계단 파형이 “각져서 나쁘다”는 직관은 대체로 맞지만, 각진 것 자체가 나쁜 게 아니라 각짐이 곧 표본화 주파수 배수의 스펙트럼 성분이라는 게 나쁘다. 후단 계가 그 대역에서 이미 저역통과라면(예: 관성이 큰 기계계) ZOH의 각짐은 물리적으로 아무 일도 일으키지 않는다. 오실로스코프의 계단 파형을 보고 필터를 추가하기 전에 플랜트의 대역폭부터 볼 일이다.
  • 디지털-아날로그 변환에서 오디오 DAC들이 오버샘플링을 쓰는 것도 결국 ZOH 때문이다. 표본화 주파수를 8배로 올려 버리면 첫 이미지가 훨씬 멀리 밀려나 아날로그 재구성 필터가 완만해도 되고, sinc\mathrm{sinc} 처짐도 가청대역에서는 무시할 만해진다. 문제를 푸는 대신 문제가 있는 곳을 사람 귀에서 멀리 옮긴 셈이다.

9. 관련 문서[편집]

10. Footnotes[편집]

  1. 사각 펄스의 푸리에 변환이 sinc\mathrm{sinc}라는 초등적 사실 하나가 ZOH의 성질을 전부 결정한다. 시간 영역에서 폭 TT의 창을 곱하는 일과 주파수 영역에서 sinc\mathrm{sinc}를 합성곱하는 일이 같다는 것 — 신호처리 수업 첫 달에 배우고 평생 써먹는 몇 안 되는 항목이다.

  2. 확대 행렬 트릭은 Van Loan(1978)이 정리한 여러 적분-지수 항등식 중 하나로, 0TeAτdτ\int_0^T e^{A\tau}d\tau 말고도 0TeAτQeAτdτ\int_0^T e^{A^\top \tau} Q e^{A\tau} d\tau 같은 칼만 필터용 이산 공정잡음 공분산까지 같은 방식으로 뽑아낼 수 있다. 블록 행렬 하나 더 쌓으면 적분이 하나 더 나온다는 구조라, 한 번 익혀 두면 이산화 관련 유도 대부분이 기계적 작업이 된다.

  3. “샘플링을 빠르게 하면 다 해결된다”는 낙관이 무너지는 지점이 몇 군데 있다. 계산 지연은 TT에 비례해 줄지만 ADC 변환 시간·통신 프레임·증폭기 대역폭은 안 줄고, 표본화가 빨라질수록 앞서 말한 표본화 영점이 단위원 밖으로 더 밀려나며, 고정소수점 구현에서는 계수 양자화 민감도가 오히려 나빠진다. 무작정 빠르게 하면 되는 일은 이 바닥에 거의 없다.