Способ декодирования помехоустойчивого каскадного кода переменной длины

Реферат

 

Изобретение относится к технике связи. Технический результат заключается в повышении быстродействия. Способ заключается в том, что вначале осуществляют прием каскадного кода, далее выполняют декодирование внутреннего кода каскадного кода, а затем внешнего кода каскадного кода, при этом осуществляют декодирование короткого либо длинного каскадных кодов с исправлением и обнаружением ошибок и в случае успешного декодирования получают принятое сообщение. Отличается тем, что декодирование внутреннего кода каскадного кода начинают с декодирования внутреннего кода длинного каскадного кода и определяют число s слов внутреннего кода каскадного кода, которые были приняты на месте слов внутреннего кода каскадного кода, которые не передаются для короткого каскадного кода, причем в случае, если величина s превышает пороговое значение, принимают решение о том, что был принят длинный каскадный код и осуществляют декодирование внешнего кода длинного каскадного кода, в противном случае, если величина s не превышает порогового значения, принимают решение о том, что был принят короткий каскадный код и декодируют внешний код короткого каскадного кода.

Изобретение относится к электросвязи и может быть использовано в системах передачи дискретной информации для декодирования помехоустойчивого каскадного кода переменной длины.

Способ декодирования каскадного кода переменной длины, описанный в настоящей заявке, применяется для декодирования каскадного кода, блоковая длина которого заранее не известна на приемной стороне. Такая ситуация возникает при передаче сообщений по асинхронным сетям связи, например по сетям случайного множественного доступа. Передатчики в таких сетях работают на один или несколько приемников. Каналы связи для каждого из передатчиков могут отличаться по качеству, поэтому в каждом канале используют помехоустойчивый каскадный код с разной избыточностью и блоковой длиной.

Предлагаемый способ также может использоваться для декодирования каскадных кодов в адаптивных системах передачи информации. Для обеспечения достоверного приема, при изменении помеховой обстановки в канале связи, передают каскадный код, имеющий различную блоковую длину. Имеется несколько градаций блоковых длин каскадного кода, и на приемной стороне предлагаемый способ обеспечивает декодирование принятого каскадного кода независимо от его длины. Например, приемник может принимать каскадные коды, передаваемые по цифровым каналам связи ультракоротковолновых и дециметровых диапазонов, в частности спутниковому каналу, качество которого изменяется в зависимости от расположения спутниковой группировки, а также зависит от времени суток. Причем скорость обработки информации во вновь вводимых линиях связи спутниковых каналов достигает 120 Мбит/с и более, и к тому же передаются большие массивы информации.

В связи с этим актуальной является задача разработки способа декодирования каскадного кода переменной длины, обладающего высоким быстродействием и при этом обеспечивающим высокую помехоустойчивость.

Известен способ декодирования каскадного кода, при котором вначале осуществляют прием каскадного кода, после чего выполняют декодирование внутреннего кода каскадного кода с обнаружением и исправлением ошибок и в результате получают символы внешнего кода каскадного кода. При декодировании внутреннего кода каскадного кода осуществляют стирание символов внешнего кода, при условии, если ошибки в словах внутреннего кода обнаружены, но не могут быть исправлены. Далее осуществляют декодирование внешнего кода каскадного кода с исправлением ошибок и стираний и получают принятое сообщение [1].

Однако этот способ имеет низкую помехоустойчивость, обусловленную тем, что в случае приема более короткого каскадного кода, на месте слов внутреннего кода каскадного кода, которые не передавались, возможен ложный прием слов внутреннего кода из шума канала связи, что снижает вероятность приема всего каскадного кода.

Наиболее близким к предлагаемому способу является способ (прототип), при котором вначале осуществляют прием каскадного кода, далее выполняют декодирование внутреннего кода каскадного кода, а затем внешнего кода каскадного кода. При этом осуществляют декодирование короткого и длинного каскадных кодов с исправлением и обнаружением ошибок и, в случае успешного декодирования, получают принятое сообщение [2].

Недостатком этого способа является низкое быстродействие, поскольку для получения сообщения в общем случае требуется декодирование и короткого и длинного каскадного кода, т.е. два декодирования каскадного кода.

Цель изобретения - повышение быстродействия способа декодирования помехоустойчивого каскадного кода переменной длины за счет того, что по результатам декодирования слов внутреннего кода каскадного кода оценивают блоковую длину каскадного кода и далее декодируют только каскадный код соответствующей длины. При этом выполняют только одно декодирование.

