This is the one I like, only I'd feed the three digital signals to the address pins of a CD4051 (8-to-1 analog mux) with a
8-tap resistor string on the eight inputs, and feed the output through the wire. That's the DAC.At receive end, a small ADC gives out (as its three most significant bits) the state of the three inputs. To keep noise margin high, you'd want the resistor string to have taps at 4.5 for binary 100, 2.5 for binary 010, and 1.5 for binary 001, and the full range of the ADC would be 8.
This would be a great place to use a little five-bit flash ADC.
The non-overlap of the multiple pulses is a don't-care condition.