Sigma-Delta A/D Conversion: Floating-Point Example Model
Sigma-Delta A/D Conversion: Floating-Point Example Model
This example shows how to model analog-to-digital conversion using a sigma-delta algorithm
implementation.
Decimator Design
The example versions illustrate two possible decimator design solutions.
The floating-point version model uses a cascade of three polyphase FIR decimators. This approach
reduces computation and memory requirements as compared to a single decimator by using lower-order
filters. Each decimator stage reduces the sampling rate by a factor of four. The latency introduced by the
filters is used to set the appropriate 'Time Delay' in the 'Transport Delay' block. The three FIR Decimation
filters each introduce a latency of 16 samples, due to the group delay of the filter (the actual value of 15.5
is rounded up to the nearest integer number of samples). Due to the decimation operation the total
latency introduced by the three filters is as follows: 16 (first filter) + 4*16 (second filter) + 16*16 (third filter)
to give a final total delay of 336. The denominator of the 'Time delay' parameter is the base rate of the
model (512 kHz).
The fixed-point version uses a five-section CIC decimator to reduce the sampling rate by the same factor
of 64. While not as flexible as a FIR decimator, the CIC decimator has the advantage of not requiring any
multiply operations. It is implemented using only additions, subtractions, and delays. Therefore, it is a
good choice for a hardware implementation where computational resources are limited. The CIC
Decimator introduces a latency of 158 samples, which is the group delay of the filter (157.5) rounded up
to the nearest integer. This is the value used in 'Time Delay' parameter of the 'Multistage CIC Processing
Delay' block.