This is a look at Digitan Command Control (DCC) decoder operations from an electronic technician's point of view. For basic information on DCC itself, I have written a <link url=/od/electronicsdcc/tp/DCC_Overview.htm"]non-technical DCC overview.
A DCC Decoder contains both computer logic circuits and power management. The DCC signal applied to model railroad tracks is both power for your trains and control information. It is actually a pulsed alternating current (AC) squarewave which in HO, TT, N and Z scales is a +/-14v signal, while some decoders use higher voltages in larger scales. The ones and zeros that make up the DCC signal's command data packets are created by modulating the width of the pulses. Narrower pulses are ones and wider pulses are zeros. This encoding scheme is used instead of + for ones and - for zeros because it allows the decoder in the locomotive to read the same information from the tracks regardless of the locomotive's direction of travel.
The DCC decoder also contains a rectifier that converts the +/- voltage DCC signal into DC. This DC voltage is used to power the lights and other features. Decoders don't use Digital to Analog (D/A) converters to run the locomotives motors. Instead they create a pulsed squarewave that, unlike the DCC signal, is not AC, but a simple series of DC pulses. However, unlike the traditional DC powerpacks used in model railroading, the speed is not controlled by varying the amplitude (voltage level) of the pulses; speed is controlled by varying the width of the + pulses in relation to the zero volt portions of the wave. The relative widths of the pulses are determined by the last speed setting command sent via DCC signal to the locomotive's decoder address.
An interesting feature supported by some DCC manufacturers in their Command Stations and Boosters is the varying of + pulse width in relation to - pulse width in the logical zeros. This results in an average voltage that exceeds zero volts. This allows one single DC locomotive to run on the layout at the same time that you are running trains equipped with DCC decoders. However, because this entails feeding an AC signal to a DC motor most people don't use this feature. Performance of the DC motors varies from locomotive to locomotive, and all locomotives hum and heat up when standing still.
As a person with a background in electronics I really have to admire the elegance of this system. It was incredibly well thought out.