⬢ ĐỀ TÀI 2 · LỚP L03 · NHÓM 8

Mô phỏng SAR ADC

Successive Approximation Register · Đại học Bách Khoa TP.HCM

Đang khởi tạo mô phỏng…

Trường Đại học Bách Khoa — ĐHQG TP.HCM

Khoa Điện — Điện tử · Bộ môn Viễn thông

Lớp L03 · Nhóm 8 Môn: Xử lý số tín hiệu HK 2025–2026
⬢ ĐỀ TÀI 2 · LỚP L03 · NHÓM 8

Mô phỏng giải thuật Lượng tử xấp xỉ liên tiếp (SAR ADC)

Mô phỏng tương tác giải thuật Successive Approximation Register, biểu diễn từng bước binary search, đồ thị DAC, lỗi lượng tử, đánh giá SNR / SQNR / ENOB và phân tích phổ FFT.

LỚP · NHÓML03 · N8
ADC10‑bit SAR
TRẠNG THÁIHoạt động bình thường

NHÓM 8 — LỚP L03 · ĐỀ TÀI 2

4 thành viên · Khóa 2023 · Khoa Điện - Điện tử

VT
LÝ THUYẾT SAR ADC
Võ Phúc Thịnh
MSSV · 2313317
HP
CODE TẠO TÍN HIỆU & LƯỢNG TỬ
Hà Toàn Phú
MSSV · 2312647
NQ
CODE SAR ALGORITHM & SAI SỐ
Nguyễn Xuân Quyết
MSSV · 2312889
HT
GIAO DIỆN · BÁO CÁO · SLIDE
Hồ Minh Thao
MSSV · 2313092
N · ĐỘ PHÂN GIẢI10bit
VREF5.00V
LSB4.883mV
2^N MỨC1024mức
SQNR LÝ THUYẾT61.96dB
ENOB10.00bit
SAR ADC 10‑bit · Vref = 5.00 V · LSB = 4.883 mV
SƠ ĐỒ KHỐI SAR ADC
Đang chạy
x(t)Tín hiệu liên tục
S/HSample & Hold
Comparatorx[n] vs Vdac
SAR LogicBinary Search N bước
DACVdac = D·Vref/2^N
OutputMã N‑bit
MIỀN THỜI GIAN — Sin · A=1.50, f=5.00 Hz, DC=2.50
QUÁ TRÌNH SAR — Tracking DAC qua từng bước cho mẫu thứ k
BướcBit thửMã nhị phânVdac (V)So sánhBit giữ
SAI SỐ LƯỢNG TỬ e(t) = x(t) − x_q(t)
e_max
e_rms
MSE
SNR thực
ENOB thực
FFT — Phổ tín hiệu gốc & phổ sau lượng tử

Đỉnh chính tại tần số f của tín hiệu, các đỉnh phụ thấp là sàn nhiễu lượng tử (quantization noise floor) — sàn càng thấp khi N càng lớn.

SO SÁNH SAR ADC VỚI CÁC KIẾN TRÚC ADC KHÁC
SAR ADC
  • Độ phân giải: 8 – 18 bit
  • Tốc độ: trung bình (kSPS – vài MSPS)
  • Công suất: rất thấp
  • Diện tích chip: nhỏ
  • Ứng dụng: cảm biến, IoT, y sinh
Flash ADC
  • Độ phân giải: 4 – 8 bit
  • Tốc độ: rất cao (GSPS)
  • Công suất: rất lớn (2^N comparator)
  • Diện tích: lớn
  • Ứng dụng: oscilloscope, radar
Pipeline ADC
  • Độ phân giải: 10 – 16 bit
  • Tốc độ: cao (10 – 500 MSPS)
  • Công suất: trung bình
  • Trễ: vài chu kỳ (latency)
  • Ứng dụng: video, viễn thông
