Устройство и способ вставки заранее известных битов на входном каскаде канального кодера

Реферат

 

Изобретение относится к устройству и способу канального кодирования в системе заранее известных битов на входном каскаде канального кодирующего устройства. Технический результат - повышение скорости передачи информации и точности кодирования за счет уменьшения вероятности возникновения ошибки. Турбокодирующее устройство включает в себя блок вставки битов, предназначенный для вставки, по меньшей мере, одного заранее известного бита в последнюю позицию битового потока данных, поступающего на первый составной кодер, и вставки, по меньшей мере, одного заранее известного бита в последнюю позицию перемеженного битового потока данных, поступающего на второй составной кодер; первый составной кодер, предназначенный для кодирования битов данных со вставленными заранее известными битами для генерирования первых символов четности; перемежитель, предназначенный для перемежения битов данных со вставленными заранее известными битами; второй составной кодер, предназначенный для кодирования перемеженных битов данных для генерирования вторых символов четности, и мультиплексор, предназначенный для мультиплексирования выходных сигналов блока вставки битов, первого составного кодера и второго составного кодера. 2 с. и 4 з.п.ф-лы, 14 ил., 8 табл.

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

2. Описание предшествующего уровня техники В системах связи для обработки речевых, символьных, видеосигналов и сигналов изображения передача данных обычно осуществляется на покадровой основе. Кадр определяется как основной интервал синхронизации в системе. Кроме того, в системе для передачи таких кадровых данных канальный кодер для коррекции ошибок должен также кодировать данные на покадровой основе. В этом случае канальный кодер осуществляет вставку нулевых хвостовых битов, указывая окончание каждого кадра с тем, чтобы декодер мог эффективно декодировать кадры с помощью этой информации. Хвостовые биты кодера представляют собой заданную последовательность битов, добавляемую в конец кадра данных, с целью сброса сверточного кодера в известное состояние. В системе IS-95 обычно используется нерекурсивный систематический сверточный кодер, который, реализуя указание окончания кадра, добавляет в конец каждого кадра последовательность нулевых (0) битов, длина которой равна количеству схем задержки. Однако в отличие от нерекурсивного систематического сверточного кодера, рекурсивный систематический кодер не может добавлять нулевые биты в конец кадра, чтобы реализовать указание окончания кадра, поскольку входные биты поступают обратно на схемы задержки.

На фиг.1 изображена блок-схема общепринятого параллельного турбокодера, который представлен в патенте США 5446747, выданном Berrou. Кодер, изображенный на фиг.1, относится к типу общепринятого рекурсивного систематического кодера. Турбокодер кодирует N-битовый входной кадр в символы четности с использованием двух простых составных кодеров; и его можно конфигурировать на предмет образования параллельной или последовательной структуры. Кроме того, турбокодер, изображенный на фиг.1, использует в качестве составных кодов рекурсивные систематические сверточные коды.

Турбокодер, изображенный на фиг. 1, включает в себя перемежитель 120, подключенный между первым составным кодером 110 и вторым составным кодером 130. Перемежитель 120 имеет тот же размер, что и кадровая длина, N, входных битов данных и переупорядочивает биты данных, поступающие на второй составной кодер 130, с целью снижения корреляции между выходными сигналами первого и второго кодеров.

Первый составной кодер 110 кодирует входные биты данных, а перемежитель 120 перемежает (или рандомизирует) биты входного потока данных по особому правилу с тем, чтобы пакеты ошибок, внесенные каналом, можно было преобразовать в случайные ошибки. Второй составной кодер 130 кодирует выходной сигнал перемежителя 120.

На фиг. 2 изображена схема, иллюстрирующая, как рекурсивный систематический сверточный кодер, изображенный на фиг.1, осуществляет указание окончания. Более подробную информацию см. D. Divsalar and F. Pollara, On the Design of Turbo Dodes, TDA Progress Report 42-123, Nov. 15, 1995. В данном случае предполагается, что кадровые данные, поступающие на первый и второй составные кодеры 110 и 130, представляют собой 20-битовые данные. На фиг.2 позиции 31-34 обозначают схемы задержки, а ИС_ИЛИ1-ИС_ИЛИ6 обозначают логические элементы "исключающее ИЛИ".

