ADC 샘플링과 분해능 시뮬레이션
매끄러운 아날로그 전압이 ADC를 지나 계단 모양 숫자로 바뀌는 과정을 봅니다. 비트 수를 줄이면 계단이 얼마나 거칠어지는지, 샘플링이 느리면 왜 엉뚱한 주파수로 보이는지 직접 확인합니다.
ADC00.000 V
실제 입력 전압ADC가 읽은 값오른쪽 끝이 지금입니다
3D 장면을 불러오는 중입니다
조작
샘플만 이은 모습 최근 40 ms
흐린 선이 실제 입력, 밝은 선이 마이크로컨트롤러가 보는 파형입니다.
측정
- 1 LSB
- -
- 지금 읽은 값
- -
- 나이퀴스트 주파수
- -
- 보이는 주파수
- -
이렇게 해 보세요
- 노란 선이 실제 입력 전압이고, 청록색 기둥이 ADC가 읽은 값입니다. 기둥 하나가 샘플 하나입니다. ADC는 다음 샘플까지 그 값을 그대로 들고 있어서 계단 모양이 됩니다.
- 분해능을 12비트에서 3비트로 낮춰 보세요. 뒤쪽 벽에 눈금 8개가 나타나고, 기둥이 그 눈금에만 맞춰집니다. 노란 선과 기둥 꼭대기 사이의 틈이 양자화 오차입니다.
- 분해능을 다시 올리고 샘플링 속도를 낮춰 보세요. 기둥이 넓어지면서 신호의 모양을 놓치기 시작합니다.
- 입력 주파수를 900 Hz, 샘플링 속도를 1000 Hz로 맞추세요. 아래 그래프에서 샘플만 이은 선이 100 Hz짜리 느린 파형으로 보입니다. 이것이 에일리어싱입니다. 한 번 이렇게 읽히면 소프트웨어로는 되돌릴 수 없습니다.
- 진폭을 끝까지 올리면 파형이 0 V와 3.3 V에서 잘립니다. ADC는 기준 전압 밖의 값을 읽지 못합니다.
- 노이즈를 올리고 분해능을 12비트로 두면 아래쪽 비트들이 계속 흔들립니다. 비트 수가 많다고 그만큼 정확한 것은 아닙니다.
읽는 법
ADC는 두 가지를 잘라 냅니다. 시간을 자르는 것이 샘플링이고, 전압을 자르는 것이 양자화입니다.
1 LSB는 기준 전압을 2의 비트 수 제곱으로 나눈 값입니다. 3.3 V 기준 12비트면 약 0.8 mV, 8비트면 약 12.9 mV입니다.
샘플링 속도의 절반을 나이퀴스트 주파수라고 합니다. 입력에 이보다 빠른 성분이 있으면 낮은 주파수로 접혀서 보입니다. 그래서 ADC 앞에는 RC 필터를 두어 빠른 성분을 미리 깎습니다.
이 실험실은 이상적인 ADC를 가정했습니다. 실제 ADC에는 샘플링 커패시터를 채우는 시간, 오프셋과 이득 오차가 더 있습니다.
자세한 설명은 ADC 노트에 있습니다.