Sigma‑Delta ADC
  • Độ phân giải: 16 – 24 bit
  • Tốc độ: thấp – trung bình
  • Công suất: thấp
  • Đặc điểm: oversampling + noise shaping
  • Ứng dụng: audio, đo lường chính xác
Tiêu chíSARFlashPipelineΣ‑Δ
Số chu kỳ / mẫuN1~ NOSR cao
Số comparator12^N − 1nhiều stage1
Tỉ lệ tốc độ / công suất★★★★★★★★★★★★★★
Phù hợp đề tài✔ chínhtham chiếutham chiếutham chiếu
BẢNG TÍNH CHI TIẾT — TỪNG MẪU
nt (s)x(t)+nhiễuMã nhị phânD (dec)Vdace = x − Vdac
01
TỔNG QUAN ADC & QUY TRÌNH SỐ HÓA

Bộ chuyển đổi tương tự–số (Analog‑to‑Digital Converter — ADC) ánh xạ một tín hiệu liên tục theo thời gian và biên độ $x(t)$ sang chuỗi số nhị phân $D[n]$. Quá trình gồm ba bước:

  1. Lấy mẫu theo chu kỳ $T_s = 1/f_s$: $$x[n] = x(nT_s),\quad n \in \mathbb{Z}$$
  2. Lượng tử hóa theo độ phân giải $N$‑bit, biên độ rời rạc thành $2^N$ mức.
  3. Mã hóa: gán mã nhị phân cho mỗi mức.

Trong số nhiều kiến trúc (Flash, Pipeline, SAR, Σ‑Δ…), SAR ADC được chọn nhờ cân bằng tốt giữa độ phân giải, tốc độ và công suất, phù hợp với các ứng dụng cảm biến, vi điều khiển và y sinh.

02
LƯỢNG TỬ HÓA VÀ SAI SỐ

Với điện áp tham chiếu $V_{\text{ref}}$ và độ phân giải $N$‑bit, bước lượng tử cơ bản (Least Significant Bit) là:

$$\boxed{\,\mathrm{LSB} = \Delta = \dfrac{V_{\text{ref}}}{2^{N}}\,}$$

Với SAR đơn cực (single‑ended) ánh xạ sang mã $D \in \{0,1,\ldots,2^N-1\}$:

$$D = \mathrm{round}\!\left(\dfrac{V_{\text{in}}}{\Delta}\right) \quad\text{(rounding)}; \qquad D = \left\lfloor \dfrac{V_{\text{in}}}{\Delta} \right\rfloor \quad\text{(truncation, kiểu SAR)}$$

Sai số lượng tử của một mẫu được định nghĩa bởi:

$$e_q = V_{\text{in}} - V_{\text{dac}} = V_{\text{in}} - D\cdot\Delta$$

Khi $V_{\text{in}}$ phân bố đều trong dải, $e_q$ xấp xỉ phân bố đều trên $[-\Delta/2,\, +\Delta/2]$, do đó công suất nhiễu lượng tử là:

$$P_q = \dfrac{1}{\Delta}\int_{-\Delta/2}^{+\Delta/2} e^2\, de = \dfrac{\Delta^{2}}{12}$$

Hệ quả: tăng $N$ lên 1 bit ⇒ $\Delta$ giảm một nửa ⇒ công suất nhiễu giảm 4 lần ($-6$ dB).

03
NGUYÊN LÝ SAR — TÌM KIẾM NHỊ PHÂN

SAR ADC tìm $D$ sao cho $V_{\text{dac}}(D)$ gần nhất với $V_{\text{in}}$ bằng phương pháp binary search trong đúng $N$ chu kỳ — mỗi chu kỳ quyết định một bit từ MSB tới LSB.

Tại bước $i$ (với $i = N-1, N-2, \ldots, 0$), thử bit $b_i = 1$:

$$V_{\text{dac}}^{(\text{trial})} = \dfrac{V_{\text{ref}}}{2^{N}}\cdot\!\sum_{k=i}^{N-1} b_k\, 2^{k}$$

