hyperpicc / Digital-Calibration-of-SAR-ADC

Successive Approximation Register (SAR) ADC Digital Calibration (in Matlab)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Digital Calibration of SAR ADC

Successive Approximation Register (SAR) ADC Digital Calibration

Overview

Code

This Code part contains:

  1. An executable file (Run_SAR_ccliu.m) to auto-test the ADC model and output its dynamic performance and also the averaging energy consumption.

  2. Behavioral Model file (SAR_ccliu.m) of a popular SAR ADC architecture proposed by Liu et al. [1].

  3. Fast Fourier Transfromation (FFT) file (SNR_ADC.m) to test the dynamic performance of the SAR ADC beharvioral model.

  4. Hodiewindow function file (hodiewindow.m) which is needed for doing the FFT.

  5. Err_compare function file (err_compare.m) to emulate the decision error occurs in the SAR process.

  6. Behavioral Model file (SAR_conventional.m) of the conventional SAR ADC architecture in [1], newly uploaded by Whove.

  7. Behavioral Model file (SAR_ccliu_10b_rd.m) of redundant algorithm proposed in [3].

  8. Full adder function file (full_adder.m) to implement the full-adder.

  9. Behavioral Model file (SAR_JSSC_shen.m, Flash_JSSC_shen.m and SAR_JSSC_shen_10repeat.m) of the SAR algorithm Shen et al. presented in [4].

  10. Decimal to Binary function file (decimal2binary.m) to implement decimal to binary conversion.

  11. Behavioral Model file (SAR_project18_10repeat.m) of the same SAR algorithm as [4] but changes to an 18-bit SAR ADC.

Theory

Charge Redistribution

See the PDF file (Proposed SAR ADC.pdf). It well explains the "Charge Redistribution Theory" of the proposed ADC architecture in [1].

And for the split structure in [2], see figure below:

Redundant

The redundant is a design method for mitigating the effect of decision error occurs in SAR ADC. The decision error is a settling problem during the charge redistribution. (for more info, please refer to Liu et al. [3].)

The implementation of the redundant in a 10-b SAR ADC is like this:


Reference

[1]: Liu et al. - 2010 - A 10-bit 50-MSs SAR ADC with a monotonic capacitor switching procedure.

[2]: Yoshioka et al. - 2010 - A 10-b 50-MSs 820-μW SAR ADC with on-chip digital calibration

[3]: Liu et al. - 2010 - A 10b 100MSs 1.13mW SAR ADC with binary-scaled error compensation

[4]: Shen et al. - 2017 - A 16-bit 16MS s SAR ADC with On-Chip Calibration in 55nm CMOS


Tutorial

Matlab

Matlab is a powerful tool to conduct scientific research and implement your ideas.

用处:用于数学建模及仿真。

Matlab教程:Matlab官方教程

比看教程更有效率的学习方法:直接上手,遇到不懂的直接baidu。

Mathtype

Mathtype is a tool to type your mathematical equations.

用处:用于公式编辑。

Mathtype极为简单,易于上手。

需要注意的地方: 在Preference->Cut and Copy Preference 中,可以对拷贝的输出格式进行设置,默认为Equation Object, 适合直接拷贝进word中;还有MathML格式,适合拷贝进Latex中,极为方便。

Latex

Latex is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation.

用处:用于论文写作。

Latex教程:LaTeX新人教程,30分钟从完全陌生到基本入门

Markdown

Markdown语言是一种轻量化的标记语言,支持HTML

用处:写blog,写readme,分享自己的idea。

Markdown教程:othree的Markdwon简明教程

Matplotlib

Matplotlib是Python的一个功能强大的绘图库(需要提前安装python)。

用处:可用于绘制各种fancy的图片(知乎:如何在论文中画出漂亮的插图?)。

Matplotlib安装教程:python:安装pylab模块

Matplotlib使用教程:Matplotlib Tutorial(译)

About

Successive Approximation Register (SAR) ADC Digital Calibration (in Matlab)


Languages

Language:MATLAB 98.1%Language:Objective-C 1.4%Language:M 0.5%