반응형
아날로그-디지털 변환기의 INL과 DNL 완전 정복
아날로그-디지털 변환기(ADC)나 디지털-아날로그 변환기(DAC)의 성능을 평가할 때 가장 중요한 요소 중 하나는 **선형성(Linearality)**입니다. 이때 등장하는 두 가지 핵심 지표가 바로 **DNL (Differential Non-Linearity)**과 **INL (Integral Non-Linearity)**입니다. INL과 DNL은 단순한 숫자가 아닌, ADC의 정밀도와 신뢰성을 결정짓는 핵심 지표입니다. 이번 포스트에서는 INL과 DNL의 개념부터 계산 방법, 그리고 파이썬으로 직접 구현하는 예제를 정리했습니다.
✅ DNL (Differential Non-Linearity)
✔️ 정의
DNL은 **이상적인 LSB(step size)**와 실제 코드 간 전압 차이의 차이를 나타냅니다.
한 코드에서 다음 코드로 넘어갈 때 전압 변화가 얼마나 불균일한가를 측정하죠.
📐 공식
- ViV_i: i번째 코드의 실제 전압
- Ideal LSB: 이상적인 1 LSB
❗ 중요한 의미
- DNL > 0: 이상보다 간격이 큼 → 코드 폭이 넓음
- DNL < 0: 이상보다 간격이 작음 → 코드 폭이 좁음
- DNL < -1: Missing Code 발생 가능성 있음
■ DNL 반영
- DNL = 0: 이상적 계량와 같은 값
- DNL > 0: 전역 계량이 가볍다
- DNL < 0: 계량이 짧다
- DNL < -1: Missing Code 가능성 있음
✅ INL (Integral Non-Linearity)
✔️ 정의
INL은 각 코드에서의 실제 전압이, 이상적인 직선 응답에서 얼마나 벗어나는지를 나타냅니다.
즉, 전체 변환기의 선형성 품질을 평가하는 데 사용됩니다.
📐 공식
- ViV_i: i번째 코드의 실제 전압
- Videal_i: i번째 코드의 이상적 전압
■ INL 반영
- INL = 0: 가장 이상적인 선사선에 붙여 있다
- INL 반영이 크면 귀여로도 경험의 오차가 큰 경우
📊 예제 데이터로 계산해보기
Full Scale: 2.56V
Resolution: 8bit (256 codes)
Ideal LSB = 2.56 / 256 = 0.01V
코드 | 실제 전압 (V) |
0 | 0.0000 |
1 | 0.0095 |
2 | 0.0196 |
3 | 0.0297 |
DNL 계산
INL 계산
반응형
🐍 파이썬 코드로 구현하기
import numpy as np
def calc_dnl_inl(actual_voltages, v_ref=2.56, n_bits=8):
ideal_lsb = v_ref / (2**n_bits)
ideal_voltages = np.arange(len(actual_voltages)) * ideal_lsb
# DNL: 실제 코드 간 간격 vs 이상적 간격
dnl = np.diff(actual_voltages) / ideal_lsb - 1
dnl = np.append(dnl, np.nan) # 마지막 DNL은 없음
# INL: 실제 vs 이상적 누적 차이
inl = (actual_voltages - ideal_voltages) / ideal_lsb
return dnl, inl
🤔 자주 묻는 질문 (FAQ)
Q1. DNL을 DataMean / (Main 1LSB × Ideal LSB) - 1로 계산해도 되나요?
이런 방식은 일반적인 DNL 계산법은 아니며,
특정 조건에서 상대적 DNL이나 보정된 기준을 사용할 때 사용될 수 있습니다.
하지만 일반적으로는 아래의 정의가 표준입니다:
따라서, 어떤 의미로 Main 1LSB와 DataMean이 정의되었는지 문맥에 따라 해석이 필요합니다.
반응형
'코딩취미 > 프로그램 지식' 카테고리의 다른 글
Canva vs Photoshop, 어떤 툴이 나에게 맞을까? (0) | 2025.04.01 |
---|---|
ADC 관련 기본 : Missing Code 과 ENOB (0) | 2025.03.28 |
JIRA 필터 만들기: 초급자, 중급자, 숙련자 단계별 가이드 (0) | 2025.03.13 |
[JIRA 필터] JIRA Query Language (JQL) 완벽 가이드: 문법, 구조, 활용법 (0) | 2025.03.13 |
CSV 파일 크기 문제 해결 방법: 초급, 중급, 고급 단계별 가이드 (0) | 2025.03.13 |