Согласно фиг. 2 кодирование производится следующими этапами. Переключатель П1 поддерживается в состоянии ВКЛ, и переключатель П2 поддерживается в состоянии ВЫКЛ. Данные 20-битового входного кадра последовательно поступают на схемы задержки 31-34 и подвергаются операции "исключающее ИЛИ" на логических элементах ИС ИЛИ1-ИС ИЛИ6, в результате чего на выходе логического элемента "исключающее ИЛИ" ИС_ИЛИ6 выводятся кодированные биты. После того как все 20 битов данных закодированы подобным образом, переключатель П1 переводится в состояние ВЫКЛ, а переключатель П2 переводится в состояние ВКЛ для указания окончания кадра. Затем логические элементы "исключающее ИЛИ" ИС_ ИЛИ1-ИС_ ИЛИ4 производят операцию "исключающее ИЛИ", соответственно, над выходными битами данных схем задержки и соответствующими возвращенными битами данных, выдавая, таким образом, нулевые биты. Полученные нулевые биты вновь поступают на схемы задержки 31-34 и сохраняются там. Эти нулевые биты, поступившие на схемы задержки 31-34, становятся хвостовыми битами, которые поступают на мультиплексор.

Мультиплексор мультиплексирует кодированные биты данных с хвостовыми битами, выдаваемыми составным кодером. Количество генерированных хвостовых битов зависит от количества схем задержки, входящих в состав базовых кодеров 110 и 130. Согласно фиг.2, при указании окончания генерируется 4 хвостовых бита на кадр, плюс к тому для каждого из соответствующих хвостовых битов генерируются дополнительные кодированные биты, в результате чего происходит нежелательное увеличение общего окончательного количества кодированных битов, что ведет к снижению скорости передачи битов. Итак, когда скорость передачи битов определяется по формуле скорость_передачи_битов = (количество входных битов данных)/(количество выходных битов данных), составной кодер, структура которого изображена на фиг.2, развивает скорость передачи битов, выражаемую следующим образом: скорость_передачи_битов = (количество входных битов данных)/{(количество кодированных битов данных)+(количество хвостовых битов)+(количество кодированных битов для хвостовых битов)}.

Итак, согласно фиг. 2, поскольку кадровые данные состоят из 20 битов и количество схем задержки равно 4, скорость передачи битов будет 20/28.

Ясно, что эффективность рекурсивного систематического сверточного кодера зависит от способа образования "хвостов", поскольку трудно совершенным образом создать "хвостовые" турбокоды.

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

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

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

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

Краткое описание чертежей Вышеозначенные и иные цели, признаки и достоинства настоящего изобретения явствуют из нижеследующего подробного описания, приведенного в сочетании с прилагаемыми чертежами, подобные детали которых обозначены подобными номерами. На чертежах: ФИГ.1 представляет собой блок-схему, иллюстрирующую канальный кодер, отвечающий уровню техники, используемый в системе беспроводной связи; ФИГ. 2 представляет собой подробную блок-схему, иллюстрирующую составной кодер, отвечающий уровню техники, изображенный на фиг.1; ФИГ. 3 представляет собой схему, иллюстрирующую канальный кодер, отвечающий первому варианту реализации изобретения; ФИГ. 4 представляет собой подробную схему, иллюстрирующую блок вставки битов, изображенный на фиг.3; ФИГ. 5 представляет собой подробную схему, иллюстрирующую составной кодер, изображенный на фиг.3; ФИГ. 6 представляет собой схему, иллюстрирующую процедуру обработки битов, отвечающую первому варианту реализации изобретения; ФИГ. 7 представляет собой схему, иллюстрирующую канальный кодер, отвечающий второму варианту реализации изобретения; ФИГ. 8 представляет собой подробную схему, иллюстрирующую мультиплексор, изображенный на фиг.7; ФИГ. 9 представляет собой схему, иллюстрирующую процедуру обработки битов, отвечающую второму варианту реализации изобретения; ФИГ. 10 представляет собой схему, иллюстрирующую канальный кодер, отвечающий третьему варианту реализации изобретения; ФИГ.11 представляет собой подробную схему, иллюстрирующую базовый кодер, изображенный на фиг.10; ФИГ.12 представляет собой подробную схему, иллюстрирующую мультиплексор, изображенный на фиг.10; ФИГ. 13 представляет собой схему, иллюстрирующую процедуру обработки битов, отвечающую третьему варианту реализации изобретения; ФИГ. 14 представляет собой схему, иллюстрирующую процедуру вставки заранее известных битов на входном каскаде канального кодера, отвечающую варианту реализации настоящего изобретения.

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

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

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

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

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

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