So sánh với mẫu hiện tại bằng comparator:

$$b_i = \begin{cases} 1, & V_{\text{in}} \ge V_{\text{dac}}^{(\text{trial})} \\ 0, & V_{\text{in}} < V_{\text{dac}}^{(\text{trial})} \end{cases}$$

Sau $N$ bước, mã cuối cùng là:

$$D = \sum_{k=0}^{N-1} b_k\, 2^{k}$$

Quan sát: số bước SAR không phụ thuộc vào giá trị mẫu — luôn là $N$ chu kỳ comparator. Đây là điểm khác biệt cơ bản với Flash ADC (1 chu kỳ nhưng cần $2^N-1$ comparator).

04
DAC CHUYỂN NGƯỢC

Trong vòng phản hồi của SAR, một DAC nội tái tạo điện áp tương tự từ mã thử hiện tại:

$$V_{\text{dac}} = \dfrac{V_{\text{ref}}}{2^{N}}\cdot D = V_{\text{ref}}\cdot \sum_{k=0}^{N-1} b_k\, 2^{k-N}$$

Ở mức kiến trúc, DAC thường là mạng tụ charge‑redistribution hoặc thang điện trở R/2R. Tính phi tuyến của DAC (DNL/INL) trực tiếp giới hạn độ chính xác toàn ADC.

05
THUẬT TOÁN SAR — PSEUDOCODE
input : Vin, Vref, N
output: D ∈ [0, 2^N − 1]

D ← 0
for i = N − 1 downto 0:
    trial ← D OR (1 << i)         # thử đặt bit i = 1
    Vdac  ← trial · Vref / 2^N
    if Vin ≥ Vdac:
        D ← trial                 # giữ bit i = 1
    else:
        D ← D                     # bỏ, bit i về 0
return D

Độ phức tạp: $\mathcal{O}(N)$ phép so sánh, $\mathcal{O}(N)$ phép cập nhật DAC trên mỗi mẫu.

06
SQNR & ENOB

Với tín hiệu sin biên độ đầy thang $V_{\text{ref}}/2$, công suất tín hiệu là:

$$P_s = \dfrac{1}{2}\!\left(\dfrac{V_{\text{ref}}}{2}\right)^{\!2} = \dfrac{V_{\text{ref}}^{2}}{8}$$

Thay $\Delta = V_{\text{ref}}/2^N$ vào $P_q = \Delta^2/12$ ta được tỉ số tín hiệu / nhiễu lượng tử lý thuyết:

$$\mathrm{SQNR} = 10\log_{10}\!\dfrac{P_s}{P_q} = 10\log_{10}\!\dfrac{3\cdot 2^{2N}}{2}$$ $$\boxed{\,\mathrm{SQNR} = 6.02\,N + 1.76 \text{ dB}\,}$$

Khi đo SNR thực tế trên hệ thống (gồm cả nhiễu nhiệt, jitter, méo phi tuyến), số bit hiệu dụng (Effective Number of Bits) được suy ngược:

$$\boxed{\,\mathrm{ENOB} = \dfrac{\mathrm{SNR}_{\text{thực}} - 1.76}{6.02}\,}$$

Trong tab Mô phỏng, $\mathrm{SNR}_{\text{thực}}$ được tính từ dữ liệu mẫu:

$$\mathrm{SNR}_{\text{thực}} = 10\log_{10}\!\dfrac{\sum_{n} x[n]^2}{\sum_{n} \bigl(x[n]-V_{\text{dac}}[n]\bigr)^2}$$
07
ALIASING & ĐỊNH LÝ NYQUIST

Trước khi vào ADC, tín hiệu phải được lấy mẫu thỏa điều kiện Nyquist–Shannon để tránh chồng phổ (aliasing):

$$\boxed{\,f_{s} \ge 2\,f_{\max}\,}$$

Khi vi phạm, các thành phần tần số $f > f_s/2$ bị "gấp" về băng cơ sở:

