Модуль генерации схем для декодирования сверточных кодов и схема декодирования

Изобретение относится к модулю генерации интегральных схем декодирования для использования, в частности, в турбоустройствах и для генерации схем сверточного кодирования. Модуль является параметрическим и, благодаря этому, делает возможным генерировать схемы декодирования, имеющие различные рабочие характеристики, которые могут быть использованы в турбоустройствах, применяющих различные режимы декодирования и различные архитектуры. Кроме того, модуль обеспечивает генерацию схем декодирования, отличительным признаком которых является то, что они могут селективно управлять множеством генераторных полиномов и, таким образом, могут быть использованы в асимметричных турбоустройствах. Технический результат - обеспечение генерации схем декодирования с различными рабочими характеристиками с использованием различных режимов декодирования и различных технологий. 2 н. и 6 з.п. ф-лы, 7 ил, 1 табл.

 

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

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

Интегральные схемы могут быть спроектированы с использованием языков описания высокого уровня, такого как ЯОАСБИС (язык описания аппаратных средств сверхбыстродействующих ИС).

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

Известно, что описания ЯОАСБИС заранее определенных функций, таких как те, которые относятся к схеме декодирования, могут составлять библиотеки модулей, упоминаемые как интеллектуальная собственность (ИСб), или библиотеки интеллектуальной собственности, посредством чего могут быть сконструированы очень сложные электронные устройства, такие как системы на кристалле (СНК).

Отличительным признаком модулей, принадлежащих библиотеке интеллектуальной собственности, (модулей ИСб или модулей) является то, что они могут быть использованы при проектировании многочисленных электронных устройств, благодаря тому факту, что их параметры интерфейса с другими модулями или электронными схемами могут «специализироваться» перед кремниевой компиляцией, присвоением конкретных величин переменным или параметрам, определенным на стадии проектирования.

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

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

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

В настоящем изобретении рассматривается метод сверточного кодирования и декодирования, и, в частности, каскадного типа, турбокодирование и турбодекодирование.

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

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

Турбоустройства, используемые для кодирования или декодирования, содержат множество сверточных схем, соединенных между собой каскадным образом при помощи одной или нескольких схем (известных как схемы перемежителя), способных задерживать или изменять порядок битов.

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

Например, схема 10 сверточного кодирования (схема кодирования) (фиг.1) для турбокодеров включает в себя вход (u) данных и два выхода, один для данных (u) входа, в этом случае схема упоминается как систематическая, и один для информации кодирования (кода) (с).

Кроме того, схема включает в себя регистр 12 сдвига, имеющий разрядность в несколько битов (ν-1), которая в этом примере составляет три бита, т.е. бит 21, бит 22 и бит 23 соответственно. Этот регистр сдвига способен принимать данные (u) на входе и выводть код (с) в соответствии с типом межсоединений, используемых в схеме 10 кодирования.

Основными параметрами, которые характеризуют схему 10 кодирования, являются следующие:

- k обозначает число битов, введенных в последовательность в единицу времени. В примере и как обычно используется кодирование с k=1,

- k·(ν-1) обозначает емкость регистра 12 сдвига, используемого для кодирования,

- n обозначает количество битов, выводимых кодером.

В общих чертах, кодер принимает k битов в момент времени, которые вводятся в регистр 12 сдвига, характеризующийся k*(ν-1) позициями; на выходе кодера будет n выходных битов для каждого k входного бита (n≥k). Каждый выходной бит вычисляется в результате двоичного сложения или сложения по модулю 2 некоторого количества битов в регистре 12 сдвига; как и следовало ожидать, эта сумма зависит от логики межсоединений кодера и устанавливает так называемые генераторные полиномы, которые подробно описываются ниже. Например, величина u входного бита добавляется к величине бита, полученного через соединение (путь) обратной связи. Полученная таким образом величина затем добавляется к величине первого бита 21 регистра 12 сдвига и результат добавляется к величине третьего бита 23 регистра 12 сдвига; на пути обратной связи, кроме того, третий бит 23 и второй бит 22 регистра 12 сдвига добавляются к входному биту.

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

Таким образом, каждый кодированный бит (с) зависит не только от k битов, принимаемых в любой данный момент, но также от k* битов (ν-1), принятых ранее.