Первый вариант реализации Согласно первому варианту реализации настоящего изобретения кодер не генерирует хвостовые биты, но, вместо этого, вставляет особые биты в заранее определенные позиции с целью осуществления функции окончания. Согласно данному варианту реализации один 24-битовый кадр включает в себя 16 битов данных и 8 особых битов, причем каждый из 8 особых битов является нулевым битом, вставленным в кадр в битовые позиции, характеризующиеся более высокой вероятностью ошибки. В данном случае позиции вставки бита определяются путем экспериментального обнаружения позиций, где в процессе декодирования кодированных данных возникает наибольшее количество ошибок. Кроме того, каждый базовый кодер использует скорость кодирования 1/3.

Согласно данному варианту реализации позиции, характеризующиеся более высокой вероятностью ошибки при декодировании, определяются экспериментально, когда данные 24-битового кадра (т.е. 16 битов кадровых данных плюс 8 особых битов) кодируются с помощью турбокодера, имеющего скорость кодирования 1/3. Выявляется восемь битовых позиций, характеризующихся относительно высокой вероятностью ошибки, и в выявленные позиции вставляются особые биты. В данном случае декодер знает позиции вставки битов, когда декодирует кодированные кадровые данные, в которые вставлены особые коды.

На практике все "0" биты передаются как "-1". Когда вставленные особые биты являются нулевыми битами, нулевые биты в позициях вставки, в целях повышения надежности, заменяются перед кодированием большим отрицательным значением (например, -5). Это делается для увеличения эффективности декодирования, поскольку при передаче в среде радиосвязи могут происходить изменения. Однако, поскольку декодер заранее знает позицию особого бита, подлежащего приему, в фактическом процессе декодирования декодер вставляет для особого бита более высокое значение, отличное от -1. В этом случае декодер может повысить эффективность декодирования за счет вставки особого значения. Эта операция декодирования будет подробно описана со ссылкой на фиг.14. Таким образом, декодер, декодирующий биты, знает, по меньшей мере, 8 битов из 24 в силу того, что они передаются в виде большого отрицательного значения, благодаря чему эффективность декодирования повышается. Согласно данному варианту реализации эффективность декодирования тем выше, чем короче кадр.

Фиг. 3 представляет собой схему, иллюстрирующую турбокодер, отвечающий первому варианту реализации настоящего изобретения, в состав которого входит блок вставки битов, предназначенный для вставки особых битов. Блок вставки битов 310 включает в себя генератор битов, предназначенный для генерирования особых битов путем обработки входных битов данных, и генерирует биты данных на покадровой основе путем вставки особых битов, генерируемых генератором битов, в поступающий битовый поток данных в заранее заданные позиции вставки бита. Согласно данному варианту реализации предполагается, что позиция, куда блок вставки битов 310 вставляет особый бит, является последним участком битового потока данных. Вставка особых битов определяется контроллером, который не изображен на фигуре. Первый составной кодер 320 кодирует биты данных, выдаваемые блоком вставки битов 310. Перемежитель 330 перемежает на покадровой основе биты данных, выдаваемые блоком вставки битов 310, в соответствии с заранее определенным правилом, чтобы переупорядочить последовательность битов данных. Согласно иллюстративному варианту реализации в качестве перемежителя 330 используется диагональный перемежитель.

Второй составной кодер 340 кодирует на покадровой основе перемеженные биты данных, выдаваемые перемежителем 330. В качестве первого и второго составных кодеров 320 и 340 можно использовать рекурсивные систематические сверточные кодеры. Мультиплексор 350 мультиплексирует под управлением контроллера, который не изображен на фигуре, выходные сигналы блока вставки битов 310, первого составного кодера 320 и второго составного кодера 340. В данном случае блок вставки битов 310 выдает биты данных 1k. Первый составной кодер 320 выдает первые биты четности P1k, а второй составной кодер 340 выдает вторые биты четности P2k.