$$f_{\text{alias}} = \bigl|\,f - k\,f_{s}\,\bigr|, \qquad k \in \mathbb{Z}$$

Trong thực tế, một bộ lọc anti‑aliasing bậc cao thường được đặt trước ADC để dập băng tần trên $f_s/2$.

08
PHÂN TÍCH PHỔ FFT

Phổ rời rạc của tín hiệu được tính bằng biến đổi Fourier rời rạc (DFT):

$$X[k] = \sum_{n=0}^{L-1} x[n]\, e^{-j\,2\pi\, kn/L}, \qquad k = 0, 1, \ldots, L-1$$

Tần số tương ứng với chỉ số $k$:

$$f_k = \dfrac{k}{L}\, f_s, \qquad k = 0,1,\ldots,L/2$$

Để giảm hiện tượng rò phổ (spectral leakage), trong mô phỏng dùng cửa sổ Hann:

$$w[n] = \dfrac{1}{2}\!\left[1 - \cos\!\left(\dfrac{2\pi n}{L-1}\right)\right]$$

Trên đồ thị FFT, đỉnh chính nằm tại tần số tín hiệu, và quantization noise floor là đường nền — sàn càng thấp khi $N$ càng lớn (giảm khoảng 6 dB cho mỗi bit).

09
ỨNG DỤNG THỰC TẾ CỦA SAR ADC
  • Vi điều khiển (STM32, MSP430, AVR, PIC) — ADC tích hợp 10–12 bit.
  • Cảm biến công nghiệp, đo lường, IoT — yêu cầu công suất thấp.
  • Thiết bị y sinh: ECG, EEG, đo huyết áp.
  • Audio nén thấp, phân tích rung động, điều khiển động cơ.

Trong các ứng dụng yêu cầu > 16 bit, kiến trúc Σ‑Δ thường thay thế SAR; ngược lại với tốc độ > 50 MSPS, kiến trúc Pipeline hoặc Flash chiếm ưu thế.

10
TÀI LIỆU THAM KHẢO
  1. A. V. Oppenheim, R. W. Schafer. Discrete‑Time Signal Processing, 3rd ed., Pearson, 2010.
  2. R. J. Baker. CMOS: Circuit Design, Layout, and Simulation, 4th ed., Wiley‑IEEE, 2019.
  3. W. Kester (Ed.). The Data Conversion Handbook, Analog Devices / Newnes, 2005.
  4. B. Razavi. Principles of Data Conversion System Design, IEEE Press, 1995.
  5. Maxim Integrated. Tutorial 1080: Understanding SAR ADCs, 2001.
  6. Texas Instruments. SAR ADC Architecture and Operation, App Note SBAA147, 2010.
BÁO CÁO & XUẤT FILE
  • 📄 Báo cáo PDF — Tóm tắt lý thuyết, thuật toán, kết quả mô phỏng, đánh giá SNR/ENOB.
  • 📊 Slide PowerPoint — Trình bày 12 slide, 15 phút.
  • 💾 Mã nguồn — JavaScript thuần, Chart.js để vẽ.
  • 📁 CSV dữ liệu — Xuất bảng kết quả từ tab 3.
NHÓM 8 · L03 · ĐỀ TÀI 2 — PHÂN CÔNG CHI TIẾT
Thành viênMSSVPhân công
Võ Phúc Thịnh2313317Nghiên cứu lý thuyết SAR ADC, tính SQNR, ENOB, viết phần lý thuyết báo cáo.
Hà Toàn Phú2312647Code module tạo tín hiệu (DC/sin/ramp/tam giác), thêm nhiễu Gaussian, lượng tử cơ sở.
Nguyễn Xuân Quyết2312889Code thuật toán SAR (binary search) từng bước, tính sai số lượng tử, FFT.
Hồ Minh Thao2313092Thiết kế giao diện web, tích hợp Chart.js, biên soạn báo cáo & slide.