Кодирование и модуляции для множества потоков данных в системе связи
Иллюстрации
Показать всеИзобретение относится к технике связи и может быть использовано для передачи множества потоков данных в системах связи. Для передачи нескольких потоков данных в один приемник используют единую скорость кодирования и различные схемы модуляции, при этом для нескольких потоков данных определяют оценки канала, которые используют для выбора единой скорости кодирования и нескольких схем модуляции для нескольких потоков данных. Система может поддерживать набор скоростей кодирования, и каждую скорость кодирования можно ассоциировать с соответствующим набором схем модуляции, которые можно использовать с этой скоростью кодирования. Из набора поддерживаемых скоростей кодирования выбирают единую скорость кодирования для всех потоков данных и для каждого потока данных выбирают схему модуляции из набора схем модуляции, ассоциированного с этой единой скоростью кодирования. Несколько потоков данных кодируют согласно единой скорости кодирования. Далее каждый поток данных модулируют согласно схеме модуляции, выбранной для этого потока. Технический результат - упрощение выбора скорости и/или сокращение количества передаваемой информации о скорости и улучшение характеристик передачи данных. 7 н. и 36 з.п. ф-лы, 5 ил., 4 табл.
Реферат
Притязание на приоритет
Настоящая патентная заявка притязает на приоритет по предварительной заявке № 60/691461, озаглавленной "Coding and Modulation for Multiple Data Streams in a Communication System", поданной 16 июня 2005 г., права на которую принадлежат заявителю этой заявки и полностью включенной в этот документ по ссылке.
УРОВЕНЬ ТЕХНИКИ
Область техники, к которой относится изобретение
Настоящее раскрытие, в целом, относится к связи, а более конкретно к способам для передачи множества потоков данных в системе связи.
Уровень техники
В системе связи передатчик может передавать приемнику несколько потоков данных через несколько каналов передачи данных. Обычно для борьбы с вредоносными условиями на канале передатчик перед передачей кодирует и модулирует (или отображает в символы) данные для каждого потока. Для восстановления данных, переданных передатчиком, приемник выполняет дополняющую демодуляцию и декодирование. Кодирование и модуляция, выполняемые передатчиком, имеют большое влияние на характеристики передачи данных.
Чтобы достичь заданного уровня характеристик, которые можно количественно оценивать посредством целевой частоты появления пакетных ошибок (PER), выбор скорости относят к выбору соответствующей схемы кодирования и модуляции для каждого потока данных. Выбор скорости требует усилий, так как на каналах передачи данных могут быть различные условия (например, различное замирание сигнала, многолучевое распространение и влияние помех), и можно достигать различных отношений сигнал/шум-и-взаимная помеха (SNR). Отношение SNR для канала передачи (данных) определяет его пропускную способность, которую обычно количественно оценивают посредством конкретной скорости передачи данных, с которой данные можно надежно передавать по каналу передачи данных. Если отношение SNR меняется от канала передачи данных к каналу передачи данных, то поддерживаемая скорость передачи данных также бы менялась от канала к каналу. Более того, если условия на канале меняются со временем, то скорости передачи данных, поддерживаемые каналами передачи данных, также бы менялись со временем.
Следовательно, в области техники, к которой относится изобретение, существует потребность в способах для выполнения кодирования и модуляции для нескольких потоков данных таким образом, чтобы достичь хороших характеристик и упростить выбор скорости.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Здесь описаны способы для передачи нескольких потоков данных в один приемник с использованием единой скорости кодирования и различных схем модуляции. Эти способы могут упростить кодирование и декодирование, могут упростить выбор скорости и/или сократить количество передаваемой информации о скорости и могут улучшить характеристики.
Согласно варианту осуществления раскрытия описано устройство, которое содержит контроллер и процессор. Контроллер получает выбор единой скорости кодирования и несколько схем модуляции для нескольких потоков данных, передаваемых в один приемник. Процессор кодирует несколько потоков данных согласно единой скорости кодирования и модулирует их согласно нескольким схемам модуляции.
Согласно другому варианту осуществления описано устройство, которое содержит процессор и контроллер. Процессор определяет оценки канала для нескольких потоков данных, передаваемых в один приемник. Контроллер выбирает единую скорость кодирования и несколько схем модуляции для нескольких потоков данных на основании оценок канала.
Ниже дополнительно подробно описаны различные аспекты и варианты осуществления раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 изображена блок-схема передатчика и приемника в многоканальной системе связи согласно варианту осуществления.
На фиг.2 изображен процесс передачи нескольких потоков данных в один приемник с использованием единой скорости кодирования и различных схем модуляции согласно варианту осуществления.
На фиг.3 изображен процесс выбора скоростей для нескольких потоков данных с независимой скоростью на поток согласно варианту осуществления.
На фиг.4 изображен процесс выбора скоростей для нескольких потоков данных с векторным разбитым на подгруппы набором скоростей согласно варианту осуществления.
На фиг.5 изображена блок-схема процессора данных (TX) в передатчике согласно варианту осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
Слово "иллюстративный" здесь используется в значении "служащий в качестве примера, образца или иллюстрации". Любой вариант осуществления, описанный здесь как иллюстративный, не должен обязательно рассматриваться как предпочтительный или имеющий преимущества перед другими вариантами осуществления.
Описанные здесь способы выбора скорости и передачи данных можно использовать для различных многоканальных систем связи с несколькими каналами передачи данных. Например, эти способы можно использовать для системы со многими входами-выходами (MIMO), системы мультиплексирования с ортогональным частотным разделением (OFDM), системы MIMO, которая использует OFDM (которая называется системой MIMO-OFDM), системы мультиплексирования с временным разделением (TDM), системы мультиплексирования с частотным разделением (FDM), системы мультиплексирования с кодовым разделением (CDM) и т.д.
Для передачи данных система MIMO использует несколько (T) передающих антенн в передатчике и несколько (R) приемных антенн в приемнике. Канал MIMO, формируемый T передающими антеннами и R приемными антеннами, можно разложить на S пространственных каналов, где S<min {T, R}. Посредством S пространственных каналов можно сформировать S каналов передачи (данных).
Система OFDM разделяет весь диапазон частот системы на несколько (K) ортогональных поддиапазонов, которые также называются тонами, поднесущими, элементами кодированного сигнала и частотными каналами. Каждый поддиапазон ассоциирован с соответствующей несущей, которую можно модулировать данными. Посредством K поддиапазонов можно сформировать до K каналов передачи (данных). В системе MIMO-OFDM для каждого из K поддиапазонов существует S пространственных каналов. В системе MIMO-OFDM посредством пространственных каналов K поддиапазонов можно сформировать до S∙K каналов передачи (данных).
В общем, в пространственной, частотной, временной и/или кодовой областях можно сформировать несколько каналов передачи (данных). Например, несколько каналов передачи (данных) могут соответствовать различным пространственным каналам в системе MIMO, различным широкополосным пространственным каналам в системе MIMO-OFDM, различным поддиапазонам в системе FDM или OFDM, различным временным интервалам в системе TDM, различным кодовым каналам в системе CDM и т.д. Канал передачи (данных) также может называться физическим каналом, информационным каналом, каналом передачи данных, параллельным каналом или каким-либо другим термином. Для ясности дальнейшее описание относится к системе MIMO-OFDM.
На фиг.1 изображена блок-схема передатчика 110 и приемника 150 в многоканальной системе 100 связи согласно варианту осуществления. В передатчике 110 процессор 120 данных TX принимает из главного контроллера 140 данные трафика/ пакетные данные, обрабатывает (например, кодирует, перемежает и отображает в символы) данные трафика в соответствии с M скоростями и формирует M потоков символов данных, где M>1. Как здесь использовано, символ данных является символом модуляции для данных трафика, символ пилот-сигнала является символом модуляции для пилот-сигнала (который является данными, известными заранее как передатчику, так и приемнику), символ модуляции является комплексным значением для точки в созвездии сигналов для схемы модуляции (например, PSK или QAM), символ передачи является символом, который должен быть передан одной передающей антенной в одном поддиапазоне в один период символа, и символ является комплексным значением. Пространственный процессор 130 TX мультиплексирует M потоков символов данных посредством символов пилот-сигнала, выполняет пространственную обработку данных и символов пилот-сигнала (например, для собственного управления, отсутствия управления или пространственного расширения, которые описаны ниже) и обеспечивает T потоков символов передачи, где T≥M. M потоков символов данных относятся к M потокам данных. T потоков символов передачи формируют так, что M потоков данных передаются по M каналам передачи (данных).
Блок передатчика (TMTR) 132 обрабатывает T потоков символов передачи (например, для OFDM) и формирует T модулированных сигналов, которые передают из T антенн и через первый канал 148 связи. Из-за характеристик канала 148 связи модулированный сигнал искажается, и дополнительно модулированные сигналы ухудшаются из-за аддитивного белого гауссова шума (AWGN) и, возможно, взаимных помех от других передатчиков.
В приемнике 150 R антенн принимают переданные сигналы и обеспечивают R принятых сигналов в блок приемника (RCVR) 160. Блок 160 приемника приводит в определенное состояние и оцифровывает R принятых сигналов и далее обрабатывает образцы способом, дополнительным к обработке, выполненной блоком 132 передатчика. Блок 160 приемника обеспечивает принятые символы пилот-сигнала в процессор 172/ эстиматор (блок анализа) канала и R потоков принятых символов данных в пространственный процессор 170 (RX) приемника. Эстиматор (блок анализа) 172 канала получает оценки канала для канала 148 связи и обеспечивает их в пространственный процессор 170 RX. Пространственный процессор 170 RX выполняет пространственную обработку в приемнике R принятых потоков символов данных посредством оценок канала (например, с использованием способа полной CSI (full-CSI), CCMI, или MMSE, как описано ниже) и обеспечивает M демодулированных потоков символов, которые являются оценками M потоков символов данных, переданных передатчиком 110. Процессор 180 данных RX обрабатывает (например, восстанавливает из символов, устраняет перемежение и декодирует) M демодулированных потоков символов соответственно M скоростям, выбранным для этих потоков, и обеспечивает декодированные данные, которые являются оценкой данных трафика, переданных передатчиком 110. Далее процессор 180 данных RX может обеспечивать результаты декодирования (например, состояние каждого пакета) в контроллер 182/ селектор скорости.
Главные контроллеры 140 и 190 управляют работой различных процессоров соответственно в передатчике 110 и приемнике 150. Блоки 142 и 192 памяти хранят данные и коды программ, используемые соответственно контроллерами 140 и 190.
Для выбора скорости/ управления скоростью эстиматор (блок анализа) 172 канала может обрабатывать принятые символы пилот-сигнала и, возможно, демодулированные символы данных и получать оценки канала, например оценки отношения SNR, для каналов передачи (данных). Селектор 182 скорости принимает оценки канала и результаты декодирования, выбирает единую скорость кодирования для всех M потоков данных и схему модуляции для каждого потока данных и обеспечивает M скоростей для M потоков данных в контроллер 190. Скорость для каждого потока данных указывает на скорость кодирования и схему модуляции, используемую для этого потока данных.
Контроллер 190 передает информацию о скорости (например, M скоростей) и, возможно, другую информацию (например, квитанции (ACK) для пакетов, декодированных правильно) через второй канал 152 связи в передатчик 110. Контроллер 140 в передатчике 110 принимает информацию о скорости и обеспечивает M скоростей в процессор 120 данных TX. На фиг.1 изображен выбор скорости, выполняемый приемником 150. В общем, выбор скорости может быть выполнен приемником 150, или передатчиком 110, или обоими.
Согласно аспекту, для всех M потоков данных выбирают единую скорость кодирования, а для каждого потока данных может быть выбрана отличная схема модуляции. Соответственно, у M скоростей для M потоков данных одинаковая скорость кодирования и могут быть одинаковые или разные схемы модуляции. Использование единой скорости кодирования для всех потоков данных может упростить кодирование в передатчике и декодирование в приемнике, может упростить выбор скорости и/или сократить количество (информации, передаваемой по) обратной связи о скорости и может улучшить характеристики потоков данных.
Система может поддерживать набор скоростей кодирования. Каждую скорость кодирования можно ассоциировать с отдельной схемой кодирования и отдельным количеством избыточности. Поддерживаемые скорости кодирования можно ассоциировать с (1) разными схемами кодирования или (2) одинаковой схемой кодирования, но разными скоростями выкалывания. Схема кодирования может содержать сверточный код, турбо-код, блочный код, какой-либо другой код или их комбинацию.
В таблице 1 приведен иллюстративный набор скоростей, поддерживаемых системой. Каждая поддерживаемая скорость ассоциирована с конкретной скоростью данных, конкретной скоростью кодирования, конкретной схемой модуляции и конкретным минимальным отношением SNR, требуемым для достижения заданного уровня характеристик. Скорость данных может быть задана количеством бит данных на символ модуляции (bit/sym). Заданный уровень характеристик можно количественно оценивать посредством целевой частоты PER, например 1% PER для незамирания (сигнала), канал AWGN. Требуемое отношение SNR для каждой скорости можно получить посредством компьютерного моделирования, эмпирических измерений, вычислений и/или других средств и для конкретной модели системы (например, конкретной скорости кодирования, схемы перемежения и схемы модуляции, используемой для этой скорости) и канала AWGN.
В примере, приведенном в таблице 1, поддерживаются четыре скорости кодирования 1/4, 1/2, 3/4 и 7/8. Со скоростями кодирования 1/4, 1/2 и 3/4 можно использовать схемы модуляции BPSK, QPSK, 16-QAM, 64-QAM и 256-QAM. Со скоростью кодирования 7/8 можно использовать схемы модуляции QPSK, 16-QAM, 64-QAM и 256-QAM. Следовательно, допустимы только определенные скорости (или пары модуляции и скорости кодирования). В общем, система может поддерживать любой набор скоростей кодирования, который может содержать скорости кодирования, не перечисленные в таблице 1, например скорости кодирования 7/12, 5/8, 5/6 и т.д. Более того, система может обеспечивать возможность использования любого набора схем модуляции с каждой скоростью кодирования. В таблице 1 также приведены требуемые отношения SNR для некоторых скоростей.
Таблица 1 | |||||||
Набор скоростей | |||||||
Скоростьданных(bit/sym) | Скоростькодирования | Схемамодуляции | ТребуемоеSNR(dB) | Скоростьданных(bit/sym) | Скоростькодирования | Схемамодуляции | ТребуемоеSNR(dB) |
0,25 | 1/4 | BPSK | -1,8 | 0,5 | 1/2 | BPSK | 0,6 |
0,5 | 1/4 | QPSK | 1,2 | 1,0 | 1/2 | QPSK | 2,9 |
1,0 | 1/4 | 16-QAM | 7,2 | 2,0 | 1/2 | 16-QAM | 8,7 |
1,5 | 1/4 | 64-QAM | 13,2 | 3,0 | 1/2 | 64-QAM | 14,4 |
2,0 | 1/4 | 256-QAM | 19,2 | 4,0 | 1/2 | 256-QAM | 19,9 |
0,75 | 3/4 | BPSK | 3,8 | ||||
1,5 | 3/4 | QPSK | 6,4 | 1,75 | 7/8 | QPSK | 8,7 |
3,0 | 3/4 | 16-QAM | 13,6 | 3,5 | 7/8 | 16-QAM | 15,8 |
4,5 | 3/4 | 64-QAM | 19,2 | 5,25 | 7/8 | 64-QAM | 22,0 |
6,0 | 3/4 | 256-QAM | 26,1 | 7,0 | 7/8 | 256-QAM | 28,0 |
На фиг.2 изображен процесс 200 передачи нескольких (M) потоков данных в один приемник с использованием единой скорости кодирования и различных схем модуляции согласно варианту осуществления. Для всех M потоков данных выбирают единую скорость кодирования и для каждого потока данных выбирают схему модуляции на основании оценок канала, например оценок SNR, для этих потоков данных (блок 210). Оценки для потоков данных могут зависеть от количества передаваемых потоков данных, способа пространственной обработки в приемнике, используемого приемником и т.д., как описано ниже. Выбор скорости можно выполнить различными способами, что также описано ниже.
Выбор скорости в блоке 210 может быть выполнен приемником, и выбранные скорости могут быть переданы назад в передатчик, как изображено на фиг.1. В качестве альтернативы выбор скорости может быть выполнен передатчиком на основе информации, полученной из/для приемника. Например, в системе с временным дуплексным разносом (TDD) можно предположить, что канал передатчика, из передатчика в приемник, и канал приемника, из приемника в передатчик, являются обратными друг другу. В этом случае передатчик может получать оценки канала, например оценки SNR, для канала приемника на основании пилот-сигнала, получаемого от приемника. Тогда передатчик может получать оценки для канала передатчика на основании оценок для канала приемника и асимметричного параметра, указывающего на разность, например разности отношений SNR для двух каналов. Далее передатчик может выбирать скорости для потоков данных на основании оценок для канала передатчика. Передатчик и приемник также могут совместно выбирать скорости.
Независимо от того, как выбраны скорости, передатчик получает скорости, выбранные для потоков данных. Далее передатчик кодирует данные трафика для всех потоков данных соответственно единой скорости кодирования, выбранной для этих потоков данных (блок 212). Далее передатчик модулирует (или отображает в символы) закодированные данные для каждого потока данных согласно схеме модуляции, выбранной для этого потока (блок 214). Далее передатчик обрабатывает потоки данных (например, для пространственной передачи, OFDM и т.д.) и передает эти потоки данных в несколько каналов передачи (данных) (блок 216).
Выбор скорости в блоке 210 можно выполнять в начале передачи данных, в каждом кадре или временном интервале, в определенные моменты времени и т.д. Кодирование и модуляцию для потоков данных настраивают каждый раз, когда выбраны новые скорости для этих потоков данных.
Одновременно можно передавать различное количество потоков данных (например, один, два, три или большее количество потоков данных). Потоки данных могут создавать друг другу помехи, например, если эти потоки данных переданы в несколько пространственных каналов канала MIMO. Наибольшая общая пропускная способность может быть достигнута посредством передачи максимального количества потоков данных или, возможно, меньшего количества потоков данных в зависимости от условий на канале и количества (взаимных) помех среди этих потоков данных.
На фиг.3 изображен процесс 210а выбора скоростей для потоков данных в системе с независимой скоростью на поток согласно варианту осуществления. Процесс 210а является вариантом осуществления блока 210 на фиг.2. Процесс 210а оценивает различное количество потоков данных и различные скорости кодирования и выбирает количество потоков данных и скорость кодирования, которые обеспечивают наибольшую общую пропускную способность и поддерживаются условиями на канале. Каждое различное количество потоков данных также называется комбинацией потоков или гипотезой о потоках. Количество оцениваемых комбинаций потоков обычно зависит от количества каналов передачи, доступных для передачи данных. Например, в системе MDVIO с S пространственными каналами могут быть оценены S комбинаций потоков для 1, 2,... и S потоков данных. Оцениваемыми скоростями кодирования могут быть скорости кодирования 1/4, 1/2, 3/4 и 7/8, приведенные для примера в таблице 1.
Сначала переменную max_otp, используемую для хранения текущей наибольшей общей пропускной способности, инициализируют нулем, или max_otp=0 (блок 310). Переменную M, используемую для обозначения количества передаваемых потоков данных, инициализируют единицей, или M=1 (также блок 310).
Цикл 320 оценивает одну комбинацию потоков за один раз, начиная с наименьшего количества потоков данных (или M=1) на первой итерации этого цикла. Для оценки выбирают комбинацию потоков данных с M потоками данных. Для этой комбинации потоков для каждого потока данных определяют оценку отношения SNR в предположении, что M потоков данных будут переданы в M каналов передачи (данных) (блок 324). Оценка отношения SNR описана ниже.
Цикл 330 оценивает одну скорость кодирования за один раз, например, начиная с наименьшей скорости кодирования на первой итерации этого цикла. Для оценки выбирают скорость кодирования (блок 332). Для текущей скорости кодирования для каждого из M потоков данных выбирают схему модуляции на основании оценки отношения SNR для этого потока данных и, возможно, оценок отношений SNR для остальных потоков данных (блок 334). Например, оценку отношения SNR для каждого потока данных можно сравнивать с требуемым отношением SNR для каждой схемы модуляции, допустимой для текущей скорости кодирования, и для этого потока данных можно выбрать схему модуляции наивысшего порядка с требуемым отношением SNR, меньшим или равным, чем оценка отношения SNR (для этого потока данных). Другие схемы выбора схем модуляции для M потоков данных описаны ниже.
После выбора схем модуляции для M потоков данных определяют скорость данных для каждого потока данных на основании схемы модуляции, выбранной для потока данных, и текущей скорости кодирования. Далее вычисляют общую пропускную способность для текущей скорости кодирования как сумму скоростей данных для M потоков данных (блок 336). Если эта общая пропускная способность больше, чем текущая max_otp, как определено в блоке 338, то max_otp обновляют этой общей пропускной способностью и сохраняют текущую комбинацию скоростей, текущую скорость кодирования и схемы модуляции для M потоков данных (блок 340).
Далее определяют, все ли скорости кодирования оценены (блок 342). Если ответ "Нет", то процесс возвращается в блок 332 для оценки другой скорости кодирования, например следующей наибольшей скорости кодирования. Иначе, если оценены все скорости кодирования для текущей комбинации потоков, то определяют, все ли комбинации потоков оценены (блок 344). Если ответ "Нет", то переменную M увеличивают M=M+1 (блок 346) и процесс возвращается в блок 322 для оценки другой комбинации потоков. Иначе, если оценены все комбинации потоков, то комбинацию потоков, скорость кодирования и схемы модуляции с наибольшей общей пропускной способностью обеспечивают для использования (блок 348).
Для данной комбинации потоков для нескольких скоростей кодирования может быть одинаковая наибольшая общая пропускная способность. В этом случае можно выбрать наиболее устойчивую к ошибкам скорость кодирования (которая является наименьшей скоростью кодирования) среди этих нескольких скоростей кодирования. Этого можно достичь посредством (1) оценки скоростей кодирования в последовательном порядке, начиная с наименьшей скорости кодирования, и (2) сохраняя большую скорость кодирования только, если общая пропускная способность выше, как изображено на фиг.3.
Также для нескольких комбинаций потоков может быть одинаковая наибольшая общая пропускная способность. Согласно варианту осуществления, когда у нескольких комбинаций потоков одинаковая наибольшая общая скорость, выбирают комбинацию потоков с наименьшим количеством потоков данных. Этого можно достичь посредством (1) оценки комбинаций потоков в последовательном порядке, начиная с комбинации потоков с наименьшим количеством потоков данных и (2) сохраняя комбинацию потоков только, если общая пропускная способность выше, как изображено на фиг.3.
Согласно другому варианту осуществления, когда для нескольких комбинаций потоков наибольшая общая пропускная способность одинаковая, выбирают комбинацию потоков с наибольшим общим запасом для SNR. Запас для SNR для каждого потока данных m может быть выражен как:
для m=l,...,M, (1)
где Rm является скоростью, выбранной для потока данных m,
SNRest(m) является оценкой отношения SNR для потока данных m,
SNRreq(Rm) является требуемым отношением SNR для скорости Rm, и
SNRmargin(m) является запасом для SNR для потока данных m.
SNRest(m), SNRreg(Rm) и SNRmargin (m) даны в децибелах (dB). Общий запас для SNR для всех M потоков данных может быть выражен как:
(2)
Согласно еще одному варианту осуществления, когда для нескольких комбинаций потоков общая пропускная способность одинаковая, выбирают комбинацию потоков с большим количеством потоков данных, если ее общий запас для SNR превышает общий запас для SNR другой комбинации потоков с меньшим количеством потоков данных на предопределенную величину, обозначенную как Δmargin. В общем, когда для нескольких комбинаций потоков наибольшая общая пропускная способность одинаковая, для уменьшения перекрестных помех между этими потоками и для упрощения обработки в передатчике и приемнике можно выбирать комбинацию потоков с меньшим количеством потоков данных. Однако если можно достичь лучших характеристик (большей общей пропускной способности, большего общего запаса для SNR и т.д.), то можно выбирать комбинацию потоков с большим количеством потоков данных.
В общем, когда для нескольких комбинаций потоков наибольшая общая пропускная способность одинаковая, для выбора одной комбинации потоков можно использовать любой описанный выше вариант осуществления/ критерий (скорость кодирования, количество потоков, запас для SNR и т.д.), любую их комбинацию или их всех. Например, если для нескольких комбинаций потоков наибольшая общая пропускная способность одинаковая, то (1) можно выбирать комбинации потоков с наименьшим количеством потоков, далее (2) из этих выбранных комбинаций потоков можно выбирать комбинации потоков с наибольшим запасом для SNR для, скажем, наименьшего потока, далее (3) из этих выбранных комбинаций потоков можно выбирать комбинации потоков с наиболее устойчивой к ошибкам скоростью кодирования и т.д., пока не будет выбрана только одна комбинация потоков.
Согласно варианту осуществления выбора скорости, изображенному на фиг.3, для каждого потока данных схему модуляции выбирают независимо, только на основании оценки отношения SNR для этого потока данных. Этот вариант осуществления может быть использован, если система допускает независимый выбор скорости на поток, и каждый поток данных кодируют независимо (описано ниже). Выбор схемы модуляции с положительным запасом для SNR для каждого потока данных обеспечивает, что каждый поток данных может быть надежно принят.
Согласно другому варианту осуществления выбора скорости для M потоков данных схемы модуляции выбирают посредством разделения запаса. Этот вариант осуществления может быть использован, если система допускает независимый выбор скорости на поток, и потоки данных кодируют совместно (описано ниже). Согласно этому варианту осуществления для каждого потока данных схему модуляции сначала выбирают на основании оценки отношения SNR для этого потока данных, как описано выше. Для каждого потока данных запас для SNR определяют, как показано в уравнении (1). Тогда общий запас для SNR для всех M потоков данных вычисляют, как показано в уравнении (2). Общий запас для SNR предоставляют одному или большему количеству потоков данных, чтобы обеспечить схему модуляции более высокого порядка, которая должна быть выбрана для каждого из одного или большего количества потоков данных, если возможно.
Предоставление общего запаса для SNR можно выполнять различными способами. Согласно первой схеме разделения запаса M потоков данных хранят в убывающем порядке на основании их оценок отношения SNR, от наибольшей до наименьшей оценок отношения SNR. Далее отсортированные потоки данных выбирают по очереди для возможного продвижения, начиная с потока данных, у которого наибольшая оценка отношения SNR. Для выбранного потока данных вычисляют отношение SNR продвижения как разность между требуемым отношением SNR для следующей схемы модуляции более высокого порядка (если таковая имеется) и требуемым отношением SNR для схемы модуляции, первоначально выбранной для этого потока данных. Если отношение SNR продвижения меньше или равно общему запасу для SNR, то выбранный поток данных продвигают к следующей схеме модуляции более высокого порядка, а общий запас SNR уменьшают на отношение SNR продвижения. Соответственно, выбранному потоку данных выделяют адекватный запас для SNR для выбора следующей схемы модуляции более высокого порядка. Для каждого оставшегося потока данных повторяют идентичную обработку, пока невозможно будет продвинуть ни один поток данных.
Согласно второй схеме разделения запаса M потоков данных хранят в возрастающем порядке на основании их оценок отношения SNR, от наименьшей до наибольшей оценок отношения SNR. Далее отсортированные потоки данных выбирают по очереди для возможного продвижения, начиная с потока данных, у которого наименьшая оценка отношения SNR.
Согласно третьей схеме разделения запаса M потоков данных хранят в возрастающем порядке на основании их разностных отношений SNR, от наименьшего до наибольшего разностных отношений SNR. Разностным отношением SNR для потока данных является разность между требуемым отношением SNR для следующей схемы модуляции более высокого порядка и оценкой отношения SNR для потока данных. Далее отсортированные потоки данных выбирают по очереди для возможного продвижения, начиная с потока данных, у которого наименьшее разностное отношение SNR. В этой схеме пытаются сначала продвинуть поток данных, которому для продвижения необходим наименьший запас для SNR, который может улучшить характеристики и обеспечить возможность продвижения большего количества потоков данных.
Согласно четвертой схеме разделения запаса M потоков данных хранят в возрастающем порядке на основании их отношений SNR продвижения, от наименьшего до наибольшего отношений SNR продвижения. Далее отсортированные потоки данных выбирают по очереди для возможного продвижения, начиная с потока данных, у которого наименьшее отношение SNR продвижения. В этой схеме пытаются сначала продвинуть поток данных, у которого наименьшее отношение SNR продвижения, который может обеспечить возможность продвижения большего количества потоков данных.
Для выполнения разделения запаса также можно использовать другие схемы, и это находится в пределах объема раскрытия. В общем, общий запас для SNR может предоставляться M потокам данных в различном порядке и различными способами. Согласно варианту осуществления поток данных может быть продвинут к схеме модуляции, которая на более чем одним порядок выше. Например, поток данных может быть продвинут на столько, на сколько это возможно на основании общего запаса SNR. Согласно другому варианту осуществления запас для SNR, который может быть выделен потоку данных, ограничен предопределенным значением SNRallo_max. SNRallo_max ограничивает количество отрицательного запаса для SNR, наблюдаемого любым потоком данных, и обеспечивает, что никакой поток данных не будет передан со скоростью с требуемым отношением SNR, которое существенно выше оценки отношения SNR для этого потока данных. SNRallo_max может быть фиксированной величиной для всех скоростей кодирования. В качестве альтернативы SNRallo_max может быть переменной величиной, которая является функцией скорости кодирования так, что для менее устойчивой к ошибкам скорости кодирования (например, скорости кодирования 7/8) может быть использовано меньшее отношение SNRallo_max, а для более устойчивой к ошибкам скорости кодирования (например, скорости кодирования 1/2) может быть использовано большее отношение SNRallo_max.
Система может обеспечивать только определенную комбинацию скоростей, например, чтобы сократить количество передаваемой назад передатчику информации о скорости. Набор комбинаций скоростей, обеспечиваемых системой, часто называют векторным разбитым на подгруппы набором скоростей. В таблице 2 приведен иллюстративный векторный разбитый на подгруппы набор скоростей для системы, в которой передатчик может передавать до четырех потоков данных и могут быть выбраны скорости кодирования 1/4, 1/2 и 3/4. В таблице 2 для каждой комбинации скоростей даны общая пропускная способность (OTP, ОПС), количество передаваемых потоков данных (Num Str, Кол. пот.), скорость кодирования, используемая для всех потоков данных, и схема модуляции, используемая для каждого потока данных. В таблице 2 "B" обозначает BPSK, "Q" обозначает QPSK, "16" обозначает 16-QAM, "64" обозначает 64-QAM и "256" обозначает 256-QAM. Для примера, для комбинации скоростей с общей пропускной способностью 19.5 бит данных/ период символа передаются четыре потока данных, для всех четырех потоков данных используется скорость кодирования 3/4, для потоков данных 1 и 2 используется 256-QAM, для потока данных 3 используется 64-QAM и для потока данных 4 используется 16-QAM. Для комбинаций скоростей только с одним потоком данных могут поддерживаться все или подмножество скоростей, приведенных в таблице 1. Также можно определить набор скоростей, покрывающий другие скорости кодирования, такие как, например, скорости кодирования 7/12, 5/8, 5/6, 7/8 и т.д.
Таблица 2 | |||||||||||||
Векторный разбитый на подгруппы набор скоростей | |||||||||||||
ОПС | Кол.пот. | Скоростькодирования | Модуляциядля потока | ОПС | Кол.пот. | Скоростькодирования | Модуляциядля потока | ||||||
1 | 2 | 3 | 4 | 1 | 2 | 3 | 4 | ||||||
1,0 | 2 | 1/4 | Q | Q | 9,75 | 3 | 3/4 | 64 | 64 | B | - | ||
1,5 | 2 | 1/2 | Q | B | - | - | 12,0 | 3 | 3/4 | 64 | 64 | 16 | - |
2,0 | 2 | 1/2 | Q | Q | - | - | 12,0 | 3 | 3/4 | 256 | 64 | Q | - |
3,0 | 2 | 1/2 | 16 | Q | - | - | 13,5 | 3 | 3/4 | 256 | 64 | 16 | - |
3,0 | 2 | 3/4 | Q | Q | - | - | 13,5 | 3 | 3/4 | 256 | 256 | Q | - |
4,5 | 2 | 3/4 | 16 | Q | - | - | 15,0 | 3 | 3/4 | 256 | 256 | 16 | - |
5,25 | 2 | 3/4 | 64 | B | - | - | 16,5 | 3 | 3/4 | 256 | 256 | 64 | - |
6,0 | 2 | 3/4 | 64 | Q | - | - | 7,5 | 4 | 1/2 | 64 | 16 | Q | B |
7,5 | 2 | 3/4 | 64 | 16 | - | - | 9,0 | 4 | 1/2 | 64 | 64 | 16 | Q |
9,0 | 2 | 3/4 | 64 | 64 | - | - | 11,0 | 4 | 1/2 | 64 | 64 | 64 | 16 |
9,0 | 2 | 3/4 | 256 | 16 | - | - | 10,5 | 4 | 3/4 | 64 | 16 | Q | Q |
10,5 | 2 | 3/4 | 256 | 64 | - | - | 13,5 | 4 | 3/4 | 64 | 64 | 16 | Q |
12,0 | 2 | 3/4 | 256 | 256 | - | - | 13,5 | 4 | 3/4 | 256 | 64 | Q | Q |
6,0 | 3 | 1/2 | 64 | 16 | Q | - | 15,0 | 4 | 3/4 | 256 | 64 | 16 | Q |
7,0 | 3 | 1/2 | 64 | 64 | Q | - | 18,0 | 4 | 3/4 | 256 | 64 | 64 | 16 |
7,0 | 3 | 1/2 | 256 | 16 | Q | - | 19,5 | 4 | 3/4 | 256 | 256 | 64 | 16 |
9,0 | 3 | 1/2 | 256 | 64 | 16 | - | 21,0 | 4 | 3/4 | 256 | 256 | 256 | 16 |
На фиг.4 изображен процесс 210b выбора скоростей для потоков данных в системе с векторным разбитым на подгруппы набором скоростей согласно варианту осуществления. Процесс 210b является другим вариантом осуществления блока 210 на фиг.2. Процесс 210b оценивает различные комбинации потоков и различные скорости кодирования на основании набора скоростей, поддерживаемых системой, и выбирает комбинацию скоростей, которая обеспечивает самую высокую общую пропускную способность и поддерживается условиями на канале.
Сначала переменную max_otp инициализируют нулем, а переменную M инициализируют единицей (блок 410). На первой итерации цикла 420 для оценки выбирают комбинацию потоков с M потоками данных (блок 422) и для каждого из M потоков данных определяют оценку отношения SNR (блок 424). Далее выполняют цикл 430 один раз для каждой скорости кодирования, которая может быть выбрана для текущей комбинации потоков.
На каждой итерации цикла 430 для оценки выбирают скорость кодирования, например, начиная с самой низкой скорости кодирования, допустимой для текущей комбинации потоков (блок 432). Для текущей скорости кодирования общий запас для SNR для каждой допустимой комбинации скоростей определяют на основании оценок отношения SNR для M потоков данных (блок 434). Для данной комбинации скоростей с