В соответствии с известным уровнем техники термин «кодовое слово» используется для обозначения множества n битов, подаваемых на выход кодера. В примере имеется два кодовых слова, т.е. данные, представленные на входе (u), и связанный с ними код (с). Величина k/n называется «скоростью кода».

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

ν - длина кодового ограничения схемы кодирования или кода, которая, конечно, зависит от длины регистра сдвига,

Nst - число состояний, соответствующее величине 2k(ν-1) и которое соответствует числу возможных двоичных комбинаций в регистре сдвига,

gc - генераторный полином для с, который определяет межсоединения для генерации кода с, и

gf - генераторный полином для fm, который определяет межсоединения для генерации информации f об обратной связи.

Как известно, генераторный полином однозначно идентифицируется двоичным словом, состоящим из ν битов. Каждый бит двоичного слова соответствует позиции входных данных или регистра сдвига, и по соглашению, если величина бита составляет 1 в генераторном полиноме, входные данные или данные, хранимые в регистре сдвига в соответствующей позиции, участвуют при вычислении кода обратной связи или выходного кода. Если величина бита составляет 0, то он не участвует.

В примере, показанном на фиг.1, ν равно 4 битам, полином gc, что очевидно для специалистов этой области техники, равен 1101 (13 в десятичной форме), тогда как полином gf равен 1011 (11 в десятичной форме).

Кодирование описывается, в основном, так называемой решетчатой диаграммой.

Для схемы кодирования на фиг.1, например, на фиг.2 представлена соответствующая решетчатая диаграмма 20, где все возможные изменения во времени в схеме кодирования для различных входных величин u и состояния схемы выражены графически с использованием линий, называемых ребрами. На ребрах решетчатой диаграммы 20 также показаны выходные данные, т.е. u и с, соответственно.

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

Конечно, входная информация для схем декодирования состоит из битов для оценки (u) систематической информации и битов для оценки (с) избыточной информации, получаемых в соответствии с известным уровнем техники на выходе канала передачи, следуя за операцией демодуляции.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

на фиг.1 представлена логическая блок-схема систематической и рекурсивной схемы сверточного кодирования;

на фиг.2 представлена решетчатая диаграмма для схемы, изображенной на фиг.1;

на фиг.3 представлена схема последовательности операций для генерации модуля и схемы в соответствии с изобретением;

на фиг.4 представлена общая схема ввода и вывода для модуля в соответствии с изобретением;

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

на фиг.6 представлена архитектура элемента памяти для модуля и схемы, показанных на фиг.5, и

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

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

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

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

Это означает, что выход одной схемы декодера является входом другой такой схемы. Это, в свою очередь, означает, что необходимо использовать схемы декодера с мягким входом и мягким выходом (МВМВ), которые, как известно, делают возможным продолжать повторение циклов декодирования до того момента, пока не будет достигнута степень надежности, требуемая по техническому заданию.

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

Конечно, тот факт, что должны быть реализованы модули для генерации схем МВМВ, приводит ко второму ограничению, т.е. что декодирование должно использовать алгоритм типа МВМВ, такой как алгоритм, предложенный Бенедетто (Benedetto), Дивсларом (Divslar), Монторси (Montorsi) и Поллара (Pollara) в документе «Soft-Input Soft-Output modules for the construction and distributed iterative decoding of code networks», Department of Electronics, Politecnico di Torino, November 1996.

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

В соответствии с целями настоящего изобретения было предпочтительным использовать так называемый аддитивный алгоритм МВМВ (аддитивный алгоритм скользящего окна), аналогично, известного типа.

Этот алгоритм, который выводится из исходного алгоритма МВМВ 1] и 2], делает возможным работу с постоянным количеством хранимых данных (который, таким образом, не зависит от продолжительности передачи) и возврат распределений вероятности, уточненных фиксированной задержкой D, называемой временем ожидания, на выходе.

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

Дано:

где α и β, известные как метрика ветвей, представляют весовые коэффициенты предыдущих и последующих битов при определении вероятности данного бита в момент времени t.

Алгоритм вычисления вероятности выхода становится:

[3]
[4]

где:

k=1,...,n

k=k,...,k-D,

где:

- буквы курсивом верхнего регистра (например U, C, S, E) обозначают случайные переменные;

- буквы курсивом нижнего регистра (например u, c, s, e) обозначают индивидуальное вхождение случайных переменных, указанных выше;

- буквы верхнего регистра P(A) обозначают вероятность события А;

