КОДИРОВАНИЕ И МОДУЛЯЦИИ ДЛЯ МНОЖЕСТВА ПОТОКОВ ДАННЫХ В СИСТЕМЕ СВЯЗИ
CODING AND MODULATION FOR SEVERAL DATA STREAMS IN COMMUNICATION SYSTEM

Притязание на приоритет
Настоящая патентная заявка притязает на приоритет по предварительной заявке № 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)
m
где R является скоростью, выбранной для потока данных m,
est
SNR(m) является оценкой отношения SNR для потока данных m,
req
m
m
SNR(R) является требуемым отношением SNR для скорости R, и
margin
SNR(m) является запасом для SNR для потока данных m.
est
reg
m
margin
SNR(m), SNR(R) и SNR (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 продвижения, который может обеспечить возможность продвижения большего количества потоков данных.
allo_max
allo_max
allo_max
allo_max
allo_max
allo_max
Для выполнения разделения запаса также можно использовать другие схемы, и это находится в пределах объема раскрытия. В общем, общий запас для SNR может предоставляться M потокам данных в различном порядке и различными способами. Согласно варианту осуществления поток данных может быть продвинут к схеме модуляции, которая на более чем одним порядок выше. Например, поток данных может быть продвинут на столько, на сколько это возможно на основании общего запаса SNR. Согласно другому варианту осуществления запас для SNR, который может быть выделен потоку данных, ограничен предопределенным значением SNR. SNR ограничивает количество отрицательного запаса для SNR, наблюдаемого любым потоком данных, и обеспечивает, что никакой поток данных не будет передан со скоростью с требуемым отношением SNR, которое существенно выше оценки отношения SNR для этого потока данных. SNR может быть фиксированной величиной для всех скоростей кодирования. В качестве альтернативы SNR может быть переменной величиной, которая является функцией скорости кодирования так, что для менее устойчивой к ошибкам скорости кодирования (например, скорости кодирования 7/8) может быть использовано меньшее отношение SNR, а для более устойчивой к ошибкам скорости кодирования (например, скорости кодирования 1/2) может быть использовано большее отношение SNR.
Система может обеспечивать только определенную комбинацию скоростей, например, чтобы сократить количество передаваемой назад передатчику информации о скорости. Набор комбинаций скоростей, обеспечиваемых системой, часто называют векторным разбитым на подгруппы набором скоростей. В таблице 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 один раз для каждой скорости кодирования, которая может быть выбрана для текущей комбинации потоков.
req
m
На каждой итерации цикла 430 для оценки выбирают скорость кодирования, например, начиная с самой низкой скорости кодирования, допустимой для текущей комбинации потоков (блок 432). Для текущей скорости кодирования общий запас для SNR для каждой допустимой комбинации скоростей определяют на основании оценок отношения SNR для M потоков данных (блок 434). Для данной комбинации скоростей с M потоками данных общий запас для SNR может быть определен следующим образом. Для каждого потока данных m в комбинации скоростей запас для SNR сначала вычисляют, как показано в уравнении (1), где SNR(R)является требуемым отношением SNR для скорости, заданной комбинацией скоростей для потока данных m. Поскольку скорость для каждого потока данных в комбинации скоростей задана, для каждого потока данных запас для SNR может быть положительной или отрицательной величиной. Если для любого потока данных в комбинации скоростей запас для SNR хуже, чем предопределенное значение (например, -2 dB), то эту комбинацию скоростей можно отвергнуть. Это предопределенное значение может быть фиксированной величиной или переменной величиной, которая является функцией скорости кодирования. Например, большее отрицательное значение (например, -3 dB) может быть использовано для более устойчивой к ошибкам скорости кодирования (например, скорости кодирования 1/2), а меньшее отрицательное значение (например, -1 dB) может быть использовано для менее устойчивой к ошибкам скорости кодирования (например, скорости кодирования 3/4) Далее общий запас для SNR вычисляют как сумму запасов для SNR для M потоков данных, как показано в уравнении (2).
Определяют комбинацию скоростей с наибольшей общей пропускной способностью и неотрицательным общим запасом для SNR (блок 436). Если для нескольких комбинаций скоростей общая пропускная способность одинаковая, то среди этих нескольких комбинаций скоростей выбирают комбинацию скоростей с наибольшим общим запасом для SNR. Если наибольшая общая пропускная способность больше, чем текущая max_otp, как определено в блоке 438, то max_otp обновляют этой общей пропускной способностью, и сохраняют комбинацию скоростей с этой наибольшей общей пропускной способностью (блок 440).
Далее определяют, все ли скорости кодирования оценены (блок 442). Если ответ "Нет", то процесс возвращается в блок 432 для оценки другой скорости кодирования. Иначе, если оценены все скорости кодирования для текущей комбинации потоков, то определяют, все ли комбинации потоков оценены (блок 444). Если ответ "Нет", то переменную M увеличивают M=M+1 (блок 446) и процесс возвращается в блок 422 для оценки другой комбинации потоков. Иначе, если оценены все комбинации потоков, то комбинацию потоков с наибольшей общей пропускной способностью обеспечивают для использования (блок 448).
Для данной комбинации потоков для нескольких комбинаций скоростей может быть достигнута одинаковая наибольшая общая пропускная способность и неотрицательные общие запасы для SNR. В этом случае может быть выбрана комбинация скоростей с наиболее устойчивой к ошибкам скоростью кодирования или комбинация скоростей с наибольшим общим запасом для SNR. Для разных комбинаций потоков для нескольких комбинаций скоростей могут быть достигнуты одинаковая наибольшая общая пропускная способность и неотрицательные общие запасы для SNR. В этом случае может быть выбрана комбинация скоростей с наименьшим количеством потоков данных, комбинация скоростей с наибольшим общим запасом для SNR, комбинация скоростей с большим количеством потоков данных, но большим общим запасом для SNR по Δmargin или какая-либо другая комбинация скоростей.
margin_min
margin_min
Согласно другому варианту осуществления для выбора скоростей в системе с векторным разбитым на подгруппы набором скоростей набор скоростей упорядочен по требуемому отношению SNR для указанного потока данных (например, первого потока данных), например, от наименьшего требуемого отношения SNR до наибольшего требуемого отношения SNR на указанном потоке данных. Для указанного потока данных может быть установлен минимальный запас для SNR SNR. Комбинации скоростей в наборе скоростей можно оценивать по очереди согласно схемам, описанным выше, и дополнительно сравнивая запас для SNR первого потока данных (который является требуемым отношением SNR минус фактическое отношение SNR для первого потока данных) с минимумом запаса для SNR. Так как комбинации скоростей упорядочены по требуемому отношению SNR первого потока данных, от наименьшего до наибольшего, запас для SNR постепенно ухудшается. Отсюда, когда встретится комбинация скоростей, у первого потока данных которой запас для SNR хуже минимального запаса для SNR, оставшиеся комбинации скоростей можно игнорировать, так как у первого потока данных для этих комбинаций скоростей запас для SNR будет хуже минимального запаса для SNR. Это упорядочение сокращает количество оцениваемых комбинаций скоростей. Далее, с использованием любого из способов, описанных выше, можно выбрать одну из комбинаций скоростей, чей запас для SNR первого потока данных лучше, чем SNR. Комбинации скоростей можно упорядочивать по требуемому отношению SNR для любого потока данных, и не обязательно первого потока данных. Более того, упорядочение может быть выполнено для всех комбинаций скоростей в наборе скоростей или только для комбинаций скоростей для каждой скорости кодирования.
Согласно еще одному варианту осуществления для выбора скоростей в системе с векторным разбитым на подгруппы набором скоростей для каждой комбинации скоростей вычислено общее требуемое отношение SNR как сумма требуемых отношений SNR для скоростей, указанных для всех потоков данных в этой комбинации скоростей. Общее требуемое отношение SNR и общая пропускная способность для каждой комбинации скоростей в наборе скоростей могут быть сохранены в справочной таблице. Для выбора скоростей оценка общего отношения SNR вычисляется как сумма оценок отношения SNR для всех M потоков данных. Далее выбирают комбинацию скоростей с наибольшей общей пропускной способностью и общим требуемым отношением SNR, которое меньше или равно оценке общего отношения SNR. В этом варианте осуществления запас для SNR, который может быть выделен каждому потоку данных, не ограничен.
Выше описаны иллюстративные варианты осуществления для выбора скоростей для системы с независимой скоростью на поток и системы с векторным разбитым на подгруппы набором скоростей. Выбор скоростей также может быть выполнен другими способами, с разделением запаса или без него.
На фиг.5 изображена блок-схема варианта осуществления процессора 120 данных TX в передатчике 110 согласно варианту осуществления. Процессор 120 данных TX содержит кодер 510, демультиплексор (Demux) 520 и M пар перемежителей 522 и блоков 524 отображения в символы для M потоков данных. Кодер 510 кодирует данные трафика соответственно единой скорости кодирования и формирует кодовые биты. Единая скорость кодирования может содержать сверточный код, турбо-код, код контроля (по) четности низкой плотности (LDPC), код циклического контроля избыточности (CRC), блочный код и т.д. или их комбинацию. Согласно варианту осуществления кодер 510 реализует двоичный сверточный кодер скорости 1/2, который формирует два кодовых бита для каждого бита данных. Далее блок выкалывания (на фиг.5 не изображен) выкалывает или исключает столько кодовых битов, сколько необходимо для достижения единой скорости кодирования. Демультиплексор принимает кодовые биты из кодера 510, демультиплексирует кодовые биты в M потоков и обеспечивает M потоков кодовых битов в M перемежителей, с 522a по 522m.
Кодер 510 отдельно кодирует каждый пакет данных трафика, и закодированный пакет может быть передан в один или несколько потоков данных. Если каждый из M потоков данных кодируют и модулируют независимо, то кодер 510 может быть задействован M раз для отдельного кодирования пакетов для M потоков данных, а демультиплексор 520 обеспечивает каждый закодированный пакет в один перемежитель 522 для одного потока данных. В качестве альтернативы для M потоков данных можно использовать M отдельных кодеров (на фиг.5 не изображено). Если M потоков данных кодируют совместно, но модулируют независимо, то кодер 510 кодирует каждый пакет, а демультиплексор 520 разбивает каждый закодированный пакет на несколько подпакетов или блоков и обеспечивает эти подпакеты в разные перемежители 522. В любом случае каждый перемежитель 522 перемежает или переупорядочивает кодовые биты в свой поток согласно схеме перемежения и обеспечивает перемеженные биты в ассоциированный блок 524 отображения в символы. Каждый блок 524 отображения в символы отображает перемеженные биты согласно схеме модуляции, выбранной для своего потока, и обеспечивает поток символов данных. M блоков, с 524a по 524m, отображения в символы обеспечивают M потоков символов данных.
m
m
m
Описанные здесь способы выбора скоростей и передачи данных можно использовать для различных систем и различных видов каналов передачи (данных). Частотная характеристика частотно-избирательного канала передачи (данных) m может быть задана посредством h(k) для k=1,...,K, где h(k) является комплексным коэффициентом усиления канала для поддиапазона k канала передачи (данных) m. Принятое отношение SNR для каждого поддиапазона k канала передачи данных m, γ(k), может быть выражено как:
для k=1,...,K и m=l,...,S, (3)
m
0
где P(k) является мощностью передачи, используемой для поддиапазона k канала передачи (данных) m, а N является дисперсией шума в приемнике. Уравнение (3) показывает иллюстративное выражение для принятого отношения SNR. В общем, выражение для принятого отношения SNR может содержать члены для различных факторов. Например, в системе MIMO принятое отношение SNR зависит от пространственной обработки, выполненной передатчиком и приемником, как описано ниже. Принятое отношение SNR в уравнении (3) и другие величины отношения SNR в последующем описании даны в dB.
avg,m
В каждый канал передачи (данных) можно передать один поток данных. Для каждого канала передачи (данных)/ потока данных оценку отношения SNR можно получать различными способами. Ниже описан вариант осуществления для получения оценки отношения SNR. Согласно этому варианту осуществления среднее отношение SNR для каждого потока данных m, γ, вычисляется как:
(4)
2
snr,m
Дисперсия полученных отношений SNR для каждого потока данных m, σ , может быть вычислена как:
(5)
est
Оценка отношения SNR для каждого потока данных m, SNR(m) может быть вычислена как:
SNR
(m)=γ
-γ
est
avg,m
bo,m
, (6)
bo,m
bo,m
os,m
bo
snr,m
bo
2
где γ является коэффициентом потери мощности для потока данных m. Коэффициент потери мощности γ можно использовать для вычисления изменчивости в принятых отношениях SNR по потоку данных, и может быть вычислен как функция среднего отношения SNR и дисперсии SNR, например γ=Kσ , где K является константой. Посредством коэффициента потери мощности также можно вычислять другие коэффициенты, такие как, например, кратность разнесения для потока данных, схемы кодирования и перемежения, используемые для потока данных, размер пакета и т.д.
H
H
H
Для системы MIMO-OFDM канал MIMO между передатчиком и приемником может характеризоваться набором из K матриц характеристик канала, (k) для k=1,..., K. Каждая матрица характеристик канала (k) имеет размерность R×T и содержит комплексный коэффициент усиления между каждой передающей антенной и каждой приемной антенной для поддиапазона k. Каждая матрица (k) содержит S пространственных каналов, где S≤min{T,R}. Для канала MIMO можно сформировать до S широкополосных пространственных каналов, где каждый широкополосный пространственный канал содержит один пространственный канал для каждого из K поддиапазонов. Например, каждый широкополосный пространственный канал может соответствовать K поддиапазонам одной передающей антенны. В качестве другого примера каждый широкополосный пространственный канал может содержать одну собственную моду для каждого из K поддиапазонов. Каждый широкополосный пространственный канал можно использовать как канал передачи (данных).
Для систем MIMO и MIMO-OFDM можно сформировать различные каналы передачи (данных) посредством передатчика, выполняющего различную пространственную обработку. Например, передатчик может выполнять собственное управление, отсутствие управления или пространственное расширение.
H
Для собственного управления матрицу характеристик канала (k) для каждого поддиапазона можно диагонализировать посредством выполнения разложения по собственным значениям следующим образом:
R
H
(k) =
H
E
Λ
E
(k)∙(k) = (k)∙(k)∙
(k)
H
H
, (7)
E
Λ
E
Λ
H
H
"H"
где (k) является унитарной матрицей собственных векторов, (k) является диагональной матрицей, а  обозначает сопряженную матрицу. С использованием (k) передатчик может передавать данные в до S ортогональных пространственных каналов (или собственных мод) каждого поддиапазона k. Диагональная матрица (k) для каждого поддиапазона k содержит коэффициенты усиления по мощности для S собственных мод (k). Матрицу характеристик канала (k) для каждого поддиапазона также можно диагонализировать посредством выполнения разложения по сингулярным числам матрицы следующим образом:
H
U
Σ
E
(k) = (k)∙(k)∙(k),
(8)
U
E
Σ
H
где (k) является унитарной матрицей левых сингулярных векторов, (k) является унитарной матрицей правых сингулярных векторов (которая также является матрицей собственных векторов) и (k) является диагональной матрицей коэффициентов усиления канала для S собственных мод (k).
V
При отсутствии управления передатчик передает данные без какой-либо пространственной обработки, например передает один поток данных из каждой передающей антенны. Для пространственного расширения передатчик передает данные посредством разных управляющих матриц (k) по поддиапазонам и/или периодам символов так, что передача данных наблюдает множество фактических каналов.
s
x
H
s
x
x
В таблице 3 приведена пространственная обработка, выполненная передатчиком для собственного управления ("es"), отсутствия управления ("ns") и пространственного расширения ("ss") для одного поддиапазона с индексом поддиапазона k, который опущен для ясности.  является вектором с количеством символов данных до S, передаваемых по одному поддиапазону в один период символа.  является вектором с количеством символов передачи до T, передаваемых из T передающих антенн по одному поддиапазону в один период символа для моды x, где x может быть "es", "ns" или "ss".  является матрицей характеристик фактического канала, наблюдаемой вектором данных  для моды x.
Таблица 3
Пространственная обработка в передатчике
Собственное управление
Отсутствие управления
Пространственное расширение
ПространственнаяОбработка
<u>X</u><sub>es</sub>=<u>E</u>∙<u>s</u>
<u>X</u><sub>ns</sub>=<u>s</u>
<u>X</u><sub>ss</sub>=<u>V</u>∙<u>s</u>
Фактическийканал
<u>H</u><sub>es</sub>=<u>H</u>∙<u>E</u>
<u>H</u><sub>ns</sub>=<u>H</u>
<u>H</u><sub>ss</sub>=<u>H</u>∙<u>V</u>
Принятые символы, полученные приемником, могут быть выражены как:
r
H
x
= ∙
n
H
+=
s
n
∙+, (9)
x
x
x
r
n
x
n
2
где  является вектором принятых символов для моды x, а  является вектором шума, относительно которого можно предположить, что он является AWGN с дисперсией σ .
ŝ
s
В таблице 4 приведена пространственная обработка, выполненная приемником для получения демодулированных символов , которые являются оценками символов данных . Для собственного управления можно использовать способ полной информации о состоянии канала (полная-CSI). Для собственного управления можно использовать способы обращения корреляционной матрицы канала (CCMI) и минимальной среднеквадратической ошибки (MMSE). Согласно каждому способу приемник получает матрицу пространственного фильтра M для каждого поддиапазона на основании реальной, или фактической, матрицы характеристик канала для этого поддиапазона. Далее посредством матрицы пространственного фильтра приемник выполняет пространственную согласованную фильтрацию принятых символов.
m
m
m
mmse
x
total
m
total
Λ
M
H
В таблице 4 также приведено принятое отношение SNR для каждого поддиапазона k канала передачи (данных) m для трех способов пространственной обработки в приемнике. Для способа полной-CSI λ(k) является m-м диагональным элементом (k). Для способа CCMI r(k) является m-м диагональным элементом Для способа MMSE q(k) является m-м диагональным элементом (k)(k). Как указано в таблице 4, принятые отношения SNR для каждого канала (передачи) зависят от характеристики канала MIMO, способа пространственной обработки в приемнике, используемого приемником, и мощности передачи, выделенной каналу передачи (данных). Для передатчика общая мощность передачи P обычно фиксирована. Мощность передачи Pm, выделяемая каждому каналу передачи (данных) m, может зависеть от количества передаваемых потоков данных, например P=P/M. Принятые отношения SNR для каждого канала передачи (данных) можно использовать для получения оценок отношения SNR для этого канала передачи (данных), как описано выше для уравнений с (3) по (6).
Описанные здесь способы выбора скоростей и передачи данных можно реализовать различными средствами. Например, эти способы могут быть реализованы аппаратными средствами, программными средствами или их комбинацией. Для реализации аппаратными средствами процессоры, используемые для обработки данных для передачи (например, процессор 120 данных TX на фиг.1 и фиг.5), могут быть реализованы в одном или большем количестве специализированных интегральных схем (ASIC), цифровых процессоров сигналов (DSP), устройств цифровой обработки сигналов (DSPD, УЦОС), программируемых логических устройств (PLD, ПЛУ), пользовательских программируемых вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров, микропроцессоров, электронных устройств, других электронных блоков, предназначенных для выполнения описанных здесь функций, или их комбинациях. Процессоры, используемые для выбора скоростей (например, контроллер 182/ селектор скорости на фиг.1), могут быть реализованы в одном или большем количестве схем ASIC, процессоров DSP, процессоров и т.д.
Для реализации программными средствами описанные здесь способы могут быть реализованы посредством модулей (например, процедур, функций и т.д.), которые выполняют описанные здесь функции. Коды программного обеспечения могут храниться в блоке памяти (например, блоке памяти 142 и 192 на фиг.1) и выполняться процессором (например, главным контроллером 140 или 190). Блок памяти можно реализовать внутри процессора или вне процессора, в последнем случае его можно коммуникативно соединять с процессором различными способами, известными в данной области техники.
Предыдущее описание раскрытых вариантов осуществления дано для того, чтобы дать возможность любому специалисту в данной области техники создать или использовать настоящее раскрытие. Специалистам в данной области техники будут очевидны различные модификации этих вариантов осуществления, и описанные здесь общие принципы могут быть применены к другим вариантам осуществления, не выходящим за пределы существа и объема раскрытия. Соответственно, не существует намерения ограничить настоящее раскрытие описанными здесь вариантами осуществления, а предоставить полную свободу действий, согласующихся с принципами и новыми признаками, раскрытыми здесь.