Foward Error Correction

Like most cable television content producers, The Weather Channel sends its TV signal up to a geosync satellite for distribution to cable head-ends around the country. Unlike all other TV content producers, TWC also sends an out-of-band data channel to feed thousands of IntelliStar local rendering computers.

The data distribution channel is UDP, popularly summarized as `spray and pray`. Unlike the more familiar TCP protocol, UDP does not perform packet retries when packets get lost, because UDP has no backchannel to `ack` or `nack` the transmitter. As The Weather Channel increased the amount of data being sent to the STAR head-end computers, the problem of corrupted data became rapidly more critical. To solve the problem without a backchannel, I wrote a software FEC encoder and decoder that is used for all IntelliStar data broadcasts. The FEC codec is adjustable to allow for varying amounts of signal interference.

A couple of years after finishing my engagement with TWC, I re-wrote a higher performance version of this technique for a client that has authorized release of the intellectual property as an open source project.