- нижний индекс k обозначает дискретный момент времени, определенный во множестве моментов времени К;

- буква курсивом нижнего регистра с нижним индексом и верхним индексом (uk1k2) обозначает временную последовательность переменной от момента времени k1 до момента времени k2;

- буквы нижнего регистра, набранные жирным шрифтом, (u, c, s, e) обозначает полные последовательности связанных случайных переменных;

- круглые скобки «( )» обозначают временную последовательность; и

- фигурные скобки «{ }» обозначают конечное множество элементов.

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

- обобщенное ребро представлено переменной е;

- начальное состояние - SS(e);

- конечное состояние - SE(e);

- входной символ - u(e);

- выходной символ - c(e).

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

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

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

a(1)=a1

[5]

l=2,...,L

a≡a(L),

где выполняются две операции для оценки (а) алгоритмом 5]: нахождение максимума двух чисел, которое очень простое для осуществления, и вычисление log[1+exp(-|Δ|)].

Конечно, выполнение этой второй операции в 5] может быть осуществлено при помощи таблицы преобразования.

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

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

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

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

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

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

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

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

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

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

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

В соответствии с этим примером предпочтительного варианта выполнения входные данные МВМВ (INPUT0-3) представляют собой четыре вероятности слов, соответствующие возможным комбинациям двух битов, т.е. метрики ветви, которые составляют сигнал, принимаемый из канала.

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

Выход, с другой стороны, состоит из вычисленных вероятностей вместе с оценками информационного бита (u) и бита (с) избыточности.

Входные/выходные данные реализуются в модуле 50 ИСб в параметрической форме в том смысле, что они могут быть уточнены перед кремниевой компиляцией и обозначены как B_METRIC и OUT_METRIC, соответственно, для входа и выхода.

Благодаря этим параметрам можно установить ряд битов, используемых для представления величин входных и выходных данных, INPUT 0-3 и Output_u, Output_c соответственно.

Для проверки достоверности входных данных протокол характеризуется активным высоким сигналом DVALID_I.

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

На выходе имеется сигнал (DVALID_O) проверки достоверности данных и сигналы идентификации для первых и последних битов в пакете (START_FRAME_O и END_FRAME_O), которые необходимы для модуля 50 МВМВ при последующей итерации.

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

Модуль 50 также предусмотрен с управляющим сигналом GEN_CTRL, который позволяет выбрать из четырех различных конфигураций (которые могут быть установлены в параметрах) для генераторных полиномов кода, и, таким образом, генерировать схемы, способные управлять вплоть до четырех пар различных полиномов.

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

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

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

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

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

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

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

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

1 - параметры кодирования,

2 - параметры декодирования,

3 - параметры интерфейса,

4 - параметры архитектуры.

Параметры кодирования характеризуют передаваемый код. Число состояний кодирования устанавливается параметром N_STATES, который соответствует величине 2k(ν-1).

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

Если было установлено число состояний, и приняв k=1, единственными параметрами, посредством которых может быть однозначно определена решетчатая диаграмма 20 (фиг.2), представляющая выполняемое кодирование, являются генераторные полиномы gc и gf. Эти параметры отличаются от всех других параметров, поскольку они включают в себя состояние, предшествующее компиляции кода. Они, фактически, обрабатываются в результате процедуры, которая имеет место перед компиляцией и приводит к пакету, в котором хранятся векторы характеризации решетки. Так как можно управлять вплоть до четырех пар различных полиномов, используются восемь различных параметров.

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

Параметры, обозначенные как DEPTH и MAX_log_MAP, характеризуют выбранный алгоритм, тогда как на OUTPUTS оказывает влияние тип архитектуры, выбранной для декодера в целом, и подробно описаны ниже.

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

- MAX_log_MAP выбирает реализуемый блок, позволяя определить, пренебрегается ли поправочный коэффициент или нет, и

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

Параметры интерфейса, которые уже были описаны в связи с входными/выходными сигналами, включены в представление входных и выходных параметров модуля МВМВ.

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

В частности, параметр B_METRIC (фиг.4) представляет количество битов, используемых при представлении входных вероятностей, тогда как OUT_METRIC представляет собой отсечку, выполняемую на выходе.

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

Важность, которую это имеет, связана с конкретным рассматриваемым применением.

Некоторые системы могут не накладывать определенные требования на скорость обработки потока данных. В таких системах важно иметь возможность снизить сложность посредством применения методов совместного использования ресурса.

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

