Created by
Created December 10, 2012
Last modified December 10, 2012
Tags No tags.

Summary

CL does not provide an explicit A to D or a D to A function.

This describes two variants of a very tedious way to make a block that quantises an input voltage like an ADC and produces an output voltage that looks like the output of a DAC of the same number of bits as the ADC when driven by the ADC output.

Simulate > DC Sweep > Run DC Sweep


Description

CL does not provide an explicit A to D or a D to A function.

This describes two variants of a very tedious way to make a block that quantises an input voltage like an ADC and produces an output voltage that looks like the output of a DAC of the same number of bits as the ADC when driven by the ADC output.

V(ref) represents the ADC (and DAC) reference voltage;

V(lsb) represents the voltage step size of the lsb;

V(levels) represents the (total number of levels - 1) that the ADC (and DAC) can represent;

V(scale) scales the output voltage. V(scale) = 1 sets a DAC output that exactly represents the quantised input voltage. V(scale) = 1/V(lsb) sets a DAC output that directly represents the ADC as a decimal voltage value.

Simulate > DC Sweep > Run DC Sweep

The tedious bit is that each expression in the tanh() or ustep() terms is unique and the number required is of course the 2^(number of bits). It is possible to at least partially automate the generation of the expression using a spreadsheet.

This example of for 2 bit A to D to A block.


Comments

No comments yet. Be the first!

Leave a Comment

Please sign in or create an account to comment.

Revision History

Only the circuit's creator can access stored revision history.