FEC (помехоустойчивое кодирование)
FEC (Forward Error Correction, помехоустойчивое кодирование с упреждающим исправлением ошибок) - это метод, при котором к передаваемым данным заранее добавляют избыточную информацию, позволяющую приёмнику самостоятельно находить и исправлять ошибки. Идея в том, чтобы не переспрашивать передатчик при сбое, а восстановить искажённые биты на месте, опираясь на встроенную избыточность.
В спутниковой связи без такого кодирования не обойтись. Сигнал проходит десятки тысяч километров, слабеет, зашумляется, страдает от помех и осадков, и часть битов неизбежно искажается. Переспрашивать спутник нерационально: задержка распространения слишком велика, и повторные запросы съели бы всю скорость. Поэтому исправление ошибок переносят на сторону приёмника, заранее снабжая поток защитными данными.
Работает это так. Передатчик по определённому правилу добавляет к полезным данным проверочные биты. Приёмник, получив искажённый поток, по тем же правилам вычисляет, где произошли ошибки, и исправляет их, пока их число не превышает возможностей кода. Доля защитных битов в потоке характеризует степень избыточности: чем её больше, тем больше ошибок можно исправить, но тем меньше остаётся места под полезные данные.
Выбор степени кодирования - это компромисс между надёжностью и скоростью, тесно связанный с выбором модуляции. При плохом сигнале добавляют больше избыточности и берут устойчивую модуляцию, при хорошем - наоборот. Современные коды, применяемые в DVB-S2X, работают настолько эффективно, что подводят систему почти к теоретическому пределу пропускной способности канала, отвоёвывая каждый возможный бит скорости.