Таблица 1
Параметры кодирования
ПараметрДиапазонОписание
N_STATES4-256Число состояний на решетчатой
(целое число)диаграмме.
GEN_OUTi -i-ый генераторный полином для выходов
(i=0,...,4)
(целое число)
GEN_FEEDBACKi-i-ый генераторный полином для ветви
(i=0,...,4)обратной связи
(целое число)
Параметры декодирования
ПараметрДиапазонОписание
OUTPUTS0-2Делает возможным выбор выходов,
(целое число)подлежащих генерации.
В частности:
- 0=> генерирует u и с
- 1=> генерирует u
- 2=> генерирует с
DEPTH-Устанавливает ширину окна для итераций.
(целое число)(Разрядность решений)
MAX_log_MAP0-1Выбирает рабочий режим:
(целое число)- 0=> без логарифмической поправки
- 1=> с логарифмической поправкой
Параметры интерфейса
ПараметрДиапазонОписание
B_METRIC3-16Число битов, используемых при
(целое число)представлении метрики ветви (входная
вероятность)
OUT_METRIC3-16Число битов, используемых при
(целое число)представлении выходных вероятностей

Параметры архитектуры
ПараметрДиапазонОписание
SPEED0-4Устанавливает уровень совместного
(целое число)использования ресурса. По мере
увеличения этого параметра используется
больше ресурсов, но снижается время
обработки:
- 1=>1 элемент данных каждые 8
тактовых циклов
- 2=>1 элемент данных каждые 4
тактовые цикла
- 3=>1 элемент данных каждые 2
тактовые цикла
- 4=>1 элемент данных каждый тактовый
цикл

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

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

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

Архитектура модуля 50 МВМВ содержит подмодуль, представляющий блок 51 хранения (модуль памяти) (фиг.5), способный хранить метрики, участвующие при вычислении вероятностей, подмодуль для итераций 52 (модуль STEP), способный выполнять прямые и обратные итерации, и подмодуль для вычисления выходов 55 (модуль блока вычисления выходов (БВВ)), способный вычислять выходные метрики, начиная с величин метрик пути и ветви.

Подробное описание каждого подмодуля приведено ниже.

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

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

Рассматривая регистры, участвующие на i-ом шаге рекурсии, разрядность, необходимая для прямой итерации (альфа-метрика), равна разрядности конвейера минус один, так как следующему шагу необходимы метрики ветви для дальнейшего шага. Для обратной итерации, с другой стороны, требуемой разрядностью будет та, которая равна разрядности конвейера плюс один, так как в этом случае метрики для предыдущего шага должны быть переданы на модули STEP. Для оптимизации заполнения ресурса регистры для метрик, необходимых для прямой итерации, и метрик для обратной итерации объединяются в одном регистре сдвига, емкость которого в четыре раза превышает величину B_METRIC.

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

В этом случае разрядность регистра 510 сдвига равна двенадцати в связи с тем, что 2+1 регистра сдвига участвуют на каждом шаге, а требуется четыре шага.

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

К регистру 510 сдвига, содержащему метрики ветви, подсоединен 1-битовый регистр 511 сдвига, который содержит информацию, касающуюся первого и последнего бита в кадре (хранимом, начиная с «начального» и «конечного» сигналов в протоколе), для осуществления правильной инициализации метрик пути в начале и конце кадра.

Каждый элементарный модуль STEP 520 (элементарный модуль) имеет дело с вычислением для одного шага прямой и обратной рекурсии. Часть выполняемого алгоритма суммируется в формулах 6] и 7], приведенных ниже, которые легко выводятся из формул 3] и 4] посредством применения развертывания, показанного в формуле 5].

Метрика пути для каждого состояния вычисляется, по существу, начиная с предыдущего состояния для прямой рекурсии и с последующего состояния для обратной рекурсии.

Так как метрики для рассматриваемого пути выбираются модулем 51 хранения (регистром сдвига), входы для элементарных модулей 520 имеют отношение к последующему шагу для бета-метрик пути и к предыдущему шагу для альфа-метрик пути.

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

Формулы 6] и 7].

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

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

Следовательно, модуль 52 STEP и его элементарные компоненты 520, как описано, не зависят от архитектуры, является ли она параллельной конвейерной архитектурой или архитектурой с памятью.

