В зависимости от некоторых деталей, которые вы не предоставляете о своем канале с потерями, я бы рекомендовал сначала использовать код Грея , чтобы гарантировать, что однобитовые ошибки приводят к небольшим различиям (чтобы удовлетворить ваше желание уменьшение потерь при передаче с потерями), а затем возможно также кодирование результирующего потока с помощью некоторого «без потерь» (== пытается быть кодированием без потерь ;-).
Рид-Соломон и его варианты особенно хороши, если ваши шумовые эпизоды могут возникать в небольших пакетах (несколько битовых ошибок, скажем, в одном байте), которые должны хорошо взаимодействовать с кодированием Грея ( так как многоразрядные ошибки являются убийцами для аспекта Грея «уменьшения потерь», предназначенного для постепенного ухудшения качества однобитовых ошибок в проводной сети). Это связано с тем, что R-S по своей сути является блочной схемой, и множественные ошибки в одном блоке в основном совпадают с одной ошибкой в нем, с точки зрения R-S; -).
RS особенно замечателен, если многие из ошибок стирают - проще говоря, стирание - это символ, который, скорее всего, был искажен при передаче, НО для которого вы действительно знаете решающий факт что это было искалечено. Физический уровень, в зависимости от того, как он спроектирован, часто может иметь подсказки об этом факте, и, если есть способ сообщить об этом верхним уровням, это может оказать решающую помощь. Позвольте мне немного пояснить стирание ...:
Скажем упрощенный пример, что 0 посылается как уровень -1 вольт и 1, посылают как уровень +1 вольт (WRT некоторая опорная волна), но есть шум (физический уровень шума часто может быть хорошо по образцу, спросите любого компетентного инженера связи ;-); в зависимости от модели шума, декодирование может быть таким, что все -0,7 В и ниже считается 0 битом, все +0,7 В и выше считается 1 битом, все промежуточное считается стиранием, т. е. высшему уровню сообщается что рассматриваемый бит, вероятно, был искажен при передаче и поэтому должен игнорироваться. (Иногда я привожу это в качестве одного из примеров моего тезиса о том, что иногда абстракции ДОЛЖНЫ «просачиваться» - контролируемым и спроектированным образом: следствие Мартелли к закону Сполски об утечках ! -).
Код RS с любым заданным коэффициентом избыточности может быть примерно в два раза эффективнее при исправлении стираний (ошибок, о которых говорится в декодере), чем при исправлении неизвестных в противном случае ошибок - также возможно смешивать оба аспекта, исправляя оба некоторые стирания И некоторые другие неизвестные ошибки.
Как вершина, пользовательские коды RS могут (разумно легко) разрабатываться и адаптироваться для уменьшения вероятности не исправленных ошибок ниже любого необходимого порогового значения θ с учетом точной модели характеристик физического канала с точки зрения как стираний, так и необнаружений. ошибки (включая как вероятность, так и всплески).
На самом деле я бы не назвал всю эту область "компьютерной наукой": когда я закончил (MSEE, 30 лет назад), я в основном пытался избегать "CS" в пользу чип-дизайна, системы. дизайн, продвинутые радиосистемы и т. д. - все же меня учили этому материалу (ну, подмножество, которое уже находилось в области практического инженерного использования ;-) довольно хорошо.
И, просто для того, чтобы подтвердить, что за одно поколение все не так сильно изменилось: моя дочь только что получила степень магистра в области телекоммуникаций (строго сосредоточена на продвинутых радиосистемах) - она не может разработать ни одну серьезную программу , алгоритм или структура данных (хотя она отлично справлялась на обязательных курсах по C и Java, в этих курсах и в других местах учебной программы не было абсолютно никакой глубины CS - ее ежедневный рабочий язык - matlab ...! -) - тем не менее, она знает больше о теории информации и кодирования, чем я когда-либо изучал, и это до любого исследования уровня PhD (она остаётся для своей степени PhD, но это еще не началось) .
Итак, я утверждаю, что эти поля более EE-y, чем CS-y (хотя, конечно, границы всегда размыты - засвидетельствуйте тот факт, что после нескольких лет разработки чипов я оказался более или менее случайным парнем SW Как и многие мои современники; -).