I. Basic circuit  
Vin will be active when Vin < 0 volts and V1 will be active when Vin > 0.It should be noted that the voltages are inverted from the input to the outputs. The ideal diode circuit is equivalent to a pair of diodes except the pair of diodes does not invert the voltages. Real diodes would also have a fixed voltage drop. The ideal diode circuit, thanks to the opamp and the magic of negative feedback, eliminates this voltage drop. This is what makes the circuit ideal. 

II. Full wave rectifier 

The most common application of the ideal diode is the full wave rectifier. It works by summing one of the ideal diode outputs with the input. 

One possible use is to convert a ramp into a triangle. Another possible use is as an envelope follower. 

III. Piecewise linear functions 

One of the most usefull functions of the ideal Diode is in piecewise linear functions. One application, for example, is a triangle to sine wave converter. 

More basic functions are possible. As shown the gain can be made to reverse at Breakpoint. Very complex functions can be generated. 

The basic circuit is shown below. Every Breakpoint requires an ideal diode circuit. Complex functions with lots of breakpoints will require a lot of ideal diode circuits. 

IV. Practical Examples  Voltage Splitter 

This is a very simple, straight forward application
of the ideal diode. I call it a voltage splitter because the input appears
on one output when VIN > VB
and the other when VIN < VB.
It should be noted that VB is
added to the input. For example, if VIN = 5 volts
and VB =  4 volts you will get 2 volts on
VO2 and 0 volts on VO1.


V. Practical Examples  Voltage Scanner 

I call this one a voltage scanner because the function that is generated can be used to
control a VCA that is used to select a signal. 

VI. Practical Examples  Waveform Shaper 

This circuit is basically a more general version of the piecewise linear function generator. It can be expanded ad infinitum by adding more diode functions. Each break has a gain adjustment so that functions are completely arbitrary. For each breakpoint required, an Ideal diode function is required. 