Структура элементарных модулей 520 STEP подробно описана с ссылкой на обобщенную секцию решетчатой диаграммы 20 (фиг.2, фиг.5 и фиг.7) для кодирования в применении к универсальной системе подвижной связи (УСПС); заметьте, что диаграмма может быть разбита на равные подчасти 201 типа бабочки), так что требуется только информация, касающаяся только двух метрик, для вычисления двух состояний.

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

Метрики, относящиеся к вычисляемой бабочке 201, и метрики пути, относящиеся к входным состояниям, должны передаваться на модули 521 бабочки.

Для i-ой бабочки 521, если блок вычисляет альфа-метрику (прямая рекурсия), то необходимо передавать метрики для состояний 2*i и 2*i+1, тогда как, если вычисляются бета-метрики, должны передаваться метрики для состояний i и i+N_STATES/2.

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

Блок регистров реализуется на выходе каждого элементарного модуля 520. Эти регистры хранят выходы модулей 521 бабочки в правильных позициях, где они могут быть считаны следующим элементарным модулем STEP.

Структура, полученная в соответствии с этим примером предпочтительного варианта выполнения, изображена на фиг.7, которая относится к решетчатой диаграмме 20 (фиг.2) для кодирования в применении к УСПС.

Необходимо заметить, что такое разбиение модуля 52 STEP (фиг.2, фиг.5 и фиг.7) сделало возможным достижение параметризации, изображенной всеми признаками решетки 20.

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

В частности, четыре конфигурации предусматриваются для этого отличительного элемента настоящего изобретения; эти конфигурации реализуют соответственно 8, 4, 2 и 1 модули 521 бабочки. Очевидно, что для этих конфигураций добавлены дополнительные модули 522 расщепленных метрик для переключения метрик вместе с управляющими модулями для различных этапов.

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

Необходимо заметить, что подход этого вида стал возможным в результате специальных мер, используемых в описании ЯОАСБИС. В результате использования циклов «генерации», фактически, можно управлять различными конфигурациями архитектур с высокой степенью параметризации и, одновременно, получить описание, которое может быть синтезировано и оптимизировано.

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

Подлежащие выполнению операции характеризуются выражениями 8] и 9], приведенными ниже

OUT_UP=max[IN_UP+PRB_A,IN_DN+PRB_B]+корр.

OUT_DN=max[IN_UP+PRB_B,IN_UP+PRB_A]+корр.,

где OUT_UP и OUT_DN представляют выходные метрики пути, вычисленные начиная с IN_UP-IN_DN (входных метрик пути) и PRB_A-PRB_B (входных метрик ветви) и которые представляют поправочный коэффициент.

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

Эти модули сложения, сравнения и выбора (ССВ), которые не показаны на чертеже, представляют собой основные вычислительные блоки для модуля 50 декодера и представляют собой вычислительные блоки, распределенные во всей МВМВ.

Модули 522 Split_metrix были разработаны специально для получения параметрического описания модуля 52 STEP.

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

Модуль 522 Split_metrics начинает с параметра, переданного при описании, и во время синтеза генерирует программируемые мультиплексоры на основе векторных величин, генерируемых параметрами решетки. Эти векторы упаковываются в момент генерации.

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

Модуль 55 БВВ в этом примере предпочтительного варианта выполнения является модулем, который вычисляет выходы на основе результатов итерации, подаваемых элементарными модулями 520 STEP, и входных данных.

Этот модуль выполняет функции согласно формулам 10] и 11], приведенным ниже

Как легко можно видеть, эти формулы только незначительно отличаются от формул 6] и 7]. Следовательно, модуль 55 БВВ характеризуется тем, что его архитектура во всех отношениях аналогична архитектуре элементарных модулей 520 STEP.

Если этап 200 был завершен и была определена степень программируемости и внутренняя архитектура модуля 50 ИСб, выполняется третий этап 300. На этом третьем этапе, который представляет собой другой отличительный признак настоящего изобретения, разрабатываются и описываются индивидуальные подмодули, составляющие модуль 50 ИСб, используя, например, язык ЯОАСБИС.

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

В частности, для важных модулей предусмотрены так называемые «объекты» и «структурные описания» (термины, значение которых известно тем, кто знаком с формальными системами, используемыми при описании модулей на языке ЯОАСБИС).

Программа ЯОАСБИС для модуля 50 МВМВ

Программа ЯОАСБИС (объекты и структурные описания)