Фиг. 4 представляет собой подробную блок-схему, иллюстрирующую блок вставки битов 310, входящего в состав турбокодера, изображенного на фиг.3. Согласно фиг.4 генератор битов 430 генерирует особые биты, подлежащие вставке среди битов данных. В данном случае предполагается, что особые биты - это нулевые биты. Схемы задержки 412-426, реализовать которые можно в виде элементов памяти, например триггеров, могут иметь регистровую структуру с последовательным сдвигом для сдвига входных битов данных в соответствии с битовым синхросигналом.

Переключатель 432, управляемый контроллером, который не изображен на фигуре, переключается с целью выбора выходных сигналов схем задержки 412-426. Кроме того, переключатель 432 переключается под управлением контроллера, который не изображен на фигуре, на выход следующей схемы задержки в позициях, где особый бит, выдаваемый генератором битов 430, вставляется в биты данных. Таким образом, переключатель 432 выбирает бит данных, задержанный на один бит, когда в биты данных вставляется выбранный особый бит. Переключатель 432 может быть реализован в виде мультиплексора. Переключатель 434 переключается под управлением контроллера, который не изображен на фигуре, между выходами генератора битов 430 и переключателя 432, чтобы генерировать биты данных 1k. Переключатель 434 выбирает под управлением контроллера либо особые биты, либо биты данных для вставки в заранее заданные позиции.

Со ссылкой на фиг.4 описывается операция вставки битов. Входные биты данных задерживаются схемами задержки 412-426 в соответствии с битовым синхросигналом. Первоначально переключатель 432 выбирает входные биты данных (т. е. полюс 1) и переключатель 434 первоначально подключается к переключателю 432 (т.е. полюс В). Таким образом, входные биты данных выводятся через переключатели 432 и 434. Между тем, когда определена позиция вставки бита, переключатель 432 под управлением контроллера подключается к выходу схемы задержки 412 (т.е. полюс 2), а переключатель 434 также под управлением контроллера подключается к выходу генератора битов 430 (т.е. полюс А). В результате тракт битов данных перекрывается и в соответствующую битовую позицию вставляется нулевой бит, выдаваемый генератором битов 430. Для продолжения вывода битов данных после вставки нулевого бита переключатель 434 вновь подключается к переключателю 432 под управлением контроллера. Таким образом, поскольку после вставки нулевого бита выбирается бит данных, задержанный на один бит, нулевой бит можно вставлять в заранее заданную позицию без потери бита данных.

Вставка нулевых битов в биты данных на протяжении одного кадра осуществляется путем повторения этого процесса. Если после вставки нулевых битов начинают поступать биты данных следующего кадра, переключатель 432 вновь подключается к узлу входных битов (полюс 1) и вышеописанный процесс повторяется снова. При кодировании битов данных для передачи вероятность ошибки, по статистике, является относительно более высокой на заднем участке битового потока данных, поступающего на соответствующие базовые кодеры. Соответственно позиции, где осуществляется вставка нулевых битов, выдаваемых генератором битов 430, можно, по большей части, локализовать на заднем участке битового потока данных, что в качестве примера показано в таблице 1.

Представленные в таблице 1 биты данных, выдаваемые блоком вставки битов 310, параллельно поступают на первый составной кодер 320 и на перемежитель 330. Перемеженные на покадровой основе биты данных, выдаваемые перемежителем 330, кодируются вторым составным кодером 340. На фиг.5 представлена структура первого и второго составных кодеров 320 и 340, изображенных на фиг.3, в соответствии с первым вариантом реализации. Согласно фигуре, первый и второй составные кодеры 320 и 340 являются рекурсивными систематическими сверточными кодерами. Кроме того, согласно фиг.5, базовые кодеры 320 и 340 сконфигурированы так, что не генерируют хвостовые биты.

Первый базовый кодер 320 кодирует приведенные в таблице 1 биты данных, выдаваемые блоком вставки битов 310. Кодированные биты данных, выдаваемые первым составным кодером 320, представлены в таблице 2.

