Демодулируйте временной интервал выборки OFDM и возвратите сетку ресурса LTE
LTE HDL Toolbox / Модуляция
Блок LTE OFDM Demodulator реализует алгоритм для демодуляции сигналов LTE, заданных TS 36.212 [1] стандарта LTE. Блок возвращает сетку ресурса LTE, которая используется в обнаружении ячейки ID, восстановлении основного блока информации (MIB), системный блок информации (SIB) 1 восстановление и дальнейшее декодирование.
Можно выбрать количество нисходящих блоков ресурса (NDLRB) и выбрать или нормальный или расширенный циклический префикс (CP), как описано в стандарте LTE. Блок реализует часть CP, чтобы поддержать оконную передачу LTE и обеспечивает параметр, чтобы сконфигурировать местоположение префиксного удаления.
Блок обеспечивает интерфейс и архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.
Блок принимает входные данные или на максимальном уровне 30,72 МГц, или на уровне частоты дискретизации, соответствующей NDLRB. Входные уровни выборки для NDLRB 6, 15, 25, 50, 75, и 100 составляют 1,92 МГц, 3,84 МГц, 7,68 МГц, 15,36 МГц, 30,72 МГц и 30,72 МГц, соответственно. Блок использует быстрое преобразование Фурье (FFT) с 2048 точками во всех значениях NDLRB и возвращает количество выборок сетки ресурса, необходимых для выбранного NDLRB. По умолчанию блок исключает поставщика услуг постоянного тока (DC).
Задержка от первой входной выборки до первой выходной выборки зависит от вашего выбора NDLRB и типа циклического префикса, как показано в этой таблице.
Максимальная частота дискретизации | Соответствие частоте дискретизации NDLRB | |||
---|---|---|---|---|
NDLRB | Задержка — нормальный CP | Задержка — расширенный CP | Задержка — нормальный CP | Задержка — расширенный CP |
6 | 5295 | 5647 | 6654 | 6676 |
15 | 5241 | 5593 | 6520 | 6564 |
25 | 5181 | 5533 | 6660 | 6748 |
50 | 5031 | 5383 | 6700 | 6876 |
75 | 4881 | 5233 | 6930 | 7282 |
100 | 4731 | 5083 | 6780 | 7132 |
data
— Входные данныеВходные данные, заданные как вещественное или комплексное число со знаком. double
и single
поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: single
| double
| int8
| int16
| int32
| signed fixed point
Поддержка комплексного числа: Да
valid
— Указывает на допустимые входные данныеBoolean
скалярУправляющий сигнал, который указывает, когда выборка от входного порта data допустима. Когда этим значением является 1
(TRUE), блок получает значения на входном порте data. Когда этим значением является 0
(FALSE), блок игнорирует выборки входа 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
— Тип CPBoolean
скалярТип CP, заданного как Boolean
скаляр. Когда этим значением является 0
(FALSE), блок выбирает нормальный CP. Когда этим значением является 1
(TRUE), блок выбирает расширенный CP. Блок производит этот порт в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр Cyclic prefix source на Input port
.
Типы данных: Boolean
reset
— Очистите внутренние состоянияBoolean
скалярОчищает внутреннее состояние, заданное как Boolean
скаляр. Когда этим значением является 1
(TRUE), блок останавливает текущее вычисление и очищает все внутренние состояния. Когда этим значением является 0
(FALSE), и входное значение valid 1
(TRUE), блок начинает новый подкадр.
Чтобы включить этот порт, выберите параметр Enable reset input port.
Типы данных: Boolean
data
— Выходные данныеВыходные данные, возвращенные как вещественное или комплексное число со знаком. Тип данных совпадает с типом данных порта входа data. Когда вы очищаете параметр Divide butterfly outputs by two, выходной размер слова увеличивается на 11 битов, чтобы избежать переполнения.
Типы данных: single
| double
| int8
| int16
| int32
| signed fixed point
Поддержка комплексного числа: Да
valid
— Указывает на допустимые выходные данныеBoolean
скалярУправляющий сигнал, который указывает, когда выходной порт data допустим. Блок устанавливает это значение к 1
(TRUE), когда выборки сетки ресурса доступны на выходном порте data. Когда Remove DC subcarrier выбран, это значение установлено к 0
(FALSE) в центре выходных выборок, чтобы исключить поставщика услуг DC.
Типы данных: Boolean
ready
— Указывает, что блок готовBoolean
скалярУправляющий сигнал, который указывает, когда блок готов к новым входным данным. Когда этим значением является 1
(TRUE), блок принимает входные данные в следующем временном шаге. Когда этим значением является 0
(FALSE), блок игнорирует входные данные в следующем временном шаге.
Чтобы включить этот порт, установите параметр Input data sample rate на Match input data sample rate to NDLRB
.
Типы данных: 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
.
CP fraction
— Процент циклического префикса, чтобы удалить
(значение по умолчанию) | значение от 0 до 1Циклическая префиксная часть, заданная как значение от 0 до 1, включительно. Этот параметр задает процент выборок CP, которые блок удаляет из запуска символа OFDM. Блок переключает остающиеся выборки CP в конец символа OFDM.
Когда этим параметром является 0.55
, блок удаляет 55% CP с начала символа и переключает 45% в конец символа. Когда вы устанавливаете этот параметр на 1
, блок удаляет 100% CP от запуска символа OFDM и не переключает выборок в конец.
CP fraction оказывает оконную поддержку передачи LTE. Когда передатчик применяет работу с окнами, символы циклически расширены и перекрыты. В проекте получателя лучшее расположение, чтобы удалить префикс и извлечь символ зависит от настроек работы с окнами в передатчике. Для получения дополнительной информации о работе с окнами для передатчика LTE смотрите раздел Algorithms lteOFDMModulate
функция.
Remove DC subcarrier
— Исключите или включайте поднесущую DCoff
(значение по умолчанию) | on
Когда вы выбираете этот параметр, блок исключает поднесущую DC в сетке ресурса выход. Поднесущая DC присутствует в центре 12×NDLRB поднесущие. Блок исключает поднесущую DC путем установки сигнала valid низко (false
) для центрального цикла выходных поднесущих.
Enable reset input port
— Сбросьте сигналoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить порт reset на значке блока.
Input data sample rate
— Введите частоту дискретизацииUse maximum input data sample rate
(значение по умолчанию) | Match input data sample rate to NDLRB
Этот параметр задает тип частоты дискретизации, чтобы выбрать для входных данных.
Чтобы обеспечить частоту дискретизации входных данных 30,72 МГц, выберите Use maximum input data sample rate
.
Чтобы обеспечить частоту дискретизации входных данных на основе параметра NDLRB, выберите Match input data sample rate to NDLRB
. Входные уровни выборки для значений NDLRB 6
, 15, 25
, 50
, 75
, и
100
1,92 МГц, 3,84 МГц, 7,68 МГц, 15,36 МГц, 30,72 МГц и 30,72 МГц, соответственно.
Для получения дополнительной информации смотрите Контроллер Скорости передачи данных.
Divide butterfly outputs by two
— Разделите бабочку БПФ выходные параметры на дваoff
(значение по умолчанию) | on
Этот параметр управляет масштабирующейся опцией блока FFT HDL Optimized в LTE OFDM Demodulator.
Когда вы выбираете этот параметр, БПФ реализует полный 1/N масштабный коэффициент путем деления выхода каждого умножения бабочки два. Эта корректировка сохраняет выход БПФ в той же амплитудной области значений как ее вход. Если вы отключаете этот параметр, блок избегает переполнения путем увеличения размера слова на один бит после каждого умножения бабочки.
Rounding Method
— Режим Rounding для внутренних вычислений фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Zero
Этот параметр задает тип округления режима для внутренних вычислений фиксированной точки. Для получения дополнительной информации об округлении режимов, смотрите Округление Режимов (DSP System Toolbox). Когда вход является любым целочисленным типом данных или типом данных с фиксированной точкой, Алгоритм бпф использует вычисления с фиксированной точкой во внутренних вычислениях. Этот параметр не применяется, когда вход имеет тип данных single
или double
. Округление применяется к умножению вертеть-фактора и операциям масштабирования.
Последовательность блочной операции LTE OFDM Demodulator несут по использованию этих блоков: Контроллер Скорости передачи данных, Удаление Префикса CP, Демонстрационный Повторитель, Сдвиг БПФ, БПФ и Выбор Сетки Ресурса. Блок Data Rate Controller помогает в управлении уровнем входных данных путем генерации готового сигнала. Блок CP Removal удаляет часть CP в начале символа и остатка от CP в конце символа. Блок Sample Repeater повторяет выборки на основе значений NDLRB. Блок повторяет выборки, пока они не формируют 2 048 выборок, и преобразует уровень входных данных в максимальный уровень, поддержанный LTE. Блок FFT Shift выполняет сдвиг БПФ временного интервала. Блок FFT преобразует сигнал частотного диапазона в сигнал временной области. Блок Resource Grid Selection извлекает элементы сетки ресурса на основе NDLRB и частоты дискретизации входных данных, и обеспечивает демодулируемый выход. Параметры, показанные в этом рисунке, конфигурируют поведение блока.
Блок принимает входные данные или на максимальном уровне 30,72 МГц, или на уровне частоты дискретизации, соответствующей NDLRB. Входные уровни выборки для значений NDLRB 6, 15, 25, 50, 75, и 100 составляют 1,92 МГц, 3,84 МГц, 7,68 МГц, 15,36 МГц, 30,72 МГц и 30,72 МГц, соответственно.
Когда вы устанавливаете параметр Input data sample rate на Use maximum input data sample rate
, блок действует на основе параметров демодуляции (NDLRB и CP prefix type) и обеспечивает выходные данные наряду с сигналом выхода valid со следующим блоком.
Когда вы устанавливаете параметр Input data sample rate на Match input data sample rate to NDLRB
, блок генерирует сигнал выхода ready и управляет входом на уровне относительно NDLRB. Блок принимает выборки данных относительно NDLRB, когда сигналом ready является 1
TRUE.
Этот рисунок показывает схему синхронизации генерации сигнала ready для непрерывного входа, когда NDLRB является 6
и CP prefix type является Normal
, наличие длины БПФ как 128 и длины CP как 10.
numHigh = FFT length + CP length = 128 +10 = 138 тактов.
numLow = Maximum FFT length + Maximum CP length - (numHigh) = 2048 + 160 - (138) = 2 070 тактов.
Этот рисунок показывает схему синхронизации генерации сигнала ready для дискретного входа с 1
(высоко) для 16 тактов, когда NDLRB является 6
и CP prefix type является Normal
, наличие длины БПФ как 128 и длины CP как 10.
numHigh = (FFT length + CP length-1) * Maximum FFT length / FFT length + 1 = (128 +10 - 1) * 16 + 1 = 2 193 такта.
numLow = Maximum FFT Length + Maximum CP Length - (numHigh) = 2048 + 160 - (2193) = 15 тактов.
Этот блок поддерживает оконную передачу LTE путем реализации дробного циклического префиксного удаления. Работа с окнами сокращает внеполосные выбросы. Передатчик выполняет работу с окнами путем наложения хвоста каждого символа OFDM с главой следующего символа OFDM. Получатель должен избежать этих перекрытых выборок в вычислении БПФ. Дробный CP решает эту задачу путем удаления части CP в начале символа и остатка от CP в конце символа. Реализация дробного CP алгоритма также делает блок LTE OFDM Demodulator менее чувствительным к синхронизации смещения.
Параметр Cyclic prefix type управляет, ожидает ли блок нормальный или расширенный CP. Когда блок действует на уровне максимальной частоты дискретизации 30,72 МГц, он принимает, что каждый символ является 2 048 выборками плюс циклический префиксный размер, сопоставленный с тем уровнем. При использовании нормального CP префикс первого символа в каждом пазе имеет 160 выборок, в то время как последующие символы имеют префикс 144 выборок. Расширенный CP имеет 512 выборок.
Когда блок действует на уровне частот дискретизации относительно значения NDLRB, например, если NDLRB равняется 6, блок получает 128 выборок плюс циклический префиксный размер, сопоставленный с тем уровнем. При использовании нормального CP префикс первого символа в каждом пазе имеет 10 выборок, в то время как последующие символы имеют префикс девяти выборок. Расширенный CP имеет 32 выборки.
Блок обрабатывает CP на двух этапах. Во-первых, блок вычисляет количество выборок CP, чтобы удалить, N r, и удаляет те выборки из входных выборок. Затем это вычисляет количество выборок, чтобы переключить, N s, и переключает те выборки в конец символа OFDM во временном интервале. Эти два сегмента вместе составляют общую циклическую длину префикса, CP N = N s + N r.
Параметр CP fraction управляет, сколько выборок блок удаляет в начале символа. Блок переключает остаток от циклического префикса от запуска символа в конец символа. Блок квантует CP fraction к fi(0,11,10)
. Чтобы достигнуть целого числа выборок, блок вычисляет N r = floor
(CP N * CP fraction).
Форма волны показывает управляющие сигналы для двух этапов демонтажа CP. Блок сконфигурирован для нормального CP, таким образом, CP первого символа является 160 выборками. CP для последующих символов является 144 выборками. CP fraction является 0.55
.
На этапе один, блок устанавливает внутренний сигнал valid на 0
ложь
) исключить первый N r выборки символа. Для первого символа, N r = 88. Манипуляция сигнала valid также исключает итоговый N s выборки, которые заменяются переключенными выборками на следующем этапе. Для первого символа, N s = 72. На этапе два, блок пишет N s выборки к RAM, и затем читает и возвращает эти выборки в конце символа. Блок переключает внутренний сигнал valid включать переключенные выборки в их новое местоположение. Результатом являются 2 048 выборок, правильно выровненных во временном интервале при подготовке к БПФ.
Для второго символа, с циклическим префиксом 144 выборок, N r = 80 и N s = 64.
Для получения дополнительной информации о работе с окнами передатчика LTE смотрите раздел Algorithms lteOFDMModulate
функция.
Когда блок LTE OFDM Demodulator использует максимальную длину БПФ 2 048. Так, когда входные выборки, соответствующие фактической длине БПФ, обеспечиваются, блок Sample Repeater повторяет выборки, пока это не формирует 2 048 выборок. Для этой операции, буфера блоков входные выборки сначала, и затем повторяет выборки на основе значения NDLRB. Этот механизм повторения помогает постараться не масштабироваться во входе блока FFT. Например, если NDLRB равняется 6, каждый символ OFDM состоит из 128 выборок. Блок преобразует эти 128 выборок в 2 048 выборок путем повторения их 16 раз. После того, как блок генерирует 2 048 выборок данных, он отправляет data и сигналы valid со следующим блоком.
Традиционно, получатели выполняют БПФ, переключают частотный диапазон на нижний регистр. Однако этот метод требует памяти и вводит задержку, связанную с размером БПФ. Вместо этого получатель может выполнить ту же операцию в области времени использование свойства сдвига частоты преобразований Фурье. Сдвиг функции в одной области соответствует умножению комплексной экспоненциальной функцией в другой области. Чтобы уменьшать аппаратные ресурсы и задержку, этот блок выполняет сдвиг БПФ путем умножения выборок временного интервала на комплексную экспоненциальную функцию.
Эти уравнения описывают сдвиг БПФ. Уравнение для N - БПФ точки
Для сдвига БПФ N/2 поставщики услуг в любом направлении, замене, приводящей к
Это уравнение упрощает до
С тех пор эквивалентно, и, это уравнение упрощает до
Итоговое уравнение показывает, что БПФ переключается на нижний регистр, временной интервал упрощает до умножения (-1) n. Поэтому блок реализует сдвиг БПФ путем умножения выборок временного интервала или на +1 или на –1.
Выход подсистемы сдвига БПФ питается блок FFT HDL Optimized. Частота дискретизации выборок временного интервала должна составить 30,72 МГц. Блок вычисляет БПФ с 2048 точками для всех значений NDLRB.
Параметр Divide butterfly outputs by two управляет, реализует ли БПФ полный 1/N масштабный коэффициент путем деления выхода каждого умножения бабочки два. Эта корректировка сохраняет выход БПФ в той же амплитудной области значений как ее вход. Когда вы отключаете масштабирующийся (значение по умолчанию), блок избегает переполнения путем увеличения размера слова на один бит после каждого умножения бабочки.
Эта часть алгоритма выбирает соответствующее количество поднесущих на основе NDLRB. Из 2 048 поднесущих блок выбирает центр 12xNDLRB поднесущие для выхода.
Если параметр Remove DC subcarrier выбран, блок исключает поднесущую DC из итоговой сетки ресурса выход. Блок исключает поднесущую DC путем установки сигнала valid на 0
(FALSE) для центрального цикла выходных поднесущих.
Для NDLRB 25 блок возвращается 12×25=300 выборки сетки ресурса. Блок указывает на местоположение этих выходных выборок с набором сигнала validOut к 1
TRUE. Сигналом validOut является 0
(FALSE) в центре выходных выборок, чтобы исключить поставщика услуг DC.
Эта форма волны показывает выход, когда вы устанавливаете параметр Input data sample rate на Use maximum input data sample rate
и выберите NDLRB 25 с нормальным CP.
Эта форма волны показывает выход блока, когда вы устанавливаете параметр Input data sample rate на Match input data sample rate to NDLRB
и выберите NDLRB 25 с нормальным CP. Блок повторяется четыре раза во входе БПФ для вычисления БПФ с 2048 точками. Фактические выборки БПФ взяты для всех в четырех выборках при выходе БПФ. Блок выбирает центр (12×25 = 300) элементы сетки ресурса и выводит их наряду с допустимым сигналом.
Производительность синтезируемого HDL-кода меняется в зависимости от вашей цели и опций синтеза. Типом входных данных, используемым в генерации HDL-кода, является fixdt(1,16,14)
.
Эта таблица показывает результаты синтеза данных ресурсов и данных о производительности при использовании блока с настройкой по умолчанию. Сгенерированный HDL предназначен к Xilinx® Zynq® XC7Z045I-FFG900-2L FPGA. Проект достигает частоты часов 280 МГц.
Ресурс | Используемый номер |
---|---|
LUTs | 6072 |
Регистры | 8291 |
DSPS | 16 |
Блокируйте RAM | 23 |
Мультиплексоры F7 | 0 |
Мультиплексоры F8 | 0 |
RAMB36/FIFO | 6 |
RAMB18 | 18 |
[1] 3GPP TS 36.212. "Мультиплексирование и кодирование канала". Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group; Развитый Универсальный Наземный Радио-доступ (к E-UTRA). URL: https://www.3gpp.org.
[2] Sesia, S. i. Toufik, и М. Бейкер, LTE редакторов - Долгосрочная Эволюция UMTS: От Теории до Практики. Хобокен, NJ: John Wiley & Sons Ltd., 2009.
Этот блок поддерживает генерацию кода C/C++ для акселератора Simulink® и быстрых режимов Accelerator и для генерации компонента DPI.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Вы не можете сгенерировать HDL для этого блока в Resettable Synchronous Subsystem.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.