Если был завершен этап 300 генерации исходного текста на языке ЯОАСБИС, выполняется четвертый этап 400, на котором модули, составляющие модуль 50 кодирования ИСб, специализируются при помощи определенных групп параметров (сценариев параметров), например, с целью реализации схемы декодирования для применения в УСПС.

На пятом этапе 500 выполняется моделирование логики с нулевой задержкой для каждого определенного ранее сценария.

Моделирование логики, например, может быть выполнено с использованием имеющихся в продаже программ, таких как SYNOPSYS VSS.

Во время этапа 500 могут быть выполнены повторные циклы для коррекции модулей и/или параметров или постоянных, если будут обнаружены ошибки.

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

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

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

На седьмом этапе 700 выполняется логическая оптимизация, например, посредством дополнительного использования программы анализатора проектирования SYNOPSYS, и библиотека физических компонентов «фиксируется» к скомпилированным модулям таким образом, чтобы получить компиляцию фактического синтеза, необходимую для получения физического расположения схемы кодирования для использования в турбодекодере.

Как очевидно для специалиста в этой области техники, выходом этого этапа 700 может быть либо информация, необходимая для физической реализации полностью заказной интегральной схемы, которая, конечно, может быть получена от поставщика физических библиотек, «зафиксированных» к компилированному модулю (этап 800), либо, альтернативно, информация, необходимая для физического программирования программируемых компонентов (этап 900), таких как программируемые пользователем вентильные матрицы.

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

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

1. Модуль генерации схем с мягким входом и мягким выходом (МВМВ) для декодирования сверточных кодов для турбоустройств для селективного управления множеством генераторных полиномов, содержащий средство хранения, представляющее собой элементы схем памяти (51) для хранения вероятностной информации, связанной с цифровой информацией; вычислительное средство, представляющее собой вычислительные элементы (52) для декодирования упомянутой вероятностной информации на основе, по меньшей мере, одной пары генераторных полиномов для восстановления упомянутой цифровой информации, множество пар различных полиномов, выбираемых посредством управляющего сигнала (GEN_CTRL), при этом модуль генерирует одну схему ВМВМ, для управления асимметричными передачами, при декодировании, посредством селективного активизирования различных полиномов, посредством упомянутого управляющего сигнала (GEN_CTRL).

2. Модуль по п.1, отличающийся тем, что также содержит средство сценария, параметров для конфигурирования упомянутого средства хранения и упомянутого вычислительного средства.

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

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

5. Модуль по любому из пп.2, 3, или 4, отличающийся тем, что средство сценария параметров содержит, по меньшей мере, один параметр совместного использования ресурса для установления максимального числа элементов вычислительных элементов для совместного использования при декодировании сверточных кодов.

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

7. Модуль по любому из предыдущих пп.2-6, отличающийся тем, что он содержит, по меньшей мере, один параметр, представляющий управляющий сигнал (GEN_CTRL) для схемы декодирования для селективного активизирования одной из множества пар генераторных полиномов для декодирования вероятностной информации.

8. Схема с мягким входом и мягким выходом (МВМВ) для декодирования сверточных кодов, содержащая элементы (51) памяти для хранения вероятностной информации, связанной с цифровой информацией; вычислительные элементы (52) для декодирования вероятностной информации; упомянутые вычислительные элементы, содержащие множество генераторных полиномов, представляют множество функций декодирования, управляющий сигнала (GEN_CTRL) для селективной активации вычислительных элементов при декодировании различных пар генераторных полиномов с тем, чтобы управлять асимметричными передачами.



 

Похожие патенты:

Изобретение относится к системе кодирования и декодирования без потерь и восстанавливает закодированные со сжатием без потерь аудиоданные на основе реального масштаба времени.

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

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

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

Изобретение относится к системам автоматизированного проектирования и программам автоматизированного проектирования. .

Изобретение относится к области вычислительной техники и предназначено для моделирования задач при проектировании вычислительных систем (ВС). .

Изобретение относится к области цифровой вычислительной техники и предназначено для моделирования комбинаторных задач при проектировании РЭА и вычислительных систем.

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

Изобретение относится к системам анализа монтажных плат. .

Изобретение относится к автоматизированному проектированию. .

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

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

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

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

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

Изобретение относится к системам проектирования

Изобретение относится к области вычислительной техники и предназначено для моделирования задач при проектировании вычислительных систем (ВС)

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