Способ кодовой цикловой синхронизации для каскадного кода при применении жестких решений
Владельцы патента RU 2633148:
Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" (RU)
Изобретение относится к системам передачи дискретной информации. Технический результат – повышение точности синхронизации. В способе принятую входную последовательность, состоящую из нескольких следующих друг за другом слов нумерующей последовательности и фазирующей последовательности, умножают на проверочный полином помехоустойчивого циклического кода и суммируют, а затем умножают на проверочный полином нумерующей последовательности и получают сумму синдромов помехоустойчивого циклического кода и фазирующей последовательности, из которой вычитают фазирующую последовательность и получают синдром помехоустойчивого циклического кода, если синдром помехоустойчивого циклического кода соответствует допустимой комбинации ошибок, то выделяют нумерующую последовательность принятого помехоустойчивого кода. Затем осуществляют сравнение нумерующих последовательностей внутри каждого списка для назначенных синхронизирующих счетчиков и счетчиков совпадений. По результату сравнения числа совпадений с пороговым значением принимают решение о кодовой цикловой синхронизации входной последовательности.
Изобретение относится к способам кодовой цикловой синхронизации для каскадного кода при применении жестких решений для систем передачи дискретной информации и может быть применено для кодовой цикловой синхронизации в системах помехоустойчивой защиты информации, в которых применяются корректирующие коды, в частности каскадные коды.
В устройствах кодовой цикловой синхронизации синхронизирующие признаки передаются словами помехоустойчивого кода, при этом используется избыточность кода и поэтому передача дополнительных синхронизирующих символов не требуется. В этом случае синхронизация обеспечивается за счет многократного повторения признаков синхронизации в различных словах внутреннего кода каскадного кода.
При разработке устройств кодовой цикловой синхронизации актуальной задачей является повышение вероятности правильного установления синхронизации и, следовательно, повышение вероятности правильно принимаемой информации в каналах связи с высоким уровнем помех.
Предлагаемый способ кодовой цикловой синхронизации направлен на повышение вероятности правильного установления синхронизации, увеличение скорости передачи информации и на упрощение реализации.
Известен способ кодовой цикловой синхронизации, заключающийся в том, что принятую входную последовательность, состоящую из нескольких следующих друг за другом слов, каждое из которых представляет собой поразрядную сумму по модулю два помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, сначала умножают на проверочный полином помехоустойчивого циклического кода и в результате умножения получают сумму синдромов помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, затем полученную сумму умножают на проверочный полином нумерующей последовательности и получают сумму ненулевого синдрома помехоустойчивого циклического кода при наличии ошибок в слове помехоустойчивого циклического кода и синдрома фазирующей последовательности, по сумме синдромов помехоустойчивого циклического кода и фазирующей последовательности определяют вектор ошибки помехоустойчивого циклического кода, в том числе и за пределами его исправляющей способности, после этого для данного вектора ошибки определяют номер нумерующей последовательности, при этом принятую входную последовательность записывают параллельно в несколько запоминающих устройств, первый по порядку следования сигнал об окончании блока сообщения проверяют на соответствие правильному сигналу об окончании блока сообщения с помощью процедуры декодирования блока сообщения, записанного в первое запоминающее устройство, второй по порядку следования сигнал об окончании блока сообщения проверяют на соответствие правильному сигналу об окончании блока сообщения с помощью процедуры декодирования блока сообщения, записанного во втором запоминающем устройстве и так далее, при наборе порогового значения количества слов, необходимого для декодирования помехоустойчивого циклического кода, в одном из запоминающих устройств принимают решение о кодовой цикловой синхронизации блока сообщения [Патент РФ №2450436, МПК H03L 7/183, МПК H04L 7/08, опубл. 10.05.2012, Бюл. №13].
Этот способ обладает высокой вероятностью правильно принимаемой информации в каналах связи с помехами, но имеет высокую сложность реализации и по этой причине соответствующее ограничение на скорость передачи информации.
Наиболее близким к предлагаемому способу является способ кодовой цикловой синхронизации (прототип), заключающийся в том, что принятую входную последовательность, состоящую из нескольких следующих друг за другом слов, каждое из которых представляет собой поразрядную сумму по модулю два помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, сначала умножают на проверочный полином помехоустойчивого циклического кода и в результате умножения получают сумму синдромов помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, затем полученную сумму умножают на проверочный полином нумерующей последовательности и получают сумму синдромов помехоустойчивого циклического кода и фазирующей последовательности. Из этой суммы вычитают синдром фазирующей последовательности и получают синдром помехоустойчивого циклического кода. Далее, если синдром помехоустойчивого циклического кода соответствует допустимой комбинации ошибок, выделяют нумерующую последовательность принятого помехоустойчивого кода и сравнивают ее с нумерующими последовательностями ранее принятых помехоустойчивых циклических кодов. При сравнении нумерующей последовательности с ранее принятыми нумерующими последовательностями запоминают число совпадений в одном из F счетчиков совпадений. При совпадении нумерующей последовательности с ранее принятыми нумерующими последовательностями число в соответствующем счетчике совпадений увеличивают на единицу и в случае превышения этим числом порогового значения принимают решение о кодовой цикловой синхронизации входной последовательности. При несовпадении нумерующей последовательности ни с одной из ранее принятых нумерующих последовательностей в один из m счетчиков совпадений, значение которых равно нулю, записывают значение единицы. При отсутствии счетчиков совпадений, значение которых равно нулю, значение единицы записывают в счетчик с наименьшим числом совпадений. При этом каждому счетчику присваивают номера от единицы до F, а также свой признак в виде соответствующей нумерующей последовательности, и поиск соответствующего счетчика совпадений по нумерующей последовательности выполняют последовательным циклическим выбором счетчиков совпадений по их номерам, начиная с номера счетчика совпадений, в который осуществлялась последняя запись числа совпадений, причем поиск соответствующего счетчика совпадений по нумерующей последовательности выполняют сравнением с нумерующими последовательностями, соответствующими счетчикам совпадений, и при этом поиск счетчиков совпадений, значение которых равно нулю или минимально, и запись значения единицы в счетчики совпадений также выполняют в циклической последовательности номеров счетчиков [Патент РФ №2401512, МПК Н04L 7/08, опубл. 10.10.2010, Бюл. №28].
Этот способ имеет достаточно простую реализацию, однако из-за последовательных итерационных операций с использованием скользящего окна снижается скорость вычислений и, соответственно, уменьшается максимальная скорость передачи информации. Недостатком прототипа является также недостаточная вероятность правильно принимаемой информации в каналах связи с помехами, так как для синхронизации применяется скользящее окно, которое короче блока информации, по которому проводится синхронизация в предлагаемом способе кодовой цикловой синхронизации. Кроме того, в прототипе синхронизация ведется только по кодовым словам, число ошибок в которых не превышает исправляющей способности кода, т.е. не более (d-1)/2 ошибок, где d - минимальное кодовое расстояние слов кода БЧХ (31, 21, 5). В предлагаемом способе кодовой цикловой синхронизации синхронизация ведется по кодовым словам, число ошибок в которых не более 1+(d-1)/2, и вычисления ведутся параллельно аппаратными решениями, что обеспечивает повышение максимальной скорости передачи информации по сравнению с прототипом, в котором применяются последовательные итерационные методы с использованием скользящего окна.
Цель изобретения – обеспечить предлагаемым способом кодовой цикловой синхронизации повышение вероятности правильно принимаемой информации и установление вероятности правильной синхронизации не ниже 0,9 в каналах с высоким уровнем помех для средней вероятности ошибки на бит 10-1 и при этом простой реализацией обеспечить повышение скорости передачи информации за счет параллельных вычислений аппаратными решениями.
Для достижения цели предложен способ кодовой цикловой синхронизации для каскадного кода при применении жестких решений, заключающийся в том, что принятую входную последовательность, состоящую из нескольких следующих друг за другом слов, каждое из которых представляет собой поразрядную сумму по модулю два помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, сначала умножают на проверочный полином помехоустойчивого циклического кода и в результате умножения получают сумму синдромов помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, затем полученную сумму умножают на проверочный полином нумерующей последовательности и получают сумму синдромов помехоустойчивого циклического кода и фазирующей последовательности. Из этой суммы вычитают фазирующую последовательность и получают синдром помехоустойчивого циклического кода. Далее, если синдром помехоустойчивого циклического кода соответствует допустимой комбинации ошибок, выделяют нумерующую последовательность принятого помехоустойчивого кода и сравнивают ее с нумерующими последовательностями ранее принятых помехоустойчивых циклических кодов. При сравнении нумерующей последовательности с ранее принятыми нумерующими последовательностями запоминают число совпадений в одном из F счетчиков совпадений. При совпадении нумерующей последовательности с ранее принятыми нумерующими последовательностями число в соответствующем счетчике совпадений увеличивают на единицу. В случае превышения числом, записанным в соответствующем счетчике совпадений, порогового значения принимают решение о кодовой цикловой синхронизации входной последовательности. При несовпадении нумерующей последовательности ни с одной из ранее принятых нумерующих последовательностей в один из m счетчиков совпадений, значение которых равно нулю, записывают значение единицы.
Новым является то, что каждому биту в непрерывной последовательности, равной числу бит в кодовом слове циклического помехоустойчивого кода, присваивается своя метка, повторяющаяся постоянно через время, соответствующее передаче одного кодового слова. Поэтому такие метки определяют границы слов циклического помехоустойчивого кода и слов, образованных на стыке двух соседних слов циклического помехоустойчивого кода.
Блоку из слов циклического помехоустойчивого кода и блокам из слов, смещенных кратно биту, назначаются свои синхронизированные счетчики нумерующих последовательностей и их счетчики совпадений. Каждому набору слов, имеющих одинаковую метку, для их нумерующих последовательностей соответствует свой список счетчиков совпадений и синхронизированных счетчиков. Сравнение нумерующих последовательностей ведется только внутри списка для одной метки, соответствующей границам слова, чей номер анализируется в данный момент. Причем сравнение нумерующих последовательностей внутри каждого списка проводится параллельно аппаратным способом только для задействованных синхронизированных счетчиков и при совпадении двух нумерующих последовательностей значение соответствующего счетчика совпадений увеличивается на единицу. При отсутствии совпадений нумерующих последовательностей с ранее задействованными синхронизированными счетчиками последовательно запускается следующий синхронизированный счетчик для этой нумерующей последовательности и в ее счетчик совпадений записывается единица. В случае превышения числом, записанным в соответствующем счетчике совпадений, порогового значения, по окончанию этой нумерующей последовательности принимают решение о кодовой цикловой синхронизации входной последовательности. Причем пороговое значение числа кодовых слов в синхронизирующей последовательности равно минимальному набору из кодовых слов, необходимому для декодирования блока, и синхронизация проводится по кодовым словам с числом ошибок в них не более исправляющей способности кодовых слов, получаемых после снятия с входной последовательности синхронизирующих символов. При отсутствии счетчиков совпадений, значения которых равны нулю, значения счетчиков совпадений при дальнейшем несовпадении нумерующей последовательности не изменяются и запись новых номеров в ранее задействованные синхронизированные счетчики не проводится.
Значения задействованных синхронизированных счетчиков нумерующих последовательностей через время прохождения каждого их слова увеличиваются на единицу.
Предлагаемый способ кодовой цикловой синхронизации работает следующим образом.
На передающей стороне в качестве выходной информации формируется последовательность , представляющая собой поразрядную сумму по модулю два трех последовательностей: последовательности внутренних двоичных кодов каскадного кода с1, нумерующей двоичной последовательности c2i=c21c22c23…c2n и фазирующей последовательности c3n=c3c3c3…c3, нарушающей циклические свойства исходного кода и состоящей из повторяющихся циклических последовательностей, где n - число слов кода Боуза-Чоудхури-Хоквингема (БЧХ), с2i - нумерующая последовательность для i-го слова БЧХ.
Для получения последовательности c1 на передающей стороне исходная информация объемом k m-ичных (m>1) символов кодируется m-ичным помехоустойчивым кодом, например m-ичным помехоустойчивым кодом Рида-Соломона (PC). Код PC является внешним кодом или кодом первой ступени помехоустойчивого каскадного кода.
В результате такого кодирования исходной информации получают блок из слов кода PC (N, k), информационная длина которого k равна слову PC, а блоковая - N символов.
Далее блок информации, состоящий из слов PC, кодируется двоичным кодом, например двоичным кодом БЧХ с проверочным многочленом h1(x). Код БЧХ является внутренним кодом или кодом второй ступени помехоустойчивого каскадного кода. Слово кода БЧХ имеет следующие параметры: n1 - блоковая длина кода, k1 - информационная длина кода. В результате кодирования блока из слов PC кодом БЧХ получают блок из N двоичных слов кода БЧХ (n1, k1), представляющих собой последовательность с1.
Далее слова кода БЧХ суммируются по модулю два с нумерующей последовательностью c2i. В качестве нумерующей последовательности выбирают двоичный код с блоковой длиной n1 и информационной длиной k2, например, код Рида-Маллера (РМ) первого порядка (последовательность максимального периода) с проверочным многочленом h2(x). Информационная длина k2 кода РМ соответствует двоичной записи номеров слов БЧХ. Между номерами слов БЧХ в каскадном коде и информационной частью нумерующей последовательности устанавливается взаимно однозначное соответствие. Первое слово БЧХ суммируется по модулю два с последовательностью, полученной в результате кодирования двоичной записи первого номера слова БЧХ кодом РМ, второе слово БЧХ суммируется по модулю два с последовательностью, полученной в результате кодирования двоичной записи второго номера слова БЧХ кодом РМ и так далее. Такая операция суммирования выполняется со всеми словами кода БЧХ. Если проверочные многочлены h1(x) и h2(x) суммируемых кодов БЧХ и РМ взаимно просты и являются делителями двучлена хn1+1, в результате суммирования будет получено N слов циклического кода БЧХ с длиной n1 и информационной длиной k1+k2. Этот код будет корректировать ошибки, число которых
e≤r/log2(n1+1),
где r=n1-k1-k2 - число проверочных символов кода.
Третья последовательность с3, с которой суммируются слова БЧХ, будет постоянной последовательностью длиной n1 бит для всех слов. Такой последовательностью может быть любая последовательность, не являющаяся кодовым словом кода БЧХ, например, последовательность 10000…000.
В реальных каналах возможны помехи, которые можно рассматривать как последовательность с4, наличие единиц в которой соответствует размещению ошибок в словах. Для безошибочных слов последовательность с4 содержит только нули.
Рассмотрим работу способа кодовой цикловой синхронизации для каскадного кода при применении жестких решений на примере двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)]. В кодере исходный блок информации 256 бит разбивается на два блока 16×8 бит, каждый из которых кодируется кодом PC. Кодером PC обычно осуществляют кодирование посредством умножения информационного вектора на порождающую матрицу кода. Операция выполняется в поле Галуа GF(28) в соответствии с порождающим полиномом
Р(x)=х8+х6+x3+х2+1
В результате кодирования блока 16×8 кодом PC получают тридцать два восьмиразрядных слова PC. Далее слова из двух блоков группируют по два и получают тридцать два шестнадцатиразрядных слова, которые кодируют кодом БЧХ.
Кодирование кодом БЧХ осуществляется в соответствии с проверочным многочленом
h1(x)=х16+х12+х11+х10+х9+х4+1
В качестве проверочного многочлена для нумерующей последовательности применяется многочлен
h2(x)=х5+х2+1
Информация в виде последовательности , сформированной из четырех последовательностей, поступает на информационный вход устройства кодовой цикловой синхронизации. Обычно эта последовательность проходит через коррекционное устройство (КУ). КУ предназначено для синхронизации битов информации с частотой приема и восстановления формы этих битов при возможных искажениях. Вариант КУ, его структурная схема и описание функционирования приведены в источнике [В.И. Шляпобергский. Основы техники передачи дискретных сообщений. М.: «Связь», 1973, с. 275, рис. 5.15]. Далее последовательность записывают в накопитель информации и одновременно эта последовательность проходит через два фильтра Хаффмена. В накопителе информации последовательность записывают в одно из двух оперативных запоминающих устройств (ОЗУ), пока не будет определен конец блока слов БЧХ, что должно соответствовать правильному определению кодовой цикловой синхронизации. После этого схема управления накопителя начнет запись последующей информации в другое ОЗУ, а из предыдущего ОЗУ начнет считывание информации для дальнейших операций ее обработки и декодирования. Использование накопителя информации, содержащего два ОЗУ, позволяет применить конвейерный способ обработки информации, обеспечив одновременную запись и считывание информации из накопителя информации, что повышает быстродействие способа кодовой цикловой синхронизации.
В фильтрах Хаффмена последовательность умножают на проверочные многочлены кодов БЧХ и РМ h1(x) и h2(x). Таким образом, в первом фильтре Хаффмена вычисляют синдром слова кода БЧХ последовательности c1, а во втором фильтре Хаффмена - синдром кода РМ последовательности с2i.
Для безошибочного слова синдром кода равен нулю и в регистре синдрома будет записана комбинация b0, соответствующая преобразованной в фильтрах Хаффмена последовательности с3.
Для слов с ошибками, исправление которых возможно в пределах корректирующей способности кода, в регистре синдрома будет записана комбинация из некоторого множества {bi}, соответствующая преобразованной в фильтрах Хаффмена последовательности и однозначно определяющая комбинацию ошибок. Жесткое декодирование принятой последовательности позволяет исправлять не более (d-1)/2 ошибок, где d - минимальное кодовое расстояние слов кода БЧХ.
Блок дешифраторов при обнаружении в регистре синдрома комбинации b0 или комбинации из множества {bi} выдает на вход блока сумматоров по модулю два соответствующие комбинации для исправления ошибок.
В этот момент в регистре второго фильтра Хаффмена находится двоичная комбинация номеров, однозначно соответствующая последовательности c2i, поскольку последовательность c1 снимается первым фильтром Хаффмена, а последовательность с3 является постоянной.
Эту двоичную комбинацию номеров с выхода регистра подают на другой вход блока сумматоров по модулю два. В блоке сумматоров по модулю два осуществляют коррекцию разрядов рассматриваемой комбинации номеров так, чтобы на его выходе была двоичная комбинация, соответствующая предполагаемому истинному номеру слова кода БЧХ. Комбинации синдрома, которые распознаются блоком дешифраторов, получают путем вычисления синдрома для каждой из возможных комбинаций ошибок. Пример построения блока дешифраторов представлен в источнике [Кларк Дж., мл., Кейн Дж. Кодирование с исправлением ошибок в системах цифровой связи: Пер. с англ. - М.: Радио и связь, 1987, с. 96-101].
В результате суммирования слов кода БЧХ (31, 16, 7) с фазирующей последовательностью получают слова кода БЧХ (31, 21, 5). Для слов кода БЧХ (31, 21, 5) вычисляют синдромы для однозначной коррекции их номеров до одной ошибки в слове. Для кода БЧХ (31, 21, 5) синдром соответствует десяти битам. Поэтому только двойным и тройным ошибкам в слове соответствует варианта. Причем 527 синдромам тройных ошибок соответствует по пять вариантов кодовых слов и 465 синдромам двойных и тройных ошибок соответствует один вариант кодового слова для двойной ошибки и по четыре варианта кодового слова для тройных ошибок. Следовательно, трансформированные слова, соответствующие 1860 вариантам кодовых слов с тройными ошибками, могут при синхронизации давать ложный номер, как кодовое слово с двойной ошибкой. Откорректированные номера слова кода БЧХ с выхода блока сумматоров по модулю два параллельно поступают на вход схемы сравнения номеров. Схема сравнения номеров содержит тридцать один список из синхронизированных счетчиков нумерующих последовательностей и счетчиков совпадений. Поэтому нет необходимости применения скользящего окна как у прототипа, потому что в предлагаемом способе все варианты синхронизации слова учтены. Каждый список содержит n - L+1 синхронизированный счетчик и соответствующие им счетчики совпадений с возможностью записи в них максимального числа, равного N, где N - число слов кода БЧХ в блоке, L - пороговое значение количества слов для правильной кодовой синхронизации. Такое количество счетчиков в каждом списке исключает ложные затирания минимального количества слов кода БЧХ для правильной кодовой синхронизации, равного L. Для декодирования блока каскадного кода также требуется набор слов кода БЧХ не менее значения М, где М - минимальное количество слов кода БЧХ, достаточное для декодирования блока. С увеличением L уменьшается вероятность правильной кодовой цикловой синхронизации и вероятность ложной цикловой синхронизации. Для приема блока каскадного кода необходимо выполнение правильной кодовой цикловой синхронизации и выполнение декодирования блока каскадного кода. Поэтому для порогового значения правильной кодовой синхронизации при синхронизации по кодовым словам с максимально возможным количеством ошибок, исправляемым при жестких решениях, оптимальным решением будет L равно М. Для двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)] значения L и М равны шестнадцати.
С КУ синхронизирующие импульсы поступают в распределитель на длину слова БЧХ на основе счетчика Джонсона. Пример реализации варианта распределителя на основе счетчика Джонсона приведен в источнике [В.Л. Шило. Популярнее цифровые микросхемы. Справочник. Москва. Металлургия, 1988, стр. 240, рис. 2.40]. Интервал между импульсами на каждом из выходов распределителя на основе счетчика Джонсона соответствует границам слов БЧХ или слов, образованных на стыке двух слов БЧХ, а сам импульс служит меткой. Сравнение номеров нумерующих последовательностей ведется только внутри списка одной метки, соответствующей границам слов, чьи номера анализируются в данный момент. Причем сравнение нумерующих последовательностей внутри каждого списка проводится параллельно аппаратным способом только для задействованных синхронизированных счетчиков. Алгоритм обработки нумерующих последовательностей проводится в два этапа. На первом этапе проводят операцию нахождения откорректированным номерам нумерующих последовательностей равных значений задействованных синхронизированных счетчиков и увеличивают значения их счетчиков совпадений на единицу. На втором этапе проводят операцию нахождения откорректированных номеров нумерующих последовательностей, не имеющих совпадений ни с одним из значений задействованных синхронизированных счетчиков, после чего записывают такие номера в еще незадействованные синхронизированные счетчики и единицу в соответствующие им счетчики совпадений. Для фиксации флажков, соответствующих задействованным синхронизированным счетчикам, для каждого списка можно применить сдвиговый регистр. На входе первого D-триггера всегда находится единица. По начальной установке на Q-выходах D-триггеров сдвигового регистра фиксируются нули. Наличие единицы на входе D-триггера и нуля на его Q-выходе разрешают параллельную запись по тактовому импульсу соответствующего откорректированного номера, не имеющего совпадений ни с одним из значений задействованных синхронизированных счетчиков, в еще незадействованный синхронизированный счетчик и запись единицы в соответствующий ему счетчик совпадений. После записи номера в синхронизированный счетчик этот счетчик запускают, а на Q-выходе его D-триггера сдвигового регистра устанавливается единица. Таким образом, с каждым запуском последующих незадействованных синхронизированных счетчиков единицы последовательно продвигаются к последнему D-триггеру сдвигового регистра. Для откорректированных номеров слов БЧХ, поступающих с выходов блока сумматоров по модулю два, формируется флажок. Одно состояние этого флажка соответствует регистрации номеров слов, синдромы которых соответствуют синдромам кодовых слов без ошибок или с одной ошибкой. Противоположное состояние этого флажка соответствует регистрации номеров слов, синдромы которых соответствуют синдромам кодовых слов с двумя или с тремя ошибками. Состояние флажка, соответствующее регистрации слов, имеющих значения синдромов безошибочных кодовых слов или кодовых слов с одной ошибкой, на первом этапе формирует несовпадения для остальных четырех ложных вариантов номеров при их сравнении со значениями задействованных синхронизированных счетчиков.
При наличии кодового слова с двумя или тремя ошибками каждый из пяти вариантов номеров нумерующей последовательности одновременно сравнивается с номерами в задействованных синхронизирующих счетчиках, и, если есть сравнения, то значения для всех соответствующих счетчиков совпадений за один такт увеличиваются на единицу. Все номера в задействованных синхронизированных счетчиках будут разными. Для определения несовпадающих номеров применяют алгоритм из пяти тактов. Каждый такт последовательно разрешает прохождение с входов мультиплексора на его выход одного из пяти возможных вариантов номеров для его сравнения со значениями всех задействованных синхронизированных счетчиков списка. При определении несовпадающих номеров состояние флажка, соответствующее регистрации слов, имеющих значения синдромов безошибочных кодовых слов или кодовых слов с одной ошибкой, для второго этапа формирует совпадения для остальных четырех ложных вариантов номеров при их сравнении со значениями задействованных синхронизированных счетчиков. В результате на выходах схем сравнения побитно формируется вектор сравнения из пяти бит, где, например, единицы соответствуют отсутствию сравнений. Единица вектора сравнения разрешает в этом такте записать параллельно несовпадающий вариант откорректированного номера в еще незадействованный синхронизированный счетчик списка, а также записать единицу в его счетчик совпадений. После этого формируется сигнал для продвижения единицы в регистре, свидетельствующей о запуске этого синхронизированного счетчика. Все номера в задействованных синхронизированных счетчиках для каждого списка будут разными. Значения задействованных синхронизированных счетчиков через время прохождения каждого их слова увеличиваются на единицу, а тактовым импульсом служит их метка. Когда задействованный синхронизированный счетчик досчитывает до последнего номера кодового слова в блоке и число, записанное в его счетчике совпадений, равно или превышает порогового значение, то принимают решение о правильной кодовой цикловой синхронизации входной последовательности. При этом все значения счетчиков схемы сравнения сбрасываются в исходное состояние. Когда любой из задействованных синхронизированных счетчиков досчитывает до последнего номера кодового слова в блоке и число, записанное в соответствующем ему счетчике совпадений, меньше порогового значения, то сбрасываются значения счетчиков и их признаки запуска в исходное состояние только для этого списка, содержащего досчитавший счетчик. Остальные счетчики, соответствующие другим спискам, продолжают функционировать.
На стыках двух кодовых слов могут образовываться слова, синдромы которых соответствуют синдромам истинных кодовых слов, что приводит к затираниям и даже к ложной синхронизации. Затирания соответствуют перезапуску тех счетчиков, которые ранее были запущены истинными номерами, а теперь в них записали ложные номера. Затирания могут привести к несинхронизации блока и соответственно потере этого блока информации.
Для слов на стыке двух кодовых слов, синдром которых содержит десять бит, вероятность соответствия его синдрому безошибочных кодовых слов равна 2-10≅0,0009 и вероятность соответствия его синдрому кодовых слов с одной ошибкой равна . Поэтому для синдромов из десяти бит слов, образующихся на стыке двух кодовых слов, вероятность соответствия их синдромам кодовых слов, имеющих две или три ошибки, близка к единице. Верхнюю границу вероятности ложной синхронизации на стыках кодовых слов для смещенных блоков можно оценить по следующей формуле
где - вероятность номера, соответствующего слову ложной нумерующей последовательности,
n - количество бит в кодовом слове,
L - пороговое значение количества слов, необходимых для синхронизации,
N - количество слов в блоке.
Для слов на стыке двух кодовых слов, синдром которых соответствует синдромам кодовых слов, содержащих две или три ошибки, вероятность номера, соответствующего ложной нумерующей последовательности, равна 5/32. Для двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)] значение L равно шестнадцати, значение N равно тридцати двум и верхняя граница вероятности ложной синхронизации на стыках кодовых слов для смещенных блоков, рассчитанных по формуле (1), соответствует значению 1,403⋅10-4.
Вероятность несинхронизированных блоков информации, то есть блоков из кодовых слов числом менее порогового значения, можно определить по следующей формуле
где
L - пороговое значение числа кодовых слов для синхронизации блока,
N - максимальное количество кодовых слов в блоке,
Р(≤t) - вероятность синхронизированных кодовых слов с исправляемыми ошибками,
где
p - средняя вероятность ошибки на бит,
n - количество бит в кодовом слове,
t - максимальное количество ошибок, которое можно исправить в каждом слове кода БЧХ.
Вероятность несинхронизированных блоков информации, рассчитанная по формуле (2), для кодовых слов, содержащих не более трех ошибок, при p равном 0,09 будет 5,947⋅10-3, а при p равном 0,1 будет 5,353⋅10-2.
Вероятностью ложной синхронизации по последовательностям из трансформированных слов, содержащих не более трех ошибок, для блоков информации из кодовых слов при расчетах можно пренебречь. Верхнюю границу вероятности этой ложной синхронизации можно вычислить по формуле
где Pm1(2≤t≤3) - вероятность трансформированных слов БЧХ (31, 21, 5) ложной нумерующей последовательности, соответствующих кодовым словам с двумя или тремя ошибками,
Pm2(2≤t≤3) - вероятность трансформированных слов БЧХ (31, 16, 7), которые не искажают истинную нумерующую последовательность и соответствуют кодовым словам с двумя или тремя ошибками,
Pm3(0≤t≤1) - вероятность трансформированных слов БЧХ (31, 21, 5) ложной нумерующей последовательностью, соответствующих кодовым безошибочным словам или кодовым словам с одной ошибкой,
Pm4(0≤t≤1) - вероятность трансформированных слов БЧХ (31, 16, 7), которые не искажают истинную нумерующую последовательность и соответствуют безошибочным кодовым словам или кодовым словам с одной ошибкой,
L - пороговое значение количества слов, необходимых для синхронизации,
Р(2≤t≤3) - вероятность синхронизированных кодовых слов с исправляемыми t ошибками, которая рассчитывается по формуле (3).
При расчетах по формуле (4) должно выполняться неравенство
L≤g1+g2≤N
Для расчета вероятности трансформированных слов кода БЧХ применим формулу [Трушин С.А. Расчет вероятности трансформации помехоустойчивого кода при реализации мягких решений в канале с независимыми ошибками. Международный научно-технический журнал «Наукоемкие технологии» №6, 2014, т. 15. Издательство «Радиотехника», с. 18-22]
где B=1 для ,
для
,
D=0 при (w+2ν)/2≤t,
D=1 при (w+2ν)/2>t,
i=0, 1, …, t
n - количество бит в слове кода БЧХ,
k - число информационных бит в слове кода БЧХ,
2k - количество безошибочных слов в (n, k)-коде БЧХ,
d - минимальное кодовое расстояние в словах кода БЧХ,
t - максимальное количество ошибок, исправляемое в каждом слове кода БЧХ,
p - средняя вероятность ошибки на бит,
w - вес слова, т.е. количество единиц в этом слове.
Для кода [БЧХ (31, 21, 5)] спектр будет
A(w)=(1, 0, 0, 0, 0, 186, 806, 2635, 7905, 18910, 41602, 85560, 142600, 195300, 251100, 301971, 301971, 251100,195300, 142600, 85560, 41602, 18910, 7905, 2635, 806, 186, 0, 0, 0, 0, 1).
Для кода [БЧХ (31, 16, 7)] в качестве порождающего многочлена применяется многочлен X15+X11+X10+X9+X8+X7+X5+X3+X2+X+1 и спектр этого кода будет A(w)=(1, 0, 0, 0, 0? 0, 0, 155, 465, 0, 0, 5208, 8680, 0, 0, 18259, 18259, 0, 0, 8680, 5208, 0, 0, 465, 155, 0, 0, 0, 0, 0, 0, 1).
Вероятность ложной синхронизации блоков информации из кодовых слов по последовательностям трансформированных слов кода БЧХ, содержащих не более трех ошибок, и при значениях p в диапазоне 0≤p≤0,1 в соответствии с формулой (4) будет менее 10-11.
Вероятность правильной кодовой синхронизации можно определить по следующей формуле
где
Рлсст - вероятность ложной синхронизации смещенных блоков,
Рнс - вероятность несинхронизированных блоков информации
Рлст - вероятность ложной синхронизации блоков информации из кодовых слов.
В соответствии с формулой (6) при пороговом значении числа кодовых слов для синхронизации блока, равного шестнадцати, и синхронизации по кодовым словам, содержащим не более трех ошибок, исправляемым жесткими решениями, для канала при средней вероятности ошибки на бит равной 0,09 вероятность правильной кодовой синхронизации составит примерно 0,994, а при средней вероятности ошибки на бит равной 0,1 вероятность правильной кодовой синхронизации составит примерно 0,95.
При L равном М вероятность правильной кодовой синхронизации соответствует верхней границе вероятности правильного приема двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)].
Проведем расчет вероятности правильного приема двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)] с учетом синхронизации и возможного ложного декодирования блоков из-за присутствия трансформированных слов кода БЧХ. Вероятность возможного ложного декодирования блоков из-за присутствия трансформированных слов кода БЧХ рассчитаем по следующей формуле:
где
N - максимальное количество слов PC в блоке,
М - минимальный набор из кодовых слов, требуемый для декодирования блока,
P(0≤t≤t1) - вероятность кодовых слов с исправляемыми ошибками, определяемая формулой (3),
Pm2(0≤t≤t1) - вероятность трансформированных слов кода БЧХ (31, 16, 7), определяемая формулой (5),
t1 - максимальное количество ошибок, которое можно исправить в каждом слове кода БЧХ при жестких решениях,
INT[(j-M)/2] - целая часть числа [(j-М)/2].
В соответствии с формулой (7) вероятность возможного ложного декодирования блоков из-за присутствия трансформированных слов кода БЧХ для средней вероятности ошибки на бит равной 0,09 составит 5,444⋅10-2, а для средней вероятности ошибки на бит равной 0,1 составит 1,7519⋅10-1.
Вероятность правильного приема двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)] можно определить по следующей формуле
В соответствии с формулой (8) при пороговом значении числа кодовых слов для синхронизации блока, равного шестнадцати, и синхронизации по кодовым словам, содержащим не более трех ошибок и исправляемым жесткими решениями, нижняя граница вероятности правильного приема двухступенчатого каскадного кода [РС (32, 16, 17), БЧХ (31, 16, 7)] для канала со средней вероятностью ошибки на бит равной 0,09 составит примерно 0,939, а для канала при средней вероятности ошибки на бит равной 0,1 составит примерно 0,771.
Предлагаемый способ кодовой цикловой синхронизации для каскадного кода при применении жестких решений, по сравнению с прототипом, обеспечивает более эффективную работу в каналах с высоким уровнем помех.
Достигаемым техническим результатом предлагаемого способа кодовой цикловой синхронизации для каскадного кода при применении жестких решений является повышение вероятности правильной синхронизации, вероятности правильно принимаемой информации и скорости передачи информации в каналах с высоким уровнем помех.
Способ кодовой цикловой синхронизации для каскадного кода при применении жестких решений, заключающийся в том, что принятую входную последовательность, состоящую из нескольких следующих друг за другом слов, каждое из которых представляет собой поразрядную сумму по модулю два помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, сначала умножают на проверочный полином помехоустойчивого циклического кода и в результате умножения получают сумму синдромов помехоустойчивого циклического кода, нумерующей последовательности и фазирующей последовательности, затем полученную сумму умножают на проверочный полином нумерующей последовательности и получают сумму синдромов помехоустойчивого циклического кода и фазирующей последовательности, из этой суммы вычитают фазирующую последовательность и получают синдром помехоустойчивого циклического кода, далее, если синдром помехоустойчивого циклического кода соответствует допустимой комбинации ошибок, выделяют нумерующую последовательность принятого помехоустойчивого кода и сравнивают ее с нумерующими последовательностями ранее принятых помехоустойчивых циклических кодов, при сравнении нумерующей последовательности с ранее принятыми нумерующими последовательностями запоминают число совпадений в одном из F счетчиков совпадений, при совпадении нумерующей последовательности с ранее принятыми нумерующими последовательностями число в соответствующем счетчике совпадений увеличивают на единицу, в случае превышения числом, записанным в соответствующем счетчике совпадений, порогового значения принимают решение о кодовой цикловой синхронизации входной последовательности, при несовпадении нумерующей последовательности ни с одной из ранее принятых нумерующих последовательностей в один из m счетчиков совпадений, значение которых равно нулю, записывают значение единицы, значения задействованных счетчиков нумерующих последовательностей через время прохождения каждого их слова увеличиваются на единицу, отличающийся тем, что каждому биту в непрерывной последовательности, равной числу бит в кодовом слове циклического помехоустойчивого кода, присваивается своя метка, повторяющаяся постоянно через время, соответствующее передаче одного кодового слова, поэтому такие метки определяют границы слов циклического помехоустойчивого кода и слов, образованных на стыке двух соседних слов циклического помехоустойчивого кода, блоку из слов циклического помехоустойчивого кода и блокам из слов, смещенных кратно биту, назначаются свои синхронизированные счетчики нумерующих последовательностей и их счетчики совпадений, каждому набору слов, имеющих одинаковую метку, их нумерующим последовательностям соответствует свой список счетчиков совпадений и синхронизированных счетчиков, сравнение нумерующих последовательностей ведется только внутри списка для одной метки, соответствующей границам слова, чей номер анализируется в данный момент, причем сравнение нумерующих последовательностей внутри каждого списка проводится параллельно аппаратным способом только для задействованных синхронизированных счетчиков и при совпадении двух нумерующих последовательностей значение соответствующего счетчика совпадений увеличивается на единицу, в случае превышения числом, записанным в соответствующем счетчике совпадений, порогового значения, по окончанию этой нумерующей последовательности принимают решение о кодовой цикловой синхронизации входной последовательности, причем пороговое значение числа кодовых слов в синхронизирующей последовательности равно минимальному набору кодовых слов, требуемому для декодирования блока, и синхронизация проводится по кодовым словам с числом ошибок в них не более исправляющей способности кодовых слов, получаемых после снятия с входной последовательности синхронизирующих символов, при отсутствии счетчиков совпадений, значения которых равны нулю, значения счетчиков совпадений при дальнейшем несовпадении нумерующей последовательности не изменяются и запись новых номеров в ранее задействованные синхронизированные счетчики не проводится.