Для достижения цели предложен способ, заключающийся в том, что вначале осуществляют прием каскадного кода, далее выполняют декодирование внутреннего кода каскадного кода, а затем внешнего кода каскадного кода. При этом осуществляют декодирование короткого и длинного каскадных кодов с исправлением и обнаружением ошибок и в случае успешного декодирования получают принятое сообщение. Новым является то, что вначале декодируют внутренний код длинного каскадного кода и определяют число s слов внутреннего кода каскадного кода, которые были приняты на месте слов внутреннего кода каскадного кода, которые не передаются для короткого каскадного кода. В случае, если величина s превышает пороговое значение, принимают решение о приеме длинного каскадного кода и осуществляют декодирование внешнего кода длинного каскадного кода, в противном случае, если величина s не превышает порогового значения декодируют внешний код короткого каскадного кода.

Предлагаемый способ декодирования каскадного кода переменной длины реализуется следующим образом.

На передающей стороне формируют каскадный код. Для этого на передающей стороне исходное сообщение, объемом k m-ичных (m>1) символов вначале кодируют m-ичным помехоустойчивым кодом, например m-ичным помехоустойчивым кодом Рида-Соломона. Код Рида-Соломона является внешним кодом или кодом первой ступени помехоустойчивого каскадного кода.

В результате кодирования информации получают кодовое слово кода Рида-Соломона(n, k), информационная длина которого равна k, a блоковая - n символов.

Далее информацию кодируют двоичным кодом, например двоичным кодом Боуза - Чоудхури - Хоквингема (БЧХ коды) с проверочным полиномом h(x). Код БЧХ является внутренним кодом или кодом второй ступени помехоустойчивого каскадного кода. Код БЧХ имеет параметры: nb - блоковая длина кода, kb - информационная длина кода.

Исходной информацией для каждого слова кода БЧХ являются символы кода Рида-Соломона, рассматриваемые как последовательность двоичных символов. В результате кодирования кодом БЧХ получают n двоичных слов кода БЧХ(nb, kb) или двоичную последовательность с1. Эта двоичная последовательность является помехоустойчивым каскадным кодом.

Далее символы каскадного кода, преобразованные в сигнал, имеющий аналоговую форму, поступают в канал связи. В реальном канале связи возможно искажение передаваемого сигнала, и это приводит к тому, что каскадный код будет принят с ошибками.

На приемной стороне сначала осуществляют прием каскадного кода. Каскадные коды, поступающие на вход приемника по разным каналам, имеют различную блоковую длину n1 и n2 (n1>n2).

Декодирование каскадного кода начинают с декодирования слов внутреннего кода каскадного кода с обнаружением и исправлением ошибок. Декодирование слов внутреннего кода осуществляют на длине каскадного кода, имеющего большую длину n1. При этом n2 слов, соответствующие местоположению слов внутреннего кода в коротком каскадном коде, передают и для длинного и для короткого каскадного кода, а оставшиеся n1-n2 слов передают только в случае передачи длинного каскадного кода.

В результате декодирования слов внутреннего кода каскадного кода получают символы внешнего кода каскадного кода, при этом символы внешнего кода каскадного кода, соответствующие словам внутреннего кода каскадного кода, ошибки в которых обнаружены, но не могут быть исправлены, стирают. Обозначим через величину s число принятых слов внутреннего кода, которые были приняты на месте слов внутреннего кода каскадного кода, которые не передают в случае короткого каскадного кода. При приеме длинного каскадного кода величина s будет определяться долей принятых кодовых слов из числа переданных n1-n2, на что влияет качество канала связи sдл=(n1-n2). (1) Коэффициент есть величина вероятности правильного приема слов внутреннего кода каскадного кода. Для канала с независимыми и группирующимися ошибками величина вероятности правильного приема запишется в виде [3] где P(i, nb) - вероятность i ошибок в блоке длины nb символов, t - количество ошибок, которые исправляются в словах внутреннего кода каскадного кода. В случае канала с независимыми ошибками P(i, nb) распределено по биномиальному закону и величина вероятности правильного приема слов внутреннего кода будет равна где р - средняя величина вероятности ошибки на один бит в канале, - биномиальный коэффициент.

Для канала с группированием ошибок, согласно модифицированной модели канала Пуртова, величина вероятности t и более ошибок (t2) в блоке длиной n бит выражается формулой [4] где а - коэффициент группирования ошибок (0а1).

