Устройство и способ перемежения/обратного перемежения для системы связи
Реферат
Изобретение относится к системам связи. Технический результат заключается в создании устройства и способа перемежения для формирования адреса для перемежителей различных размеров с использованием единого алгоритма в системе связи. Последовательно запоминают N входных битовых символов в памяти по адресу от 0 до (N-1), обеспечивают первую переменную m и вторую переменную J, удовлетворяющие уравнению N=2mJ, и считывают К-й (0K(N-1)) битовый символ по адресу, определяемому выражением 2m(K mod J)+BRO (K/J), где BRO является функцией для преобразования двоичного значения в десятичное значение путем реверсирования битов. 6 с. и 4 з.п. ф-лы, 3 ил., 4 табл.
Область техники, к которой относится изобретение Изобретение в общем случае относится к системе связи и, в частности, касается устройства и способа перемежения/обратного перемежения для системы радиосвязи.
Уровень техники В мобильной связи перемежение обычно используется для повышения эффективности кода с исправлением ошибок в канале с замиранием и тесно связано с декодированием кода с исправлением случайных ошибок. В частности, для радиоинтерфейса системы связи IMT-2000 требуется конкретный способ реализации различных схем перемежения. Вдобавок, использование способов перемежения приводит к увеличению надежности систем цифровой связи и, в частности, улучшает рабочие характеристики существующих систем цифровой связи и будущих систем подобного типа. Стандарт IMT-2000 временно рекомендует использовать в качестве канального перемежителя реверсивный перемежитель битов. Однако определенные в стандарте IMT-2000 прямая и обратная линии связи имеют различные типы логических каналов, и перемежитель имеет различные размеры. Следовательно, для удовлетворения требования разнообразия необходимо иметь увеличенную емкость памяти. Например, в режиме передачи по прямой линии связи при N=3 используются перемежители различных размеров от 144 бит/кадр до 36864 бит/кадр. Краткое описание такого реверсивного перемежителя битов представлено ниже. На фиг.1 показан способ перестановки, реализуемый в реверсивном перемежителе битов. Обратимся к фиг.1, где обратный перемежитель битов переупорядочивает биты кадра, изменяя их положения от старшего значащего бита (СЗБ) до младшего значащего бита (МЗБ), в результате чего формируется чередующийся адрес. Такой способ перемежения имеет следующее преимущество. Поскольку перемежитель реализуется с использованием функции нумерации, упрощается использование памяти, и можно легко реализовать перемежители различных размеров. Вдобавок, места расположения бит в переставленной последовательности распределяются в старших ячейках памяти случайным образом. Однако у перемежителя, размер которого не может быть выражен числом, являющимся степенью 2, уменьшается эффективность использования памяти. Например, для реализации 36864-битного перемежителя необходима память емкостью 64 Кбит (65536=216). Поскольку значение 36864 больше, чем 32 Кбит (32768=215), то для представления этого числа необходим дополнительный бит. Следовательно, 28672 (= 65536-36864) бит в памяти не используется, что приводит к потерям памяти. Вдобавок, даже если память имеет достаточную емкость, очень трудно реализовать способ передачи символов. К тому же, приемнику трудно обнаружить точное положение принимаемых символов. Наконец, поскольку используются перемежители различных типов, необходимо хранить в памяти различные правила перемежения, для чего потребуется контроллер (ЦП) также с большой емкостью памяти. Известный способ перемежения имеет следующие недостатки. Во-первых, в существующем способе перемежения размер перемежителя не может быть выражен числом, являющимся степенью 2, а перемежитель с большим размером имеет меньшую эффективность использования памяти. То есть, в большинстве случаев размер каждого логического канала не выражается через 2m, в результате чего перемежитель, если он проектируется в качестве перемежителя для прямой линии связи IMT-2000, имеет большой размер. Следовательно, способ реверсивного перемежения битов используется не эффективно. Во-вторых, для существующего способа перемежения в контроллере (ЦП или главном компьютере) приемопередатчика необходимо хранить различные правила перемежения, соответствующие размерам перемежителя. Следовательно, в памяти главного компьютера вдобавок к буферу перемежителя требуется отдельное запоминающее устройство. В-третьих, перемежитель/обратный перемежитель имеет сложную систему передачи, поскольку, когда размер перемежителя устанавливается равным 2m, для выполнения реверсивного перемежения битов необходимо удалить недопустимый адрес. Кроме того, при использовании перемежителя/обратного перемежителя возникают трудности при синхронизации символов. Сущность изобретения Следовательно, в основу настоящего изобретения положена задача создания устройства и способа перемежения для формирования адреса для перемежителей различных размеров с использованием единого алгоритма в системе связи. Другой задачей, решаемой настоящим изобретением, является создание устройства и способа перемежения, дающего возможность использовать в памяти перемежителя только емкость, соответствующую размеру кадра N в системе связи. Для решения вышеуказанных задач предлагается устройство для последовательного запоминания входных битовых символов перемежителя данного размера N в памяти по адресу от 0 до N-1 и считывания запомненных битовых символов из памяти. Устройство включает просмотровую таблицу для обеспечения первой переменной m и второй переменной J, удовлетворяющих уравнению N=2mJ; и генератор адресов для формирования адреса считывания, зависящего от первой и второй переменных m и J, предоставляемых из просмотровой таблицы. Адрес считывания определяется как 2m(K mod J)+BRO(K/J), где К (0K(N-1)) обозначает последовательность считывания, a BRO - функция для преобразования двоичного значения в десятичное путем реверсирования битов. Краткое описание чертежей Вышеуказанные и другие задачи, признаки и преимущества настоящего изобретения станут более очевидными из последующего подробного описания, рассматриваемого вместе с сопроводительными чертежами, на которых: фиг. 1 изображает схему, объясняющую способ перестановки для обратного перемежителя битов согласно известному уровню техники; фиг.2 изображает блок-схему перемежителя согласно варианту осуществления настоящего изобретения и фиг. 3 изображает блок-схему обратного перемежителя согласно варианту осуществления настоящего изобретения. Подробное описание предпочтительного варианта осуществления изобретения Далее со ссылками на сопроводительные чертежи описывается предпочтительный вариант осуществления настоящего изобретения. В нижеследующем описании хорошо известные функции и конструкции подробно не описываются, чтобы не затемнять существо изобретения ненужными деталями. Перемежитель/обратный перемежитель согласно варианту осуществления настоящего изобретения переставляет последовательность входных символов, используя алгоритм перемежения/обратного перемежения, а затем запоминает их в выходном буфере в новой последовательности. Таким образом, перемежитель/обратный перемежитель, предложенный в настоящем изобретении, содержит три части: память перемежителя (буфер входных данных и буфер выходных данных), генератор адресов и счетчик наличия. На фиг.2 показан перемежитель согласно варианту осуществления настоящего изобретения. Обратимся к фиг.2, где генератор 211 адресов принимает значение размера перемежителя N, первую переменную m, вторую переменную J и тактовые импульсы для формирования адреса в памяти перемежителя для считывания битовых символов, последовательно запоминаемых в памяти 212 перемежителя. Память 212 перемежителя последовательно запоминает входные битовые символы при работе в режиме записи и выводит битовые символы в соответствии с адресом, обеспечиваемым генератором 211 адресов, при работе в режиме считывания. Счетчик 213 считает входные тактовые импульсы и выдает значение счетчика тактовых импульсов в память 212 перемежителя в виде значения адреса записи. Как было описано выше, перемежитель последовательно записывает входные данные при работе в режиме записи и выводит данные, записанные в памяти 212 перемежителя в соответствии с адресом считывания, сформированным генератором 211 адресов. Здесь генератор 211 адресов формирует адрес считывания (то есть, значение перемежающегося адреса) в соответствии с частным алгоритмом реверсивного перемежения битов, определяемым приведенным ниже выражением (1). [Выражение 1] Для данного К...(0К(N-1)); r=K mod J; PUC=K/J; s=BRO(PUC); ADDRESS_READ=r2m+s, где 'К' обозначает последовательность бит выходных данных и определяется как номер последовательности; 'm' обозначает количество последовательных нулевых (0) бит от МЗБ до СЗБ и определяется как первая переменная; 'J' обозначает значение, соответствующее десятичному значению бит, за исключением последовательных нулевых (0) бит (то есть, m), и определяется как вторая переменная. Здесь размер перемежителя N определяется как 2mJ. Теперь со ссылками на выражение (1) будет описан способ формирования адреса для считывания входных символов, записанных последовательно в памяти. Предположим, что размер перемежителя равен N. В выражении (1) К(=0, 1, 2,... , N-1) указывает последовательность считывания входных данных, а г, PUC, s указывают заранее определенные переменные. Кроме того, 'mod' и '/' указывают соответственно операцию "по модулю" и операцию деления для вычисления остатка и частного соответственно. Вдобавок, BRO(H) указывает функцию реверсирования битов для преобразования 'Н' в двоичное значение, а затем преобразования его в десятичное значение путем реверсивного упорядочивания двоичного значения от СЗБ к МЗБ. Таким образом, используя функцию из выражения (1), перемежитель может вычислить индекс последовательности считывания ADDRESS_ READ, соответствующий 'К' последовательности входных данных, и считывать содержимое памяти в соответствии с индексом последовательности считывания ADDRESS_READ. Первая и вторая переменные определяются размером перемежителя. Коль скоро определены размер перемежителя N и первая и вторая переменные, перемежитель формирует в зависимости от этих значений новый индекс адресации ADDRESS_ READ, соответствующий каждому К, согласно следующему алгоритму, и считывает данные из памяти 212 перемежителя, используя этот индекс адресации ADDRESS_READ. Теперь будет описан способ определения первой и второй переменных исходя из размера кадра (или размера перемежителя) N. Заранее определенный размер перемежителя N выражается двоичным значением. Кроме того, вычисляется количество последовательных '0' битов, следующих от МЗБ до СЗБ, которое затем определяется в качестве первой переменной m. После этого отброшенные биты, отличные от последовательных нулевых бит, собираются вместе и преобразуются в десятичное значение. Преобразованное десятичное значение определяется как вторая переменная J. Например, если N=576, то это число может быть преобразовано в двоичное значение N=[10 0100 0000], так что m=6, a J=(1001)2=9. На фиг. 3 показан обратный перемежитель, который действует противоположным образом по отношению к вышеописанному перемежителю. Обратимся к фиг.3, где генератор 311 адресов формирует адрес памяти обратного перемежителя для работы в режиме записи путем приема значения размера перемежителя N, первой переменной m, второй переменной J и тактовых импульсов. Генератор 311 адресов обеспечивает адрес памяти обратного перемежителя для памяти 312 обратного перемежителя. Память 312 обратного перемежителя запоминает входные данные в соответствии с адресом записи, обеспечиваемым генератором 311 адресов, при работе в режиме записи и последовательно выводит записанные данные при работе в режиме считывания. Счетчик 313 подсчитывает введенные тактовые импульсы и подает значение счетчика тактовых импульсов в память 312 обратного перемежителя в качестве значения адреса считывания. Обратный перемежитель имеет ту же структуру, что и перемежитель, и действует противоположным образом по отношению к перемежителю. То есть, обратный перемежитель отличается от перемежителя тем, что входные данные запоминаются в памяти 312 обратного перемежителя с использованием алгоритма по выражению (1) при работе в режиме записи, а при работе в режиме считывания данные последовательно считываются. То есть, обратный перемежитель запоминает данные в исходной последовательности во время режима записи для того, чтобы восстановить исходную последовательность данных, переданных передатчиком. Для удобства в последующем описании делаются ссылки на перемежитель. Эти ссылки делаются на вариант, который применим к системе IMT-2000, являющейся системой дальней мобильной связи. Сначала со ссылками на приведенную ниже таблицу 1 подробно описывается размер перемежителя, используемый в прямой линии связи системы IMT-2000, где ПОК представляет прямой основной канал, ПДК представляет прямой дополнительный канал, ПОКУ - прямой общий канал управления, ПСИНХК - прямой канал синхронизации, ППК - прямой пейджинговый канал, и ПВКУ представляет прямой выделенный канал управления. Как видно из таблицы 1, в системе IMT-2000 предлагается двенадцать размеров перемежителя (N= 12), причем каждый применим к прямым логическим каналам, что показано символом '0'. Например, в прямом основном канале ПОК (для набора скоростей 2 (НС2)) используются размеры перемежителя 144, 576 и 1152 бит, при этом для размера перемежителя 144 бит используется кадр 5 мс. В таблице 2 показаны первая переменная m и вторая переменная J, вычисленные для соответствующих размеров перемежителя из таблицы 1. Теперь со ссылками на таблицу 2 будет описан способ вычисления первой и второй переменных для размера перемежителя N=9216. Сначала размер перемежителя 9216 можно выразить в виде двоичного значения N=[10 0100 0000 0000]. Для этого двоичного значения вычисляется максимальное количество последовательных нулевых (0) бит от МЗБ до СЗБ, а затем вычисленное значение определяется в качестве первой переменной m. После этого отброшенные биты, отличные от последовательных нулевых бит, собираются вместе и преобразуются в десятичное значение (1001=9(10)). Это десятичное число называется второй переменной J. В таблицах 3 и 4 в качестве примера показаны режимы записи и считывания соответственно для N=576. При работе в режиме записи биты входных данных последовательно запоминаются в памяти 212 перемежителя с адреса 000 по адрес 574, как показано в таблице 3. Далее при работе в режиме считывания биты данных выводятся из памяти 212 перемежителя с использованием адреса считывания, сформированного генератором 211 адресов. Например, ниже со ссылками на выражение (1) будет описано, какой бит данных окажется третьим битом выходных данных (k=2). Во-первых, для N=576, m= 6, a J=9. Следовательно, r=2 mod 9=2, a PUC=2/9=0. Вдобавок, s=BRO(0)=0. В результате вычислений получается окончательный адрес ADDRESS_READ=226= 128. При работе перемежителя в режиме записи, как показано в таблице 4, адрес вывода выражается числом от 1 до N. То есть, ко всем выходным адресам соответственно добавляется 1. Как было описано выше, в изобретении предлагается эффективный способ формирования адресов для перемежителей различных размеров, которые не могут быть выражены числом, являющимся степенью 2. Такой подход решает проблему низкой эффективности использования памяти в существующем перемежителе. Вдобавок, можно формировать адреса для перемежителей различных размеров, используя единый алгоритм. Следовательно, главному компьютеру (или ЦП) нет необходимости запоминать правила перемежения для соответствующих размеров перемежителя, что экономит емкость памяти. Кроме того, в памяти перемежителя используется лишь емкость, соответствующая размеру кадра N, что увеличивает эффективность использования памяти. Хотя изобретение было продемонстрировано и описано со ссылками на конкретный предпочтительный вариант его осуществления, специалистам в данной области техники очевидны различные изменения по форме и в деталях, которые могут быть в него внесены без выхода за рамки существа и объема изобретения, определенных прилагаемой формулой изобретения.Формула изобретения
1. Способ перемежения для системы связи, заключающийся в том, что последовательно запоминают N входных битовых символов в памяти по адресу от 0 до (N-1), обеспечивают первую переменную m и вторую переменную J, удовлетворяющие уравнению N= 2mJ, и считывают К-й (0K(N-1) битовый символ по адресу, определяемому выражением 2m(K mod J)+BRO(K/J), где BRO является функцией для преобразования двоичного значения в десятичное значение путем реверсирования битов. 2. Способ по п. 1, отличающийся тем, что первая переменная m указывает количество последовательных нулевых (0) бит от младшего значащего бита (МЗБ), когда размер N выражают в виде двоичного значения. 3. Способ по п. 1, отличающийся тем, что вторая переменная J указывает десятичное значение, соответствующее отброшенным битам, отличным от последовательных нулевых бит от МЗБ, когда размер N выражают в виде двоичного значения. 4. Способ перемежения для системы связи, заключающийся в том, что последовательно запоминают входные битовые символы перемежителя заданного размера N в памяти по адресу от 0 до (N-1), и считывают битовый символ по адресу, определяемому выражением 2mr+s, причем, когда размер N перемежителя выражен в виде двоичного значения, в качестве первой переменной m определяют целое число, равное или меньшее количества последовательных нулевых битов от младшего значащего бита (МЗБ), в качестве второй переменной J определяют десятичное значение, определенное путем преобразования двоичного значения, соответствующего отброшенным битам, отличным от последовательных нулевых битов, причем десятичное значение определяют путем выражения частного, полученного делением последовательности К (0K(N-1)) считывания на вторую переменную J, в виде двоичного значения, в качестве четвертой переменной s определяют результат реверсирования битов двоичного значения и преобразования двоичного значения с реверсированными битами в десятичное значение, а в качестве третьей переменной r определяют остаток, определяемый делением последовательности К считывания на вторую переменную J. 5. Способ перемежения для системы связи, заключающийся в том, что последовательно запоминают входные битовые символы перемежителя заданного размера N в памяти по адресу от 0 до (N-1), определяют, если N выражено в виде двоичного значения, количество последовательных нулевых битов от младшего значащего бита (МЗБ) до старшего значащего бита (СЗБ) двоичного значения в качестве первой переменной m и преобразуют двоичное значение, соответствующее отброшенным битам, отличным от последовательных нулевых бит двоичного значения, в десятичное значение для определения второй переменной J, вычисляют третью переменную г, соответствующую остатку, полученному путем деления последовательности К (0K(N-1)) считывания на вторую переменную J, выражают частное, полученное делением последовательности К считывания на вторую переменную J, в виде двоичного значения, реверсируют биты двоичного значения и преобразуют двоичное значение с реверсированными битами в десятичное значение, так чтобы определить десятичное значение в качестве четвертой переменной s, и считывают битовый символ по адресу, определяемому выражением 2mr+s. 6. Устройство перемежения для системы связи, содержащее память для последовательного запоминания входных битовых символов перемежителя заданного размера N по адресу от 0 до (N-1), просмотровую таблицу для обеспечения первой переменной m и второй переменной J, удовлетворяющих уравнению N= 2mJ, и генератор адресов для формирования адреса считывания для считывания битового символа из памяти, зависящего от первой и второй переменных m и J, обеспечиваемых просмотровой таблицей, причем адрес считывания определяется выражением 2m(K mod J)+BRO(K/J), где К (0K(N-1)) обозначает последовательность считывания; BRO является функцией для преобразования двоичного значения в десятичное значение путем реверсирования битов. 7. Устройство по п. 6, отличающееся тем, что первая переменная m указывает количество последовательных нулевых битов от младшего значащего бита (МЗБ), когда N выражают в виде двоичного значения. 8. Устройство по п. 6, отличающееся тем, что вторая переменная J указывает десятичное значение, соответствующее отброшенным битам, отличным от последовательных нулевых бит от МЗБ, когда размер N выражен в виде двоичного значения. 9. Устройство перемежения для системы связи, содержащее память для последовательного запоминания входных битовых символов перемежителя заданного размера N по адресу от 0 до (N-1), просмотровую таблицу для обеспечения первой переменной m и второй переменной J, причем, когда размер N перемежителя выражается в виде двоичной битовой последовательности с двоичным значением, первая переменная m указывает количество последовательных нулевых битов от младшего значащего бита (МЗБ) до старшего значащего бита (СЗБ) двоичной битовой последовательности, а вторая переменная J указывает десятичное значение, соответствующее отброшенным битам, отличным от последовательных нулевых битов двоичной битовой последовательности, и генератор адресов для формирования адреса считывания для считывания битового символа из памяти, определяемого выражением 2mr+s, где s - десятичное значение, определяемое выражением частного, получаемого делением последовательности К (0K(N-1)) считывания на вторую переменную J, в виде двоичного значения, реверсированием битов двоичного значения и преобразованием двоичного значения с реверсированными битами в десятичное значение, а r - остаток, получаемый делением последовательности К считывания на вторую переменную J. 10. Устройство перемежения для системы связи, содержащее память для последовательного запоминания входных битовых символов перемежителя заданного размера N по адресу от 0 до (N-1), просмотровую таблицу для обеспечения первой переменной m и второй переменной J, причем, когда размер N перемежителя выражается в виде двоичной битовой последовательности с двоичным значением, первая переменная m указывает количество последовательных нулевых битов от младшего значащего бита (МЗБ) до старшего значащего бита (СЗБ), а вторая переменная J указывает десятичное значение, соответствующее отброшенным битам, отличным от последовательных нулевых битов двоичной битовой последовательности, и генератор адресов для формирования адреса считывания для считывания битового символа из памяти, зависящего от первой и второй переменных m и J, обеспечиваемых просмотровой таблицей, причем адрес считывания определяется выражением 2m(K mod J)+BRO(K/J), где К (0K(N-1)) обозначает последовательность считывания; BRO является функцией для преобразования двоичного значения в десятичное значение путем реверсирования битов.РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10