Algorithm
The successive approximation Analog to digital converter circuit typically consists of four chief subcircuits:

 A sample and hold circuit to acquire the input voltage (V_{in}).
 An analog voltage comparator that compares V_{in} to the output of the internal DAC and outputs the result of the comparison to the successive approximation register (SAR).
 A successive approximation register subcircuit designed to supply an approximate digital code of V_{in} to the internal DAC.
 An internal reference DAC that supplies the comparator with an analog voltage equivalent of the digital code output of the SAR for comparison with V_{in}.
The successive approximation register is initialized so that the most significant bit (MSB) is equal to a digital 1. This code is fed into the DAC, which then supplies the analog equivalent of this digital code (V_{ref}/2) into the comparator circuit for comparison with the sampled input voltage. If this analog voltage exceeds V_{in} the comparator causes the SAR to reset this bit; otherwise, the bit is left a 1. Then the next bit is set to 1 and the same test is done, continuing this binary search until every bit in the SAR has been tested. The resulting code is the digital approximation of the sampled input voltage and is finally output by the DAC at the end of the conversion (EOC).
Mathematically, let V_{in} = xV_{ref}, so x in is the normalized input voltage. The objective is to approximately digitize x to an accuracy of 1/2n. The algorithm proceeds as follows:

 Initial approximation x_{0} = 0.
 ith approximation x_{i} = x_{i1}  s(x_{i1}  x)/2i.
where, s(x) is the signumfunction(sgn(x)) (+1 for x ≥ 0, 1 for x < 0). It follows using mathematical induction that x_{n}  x ≤ 1/2n.
As shown in the above algorithm, a SAR ADC requires:

 An input voltage source V_{in}.
 A reference voltage source V_{ref} to normalize the input.
 A DAC to convert the ith approximation x_{i} to a voltage.
 A Comparator to perform the function s(x_{i}  x) by comparing the DAC's voltage with the input voltage.
 A Register to store the output of the comparator and apply x_{i1}  s(x_{i1}  x)/2i.
Read more about this topic: Successive Approximation ADC
Other articles related to "algorithm":
... The Symbology Decoding Algorithm for barcode scanners is the first symbologybased algorithm for decoding ... to detect transitions in the signal, whereas the traditional algorithm relies on the maxima and minima ... The Symbology Decoding Algorithm for Bar Code Scanners exhibited high resilience to blur and noise when tested on 1D Universal Product Codes ...
... of efforts have been directed toward further refinement of the definition of "algorithm", and activity is ongoing because of issues surrounding, in particular, foundations of ... For more, see Algorithm characterizations ...
... Hoare 1962  Ford–Fulkerson algorithm developed by L ... Fulkerson 1962  Bresenham's line algorithm developed by Jack E ... Fedorenko 1965  Cooley–Tukey algorithm rediscovered by James Cooley and John Tukey 1965  Levenshtein distance developed by Vladimir Levenshtein 1965  Cocke–Younger–Kasami (CYK) algorithm independently ...
... Here are some random walk MCMC methods Metropolis–Hastings algorithm Generates a random walk using a proposal density and a method for rejecting proposed ... A variation of the Metropolis–Hastings algorithm that allows multiple trials at each point ... This allows the algorithm to generally take larger steps at each iteration, which helps combat problems intrinsic to large dimensional problems ...
... The Tomasulo algorithm is a hardware algorithm developed in 1967 by Robert Tomasulo from IBM ... This algorithm differs from scoreboarding in that it utilizes register renaming ... The Tomasulo algorithm also uses a common data bus (CDB) on which computed values are broadcast to all the reservation stations that may need it ...