Величина вероятности искажения кодовой комбинации Для канала с группированием ошибок величина вероятности правильного приема слов внутреннего кода каскадного кода запишется в виде =1-P(t+1,nb). (7) При приеме короткого кода величина s определяется долей набора трансформированных слов на шуме sкор=(n1-n2). (8) Величина вероятности необнаруженной ошибки на шуме в словах внутреннего кода каскадного кода оценивается выражением [3] Как правило, справедливо неравенство >. Критерием, по которому определяется наличие короткого или длинного каскадного кода в канале связи, будет значение величины s. Разность т.к. ->0 и n1-n2>0.

Поэтому существует некоторое пороговое значение sпор=(sдл+sкор)/2, (10) при превышении которого определяют наличие длинного каскадного кода в канале связи, т.е., если s > sпop, то передается длинный каскадный код, при ssпop - короткий каскадный код.

Далее соответственно декодируют длинный или короткий внешний код каскадного кода с исправлением ошибок и стираний в символах внешнего кода.

Выбор оптимального порога sпop имеет немаловажное значение при реализации предлагаемого способа. Оценка величины порога sпop может быть получена расчетным путем на модели канала с независимыми или группирующимися ошибками, либо путем моделирования предложенного способа декодирования каскадного кода на ЭВМ с учетом реальной статистики канала связи.

Подставляя в формулу (10) значения переменных из уравнений (1), (3) и (8), (9), получим следующую оценку величины порога sпop для канала с независимыми ошибками На практике, как правило, величина вероятности ложного набора слова внутреннего кода на шуме близка к нулю, а величина вероятности правильного приема слова кода лежит в диапазоне 0,5...1, и приближенная оценка величины порога sпор запишется в виде Для более точной оценки величины порога sпop следует учитывать диапазон качества используемых каналов связи (диапазон изменения средней вероятности р ошибки на один бит в канале).

Например, величина порога sпop будет находиться в пределах sпop=5,07... 5,51, при использовании в канале связи помехоустойчивого каскадного кода, внутренним кодом которого является двоичный код БЧХ(31,16) с исправлением тройных ошибок, а внешним кодом - код Рида-Соломона, имеющего две градации блоковой длины: для канала худшего качества - n1=31, для канала лучшего качества - n2= 18. При этом диапазон качества канала связи, в котором используется каскадный код, характеризуется величиной вероятности ошибки на один бит в канале р=0,000001...0,05. Таким образом, при s5 декодируют короткий каскадный код, при s>5 - длинный.

Аналогичные формулы для оценки величины порога sпop, используя приведенные выше уравнения, можно записать для канала с группированием ошибок.

Предлагаемый способ позволяет обеспечить высокую достоверность определения короткого или длинного каскадного кода.

При декодировании каскадного кода большую часть времени, как правило, занимает декодирование внешнего кода каскадного кода, а меньшую - декодирование внутреннего кода каскадного кода. В предлагаемом изобретении, в отличие от известного способа, осуществляется только одно декодирование внешнего кода каскадного кода: либо длинного, либо короткого, что существенно повышает быстродействие способа декодирования.

Достигаемым техническим результатом предлагаемого способа декодирования помехоустойчивого каскадного кода является повышение быстродействия.

Источники информации 1. Блох Э.Л., Зяблов В.В. Линейные каскадные коды. М.: Наука, 1982, с. 80.

2. Шабанов В. К. К вопросу о декодировании каскадных кодов переменной длины // Техника средств связи, сер. ТПС, 1988, вып.4.

3. Элементы теории передачи информации. Под. ред. Л.П.Пуртова. М.: Связь, 1972, с. 127.

4. Самойлов В. М. Обобщенная аналитическая модель канала с групповым распределением ошибок // Вопросы радиоэлектроники, сер. ОВР, вып.6, 1990.

Формула изобретения

Способ декодирования помехоустойчивого каскадного кода переменной длины, заключающийся в том, что вначале осуществляют прием каскадного кода, далее выполняют декодирование внутреннего кода каскадного кода, а затем внешнего кода каскадного кода, при этом осуществляют декодирование короткого либо длинного каскадных кодов с исправлением и обнаружением ошибок и в случае успешного декодирования получают принятое сообщение, отличающийся тем, что декодирование внутреннего кода каскадного кода начинают с декодирования внутреннего кода длинного каскадного кода и определяют число s слов внутреннего кода каскадного кода, которые были приняты на месте слов внутреннего кода каскадного кода, которые не передаются для короткого каскадного кода, причем в случае, если величина s превышает пороговое значение, принимают решение о том, что был принят длинный каскадный код и осуществляют декодирование внешнего кода длинного каскадного кода, в противном случае, если величина s не превышает порогового значения, принимают решение о том, что был принят короткий каскадный код и декодируют внешний код короткого каскадного кода.