Модулируйте сетку ресурса LTE и возвратите временной интервал выборки OFDM
Wireless HDL Toolbox / Модуляция
Блок LTE OFDM Modulator реализует алгоритм для модуляции выборок сетки ресурса LTE, заданных TS 36.212 [1] стандарта LTE. Блок использует механизм ортогонального мультиплексирования деления частоты (OFDM) в своей операции и преобразует входные выборки сетки ресурса в эквивалентный сигнал временной области выход. OFDM является эффективным для коммуникации по каналам с высокочастотной селективностью и широко используется в разработке передатчика нисходящего канала LTE. Блок реализует опцию работы с окнами, чтобы уменьшать спектральный перерост или смежное отношение утечки канала (ACLR), сигнала OFDM.
Блок обеспечивает интерфейс и архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.
Можно выбрать количество нисходящих блоков ресурса (NDLRB) и выбрать или нормальный или расширенный циклический префикс (CP), как описано в стандарте LTE. Задержка от первой входной выборки до первой выходной выборки зависит от вашего выбора NDLRB.
NDLRB | Задержка |
---|---|
6 | 6268 |
15 | 6376 |
25 | 6496 |
50 | 6796 |
75 | 7096 |
100 | 7396 |
data
— Входные данныеВходные данные в виде вещественного или комплексного числа со знаком. double
и single
типы данных поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: single
| double
| int8
| int16
| int32
| signed fixed point
Поддержка комплексного числа: Да
valid
— Указывает на допустимые входные данныеУправляющий сигнал, который указывает, допустимы ли данные из входного порта data. Когда этим значением является 1
TRUE
), блок получает значение на входном порте data. Когда этим значением является 0
ложь
), блок игнорирует значения на входном порте data.
Типы данных: Boolean
NDLRB
— Количество нисходящих блоков ресурса
| 15
| 25
| 50
| 75
| 100
Количество нисходящего ресурса блокируется в виде 6
, 15, 25
, 50
, 75
, или
100
. NDLRB должен быть одним из этих шести значений, заданных TS 36.212 [1] стандарта LTE. Блок производит этот порт в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр NDLRB source на Input port
.
Типы данных: uint8
| uint16
| uint32
| fixdt(0,K,0), K >= 7
| single
| double
cyclicPrefixType
— Тип CPТип CP в виде Boolean
скаляр. Когда этим значением является 0
(FALSE), блок выбирает нормальный CP. Когда этим значением является 1
(TRUE), блок выбирает расширенный CP. Блок производит этот порт в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр Cyclic prefix source на Input port
.
Типы данных: Boolean
reset
— Очищает внутренние состоянияОчищает внутренние состояния в виде Boolean
скаляр. Когда этим значением является 1
TRUE
), блок останавливает текущее вычисление и очищает все внутренние состояния. Когда этим значением является 0
ложь
) и входным значением valid является 1
TRUE
), блок начинает новый подкадр.
Чтобы включить этот порт, выберите параметр Enable reset input port.
Типы данных: Boolean
data
— Выходные данныеВыходные данные, возвращенные как вещественное или комплексное число со знаком. Тип данных совпадает с типом данных входного порта data. Когда вы очищаете параметр Divide butterfly outputs by two, размер слова увеличивается на 1 бит за этап в обратном быстром преобразовании Фурье (IFFT).
Типы данных: single
| double
| int8
| int16
| int32
| signed fixed point
Поддержка комплексного числа: Да
valid
— Указывает на допустимые выходные данныеУправляющий сигнал, который указывает, допустимы ли данные из выходного порта data. Блок устанавливает это значение к 1
TRUE
) когда модулируемые выборки доступны на выходном порте data.
Типы данных: Boolean
ready
— Указывает, что блок готовУправляющий сигнал, который указывает, что блок готов к новым входным данным. Когда этим значением является 1
TRUE
), блок принимает входные данные в следующем временном шаге. Когда этим значением является 0
ложь
), блок игнорирует входные данные в следующем временном шаге.
Типы данных: Boolean
NDLRB source
— Источник NDLRBProperty
(значение по умолчанию) | Input port
Можно установить NDLRB путем выбора значения параметров или использования входного порта. Чтобы включить параметр NDLRB, выберите Property
. Чтобы включить порт NDLRB, выберите Input port
.
NDLRB
— Количество нисходящих блоков ресурса
(значение по умолчанию) | 15
| 25
| 50
| 75
| 100
Количество нисходящего ресурса блокируется в виде 6
, 15, 25
, 50
, 75
, или
100
. NDLRB должен быть одним из этих шести значений, заданных TS 36.212 [1] стандарта LTE.
Чтобы включить этот параметр, установите параметр NDLRB source на Property
.
Cyclic prefix source
— Источник циклического префиксаProperty
(значение по умолчанию) | Input port
Можно установить циклический префикс путем выбора значения параметров или использования входного порта. Чтобы включить параметр Cyclic prefix type, выберите Property
. Чтобы включить порт cyclicPrefixType, выберите Input port
.
Cyclic prefix type
— Тип циклического префиксаNormal
(значение по умолчанию) | Extended
Тип циклического префикса в виде Normal
или Extended
.
Чтобы включить этот параметр, установите параметр Cyclic prefix source на Property
.
Windowing
— Спектральное сокращение ростаoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы выполнить операцию работы с окнами, которая уменьшает спектральный рост и использует длину окна NDRLB, заданную параметром Window length per NDLRB. Очистите этот параметр, чтобы отключить операцию работы с окнами.
Window length per NDLRB
— Длина окна NDRLB
] (значение по умолчанию) | вектор-строка из длин окна NDLRBДлина окна NDRLB в виде вектора-строки из неотрицательных целых чисел, элементы которых соответствуют длинам окна для 6
NDRLB, 15
, 25
, 50
, 75
, и
100
соответственно. По умолчанию длины окна для NDRLB 6, 15, 25, 50, 75, и 100 равняются 4, 6, 4, 6, 8, и 8, соответственно. Длина окна для каждого NDLRB может лежать в диапазоне от 0 до минимального значения CP.
Для нормального CP, минимальных значений CP для 6
NDRLB, 15
, 25
, 50
, 75
, и
100
9, 18, 36, 72, 144, и 144, соответственно.
Для расширенного CP, минимальных значений CP для 6
NDRLB, 15
, 25
, 50
, 75
, и
100
32, 64, 128, 256, 512, и 512, соответственно.
Чтобы включить этот параметр, выберите параметр Windowing.
Enable reset input port
— Сбросьте сигналoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить порт reset на значке блока.
Output data sample rate
— Выведите частоту дискретизацииUse maximum output data sample rate
(значение по умолчанию) | Match output data sample rate to NDLRB
Этот параметр задает тип частоты дискретизации для блока, чтобы выбрать для выходных данных.
Чтобы обеспечить частоту дискретизации выходных данных 30,72 МГц, выберите Use maximum output data sample rate
.
Чтобы обеспечить частоту дискретизации выходных данных на основе параметра NDLRB, выберите Match output data sample rate to NDLRB
. Выходные частоты дискретизации для 6
NDLRB, 15
, 25
, 50
, 75
, и
100
1,92 МГц, 3,84 МГц, 7,68 МГц, 15,36 МГц, 30,72 МГц и 30,72 МГц, соответственно.
Для получения дополнительной информации смотрите Контроллер Базовой ставки.
Divide butterfly outputs by two
— Управление битной шириныon
(значение по умолчанию) | off
Когда вы выбираете этот параметр, блок IFFT HDL Optimized (DSP System Toolbox) в блоке LTE OFDM Modulator реализует полный 1/N масштабный коэффициент путем деления выхода каждого умножения бабочки два. Эта корректировка сохраняет выход блока IFFT в той же амплитудной области значений как ее вход. Если вы отключаете этот параметр, блок избегает переполнения путем увеличения размера слова на 1 бит после каждого умножения бабочки.
Rounding Method
— Режим Rounding для внутренних вычислений фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Zero
Этот параметр задает тип округления режима для внутренних вычислений фиксированной точки. Округление применяется к умножению вертеть-фактора и операциям масштабирования. Для получения дополнительной информации об округлении режимов, смотрите Округление Режимов (DSP System Toolbox).
Когда вход является любым целым числом или типом данных с фиксированной точкой, алгоритм ОБПФ использует вычисления с фиксированной точкой для внутренних вычислений. Этот параметр не применяется, когда входные данные имеют тип данных single
или double
.
Последовательность блочной операции LTE OFDM Modulator несут по использованию этих блоков: Формирование Символа OFDM, ОБПФ, Сдвиг БПФ, Сложение CP, Работа с окнами и Контроллер Базовой ставки. Блок-диаграммы Формирования Символа OFDM вход сетки ресурса к активным интервалам поднесущей, чтобы сформировать 2 048 поднесущих. Блок IFFT преобразует сигнал частотного диапазона в сигнал временной области, и блок FFT Shift выполняет сдвиг БПФ временного интервала. Блок CP Addition добавляет выборки длины CP из конца символа к его префиксу. Блок Windowing выполняет работу с окнами и наложение смежных символов OFDM комплексных символов в массиве ресурса. Блок Base Rate Controller задает частоту дискретизации выходных данных. Параметры, показанные в следующем рисунке, конфигурируют поведение блока.
Подсистема Формирования Символа OFDM вычисляет количество активных и неактивных поднесущих и количество выборок CP. Это генерирует сигнал ready и поднесущие (активный, неактивный, и DC) для каждого символа OFDM согласно стандарту LTE.
Подсистема Формирования Символа OFDM вычисляет количество активных поднесущих на основе значения NDLRB.
Number of active subcarriers = 12 x NDLRB
Количество неактивных поднесущих является различием размера ОБПФ и количеством активных поднесущих. Чтобы сохранить аппаратные ресурсы путем предотвращения нескольких IFFTs, размер ОБПФ фиксируется к 2 048.
Number of inactive subcarriers = 2048 — Number of active carriers
Блок выводит сигнал от порта ready, чтобы указать, когда блок готов принять входные данные. Этот сигнал зависит от входного сигнала valid, NDLRB, типа CP и номера символа OFDM. Выходной сигнал ready сгенерирован для одного временного шага, и входной сигнал valid проверяется на следующий временной шаг. Блок принимает входные данные, и выходной сигнал ready остается высоким (1
) пока данные о символе OFDM не получены. Если вход valid является низким (0
), сигнал ready расширяет, пока входной сигнал valid не получает высоко (1
). После получения активных поднесущих блок устанавливает выходной сигнал ready на низкий (0
) какое-то время период равняется сумме количества неактивных поднесущих и количества выборок CP.
Эти рисунки показывают схемы синхронизации выходного сигнала ready для значений NDLRB 25 и 100, соответственно.
Блок IFFT преобразует сигнал частотного диапазона в сигнал временной области. LTE поддерживает шесть стандартных опций полосы пропускания: 1,4 МГц, 3 МГц, 5 МГц, 10 МГц, 15 МГц и 20 МГц. Эти опции полосы пропускания требуют длины БПФ 128, 256, 512, 1024, и 2048, соответственно. Блок использует длину БПФ 20:48, которая соответствует максимальной полосе пропускания LTE, который составляет 20 МГц. Длина БПФ ОБПФ сконфигурирована к самому высокому размеру БПФ, чтобы сгенерировать одно оборудование, которое поддерживает все опции полосы пропускания LTE.
Параметр Divide butterfly outputs by two управляет, если БПФ реализует полный 1/N масштабный коэффициент путем деления выхода каждого умножения бабочки два. Эта корректировка сохраняет выход ОБПФ в той же амплитудной области значений как ее вход. Когда параметр Divide butterfly outputs by two очищен, блок избегает переполнения путем увеличения размера слова на 1 бит после каждого умножения бабочки.
Традиционно, приемопередатчики выполняют БПФ, переключают частотный диапазон на нижний регистр. Однако этот метод требует памяти и вводит задержку, связанную с размером БПФ. Вместо этого приемопередатчик может выполнить ту же операцию в области времени использование свойства сдвига частоты преобразований Фурье. Сдвиг функции в одной области соответствует умножению комплексной экспоненциальной функцией в другой области. Чтобы уменьшать аппаратные ресурсы и задержку, этот блок выполняет сдвиг БПФ путем умножения выборок временного интервала на комплексную экспоненциальную функцию.
Эти уравнения описывают сдвиг БПФ. Уравнение для N - БПФ точки
Для сдвига БПФ N/2 несущие в любом направлении, замене , получившийся в
Это уравнение упрощает до
С тех пор эквивалентно , и , это уравнение упрощает до
Итоговое уравнение показывает, что БПФ переключается на нижний регистр, временной интервал упрощает до умножения (-1)n. Поэтому блок реализует сдвиг БПФ путем умножения выборок временного интервала или на +1 или на –1.
Циклическое префиксное сложение является процессом добавления последних выборок символа OFDM как префикс к каждому символу OFDM. Сложение CP для символа OFDM с выборками Nfft и выборками CP CP N показывают в этом рисунке.
Блок LTE OFDM Modulator использует размер БПФ 2 048 для всех ресурсов NDLRB, чтобы избежать нескольких IFFTs. Блок использует значения CP, соответствующие NDLRB 100.
Параметр Cyclic prefix type управляет, ожидает ли блок нормальное или расширенный CP. Блок требует, чтобы вход обеспечил частоту дискретизации 30,72 МГц. Это принимает, что каждый символ является 2 048 выборками плюс циклический префиксный размер, сопоставленный с уровнем. При использовании нормального CP префикс первого символа в каждом пазе имеет 160 выборок, в то время как каждый последующий символ содержит префикс 144 выборок. При использовании расширенного CP все символы содержат 512 выборок. Для получения дополнительной информации о длине циклического префикса (в выборках) каждого символа OFDM в подкадре, смотрите lteOFDMModulate
(LTE Toolbox) функция.
Работа с окнами уменьшает спектральный перерост или смежное отношение утечки канала (ACLR), сигнала OFDM. Функция является дополнительной. Чтобы включить работу с окнами, выберите параметр Windowing.
Для получения дополнительной информации о работе с окнами, смотрите lteOFDMModulate
(LTE Toolbox) функция.
Этот блок генерирует выходные данные на уровне частоты дискретизации 30,72 МГц при помощи максимальной частоты дискретизации выходных данных или частоты дискретизации выходных данных с заданным NDLRB.
Этот рисунок показывает выходные данные, когда вы устанавливаете параметр Output data sample rate на Use maximum output data sample rate
.
Этот рисунок показывает выходные данные, когда вы устанавливаете параметр Output data sample rate на Match output data sample rate to NDLRB
параметр. Для значения NDLRB 25, выходная частота дискретизации составляет 7,68 МГц, и блок возвращает допустимые выходные данные в каждом четвертом цикле.
Эффективность синтезируемого HDL-кода меняется в зависимости от вашей цели и опций синтеза. Типом входных данных, используемым для генерации HDL-кода, является fixdt(1,16,14)
.
Эта таблица показывает результаты синтеза данных ресурсов и данных о производительности при использовании блока с настройкой по умолчанию. Сгенерированный HDL предназначен к Xilinx® Zynq® XC7Z045I-FFG900-2L FPGA. Проект достигает тактовой частоты 247 МГц.
Ресурс | Используемый номер |
---|---|
LUTs | 8050 |
Регистры | 9682 |
DSPS | 22 |
Блокируйте RAM | 22 |
Мультиплексоры F7 | 0 |
Мультиплексоры F8 | 0 |
RAMB36/FIFO | 12 |
RAMB18 | 20 |
[1] 3GPP TS 36.212. "Мультиплексирование и кодирование канала". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: https://www.3gpp.org.
Этот блок поддерживает генерацию кода C/C++ для Simulink® акселератор и быстрые режимы Accelerator и для генерации компонента DPI.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Вы не можете сгенерировать HDL для этого блока в Resettable Synchronous Subsystem (HDL Coder).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.