The Modulo ADC ------------------------------ .. image:: images/IBMADC_PCB.png :align: center In practice, a printed circuit board (PCB) is designed to perform the modulo operation in the analog domain. The modulo operation is defined as: .. math:: \newcommand{\MO}{\mathscr{M}_\lambda} \newcommand{\ft}[1]{\left[\kern-0.15em\left[#1\right]\kern-0.15em\right]} \newcommand{\fe}[1]{\left[\kern-0.30em\left[#1\right]\kern-0.30em\right]} \newcommand{\flr}[1]{\left\lfloor #1 \right\rfloor} \def\DE{\stackrel{\mathrm{def}}{=}} \begin{equation} \MO: g \mapsto 2\lambda \left( \fe{\frac{g}{2\lambda} + \frac{1}{2}} - \frac{1}{2} \right), \quad \ft{g} \DE g - \flr{g} \label{eq1} \end{equation} The implementation of the Modulo ADC (MADC) can be tailored to specific applications, with the design optimized for different input frequency and amplitude ranges. Here, we introduce a low-cost (approximately \$20) and easy-to-build MADC architecture. This design features an integrator-based Modulo Analog-to-Digital Converter, as proposed in :cite:p:`Zhu:2024:C`. MADC Implementation ~~~~~~~~~~~~~~~~~~~~~ The overall system structure is illustrated in the block diagram below, with its resulting transfer function shown on the right. Let :math:`g(t)` represent the input signal and :math:`z(t)` be the output of the modulo function :math:`\MO`. The operation is carried out by three main blocks: the subtractor, the integrator, and a pair of Schmitt triggers. .. image:: images/IBMADC_block1.png :width: 700px :align: center The Subtractor ~~~~~~~~~~~~~~~~~~~~~ An auxiliary function :math:`\varepsilon_g(t)` can be defined to help derive the modulo output :math:`z(t)`, as illustrated in the transfer diagram above. The subtraction can easily be carried out using an instrumentation amplifier (IA). Additionally, the adjustable gain of the IA provides a unique boost in performance to the system that will be explained later. .. list-table:: :class: fixed-width-table :widths: 50 50 :header-rows: 0 :align: center * - .. math:: z(t) = g(t) - \varepsilon_g(t) - .. image:: images/IBMADC_subtractor.png :width: 200px :align: center The Integrator ~~~~~~~~~~~~~~~~~~~~~ The auxiliary function :math:`\varepsilon_g(t)` is generated by an integrator. The output of an operational amplifier (op-amp) integrator with an input signal :math:`V_{\texttt{int}}(t)` is given by the following equation and is illustrated below. .. list-table:: :class: fixed-width-table :widths: 50 50 :header-rows: 0 :align: center * - .. math:: \varepsilon_g(t) = -\frac{1}{RC} \int_{0}^{t} V_{\texttt{int}}(\tau) \, d\tau + \varepsilon_g(0) - .. image:: images/IBMADC_integrator.png :width: 300px :align: center The Comparators with Hysteresis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The integrator input :math:`V_{\texttt{int}}(t)` is a composite signal formed from a pair of Schmitt triggers (STs) that take the modulo output :math:`z(t)` as input. The transfer function of the system and a circuit to realize this setup are shown below. .. list-table:: :class: fixed-width-table :widths: 50 50 :header-rows: 0 :align: center * - .. image:: images/IBMADC_ST.png :alt: Transfer function of the Schmitt Trigger :width: 200px :align: center - .. image:: images/IBMADC_comps.png :width: 600px :align: center The Folding Process ~~~~~~~~~~~~~~~~~~~~~ The folding process is initiated by the pair of STs. Whenever :math:`|z(t)| > \lambda`, :math:`\text{ST}^{+}` (shown in red) generates a positive voltage, while :math:`\text{ST}^{-}` (shown in blue) remains at 0 V. The combined output of the STs causes the integrator output :math:`\varepsilon_g(t)` to increase sharply, thereby driving the modulo output :math:`z(t)` downwards. Once :math:`z(t)` drops below :math:`h - \lambda`, :math:`\text{ST}^{+}` resets to 0 V, stabilizing the integrator at a constant voltage and completing the folding cycle. The hysteresis parameter :math:`h` is manually adjusted, as suggested in :cite:p:`Florescu:2022:Ja`, to prevent unwanted oscillations and erratic jumps. The Online Playground ~~~~~~~~~~~~~~~~~~~~~ Here is an interactive schematic of the MADC system. .. raw:: html For users who cannot view the iframe, `click here `_ to access the schematic directly.