В данном случае, поскольку первый составной кодер 320 имеет скорость кодирования 1/3, каждый символ С представляет собой три символа. Отмечается однако, что в таблице 1 не показаны избыточные символы.

Тем временем перемежитель 330 перемежает биты данных, выдаваемые блоком вставки битов 310, и второй базовый кодер 340 кодирует перемеженные биты данных, выдаваемые перемежителем 330. Кодированные биты данных, выдаваемые вторым базовым кодером 340, представлены в таблице 3.

В данном случае, поскольку второй составной кодер 340 имеет скорость кодирования 1/3, каждый символ D представляет собой три символа. Хотя, на самом деле, последовательность битов данных была переупорядочена при перемежении для простоты объяснения в таблице 3 последовательность оставлена без изменения.

Затем мультиплексор 350 мультиплексирует выходные сигналы блока вставки битов 310, первого составного кодера 320 и второго составного кодера 340 под управлением контроллера, не изображенного на фигуре. На фиг.4 представлены биты данных со вставленными особыми битами и выходные сигналы первого и второго составных кодеров 320 и 340. Мультиплексор 350 может мультиплексировать входные символы в последовательность символа данных, первого символа четности и второго символа четности либо на покадровой основе, как показано в таблице 4, либо на посимвольной основе.

Фиг. 6 представляет собой схему синхронизации турбокодера, изображенного на фиг.3, согласно первому варианту реализации настоящего изобретения. Согласно фиг. 6 в интервале Т1 блок вставки битов 310 вставляет нулевые биты в кадре в заранее заданные позиции, генерируя битовый поток данных со вставленными битами Ik, где вставленные биты представляют собой нулевые биты, показанные в таблице 1 (см. 611). В интервале Т2 биты данных со вставленными нулевыми битами Ik одновременно поступают на мультиплексор 350, первый составной кодер 320 и перемежитель 330. Затем в интервале Т2 первый составной кодер 320 кодирует биты данных со вставленными нулевыми битами Ik, генерируя первые кодированные биты данных Сk, которые представляют собой первые биты четности (см. 612), и в том же интервале Т2 перемежитель 330 перемежает биты данных со вставленными нулевыми битами Ik согласно заранее заданному правилу (см. 613).

Затем, в интервале Т3, мультиплексор 350 задерживает биты данных Ik, выдаваемые блоком вставки битов 310, на один кадровый период, первый составной кодер 320 вводит первые кодированные биты данных Ck в мультиплексор 350, и второй составной кодер 340 кодирует перемеженные биты данных Ik, выдаваемые перемежителем 330, генерируя вторые кодированные биты данных Dk, которые представляют собой вторые биты четности. По завершении генерирования вторых битов четности Dk вторым составным кодером 340 мультиплексор 350 мультиплексирует биты данных Ik, первые биты четности Ck и вторые биты четности Dk в интервале Т4.

Хотя на фиг.6 представлен пример параллельной обработки битов данных Ik, первых битов четности Сk и вторых битов четности Dk возможна также последовательная обработка выходных сигналов блока вставки битов 310, первого составного кодера 320 и второго составного кодера 340 в порядке генерирования битов.

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

Второй вариант реализации Как и в первом варианте реализации канальный кодер, отвечающий второму варианту реализации настоящего изобретения, вставляет особые биты в битовые позиции, характеризующиеся более высокой вероятностью возникновения ошибки. Однако второй вариант реализации можно отличить от первого варианта реализации на том основании, что количество вставляемых битов устанавливается таким образом, чтобы превысить размер (или длину) кадра. В данном иллюстративном варианте реализации предполагается, что каждый кадр включает в себя 16 входных битов данных Ik и 12 вставленных битов. Данный вариант реализации предусматривает добавление четырех дополнительных вставленных битов. Поскольку, в целом, должно генерироваться 24 или 28 выходных битов данных Ik, битов четности Сk и Dk, избыточные биты четности Сk и Dk пробиваются из битов данных Ik в позициях вставки битов.

