One type of channel that is commonly encountered, is the channel with an opto-isolator in the path. There are many circuit tricks that can be applied to speed up the transitions in such a channel, but sometimes cost considerations preclude these. Indeed as the opto-isolator manufacturers have sought to reduce cost by reducing pin count, the cheapest circuit generally does not have the base of the photo transistor available for external connection. In the most cost sensitive applications, there is no "select on test" or other methods to compensate for device production spread. A circuit that is optimised for best operation with the entire population of isolators, will not be particularly good with any of them. For those with current transfer ratio at the high end, the switch on transitions of the phototransistor will be faster than the switch off. For other devices it will be the other way around. The lowest cost circuit will not be able to pass ISO 1177 formatted data at common bit rates in a form that can be interpreted by an ordinary UART. An alternative encoding scheme is suggested that might have the capability of better performance.
A channel of the type described, has characteristic logic transitions with a voltage trajectory that correspons pretty well to a single time constant. The difference in channel delay for the 0 to 1 and the 1 to 0 transitions will depend on the time constants of the two transitions as well as the logic voltage threshold of the following circuitry. As long as there is sufficient time between transitions for the voltage to get close to its final value, inter-symbol interference is low.
Thus, although we do not know the delay for a 0 to 1 transition, or the delay for a 1 to 0 transition, we know that ALL 0 to 1 transitions have pretty much the same delay, and ALL the 1 to 0 transitions also have pretty much the same delay. Thus an encoding scheme that relies on edge timing of only one polarity of transition will be immune to the telegraph distortion. We can double the data rate by encoding the edge timing of both polarities of transition, but interpreting the timings of the two polarities independantly.
I have done it and it works well.
Areas for further exploraton include encoding more than one bit on each edge time, and running the symbol rate so high that inter-symbol interference becomes marked, but then correct for this in software.