Устройство и способ согласования скорости передачи для системы передачи данных
Изобретение относится к канальному кодированию для системы передачи данных и может использоваться для согласования скорости передачи канально-кодированных символов. Достигаемый технический результат - согласование по скорости символов, канально-кодированных как с помощью несистематического, так и с помощью систематического кода, с использованием одной структуры в системе передачи данных. Устройство и способ согласования по скорости можно использовать в системе передачи данных, в которой используются систематический или несистематический код или оба сразу. Устройство согласования скорости передачи содержит множество блоков согласования по скорости, число которых обратно пропорционально скорости кодирования канального кодера. Согласование по скорости осуществляется путем изменения исходных параметров, включающих в себя число входных символов, число выходных символов и параметр, определяющий порядок прокалывания или повторения. 16 с. и 67 з.п.ф-лы, 7 табл., 11 ил.
Изобретение относится в общем к устройству и способу канального кодирования для системы передачи данных, а более конкретно - к устройству и способу для согласования скорости передачи канально-кодированных символов.
В цифровых системах связи, таких как спутниковые системы, системы ЦСПКУ (цифровая сеть с предоставлением комплексных услуг, ISDN), цифровые сотовые системы, системы Ш-МДРК (широкополосный множественный доступ с разделением по кодам, W-CDMA), системы УМТС (универсальные мобильные телекоммуникационные системы, UMTS) и ММС-2000 (международная мобильная связь 2000, IMT-2000), исходные пользовательские данные перед передачей обычно подвергаются канальному кодированию с использованием кода с исправлением ошибок для того, чтобы повысить надежность системы. Для канального кодирования, как правило, используются сверточный код и линейный блочный код, и для линейного блочного кода используется один декодер. В последнее время, наряду с такими кодами, также широко используется турбокод, который является полезным для передачи и приема данных. В системах связи с множественным доступом, которые поддерживают многочисленных пользователей, и в многоканальных системах связи с многочисленными каналами канально-кодированные символы согласовывают с заданным числом передаваемых канальных символов для того, чтобы увеличить эффективность передачи данных и улучшить характеристики системы. Такой процесс называется "согласование по скорости". Согласование по скорости также выполняется для согласования скорости передачи выходных символов со скоростью передачи передаваемых символов. Типичные способы согласования по скорости включают в себя прокалывание или повторение частей канально-кодированных символов. Известное устройство согласования по скорости показано на фиг.1. На фиг. 1 канальный кодер 100 кодирует входные информационные биты (k) со скоростью кодирования R=k/n и осуществляет вывод кодированных символов (n). Мультиплексор (MUX) 110 мультиплексирует кодированные символы. Блок 120 согласования по скорости осуществляет согласование по скорости мультиплексированных кодированных символов путем прокалывания или повторения и осуществляет вывод согласованных по скорости символов в передатчик (не показан). Канальный кодер 100 срабатывает на каждый период тактовых импульсов символов, которые имеют частоту CLOCK, а мультиплексор 110 и блок 120 согласования по скорости срабатывают на каждый заданный период тактовых импульсов, который имеет частоту n x CLOCK. Следует отметить, что устройство согласования по скорости (фиг.1) предложено для применения в случае, где несистематический код, такой как сверточный код или линейный блочный код, используется для канального кодирования. Для символов, канально-кодированных с помощью несистематического кода, такого как сверточный код или линейный блочный код, отсутствует взвешивание между символами, то есть так как чувствительность к ошибкам кодированных символов, которые выводятся из канального кодера 100, является одинаковой для каждого символа в пределах одного кадра, то возможно, что символы, кодированные с помощью канального кодера 100, подаются в блок 120 согласования по скорости без различения и не подвергаясь прокалыванию или повторению (фиг. 1). Однако при использовании систематических кодов, таких как турбокод, между символами имеется весовой коэффициент, что является недостатком для канально-кодированных символов, которые подаются в блок 120 согласования по скорости, подвергаясь в равной степени прокалыванию или повторению. Так как весовые коэффициенты не равны между информационными символами и символами четности, рекомендуется, чтобы блок 120 согласования по скорости имел возможность прокалывать символы четности из турбо-кодированных символов, но не имел возможность прокалывать информационные символы. В качестве альтернативного случая, блок 120 согласования по скорости позволяет повторять информационные символы из турбо-кодированных символов для увеличения энергии символов, но не позволяет, если это возможно, повторять символы четности. То есть, трудно использовать устройство согласования по скорости (фиг.1) при использовании турбокода. Характерной особенностью является то, что структура (фиг. 1) используется только для несистематических кодов, таких как сверточные коды и линейные блочные коды, и турбокод имеет новые отличительные свойства по сравнению со сверточными кодами и линейными блочными кодами. В последнее время для решения этой проблемы был предложен способ согласования по скорости символов, канально-кодированных с помощью турбокода. Однако такой способ можно использовать только при согласовании по скорости турбо-кодированных символов и нельзя использовать при согласовании по скорости символов, канально-кодированных с помощью существующих сверточных кодов или линейных блочных кодов. Поэтому существует потребность в одиночном устройстве и способе согласования по скорости как символов, канально-кодированных с помощью существующего несистематического кода, так и символов, канально-кодированных с помощью систематического кода. Например, для системы передачи данных, выполненной с возможностью поддержания несистематического кода и систематического кода, требуются две различные структуры для того, чтобы согласовать оба кода по скорости, что приводит к повышению коэффициента сложности. Однако если различные коды можно согласовать по скорости с использованием одной структуры, то коэффициент сложности реализации будет уменьшен. Поэтому задача настоящего изобретения заключается в том, чтобы выполнить устройство и способ согласования по скорости как символов, канально-кодированных с помощью несистематического кода, так и символов, канально-кодированных с помощью систематического кода, с использованием одной структуры в системе передачи данных. Другая задача настоящего изобретения заключается в том, чтобы выполнить устройство и способ для выборочного согласования по скорости символов, канально-кодированных с помощью несистематического кода, или символов, канально-кодированных с помощью систематического кода, в системе передачи данных, поддерживающей несистематический код и систематический код. Другая задача настоящего изобретения заключается в том, чтобы выполнить устройство и способ согласования по скорости канально-кодированных символов, которые позволяют увеличить эффективность передачи данных и улучшить рабочие характеристики системы в системе передачи данных. Для того, чтобы решить вышеуказанные и другие задачи, предложены устройство и способ согласования скорости передачи канально-кодированных символов в системе передачи данных. Устройство и способ согласования по скорости можно использовать в системе передачи данных, в которой используется один или сразу оба несистематический код (сверточный код или линейный блочный код) и систематический код (турбокод). Устройство согласования по скорости включает в себя множество блоков согласования по скорости, причем число блоков согласования по скорости обратно пропорционально величине скорости кодирования канального кодера. Устройство согласования по скорости позволяет выполнить согласование по скорости символов, кодированных с помощью несистематического кода, или символов, кодированных с помощью систематического кода, путем изменения исходных параметров, которые включают в себя число входных символов, число выходных символов и параметры, определяющие порядок прокалывания/повторения. Сущность изобретения иллюстрируется ссылкой на сопроводительные чертежи, на которых: фиг.1 изображает схему, иллюстрирующую структуру устройства согласования по скорости, согласно предшествующему уровню техники; фиг. 2 и 3 изображают схемы, иллюстрирующие структуры устройств согласования по скорости, согласно варианту осуществления настоящего изобретения; фиг.4 изображает схему, иллюстрирующую структуру устройства согласования по скорости путем прокалывания, согласно варианту осуществления настоящего изобретения; фиг.5 изображает схему, иллюстрирующую структуру устройства согласования по скорости путем прокалывания, согласно другому варианту осуществления настоящего изобретения; фиг. 6 подробно изображает схему, иллюстрирующую структуру турбокодера (фиг.5); фиг. 7 изображает алгоритм, иллюстрирующий процедуру согласования по скорости путем прокалывания, согласно варианту осуществления настоящего изобретения; фиг.8 изображает схему, иллюстрирующую структуру устройства согласования по скорости путем прокалывания, согласно другому варианту осуществления настоящего изобретения; фиг.9 изображает схему, иллюстрирующую структуру устройства согласования по скорости путем повторения, согласно варианту осуществления настоящего изобретения; фиг. 10 изображает схему, иллюстрирующую структуру устройства согласования по скорости путем повторения, согласно другому варианту осуществления настоящего изобретения ифиг. 11 изображает алгоритм, иллюстрирующий процедуру согласования по скорости путем повторения, согласно варианту осуществления настоящего изобретения. Предпочтительные варианты осуществления настоящего изобретения будут описаны ниже со ссылкой на сопроводительные чертежи. В следующем описании хорошо известные функции или конструкции не описываются подробно, поскольку они излишне усложняют описание предлагаемого изобретения необязательными подробностями. Условия, необходимые при выполнении устройства согласования по скорости
Сначала, перед описанием изобретения, необходимо сделать ссылку на условия, которые необходимо учитывать при согласовании по скорости символов, канально-кодированных с помощью несистематического кода, такого как сверточный код или линейный блочный код (в описании ниже предполагается, что несистематическим кодом будет сверточный код). Условия 1А-3А, которые будут представлены ниже, являются условиями, которые необходимо учитывать при согласовании по скорости кодированных символов путем прокалывания, и условия 1С и 2С, представленные ниже, являются условиями, которые необходимо учитывать при согласовании по скорости кодированных символов путем повторения. Условие 1А. Для входной последовательности символов, которые являются кодированными символами, необходимо выполнять прокалывание символов с использованием порядка прокалывания, который имеет определенный период. Условие 2А. Число прокалываемых битов из входных символов должно быть, по возможности, минимальным. Условие 3А. Необходимо использовать равномерный порядок прокалывания так, чтобы входная последовательность символов, которые являются кодированными символами и поступают из кодера, обязательно имела равномерное прокалывание символов. Условие 1С. Для входной последовательности символов, которые являются кодированными символами, необходимо выполнять повторение символов с использованием порядка повторения, который имеет определенный период. Условие 2С. Необходимо использовать равномерный порядок повторения так, чтобы последовательность входных символов, которые являются кодированными символами и поступают из кодера, обязательно равномерно повторялась. Эти условия основаны на предположении, что чувствительность к ошибкам символов, которые поступают из кодера, использующего сверточный код, является почти одинаковой для каждого символа в пределах одного кадра (или кодового слова). В настоящее время известно, что когда вышеуказанные условия используются в качестве главных факторов ограничения при выполнении прокалывания для согласования по скорости, то получаются положительные результаты, которые представлены в следующих работах: Дж.Д. Форней, Сверточные коды I: Алгебраическая структура, труды IEEE по теории информатики, т.IT-16, с.720-738, ноябрь, 1970 (G.D. Forney, Convolutional codes I: Algebraic structure, IEEE Trans. Inform. Theory, vol. IT-16, pp.720-738, Nov. 1970), Дж.Б. Кэйн, Дж.С. Кларк и Дж. М. Гейст, Сверточные коды с прокалыванием и скоростью передачи (n-1)/n и декодирование с использованием упрощенной функции максимального правдоподобия, труды IEEE по теории информатики, т.IT-25, с.97-100, январь, 1979 (J.В. Cain, G.C. Clark and J.M. Geist, Punctured convolutional codes of rate (n-1)/n and simplified maximum likelihood decoding, IEEE Trans. Inform. Theory, vol.IT-25, pp.97-100, Jan. 1979). Следующая ссылка относится к условиям, которые необходимо выполнять при согласовании по скорости символов, канально-кодированных при помощи систематического кода (в нижеследующем описании предполагается, что систематический код является турбокодом). Приведенные ниже условия 1В-5В являются условиями, которые необходимо учитывать при согласовании по скорости кодированных символов путем прокалывания, и условия 1D-5D являются условиями, которые необходимо учитывать при согласовании по скорости кодированных символов путем повторения. Условие 1В. Так как турбо-код является систематическим кодом, то часть, соответствующую информационным символам, из символов, кодированных с помощью кодера, необходимо прокалывать. Вместе с тем, вследствие того, что итерационный декодер используется в качестве декодера для турбо-кода, часть, соответствующая информационным символам, не должна прокалываться. Условие 2В. Так как турбо-кодер состоит из двух составных кодеров, соединенных параллельно, предпочтительно максимизировать минимальное свободное расстояние каждого из двух составных кодеров, для достижения минимального свободного расстояния всего кода. Следовательно, для того чтобы получить оптимальные характеристики, выходные символы четности двух составных кодеров необходимо равномерно прокалывать. Условие 3В. Так как в большинстве итерационных декодеров декодирование выполняется в первом составном декодере, то первый выходной символ первого составного декодера не должен прокалываться. Другими словами, первый символ кодера не должен прокалываться, несмотря на то, являются ли биты систематическими или битами четности, потому что первый символ показывает начальную точку кодирования. Условие 4В. Выходные символы четности каждого составного кодера необходимо прокалывать с использованием равномерного порядка прокалывания так, чтобы кодированные символы, выводимые из кодера, такие как известный сверточный код, равномерно прокалывались. Условие 5В. Завершающие конечные биты, которые используются для турбокодера, не должны прокалываться из-за отрицательного влияния на характеристики декодера. Например, декодер SOVA (алгоритм Витерби гибкого вывода) имеет низкие характеристики в случае, когда завершающие конечные биты прокалываются по сравнению со случаем, где завершающие конечные биты не прокалываются. Условие 1D. Так как турбокод является систематическим кодом, то часть, соответствующая информационным символам, из символов, которые кодируются с помощью кодера, должна повторяться для увеличения энергии символов. Более того, так как итерационный декодер используется в качестве декодера для турбокода, то часть, соответствующая информационным символам, должна периодически повторяться. Условие 2D. Так как турбокодер состоит из двух составных кодеров, соединенных параллельно, предпочтительно максимизировать минимальное свободное расстояние каждого из двух составных кодеров для достижения минимального свободного расстояния всего кода. Поэтому при повторении символов четности выходные символы четности двух составных кодеров должны одинаковым образом повторяться для того, чтобы получить оптимальные характеристики. Условие 3D. Так как в большинстве итерационных декодеров декодирование выполняется в первом составном декодере, первый выходной символ первого составного декодера должен предпочтительно повторяться при повторении символов четности. Условие 4D. Выходные символы четности каждого составного кодера должны повторяться с использованием равномерного порядка повторения так, чтобы кодированные символы, выводимые из кодера, такие как известный сверточный код, одинаковым образом повторялись. Условие 5D. Завершающие конечные биты, которые используются для турбокодера, должны повторяться из-за влияния на характеристики декодера. Например, декодер SOVA (алгоритм Витерби гибкого вывода) имеет различные характеристики в зависимости от того, повторяются или нет завершающие конечные биты. Целью настоящего изобретения является реализация устройства согласования по скорости, которое удовлетворяет не только условиям 1А-3А и 1С-2С, но также и условиям 1В-5В и 1D-5D. То есть, устройство согласования по скорости путем прокалывания, согласно настоящему изобретению, служит в качестве устройства согласования по скорости, которое удовлетворяет условиям 1А-3А для сверточных кодированных символов, а также служит в качестве устройства согласования по скорости, которое удовлетворяет условиям 1В-5В для турбо-кодированных символов. Устройство согласования по скорости путем повторения, согласно настоящему изобретению, служит в качестве устройства согласования по скорости, которое удовлетворяет условиям 1С-2С для сверточных кодированных символов, а также служит в качестве устройства согласования по скорости, которое удовлетворяет условиям 1D-5D для турбо-кодированных символов. Основная структура устройства согласования по скорости
Варианты осуществления структур устройства согласования по скорости согласно настоящему изобретению показаны на фиг.2 и 3. На фиг.2 более конкретно изображен пример устройства согласования по скорости, реализованного с помощью аппаратных средств, согласно варианту осуществления настоящего изобретения, и на фиг.3 изображен пример устройства согласования по скорости, реализованного с помощью программных средств, согласно варианту осуществления настоящего изобретения. Как показано на фиг.2, канальный кодер 200 кодирует по каналам входные информационные биты со скоростью кодирования R=k/n и выводит кодированные символы, где n - число кодированных символов, образующих одно кодовое слово, и k - число входных информационных битов, образующих одно входное информационное слово. Имеется n блоков 231-239 согласования по скорости, каждый из которых выборочно принимает кодированные символы, которые выводятся из канального кодера 200, по числу входных символов, определенных в соответствии со скоростью кодирования, и прокалывает/повторяет принятые символы. Каждый из n блоков 231-239 согласования по скорости выборочно принимает кодированные символы, которые выводятся из канального кодера 200, по числу, которое определяется путем умножения числа кодированных символов в кадре на скорость кодирования. Например, если число кодированных символов в одном кадре равно 10 и скорость кодирования равна R=1/5, то каждый из 5 блоков согласования по скорости выборочно принимает 2 символа. Каждый из блоков 231-239 согласования по скорости прокалывает принятые символы в соответствии с заданным порядком прокалывания или повторяет принятые символы в соответствии с заданным порядком повторения. Мультиплексор 240 мультиплексирует символы, согласованные по скорости, из блоков 231-239 согласования по скорости и выводит мультиплексированные символы в канальный передатчик (не показан). Так как канальный передатчик выходит за рамки настоящего изобретения, то подробное описание канального передатчика будет здесь опущено. Операция согласования по скорости, которую выполняют блоки 231-239 согласования по скорости, поясняется в приведенном ниже подробном описании вариантов осуществления настоящего изобретения. Как показано на фиг.3, канальный кодер 200 кодирует по каналам входные информационные биты со скоростью кодирования R=k/n и выводит кодированные символы. Процессор 250 цифровых сигналов (ПЦС), имеющий модуль согласования по скорости, выполняет согласование по скорости (или прокалывание/повторение) символов, канально-кодированных с помощью канального кодера 200, с использованием модуля согласования по скорости. Символы, согласованные по скорости с помощью ПЦС 250, выводятся в канальный передатчик. ПЦС 250 согласования по скорости принимает кодированные символы одного кадра отдельно от n отдельных потоков данных, где число символов, поступающих из каждого потока, равно числу входных символов, которое определяется в соответствии со скоростью кодирования, и прокалывает/повторяет принятые символы тем же самым способом, как и на фиг.2. Другими словами, хотя ПЦС 250 является одиночным элементом в аппаратных средствах, он выполняет ту же самую операцию согласования по скорости, как и n блоков согласования по скорости (фиг.2). ПЦС 250 можно также реализовать на основе центрального процессора (ЦП), и операцию согласования по скорости можно реализовать с помощью подпрограммы. Используемый здесь термин "блоки согласования по скорости" служит для ссылки на модули согласования по скорости в ПЦС 250. Как показано на фиг.2 и 3, устройство согласования по скорости, согласно настоящему изобретению, может иметь структуру, которая включает в себя блоки согласования по скорости, число которых соответствует скорости кодирования (то есть обратно пропорционально скорости кодирования при k=1, но если k

1. Вариант осуществления устройства согласования по скорости путем прокалывания (для сверточного кода)
На фиг. 4 показана структура устройства согласования по скорости путем прокалывания согласно варианту осуществления настоящего изобретения. Эта структура используется в случае, когда устройства согласования по скорости (фиг.2 и 3) выполняют согласование по скорости сверточных, кодированных символов путем прокалывания. Как показано на фиг.4, сверточный кодер 210 кодирует входные информационные биты Ik со скоростью кодирования R=1/3 и выводит кодированные символы C1k, C2k и C3k. Кодированные символы C1k, C2k и C3k выборочно подаются соответственно в блоки 231, 232 и 233 согласования по скорости. Первый блок 231 согласования по скорости прокалывает кодированный символ C1k. На этой стадии процесс прокалывания выполняется на основании числа y=Nc-Ni прокалываемых символов, которое определяется с помощью числа Nc входных символов и числа Ni выходных символов и параметров 'а' и 'b', определяющих порядок прокалывания. Например, первый блок 231 согласования по скорости может выводить символы ...11x10x01x... (где х показывает прокалываемый символ). Второй блок 232 согласования по скорости прокалывает кодированный символ C2k. На этой стадии процесс прокалывания выполняется на основании числа y=Nc-Ni прокалываемых символов, которое определяется с помощью числа Nc входных символов и числа Ni выходных символов и параметров 'а' и 'b', определяющих порядок прокалывания. Например, второй блок 232 согласования по скорости позволяет выводить символы ...11x11x10x... (где х показывает прокалываемый символ). Третий блок 233 согласования по скорости прокалывает кодированный символ C3k. В это время процесс прокалывания выполняется на основании числа y=Nc-Ni прокалываемых символов, которое определяется с помощью числа Nc входных символов и числа Ni выходных символов и параметров 'а' и 'b', определяющих порядок прокалывания. Например, третий блок 233 согласования по скорости позволяет выводить символы . ..01x11x11x... (где х показывает прокалываемый символ). Кодированные символы, согласованные по скорости с помощью блоков 231, 232 и 233 согласования по скорости, мультиплексируются с помощью мультиплексора 240 (не показан на фиг.4) и подаются в канальный передатчик. На фиг.4 число Nc входных символов и число Ni выходных символов в равной степени определяется соответственно как Nc=RxNcs и Ni=RxNis для каждого блока согласования по скорости. Каждый блок согласования по скорости выборочно прокалывает одинаковое число канально-кодированных символов, исходя из того предположения, что чувствительность к ошибкам кодированных символов является практически одинаковой для каждого символа в одном кадре. То есть, получается почти равномерный порядок прокалывания в пределах одного кадра независимо от различного количества прокалываемых битов, определенного в соответствии с типом услуги. Это становится возможным потому, что все символы в одном кадре можно равномерно прокалывать для сверточного кода. Поэтому, согласно варианту осуществления настоящего изобретения, символы, кодированные с помощью сверточного кодера 210 разделяются и подаются с тем же самым числом символов в блоки 231, 232 и 233 согласования по скорости. Каждый из блоков 231, 232 и 233 согласования по скорости прокалывает одинаковое число входных символов. На этой стадии параметры порядка прокалывания можно определить одинаковым или различным способом. То есть, порядок прокалывания можно определить одинаковым или различным способом для блоков 231, 232 и 233 согласования по скорости. 2. Другой вариант осуществления устройства согласования по скорости путем прокалывания (для турбокода)
На фиг. 5 показана структура устройства согласования по скорости путем прокалывания согласно другому варианту осуществления настоящего изобретения. Эта структура используется тогда, когда устройства согласования по скорости (фиг. 2 и 3) выполняют согласование по скорости турбо-кодированных символов путем прокалывания. Как показано на фиг.5, турбокодер 220 кодирует входные информационные биты Ik со скоростью кодирования R=1/3 и выводит кодированные символы C1k, C2k и C3k. Среди кодированных символов информационный символ C1k выборочно подается в первый блок 231 согласования по скорости, и символы четности (или символы избыточности) C2k и C3k выборочно подаются соответственно во второй и третий блоки 232 и 233 согласования по скорости. Турбокодер 220 состоит из первого составного кодера 222, второго составного кодера 224 и перемежителя 226 (фиг. 6). Структура турбокодера 220 хорошо известна специалистам. Таким образом, подробное описание будет опущено. Входной сигнал X(t), который подается в турбокодер 220, соответствует входным информационным битам Ik, показанным на фиг. 5. Выходные сигналы X(t), Y(t) и Y'(t) турбокодера 220 соответствуют кодированным символам C1k, C2k и C3k, показанным соответственно на фиг. 5. Для первого выхода турбокодера 220 входные информационные биты Ik= X(t) выводятся в том же порядке, то есть как и на фиг.5, а входные информационные биты Ik выводятся в виде C1k. Первый блок 231 согласования по скорости прокалывает кодированные символы C1k на основании следующего критерия. Так как скорость кодирования равна R=1/3, то число Nc входных символов определяется как Nc=RxNcs=Ncs/3, которое равно 1/3 от полного числа кодированных символов. Число Ni выходных символов также определяется как Ni=RxNcs, так как прокалывание не выполняется в части, соответствующей информационным символам, согласно условию 1В. Параметры 'а' и 'b', определяющие порядок прокалывания, можно выбрать в виде целых чисел, но это не означает, что прокалывание не выполняется согласно условию 1В. Например, первый блок 231 согласования по скорости может выводить символы ...111101011.... Второй блок 232 согласования по скорости прокалывает кодированные символы C2k на основании следующего критерия. Так как скорость кодирования равна R=1/3, то число Nc входных символов определяется как Nc=RxNcs=Ncs/3, которое равно 1/3 от полного числа кодированных символов. Так как выходные символы четности двух составных декодеров необходимо равномерно прокалывать согласно условию 2В и условию 4В и полное число выходных символов после прокалывания равно Nis для полного числа входных символов (Ncs) в одном кадре, то число Ni символов, которое выводится из второго блока 232 согласования по скорости после прокалывания, составляет Ni=[Nis-(RxNcs)]/2. Если Ni=[Nis-(RxNcs)]/2 является нечетным числом, то число выходных символов становится равным Ni= [Nis-(RxNcs)+1] /2 или [Nis-(RxNcs)-1]/2. Одно из двух значений выбирают в соответствии с соотношением между вторым блоком 232 согласования по скорости и третьим блоком 233 согласования по скорости. То есть, когда число выходных символов второго блока 232 согласования по скорости определяется как [Nis-(RxNcs)+1] /2, число выходных символов третьего блока 233 согласования по скорости определяется как [Nis-(RxNcs)-1]/2. Напротив, когда число выходных символов второго блока 232 согласования по скорости определяется как [Nis-(RxNcs)-1] /2, число выходных символов третьего блока 233 согласования по скорости определяется как [Nis-(RxNcs)+1]/2. Параметры 'а' и 'b', определяющие порядок прокалывания, можно выбрать в виде целых чисел в соответствии с необходимым порядком прокалывания. Эти целые числа определяются только в соответствии с порядком прокалывания, и параметры можно установить так, чтобы b=1 и а=2. Подробное описание способа определения целых чисел для параметров, определяющих порядок прокалывания, будет приведено со ссылкой на таблицы. Например, второй блок 232 согласования по скорости может выводить символы ...11x11x10x... (где х показывает прокалываемый символ). Третий блок 233 согласования по скорости прокалывает кодированные символы C3k на основании следующего критерия. Так как скорость кодирования равна R=1/3, то число Nc входных символов определяется как Nc=RxNcs=Ncs/3, которое составляет 1/3 от полного числа входных символов (кодированных символов). Так как полное число символов в выходных символах четности двух составных декодеров необходимо прокалывать равномерно в соответствии с условием 2В и условием 4В и полное число выходных символов после прокалывания равно Nis для полного числа входных символов в одном кадре, то число Ni символов, которое выводится из второго блока 232 согласования по скорости после прокалывания, составляет Ni= [Nis-(RxNcs)] /2. Если Ni=[Nis-(RxNcs)]/2 является нечетным числом, то число выходных символов становится равным Ni=[Nis-(RxNcs)+1] /2 или [Nis-(RxNcs)-1]/2. Одно из двух значений выбирают в соответствии с соотношением между вторым блоком 232 согласования по скорости и третьим блоком 233 согласования по скорости. То есть, когда число выходных символов второго блока 232 согласования по скорости определяется как [Nis-(RxNcs)+1] /2, то число выходных символов третьего блока 233 согласования по скорости определяется как [Nis-(RxNcs)-1]/2. Напротив, когда число выходных символов второго блока 232 согласования по скорости определяется как [Nis-(RxNcs)-1] /2, число выходных символов третьего блока 233 согласования по скорости определяется как [Nis-(RxNcs)+1]/2. Параметры 'а' и 'b', определяющие порядок прокалывания, можно выбрать в виде целых чисел в соответствии с необходимым порядком прокалывания. Эти целые числа определяют только в соответствии с порядком прокалывания, и параметры можно установить так, чтобы b=1 и а=2. Подробное описание способа определения целых чисел для параметров, определяющих порядок прокалывания, приводится со ссылкой на таблицы. Например, третий блок 233 согласования по скорости может выводить символы ...11x11x10x... (где х показывает прокалываемый символ). На фиг.5 символы, кодированные с помощью турбокодера 220, разделяются и затем подаются в равном количестве в блоки 231, 232 и 233 согласования по скорости. Первый блок 231 согласования по скорости выводит входные символы, так как они есть. Второй и третий блоки 232 и 233 согласования по скорости прокалывает одинаковое число входных символов. На этой стадии порядок прокалывания можно определить одинаковым или различным способом. То есть порядок прокалываниения можно определить одинаковым или разным способом для блоков 232 и 233 согласования по скорости. 3. Определение параметров для прокалывания
В вариантах осуществления настоящего изобретения, обсуждаемых здесь, блоки согласования по скорости прокалывают одинаковое число символов (за исключением блока 231 согласования по скорости (фиг.5)). Однако блоки согласования по скорости могут прокалывать различное число символов. Если
число Ni символов, которое выводится из соответствующих блоков согласования по скорости, устанавливают различным способом, то число символов, прокалываемых с помощью соответствующих блоков согласования по скорости, будет определяться различным способом. Кроме того, порядок символов, прокалываемых с помощью соответствующих блоков согласования по скорости, можно определить одинаковым или различным способом, путем изменения параметров 'а' и 'b', определяющих порядок прокалывания. То есть, даже если она имеет одну структуру, устройство согласования по скорости, согласно настоящему изобретению, позволяет определить параметры, такие как число входных символов, число выходных символов, число символов, которые необходимо прокалывать, и параметры, определяющие порядок прокалывания, различным способом. В таблице 1 показаны посредством примера различные случаи параметров. Здесь скорость кодирования предполагается равной R=1/3. Поэтому предусмотрено три блока согласования по скорости, и соответствующие блоки согласования по скорости принимают отдельно одинаковое число символов, то есть Nc=Ncs/3 символов. В этом случае блоки согласования по скорости принимают отдельно одинаковое число символов, которое определяется путем умножения числа кодированных символов на скорость кодирования. Однако следует отметить, что настоящее изобретение можно также применить к случаю, где блоки согласования по скорости принимают отдельно различное число символов, то есть число символов, которое меньше, чем число, определенное путем умножения числа кодированных символов в кадре на скорость кодирования, или число символов, которое больше, чем число, определенное путем умножения числа кодированных символов в кадре на скорость кодирования. В следующем ниже описании БСС1, БСС2 и БСС3 обозначают соответственно первый-третий блоки согласования по скорости. В таблице 1 БСС1, БСС2 и БСС3 обозначают блоки согласования по скорости и р, q, r, s, t, w, x, у и z являются целыми числами. В Случае 9 и в Случае



где

На фиг.7 показана процедура согласования по скорости путем прокалывания согласно варианту осуществления настоящего изобретения. Эта процедура выполняется на основе алгоритма согласования по скорости, представленного в таблице 3. В таблице 3 So={d1, d2,..., dNc} обозначает ввод символов для одного блока согласования по скорости, то есть ввод символов в блок кадра для одного блока согласования по скорости, и состоит в общем из Nc символов. Параметр S(k) сдвига является исходным значением, которое используется в алгоритме, и постоянно устанавливается в '0' при использовании устройства согласования по скорости, согласно настоящему изобретению, в нисходящей линии связи системы цифровой связи (то есть при выполнении согласования по скорости для кодированных символов, которые будут передаваться из базовой станции в мобильную станцию). 'm' показывает порядок символов, которые будут вводиться для согласования по скорости, и имеет вид 1, 2, 3,..., Nc. Из таблицы 3 следует, что можно изменять параметры, включающие в себя число Nc входных символов, число Ni выходных символов и параметры 'а' и 'b', определяющие порядок прокалывания. Например, можно изменять параметры так, как показано в таблице 1. Число Nc входных символов можно определить в виде значения, отличного от Ncs/3 в соответствии со скоростью кодирования R. Фиг.7 соответствует случаю, где алгоритм таблицы 3 применяется к нисходящей линии связи системы цифровой связи, то есть S(k)=0. При использовании алгоритма в таблице 3 достигаются следующие преимущества. Во-первых, можно переменным образом прокалывать кодированные символы блока кадра. Во-вторых, можно выработать различные порядки прокалывания путем регулировки параметров Nc, Ni, а и b. В-третьих, можно уменьшить сложность и время вычисления каждого блока согласования по скорости на 1/R. Поэтому, если используется множество блоков согласования по скорости, то число символов, которое необходимо прокалывать с помощью каждого блока согласования по скорости, будет уменьшено по сравнению со случаем, где используется один блок согласования по скорости. Как показано на фиг.7, на этапе 701 все виды параметров, включающие в себя число Nc входных символов, число Ni выходных символов и параметры 'а' и 'b', определяющие порядок прокалывания, инициируются для процесса согласования по скорости. При определении Nc и Ni с помощью инициализации параметров число символов, которое необходимо прокалывать, определяется с помощью y= Nc-Ni на этапе 702. На этапе 703 вычисляется исходное значение 'е' ошибки между текущим и требуемым соотношениями прокалывания. Исходное значение ошибки определяется с помощью уравнения е=b






если Nc/y - целое число;

если Nc/y - не целое число. Как следует из вышеприведенных уравнений, управляя параметрами а, b, можно управлять положением первого символа, который будет прокалываться или повторяться. Например, значение Исходное_Смещение_m уменьшается при увеличении 'а', если 'b' остается постоянным. Таким образом, при увеличении 'а' положение первого символа, который необходимо прокалывать/повторить, будет перемещаться ближе к первому положению. Если 'а' выбрано больше, чем by/Nc, то Исходное_ Смещение_m=1, которое означает, что первый символ будет проколот или повторен. В результате положением первого символа, который необходимо проколоть/повторить, можно манипулировать путем выбора значения 'а' между 1 и Ррnс. Например, если b=1 и а=2, то положение первого символа, который необходимо прокалывать/повторить, будет всегда равно Ррnс/2. Что же касается параметра 'b', то он управляет Исходное_Смещение_m наряду с 'а', и, как показано ниже, сразу после выбора решения по значению 'а' значение 'b' можно выразить в виде 1


исходное значение=(2


е=bNc mod aNc, так как S(k)=0 в нисходящей линии связи;
если b=1, то e=Nc;
если b=2, то e=2Nc;
если b=3, то e=3Nc;
если b=4, то e=Nc;
если b=5, то e=2Nc;
если b=6, то e=3Nc. Как следует из вышеприведенного примера, исходное значение 'е' изменяется так же, как и значение 'b'. Однако после того, как значение 'b' становится больше, чем 'а', исходное значение 'е' циклически повторяет само себя. Таким образом, не имеет смысла назначать значение больше 'а'-'b'. В итоге, порядком прокалывания или повторения можно управлять, манипулируя параметрами a, b. В. Варианты осуществления устройства согласования по скорости путем повторения
1. Вариант осуществления устройства согласования по скорости путем повторения (для сверточного кода)
На фиг. 9 показана структура устройства согласования по скорости путем прокалывания согласно варианту осуществления настоящего изобретения. Эта структура используется в случае, когда устройства согласования по скорости (фиг.2 и 3) выполняют согласование по скорости сверточно-кодированных символов путем повторения. Как показано на фиг.9, сверточный кодер 210 кодирует входные информационные биты Ik со скоростью кодирования R=1/3 и выводит кодированные символы C1k, C2k и C3k. Кодированные символы C1k, C2k и C3k выборочно подаются соответственно в блоки 231, 232 и 233 согласования по скорости. Первый блок 231 согласования по скорости выборочно повторяет кодированный символ C1k. На этой стадии процесс повторения выполняется на основании повторения числа символов y=Ni-Nc, которое определяется с помощью числа Nc входных символов и числа Ni выходных символов, и параметров 'а' и 'b', определяющих порядок повторения. Например, первый блок 231 согласования по скорости может выводить символы ...11(11)101(00)010... (где (11) и (00) показывают повторяющиеся символы). Второй блок 232 согласования по скорости выборочно повторяет кодированный символ C2k. На этой стадии процесс повторения выполняется на основании числа y=Ni-Nc повторяющихся символов, которое определяется с помощью числа Nc входных символов и числа Ni выходных символов, и параметров 'а' и 'b', определяющих порядок повторения. Например, второй блок 232 согласования по скорости позволяет выводить символы ...(11)01(00)1100... (где (11) и (00) показывают повторяющиеся символы). Третий блок 233 согласования по скорости повторяет кодированный символ C3k. На этой стадии процесс повторения выполняется на основании числа y= Ni-Nc повторяющихся символов, которое определяется с помощью числа Nc входных символов и числа Ni выходных символов, и параметров 'а' и ' b', определяющих порядоку повторения. Например, третий блок 233 согласования по скорости позволяет выводить символы ...0(11)1101(11)... (где (11) показывает повторяющиеся символы). Кодированные символы, согласованные по скорости с помощью блоков 231, 232 и 233 согласования по скорости, мультиплексируются с помощью мультиплексора 240 и подаются в канальный передатчик. На фиг.9 число Nc входных символов и число Ni выходных символов в равной степени определяется соответственно как Nc=RxNcs и Ni=RxNis для каждого блока согласования по скорости. Тот факт, что каждый блок согласования по скорости выборочно повторяет одинаковое число канально-кодированных символов, определяется на том предположении, что чувствительность к ошибкам кодированных символов является почти одинаковым для каждого символа в одном кадре. То есть, внутри одного кадра получается почти равномерный порядок повторения, несмотря на различные числа (y=Ni-Nc) повторяющихся битов, определенных в соответствии с типом услуги. Это становится возможным потому, что все символы в одном кадре можно равномерно повторить для сверточного кода. Поэтому, согласно варианту осуществления настоящего изобретения, символы, кодированные с помощью сверточного кодера 210, делятся на одинаковое число и подаются в блоки 231, 232 и 233 согласования по скорости. Каждый из блоков 231, 232 и 233 согласования по скорости повторяет одинаковое число входных символов. На этой стадии параметры порядока повторения можно определить одинаковым или различным способом. То есть, порядок повторения можно определить одинаковым или различным способом для блоков 231, 232 и 233 согласования по скорости. 2. Другой вариант осуществления устройства согласования по скорости путем повторения (для турбокода)
На фиг. 10 показана структура устройства согласования по скорости путем повторения согласно другому варианту осуществления настоящего изобретения. Эта структура используется в случае, когда устройства согласования по скорости (фиг. 2 и 3) осуществляют согласование по скорости турбо-кодированных символов путем повторения. Как показано на фиг.10, турбо-кодер 220 кодирует входные информационные биты Ik со скоростью кодирования R=1/3 и выводит кодированные символы C1k, C2k и C3k. Среди кодированных символов информационный символ C1k выборочно подается в первый блок 231 согласования по скорости, и символы четности (или символы избыточности) C2k и C3k выборочно подаются соответственно во второй и третий блоки 232 и 233 согласования по скорости. Турбокодер 220 состоит из первого составного кодера 222, второго составного кодера 224 и перемежителя 226 (фиг.6). Составные кодеры 222 и 224 могут использовать рекурсивные систематические коды (RSC). Специалистам хорошо известна структура турбокодера 220. Таким образом, его подробное описание будет опущено. Входной сигнал X(t), который подается в турбокодер 220, соответствует входным информационным битам Ik, которые показаны на фиг. 10. Выходные сигналы X(t), Y(t) и Y'(t) турбокодера 220 соответствуют кодированным символам C1k, C2k и C3k, показанным на фиг. 10. На первом выводе турбокодера 220 входные информационные биты Ik выводятся так, как они есть, для того, чтобы входные информационные биты Ik выводились в виде C1k (фиг.10). Первый блок 231 согласования по скорости повторяет кодированные символы C1k на основании следующего критерия. Так как скорость кодирования равна R= 1/3, то число Nc входных символов определяется в виде Nc=RxNcs=Ncs/3, которое равно 1/3 от полного числа входных символов (кодированный символ). Число Ni выходных символов определяется в виде Ni=Nis-(2RxNcs), так как повторение должно выполняться в соответствии с условием 1D. Параметры 'а' и 'b', определяющие порядок повторения, можно установить на заданные целые числа в соответствии с требуемым порядком повторения. Целые числа определяются только в зависимости от порядка повторения, и параметры обычно можно установить b=1 и а= 2. Ниже, со ссылкой на таблицы, приводится подробное описание способа определения целых чисел для параметров, определяющих порядок повторения. Например, первый блок 231 согласования по скорости может выводить символы ... 1(11)101(00)11... (где (11) и (00) показывают повторяющиеся символы). Второй блок 232 согласования по скорости выводит кодированные символы C2k без повторения. Однако второй блок 232 согласования по скорости может повторять кодированные символы C2k при определенных условиях, таких как строгое повторение. Так как скорость кодирования равна R=1/3, то число Nc входных символов определяется в виде Nc=RxNcs=Ncs/3, которое равно 1/3 от полного числа входных символов. Число Ni выходных символов определяется как Ni= RxNcs, которое равно числу входных символов, так как два вида символов четности не должны повторяться в соответствии с условием 2D и условием 4D. Например, второй блок 232 согласования по скорости может выводить символы .. .110111101..., где отсутствует повторение. Третий блок 233 согласования по скорости выводит кодированные символы C3k без повторений. Однако третий блок 233 согласования по скорости может также повторять кодированные символы C3k при строгом повторении. Так как скорость кодирования равна R=1/3, то число Nc входных символов определяется как Nc= RxNcs= Ncs/3, которое равно 1/3 от полного числа входных символов. Число Ni выходных символов определяется как Ni=RxNcs, которое равно числу входных символов, так как два вида символов четности не должны повторяться в соответствии с условием 2D и условием 4D. Параметры 'а' и 'b', определяющие порядок повторения, можно установить на заданные целые числа в соответствии с требуемым порядком повторения. Однако, если блоки 232 или 233 не используют повторение, то параметры а, b не важны для блоков 232 или 233 согласования по скорости. Целые числа определяются только в зависимости от порядка повторения, и параметры можно обычно установить так, чтобы b=1 и а=2. Ниже, со ссылкой на таблицы, приводится подробное описание способа определения целых чисел для параметров, определяющих порядок повторения. Например, третий блок 233 согласования по скорости может выводить символы ...01011010. .., которые не подвергаются повторению. На фиг. 10 символы, кодированные с помощью турбокодера 220, разделяются на одинаковое число и затем подаются в блоки 231, 232 и 233 согласования по скорости. Первый блок 231 согласования по скорости получает информационные символы из кодированных символов и повторяет принятые символы в соответствии с предопределенным порядком повторения. Второй и третий блоки 232 и 233 согласования по скорости принимают символы четности из кодированных символов и выводят принятые символы так, как они есть без повторения. 3. Определение параметров для повторения
Как описано выше, порядки повторения, которые используются для соответствующих блоков согласования по скорости, могут быть идентичными или различными. То есть, порядок повторения символов, используемый в соответствующих блоках согласования по скорости, и число повторенных символов можно определить различным способом. Если число Ni символов, которое выводятся из соответствующих блоков согласования по скорости, устанавливают различным способом, то число символов, которые повторяют с помощью соответствующих блоков согласования по скорости, будет определяться различным способом. Кроме того, порядок символов, который повторяют с помощью соответствующих блоков согласования по скорости, можно определить одинаковым или различным способом, путем изменения параметров 'а' и 'b', определяющих порядок повторения. То есть, даже при наличии одной структуры устройство согласования по скорости, согласно настоящему изобретению, позволяет различным способом определить параметры, такие как число входных символов, число выходных символов, число символов, которые будут повторяться, и параметры, определяющие порядок повторения. В таблице 4 показаны различные случаи параметров посредством примера. В этом случае предполагается, что скорость кодирования равна R=1/3. Поэтому предусмотрено три блока согласования по скорости, и соответствующие блоки согласования по скорости выборочно принимают одинаковое число символов, то есть Nc= Ncs/3 символов. В этом случае блоки согласования по скорости выборочно принимают одинаковое число символов, которое определяется путем умножения числа кодированных символов на скорость кодирования. Однако следует отметить, что настоящее изобретение можно также применить к случаю, где блоки согласования по скорости выборочно принимают различное число символов, то есть число символов, которое меньше, чем число, определенное с помощью умножения числа кодированных символов в кадре на скорость кодирования, или число символов, которое больше, чем число, определенное путем умножения числа кодированных символов в кадре на скорость кодирования. В приведенном ниже описании БСС1, БСС2 и БСС3 обозначают соответственно первый-третий блоки согласования по скорости. В таблице 4 БСС1, БСС2 и БСС3 показывают блоки согласования по скорости и р, q, r, s, t и х целые числа. NA показывает, что входные символы выводятся так, как они есть, без повторения, для которого параметры 'а' и 'b' можно установить на любое значение. В этом случае параметры 'а' и 'b' являются положительными числами. Кроме того, показан случай, где входные символы повторяются для выполнения согласования по скорости таким образом, чтобы число входных символов было меньше или равно числу выходных символов (то есть Ncs


где

На фиг. 11 показана процедура согласования по скорости путем повторения согласно варианту осуществления настоящего изобретения. Эта процедура выполняется на основе алгоритма согласования по скорости, показанного в таблице 6. В таблице 6 So={d1, d2,..., dNc} обозначает символы, которые вводятся для согласования по скорости, то есть символы, которые вводятся в блок кадра для согласования по скорости, и которые состоят в общем из Nc символов. Параметр S(k) представляет собой исходное значение, которое используется в алгоритме, и постоянно установлено в '0', когда устройство согласования по скорости, согласно настоящему изобретению, используется в нисходящей линии связи системы цифровой связи (то есть, когда согласование по скорости выполняется по кодированным символам, которые необходимо передавать из базовой станции в мобильную станцию). 'm' показывает порядок символов, вводимых для согласования по скорости, и имеет порядок 1, 2, 3,..., Nc. Из таблицы 6 следует, что можно изменять параметры, включающие в себя число Nc входных символов, число Ni выходных символов и параметры 'а' и 'b', определяющие порядоку повторения. Например, параметры можно изменить так, как показано в таблице 4. Число Nc входных символов можно определить в виде значения, отличного от Ncs/3 в соответствии со скоростью кодирования R. Фиг.11 соответствует случаю, где алгоритм таблицы 6 применяется к нисходящей линии связи системы цифровой связи, то есть S(k)=0. При использовании алгоритма (таблица 6) достигаются следующие преимущества. Во-первых, можно попеременно повторять кодированные символы (или символы кодового слова) блока кадра. Во-вторых, можно вырабатывать различные порядки повторения путем регулировки параметров Nc, Ni, а и b. В-третьих, можно уменьшить сложность и время вычисления для каждого блока согласования по скорости на 1/R. Поэтому, если используется множество блоков согласования по скорости, то число символов, которое необходимо повторять с помощью каждого блока согласования по скорости, будет уменьшено по сравнению со случаем, где используется один блок согласования по скорости. Например, число символов, которое можно повторить с помощью каждого блока согласования по скорости, можно уменьшить на скорость кодирования R, по сравнению со случаем, где используется один блок согласования по скорости. Как показано на фиг.11, на этапе 1101 все виды параметров, включающие в себя число Nc входных символов, число Ni выходных символов и параметры 'а' и 'b', определяющие порядок повторения, инициируются для выполнения процесса согласования по скорости. Когда Nc и Ni определяются с помощью инициирования параметров, число символов, которые будут повторяться, определяется с помощью y= Ni-Nc на этапе 1102. На этапе 1103 вычисляют исходное значение 'е' ошибки между текущим и требуемым отношениями повторения. Исходное значение ошибки определяется путем е=b




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








06.07.1999 - по пп. 1-75;
10.07.1999 - по пп. 76-83.
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16, Рисунок 17, Рисунок 18