Фиг. 7 представляет собой схему канального кодера, отвечающего второму варианту реализации настоящего изобретения. Блок вставки битов 710 включает в себя генератор битов, предназначенный для генерирования особых битов путем обработки входных битов данных, и генерирует биты данных, превышающие кадровый размер, путем вставки особых битов, генерируемых генератором битов, в заранее заданные позиции вставки битов. Первый составной кодер 720 кодирует биты данных, выдаваемые блоком вставки битов 710, генерируя первые биты четности Сk. Перемежитель 730 перемежает на покадровой основе биты данных, выдаваемые блоком вставки битов 710, в соответствии с заранее определенным правилом, чтобы изменить расстановку (или последовательность) битов данных. Согласно иллюстративному варианту реализации в качестве перемежителя 730 используется диагональный перемежитель.

Второй составной кодер 740 кодирует на покадровой основе перемеженные биты данных, выдаваемые перемежителем 730, генерируя вторые биты четности Dk. В качестве первого и второго составных кодеров 720 и 740 можно использовать рекурсивные систематические сверточные кодеры. Мультиплексор 750 под управлением контроллера, который не изображен на фигуре, мультиплексирует выходные сигналы блока вставки битов 710, первого составного кодера 720 и второго составного кодера 740, генерируя кадр данных заранее заданной длины. В данном случае блок вставки битов 710 выдает биты данных 1k, первый составной кодер 720 выдает первые биты четности P1k, а второй составной кодер 740 выдает вторые биты четности Р2k.

В ходе работы, получив 16 выходных битов данных Ik, блок вставки битов 710 действует таким же образом, как блок вставки битов 310, отвечающий первому варианту реализации. Структура блока вставки битов 710 аналогична структуре, изображенной на фиг.4, за исключением того, что в его состав входит 12 схем задержки вместо 8. Поэтому блок вставки битов 710 вставляет 12 нулевых битов в кадре в 12 битовых позиций, характеризующихся более высокой вероятностью ошибки, благодаря наличию внутренних переключателей, работающих под управлением контроллера, не изображенного на фигуре. Итак, согласно данному варианту реализации блок вставки битов 710 выдает 28 битов данных Ik (т.е. 16 битов данных и 12 нулевых битов), которые одновременно поступают на мультиплексор 750, первый составной кодер 720 и перемежитель 730. Далее перемеженные биты данных Ik, выдаваемые перемежителем 730, поступают на второй составной кодер 740. В данном случае первый и второй составные кодеры 720 и 740 имеют структуру, изображенную на фиг.5, которая не позволяет генерировать хвостовые биты для указания окончания.

Первый составной кодер 720 кодирует выдаваемые блоком вставки битов 710 28 битов данных Ik со вставленными туда 12 нулевыми битами и выдает 28 первых битов четности Сk на мультиплексор 750. Перемежитель 730 перемежает 28 битов данных Ik, выдаваемые блоком вставки битов 710, и второй составной кодер 740 кодирует перемеженные биты данных таким же образом, что и первый составной кодер 720, генерируя 28 вторых битов четности Dk, которые поступают на мультиплексор 750. Мультиплексор 750 пробивает биты данных Ik, вставляя четыре первых бита четности Ck и четыре вторых бита четности Dk в позиции пробивки, после чего выдает оставшиеся 24 первых бита четности Ck и оставшиеся 24 вторых бита четности Dk.

Согласно фиг. 8 мультиплексор 750 сначала получает 28 битов данных Ik, выдаваемых блоком вставки битов 710. Затем переключатель 812 мультиплексора 750 подключается к схеме задержки 822, пока от блока вставки битов 710 не будут получены первые 24 бита данных из 28 битов данных Ik. Схема задержки 822 задерживает первые 24 полученных бита данных Ik. После этого переключатель 812 подключается к схеме задержки 824, пока от блока вставки битов 710 не будут получены оставшиеся 4 бита данных из 28 битов данных Ik. Схема задержки 824 задерживает оставшиеся 4 бита данных.

Таким же образом мультиплексор 750 получает 28 первых битов четности Ck, выдаваемых первым составным кодером 720. Затем переключатель 814 мультиплексора 750 подключается к схеме задержки 826, пока от первого составного кодера 720 не будут приняты первые 24 бита данных из 28 первых битов четности Ck, и схема задержки 826 задерживает полученные первые биты четности Ck. После этого переключатель 814 подключается к схеме задержки 828, пока от первого составного кодера 720 не будут получены оставшиеся 4 первых бита четности из 28 первых битов четности Ck, и схема задержки 828 задерживает полученные оставшиеся 4 первых бита четности.

