Демодулируйте временной интервал выборки OFDM и возвратите сетку ресурса LTE
LTE HDL Toolbox / Модуляция
Блок 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 |
данные
Входные данныеВходные данные, заданные как вещественное или комплексное число со знаком. 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
. NDLRB должен быть одним из этих шести значений, заданных TS 36.212 [1] стандарта LTE. Блок выбирает этот порт в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр NDLRB source на Input port
.
Типы данных: uint8
| uint16
| uint32
| fixdt(0,K,0), K >= 7
| single
| double
cyclicPrefixType
— Тип CPТип CP, заданного как булев скаляр. Когда этим значением является 0
(false
), блок выбирает нормальный CP. Когда этим значением является 1
(true
), блок выбирает расширенный CP. Блок выбирает этот порт в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр Cyclic prefix source на Input port
.
Типы данных: Boolean
сброс
Очистите внутренние состоянияОчищает внутреннее состояние, заданное как булев скаляр. Когда этим значением является 1
(true
), блок останавливает текущее вычисление и очищает все внутренние состояния. Когда этим значением является 0
(false
), и входным значением valid является 1
(true
), блок начинает новый подкадр.
Чтобы включить этот порт, выберите параметр Enable reset input port.
Типы данных: Boolean
данные
Выходные данныеВыходные данные, возвращенные как вещественное или комплексное число со знаком. Тип данных совпадает с типом данных порта входа data. Когда вы очищаете параметр Divide butterfly outputs by two, выходной размер слова увеличивается на 11 битов, чтобы избежать переполнения.
Типы данных: single
| double
| int8
| int16
| int32
| signed fixed point
Поддержка комплексного числа: Да
valid
— Указывает на допустимые выходные данныеУправляющий сигнал, который указывает, когда выходной порт data допустим. Блок устанавливает это значение к 1
(true
), когда выборки сетки ресурса доступны на выходном порте data. Когда Remove DC subcarrier выбран, это значение установлено к 0
(false
) в центре выходных выборок, чтобы исключить поставщика услуг DC.
Типы данных: Boolean
ready
— Indicates готовУправляющий сигнал, который указывает, когда блок готов к новым входным данным. Когда этим значением является 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
— Количество нисходящих блоков ресурса6
(значение по умолчанию) | 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.55
(значение по умолчанию) | значение от 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 в Демодуляторе OFDM.
Когда вы выбираете этот параметр, БПФ реализует полный 1/N масштабный коэффициент путем деления вывода каждого умножения бабочки два. Эта корректировка сохраняет вывод БПФ в той же амплитудной области значений как ее вход. Если вы отключаете этот параметр, блок избегает переполнения путем увеличения размера слова на один бит после каждого умножения бабочки.
Rounding Method
— Rounding для внутренних вычислений фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Zero
Этот параметр задает тип округления режима для внутренних вычислений фиксированной точки. Для получения дополнительной информации об округлении режимов, смотрите Округление Режимов (DSP System Toolbox). Когда вход является любым целочисленным типом данных или типом данных с фиксированной точкой, Алгоритм бпф использует вычисления с фиксированной точкой для внутренних вычислений. Этот параметр не применяется, когда вход имеет тип данных single
или double
. Округление применяется к умножению вертеть-фактора и операциям масштабирования.
Последовательность блочной операции Демодулятора OFDM несут по использованию этих блоков: Контроллер Скорости передачи данных, Удаление Префикса 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 является (TRUE) 1
.
Этот блок поддерживает оконную передачу 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
(false
) исключать первый 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
.
Когда блок 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 к (TRUE) 1
. Сигналом 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-кода, видят LTE Демодулятор OFDM в документации HDL Coder.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.