Модулируйте ресурсную сетку LTE и возвращайте выборки OFDM временной области
Беспроводной HDL Toolbox/модуляция
Блок LTE OFDM Modulator реализует алгоритм для модуляции выборок сетки ресурса LTE, заданных стандартом LTE TS 36.212 [1]. Блок использует механизм ортогонального частотного мультиплексирования (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
(false
), блок игнорирует значения на data входном порте.
Типы данных: Boolean
NDLRB
- Количество нисходящих ресурсных блоков6
| 15
| 25
| 50
| 75
| 100
Количество нисходящих ресурсных блоков, заданное как 6
, 15
, 25
, 50
, 75
, или 100
. NDLRB должен быть одним из этих шести значений, заданных стандартом LTE TS 36.212 [1]. Блок производит выборку этого порта в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр 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
(false
) и 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
(false
), блок игнорирует входные данные на следующем временном шаге.
Типы данных: Boolean
NDLRB source
- Источник NDLRBProperty
(по умолчанию) | Input port
Можно установить NDLRB, выбрав значение параметров или используя вход порт. Чтобы включить параметр NDLRB, выберите Property
. Чтобы включить NDLRB порт, выберите Input port
.
NDLRB
- Количество нисходящих ресурсных блоков6
(по умолчанию) | 15
| 25
| 50
| 75
| 100
Количество нисходящих ресурсных блоков, заданное как 6
, 15
, 25
, 50
, 75
, или 100
. NDLRB должно быть одним из этих шести значений, заданных стандартом LTE TS 36.212 [1].
Чтобы включить этот параметр, установите параметр 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
- длина окна NDRLB4, 6, 4, 6, 8, 8
] (по умолчанию) | вектор-строка длин окон NDLRBДлина окна NDRLB, заданная как вектором-строкой неотрицательных целых чисел, элементы которых соответствуют длинам окна для NDRLB 6
, 15
, 25
, 50
, 75
, и 100
соответственно. По умолчанию длины окон для NDRLB 6, 15, 25, 50, 75 и 100 равны 4, 6, 4, 6, 8 и 8, соответственно. Длина окна для каждого NDLRB может варьироваться от 0 до минимального значения CP.
Для нормального CP минимальные значения CP для NDRLB 6
, 15
, 25
, 50
, 75
, и 100
9, 18, 36, 72, 144 и 144 соответственно.
Для расширенного CP минимальные значения CP для NDRLB 6
, 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
. Скорости дискретизации выхода для NDLRB 6
, 15
, 25
, 50
, 75
, и 100
1,92 МГ ц, 3,84 МГ ц, 7,68 МГ ц, 15,36 МГ ц, 30,72 МГ ц и 30,72 МГ ц соответственно.
Для получения дополнительной информации смотрите Base Rate Controller.
Divide butterfly outputs by two
- Управление шириной битаon
(по умолчанию) | off
Когда вы выбираете этот параметр, блок IFFT HDL Optimized (DSP System Toolbox) в блоке LTE OFDM Modulator реализует общий коэффициент шкалы 1/ N путем деления выхода каждого умножения бабочки на два. Эта регулировка сохраняет выход блока ОБПФа в той же амплитуде, область значений и его вход. Если вы отключаете этот параметр, блок избегает переполнения, увеличивая размер слова на 1 бит после каждого умножения бабочки.
Rounding Method
- Режим округления для внутренних вычислений фиксированной точкиFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Zero
Этот параметр задает тип режима округления для внутренних вычислений с фиксированной точкой. Округление применяется к операциям умножения и масштабирования двух множителей. Для получения дополнительной информации о режимах округления см. Раздел «Режимы округления» (DSP System Toolbox).
Когда вход является любым целым числом или типом данных с фиксированной точкой, алгоритм ОБПФ использует арифметику с фиксированной точкой для внутренних вычислений. Этот параметр не применяется, когда входные данные имеют тип данных single
или double
.
Последовательность операций блока LTE OFDM Modulator переносится с использованием этих блоков: OFDM Symbol Formation, IFFT, FFT Shift, CP Addind, Windowing и Base Rate Controller. Блок OFDM Symbol Formation преобразует вход ресурсной сетки в активные интервалы поднесущей, чтобы сформировать 2048 поднесущих. Блок IFFT преобразует сигнал частотного диапазона в сигнал временной области, и блок FFT Shift выполняет сдвиг БПФ временной области. Блок сложения CP добавляет выборки длины CP из конца символа в свой префикс. Блок Windowing выполняет оконцевание и перекрытие соседних символов OFDM сложных символов в ресурсном массиве. Блок Base Rate Controller задает частоту дискретизации выходных данных. Параметры, показанные на следующем рисунке, конфигурируют поведение блока.
Подсистема формирования символов OFDM вычисляет количество активных и неактивных поднесущих и количество выборок CP. Он генерирует сигнал ready и поднесущие (активные, неактивные и DC) для каждого символа OFDM согласно стандарту LTE.
Подсистема формирования символов OFDM вычисляет количество активных поднесущих на основе значения NDLRB.
Number of active subcarriers = 12 x NDLRB
Количество неактивных поднесущих является различием размера IFFT и количества активных поднесущих. Чтобы сэкономить аппаратные ресурсы, избегая нескольких оБПФы, размер IFFT фиксируется на 2048.
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, соответственно. Блок использует длину 2048 БПФ, которая соответствует максимальной пропускной способности LTE, то есть 20-MHz. Длина FFT IFFT сконфигурирована на самый высокий размер FFT, чтобы сгенерировать одно оборудование, которое поддерживает все опции полосы пропускания LTE.
Параметр Divide butterfly outputs by two управляет, реализует ли БПФ общий коэффициент шкалы 1/ N путем деления выхода каждого умножения бабочки на два. Эта регулировка сохраняет выход ОБПФа в той же амплитуде, область значений и его вход. Когда параметр Divide butterfly outputs by two очищен, блок избегает переполнения, увеличивая размер слова на 1 бит после каждого умножения бабочки.
Обычно приемопередатчики выполняют сдвиг БПФ в частотный диапазон. Однако этот метод требует памяти и вводит задержку, связанную с размером БПФ. Вместо этого приемопередатчик может выполнить ту же операцию во временном интервале, используя свойство перемены частоты преобразований Фурье. Сдвиг функции в одной области соответствует умножению на комплексную экпоненту функцию в другой области. Чтобы уменьшить оборудование ресурсы и задержки, этот блок выполняет сдвиг БПФ, умножая выборки во временной области на функцию комплексной экпоненты.
Эти уравнения описывают сдвиг БПФ. Уравнение для БПФ с N точками
Для сдвига БПФ N/2 несущих в любом направлении замените , в результате чего
Это уравнение упрощает
С тех пор эквивалентно , и , это уравнение упрощает
Окончательное уравнение показывает, что сдвиг БПФ во временном интервале упрощается умножением на (-1)n. Поэтому блок реализует сдвиг БПФ путем умножения выборок во временной области на + 1 или -1.
Циклический префикс сложения является процессом добавления последних выборок символа OFDM в качестве префикса к каждому символу OFDM. Сложение СР для символа OFDM с Nfft выборками и выборками СР N СР показано на этом рисунке.
Блок LTE OFDM Modulator использует FFT размер 2048 для всех ресурсов NDLRB, чтобы избежать нескольких оБПФы. Блок использует значения CP, соответствующие NDLRB 100.
Параметр Cyclic prefix type управляет, ожидает ли блок нормального или расширенного CP. Блок требует, чтобы вход поддерживал частоту дискретизации 30,72 МГц. Он принимает, что каждый символ является 2048 выборками плюс циклический размер префикса, сопоставленный со скоростью. При использовании обычного 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
параметр. Для значения 25 NDLRB выходная частота выборки составляет 7,68 МГц, и блок возвращает действительные выходные данные в каждом четвертом цикле.
Эффективность синтезированного HDL-кода варьируется с вашей целью и опциями синтеза. Тип входных данных, используемых для генерации HDL-кода fixdt(1,16,14)
.
В этой таблице показаны результаты синтеза данных о ресурсах и эффективности при использовании блока с строением по умолчанию. Сгенерированный HDL, ориентированный на Xilinx® Zynq® XC7Z045I-FFG900-2L ПЛИС. Проект достигает тактовой частоты 247 МГц.
Ресурс | Используемое число |
---|---|
LUTs | 8050 |
Регистры | 9682 |
DSPs | 22 |
Блокируйте ОЗУ | 22 |
F7 Muxes | 0 |
F8 Muxes | 0 |
RAMB36/FIFO | 12 |
RAMB18 | 20 |
[1] 3GPP TS 36.212. «Мультиплексирование и канальное кодирование». 3rd Генерация Partnership Project; Группа технических спецификаций Radio Доступа Network; Evolved Universal Terrestrial Radio Access (E-UTRA). URL-адрес: https://www.3gpp.org.
Этот блок поддерживает генерацию кода C/C + + для Simulink® режимы Accelerator и Rapid Accelerator и для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
Вы не можете сгенерировать HDL для этого блока внутри Resettable Synchronous Subsystem (HDL Coder).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.