После этого мультиплексор 750 получает 28 вторых битов четности Dk, выдаваемые вторым составным кодером 740. Затем переключатель 816 мультиплексора 750 подключается к схеме задержки 830, пока от второго составного кодера 740 не будут получены первые 24 бита данных из 28 вторых битов четности Dk, и схема задержки 830 задерживает полученные вторые биты четности Dk. Затем переключатель 816 подключается к схеме задержки 832, пока от второго составного кодера 740 не будут получены оставшиеся 4 вторых бита четности из 28 вторых битов четности Dk, и схема задержки 832 задерживает полученные оставшиеся 4 вторых бита четности.

Согласно описанному выше мультиплексор 750 последовательно получает 28 битов данных Ik, 28 первых битов четности Сk и 28 вторых битов четности Dk и по отдельности сохраняет первые 24 бита и оставшиеся 4 бита из соответствующих битов в соответствующих схемах задержки. Переключатели 812-816 действуют под управлением контроллера, не изображенного на фигуре. Далее каждая из схем задержки 822-832 состоит из каскадированных элементов памяти и хранит входные биты, пока не завершится соответствующий процесс задержки.

По завершении процесса задержки переключатель 844 подключается к переключателю 842, а переключатель 842 подключается к схеме задержки 822. Таким образом, выходной сигнал схемы задержки 822 выводится через переключатели 842 и 844. После вывода одного бита данных, хранящегося в схеме задержки 822, переключатель 842 подключается к схеме задержки 824, при этом переключатель 844 остается подключенным к переключателю 842. Тогда один из оставшихся битов данных, хранящийся в схеме задержки 824, выводится через переключатели 842 и 844. Таким образом, бит данных, хранящийся в схеме задержки 822, пробивается, и на его место выводится бит данных, хранящийся в схеме задержки 824. После этого переключатель 842 подключается к схеме задержки 822, при этом переключатель 844 все еще остается подключенным к переключателю 842. При 4-кратном повторении вышеозначенного процесса биты данных, хранящиеся в схеме задержки 822, пробиваются и четыре бита данных, хранящиеся в схеме задержки 824, вставляются в четыре позиции пробивки.

После этого переключатель 842 подключается к схеме задержки 822, при этом переключатель 844 остается подключенным к переключателю 842. Таким образом, выходной сигнал схемы задержки 822 выводится через переключатели 842 и 844. После вывода одного бита данных, хранящегося в схеме задержки 822, переключатель 842 подключается к схеме задержки 828, при этом переключатель 844 остается подключенным к переключателю 842. Тогда один из оставшихся четырех первых битов четности, хранящихся в схеме задержки 828, выводится через переключатели 842 и 844. После этого переключатель 842 вновь подключается к схеме задержки 822, при этом переключатель 844 все еще остается подключенным к переключателю 842. При 4-кратном повторении вышеозначенного процесса биты данных, хранящиеся в схеме задержки 822, пробиваются и четыре первых бита четности, хранящиеся в схеме задержки 828, вставляются в позиции пробивки.

Таким образом, биты данных и оставшиеся четыре первых бита четности выводятся попеременно. Затем переключатель 842 подключается к схеме задержки 822, при этом переключатель 844 остается подключенным к переключателю 842. Таким образом, выходной сигнал схемы задержки 822 выводится через переключатели 842 и 844. После вывода одного бита данных, хранящегося в схеме задержки 822, переключатель 842 подключается к схеме задержки 832, при этом переключатель 844 остается подключенным к переключателю 842. Тогда один из оставшихся четырех вторых битов четности, хранящихся в схеме задержки 832, выводится через переключатели 842 и 844. После этого переключатель 842 вновь подключается к схеме задержки 822, при этом переключатель 844 все еще остается подключенным к переключателю 842. При 4-кратном повторении вышеозначенного процесса биты данных, хранящиеся в схеме задержки 822, пробиваются и четыре вторых бита четности, хранящиеся в схеме задержки 832, вставляются в позиции пробивки.