Демодулировать выборки OFDM во временной области и возвращать сетку ресурсов LTE
Беспроводная панель инструментов HDL/модуляция
Блок демодулятора OFDM LTE реализует алгоритм демодуляции сигналов LTE, определенный стандартом TS 36.212 LTE [1]. Блок возвращает сетку ресурсов LTE, которая используется для обнаружения идентификатора ячейки, восстановления главного информационного блока (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 МГц соответственно. Блок использует 2048-точечное быстрое преобразование Фурье (FFT) для всех значений NDLRB и возвращает количество выборок сетки ресурсов, необходимых для выбранного NDLRB. По умолчанию блок исключает носитель постоянного тока.
Задержка от первой входной выборки до первой выходной выборки зависит от выбора 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 скалярУправляющий сигнал, указывающий, когда выборка из порта ввода данных является действительной. Когда это значение равно 1 (true), блок фиксирует значения на порте ввода данных. Когда это значение равно 0 (false), блок игнорирует выборки входных данных.
Типы данных: Boolean
NDLRB - Количество блоков ресурсов нисходящей линии связи6 | 15 | 25 | 50 | 75 | 100Количество блоков ресурсов нисходящей линии связи, указанное как 6, 15, 25, 50, 75, или 100. NDLRB должен быть одним из этих шести значений, указанных в стандарте LTE TS 36.212 [1]. Блок выполняет выборку этого порта в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите для параметра источника NDLRB значение Input port.
Типы данных: uint8 | uint16 | uint32 | fixdt(0,K,0), K >= 7 | single | double
cyclicPrefixType - Тип КПТип CP, указанный как Boolean скаляр. Когда это значение равно 0 (false), блок выбирает нормальный CP. Когда это значение равно 1 (true), блок выбирает расширенный CP. Блок выполняет выборку этого порта в начале каждого подкадра и игнорирует любые изменения в подкадре.
Чтобы включить этот порт, установите параметр источника циклического префикса в значение Input port.
Типы данных: Boolean
reset - Очистить внутренние состоянияОчищает внутреннее состояние, указанное как Boolean скаляр. Когда это значение равно 1 (true), блок останавливает текущий расчет и очищает все внутренние состояния. Когда это значение равно 0 (false), и допустимое входное значение: 1 (true), блок начинает новый подкадр.
Чтобы включить этот порт, выберите параметр Enable reset input port.
Типы данных: Boolean
data - Выходные данныеВыходные данные, возвращаемые в виде подписанного вещественного или комплексного числа. Тип данных совпадает с типом данных порта входных данных. При очистке выходов «Разделить» на два параметра длина выходного слова увеличивается на 11 бит во избежание переполнения.
Типы данных: single | double | int8 | int16 | int32 | signed fixed point
Поддержка комплексного номера: Да
valid - Указывает допустимые выходные данныеУправляющий сигнал, указывающий, когда порт вывода данных является действительным. Блок устанавливает для этого значения значение 1 (true), когда выборки сетки ресурсов доступны на порту вывода данных. Если выбрана поднесущая Remove DC, это значение устанавливается в 0 (false) в центре выходных выборок для исключения несущей постоянного тока.
Типы данных: Boolean
ready - Указывает, что блок готовУправляющий сигнал, указывающий, когда блок готов к новым входным данным. Когда это значение равно 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 должен быть одним из этих шести значений, указанных в стандарте LTE TS 36.212 [1].
Чтобы включить этот параметр, установите для параметра источника NDLRB значение Property.
Cyclic prefix source - Источник типа циклического префиксаProperty (по умолчанию) | Input portЦиклический префикс можно задать, выбрав значение параметра или используя входной порт. Для включения параметра Тип циклического префикса выберите Property. Чтобы позволить cyclicPrefixType порт, выбрать Input port.
Cyclic prefix type - Тип циклического префиксаNormal (по умолчанию) | ExtendedТип циклического префикса, указанный как Normal или Extended.
Чтобы включить этот параметр, задайте для параметра источника циклического префикса значение Property.
CP fraction - Процент удаляемого циклического префикса0.55 (по умолчанию) | значение от 0 до 1Фракция циклического префикса, заданная как значение от 0 до 1 включительно. Этот параметр определяет процент выборок CP, которые блок удаляет из начала символа OFDM. Блок сдвигает оставшиеся выборки СР в конец символа OFDM.
Когда этот параметр имеет значение 0.55блок удаляет 55% CP из начала символа и смещает 45% в конец символа. При установке для этого параметра значения 1блок удаляет 100% CP из начала символа OFDM и не сдвигает какие-либо выборки в конец.
Фракция CP обеспечивает поддержку передачи LTE в окнах. Когда передатчик применяет оконную обработку, символы циклически расширяются и перекрываются. В конструкции приемника наилучшее расположение для удаления префикса и извлечения символа зависит от настроек оконного режима в передатчике. Для получения дополнительной информации о работе с окнами для передатчика LTE см. раздел Алгоритмы lteOFDMModulate(Панель инструментов LTE).
Remove DC subcarrier - Исключить или включить поднесущую постоянного токаoff (по умолчанию) | onПри выборе этого параметра блок исключает поднесущую DC из вывода сетки ресурсов. Поднесущая постоянного тока присутствует в центре поднесущих 12 × NDLRB. Блок исключает поднесущую постоянного тока, устанавливая допустимый низкий уровень сигнала (false) для центрального цикла выходных поднесущих.
Enable reset input port - Сигнал сбросаoff (по умолчанию) | onВыберите этот параметр, чтобы включить порт сброса на значке блока.
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 (DSP System Toolbox) внутри демодулятора OFDM LTE.
При выборе этого параметра в БПФ реализуется общий масштабный коэффициент 1/N путем деления выходного сигнала каждого умножения бабочек на два. Эта регулировка поддерживает выход БПФ в том же диапазоне амплитуд, что и его вход. Если этот параметр отключен, блок избегает переполнения, увеличивая длину слова на один бит после каждого умножения бабочки.
Rounding Method - Режим округления для внутренних расчетов с фиксированной точкойFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | ZeroЭтот параметр определяет тип режима округления для внутренних вычислений с фиксированной точкой. Дополнительные сведения о режимах округления см. в разделе Режимы округления (панель инструментов системы DSP). Если входными данными являются целочисленные данные или данные с фиксированной точкой, алгоритм БПФ использует арифметику с фиксированной точкой для внутренних вычислений. Этот параметр не применяется, если входные данные имеют тип данных single или double. Округление применяется к операциям умножения и масштабирования сдвоенного коэффициента.
Последовательность операций блока OFDM-демодулятора LTE переносится с использованием этих блоков: контроллер скорости передачи данных, удаление префикса CP, повторитель выборок, сдвиг БПФ, FFT и выбор сетки ресурсов. Блок контроллера скорости передачи данных помогает управлять скоростью передачи входных данных путем формирования сигнала готовности. Блок удаления CP удаляет часть CP в начале символа и оставшуюся часть CP в конце символа. Блок повторителя выборок повторяет выборки на основе значений NDLRB. Блок повторяет выборки до тех пор, пока они не сформируют 2048 выборок, и преобразует скорость входных данных в максимальную скорость, поддерживаемую LTE. Блок сдвига БПФ выполняет сдвиг БПФ во временной области. Блок БПФ преобразует сигнал частотной области в сигнал временной области. Блок выбора сетки ресурсов извлекает элементы сетки ресурсов на основе NDLRB и скорости выборки входных данных и обеспечивает демодулированный выходной сигнал. Параметры, показанные на этом рисунке, настраивают поведение блока.

Блок принимает входные данные либо с максимальной скоростью 30,72 МГц, либо с частотой дискретизации, соответствующей NDLRB. Входные частоты дискретизации для значений NDLRB 6, 15, 25, 50, 75 и 100 составляют 1,92 МГц, 3,84 МГц, 7,68 МГц, 15,36 МГц, 30,72 МГц и 30,72 МГц соответственно.
Если для параметра Частота выборки входных данных задано значение Use maximum input data sample rateблок работает на основе параметров демодуляции (типа префикса NDLRB и CP) и выдает выходные данные вместе с выходным действительным сигналом в следующий блок.
Если для параметра Частота выборки входных данных задано значение Match input data sample rate to NDLRBблок генерирует выходной сигнал готовности и управляет входом со скоростью относительно NDLRB. Блок принимает выборки данных относительно NDLRB, когда сигнал готовности 1 Правда.
На этом рисунке показана временная диаграмма формирования сигнала готовности для непрерывного входа, когда NDLRB 6 и тип префикса CP: Normal, с длиной БПФ 128 и длиной СР 10.

numHigh = длина FFT + длина CP = 128 + 10 = 138 тактовых циклов.
numLow = максимальная длина FFT + максимальная длина CP - (numHigh) = 2048 + 160 - (138) = 2070 тактовых циклов.
На этом рисунке показана временная диаграмма формирования сигнала готовности для дискретного входа с 1 (высокий) в течение 16 тактовых циклов, когда NDLRB 6 и тип префикса CP: Normal, с длиной БПФ 128 и длиной СР 10.

numHigh = (длина БПФ + длина СР -1) * Максимальная длина БПФ/длина БПФ + 1 = (128 + 10 -1) * 16 + 1 = 2193 тактовых цикла.
numLow = максимальная длина FFT + максимальная длина CP - (numHigh) = 2048 + 160 - (2193) = 15 тактовых циклов.
Этот блок поддерживает передачу LTE с окном, реализуя удаление дробного циклического префикса. Управление окнами уменьшает внеполосные выбросы. Передатчик выполняет оконную обработку, перекрывая хвостовую часть каждого символа OFDM с головкой следующего символа OFDM. Приемник должен избегать этих перекрывающихся выборок при вычислении БПФ. Дробная CP решает эту проблему, удаляя часть CP в начале символа и оставшуюся часть CP в конце символа. Реализация алгоритма CP-фракции также делает блок демодулятора OFDM LTE менее чувствительным к сдвигу синхронизации.
Параметр Тип циклического префикса определяет, ожидает ли блок нормальный или расширенный CP. Когда блок работает с максимальной частотой дискретизации 30,72 МГц, он предполагает, что каждый символ равен 2048 выборкам плюс размер циклического префикса, связанный с этой скоростью. При использовании обычного CP префикс первого символа в каждом слоте имеет 160 выборок, в то время как последующие символы имеют префикс 144 выборки. Расширенный CP имеет 512 выборок.
Когда блок работает с частотой дискретизации относительно значения NDLRB, например, если NDLRB равен 6, блок принимает 128 выборок плюс размер циклического префикса, связанный с этой скоростью. При использовании обычного CP префикс первого символа в каждом слоте имеет 10 выборок, в то время как последующие символы имеют префикс из девяти выборок. Расширенный CP имеет 32 образца.
Блок обрабатывает КП в два этапа. Сначала блок вычисляет количество удаляемых CP выборок, Nr, и удаляет эти выборки из входных выборок. Затем он вычисляет количество выборок для сдвига, Ns, и сдвигает эти выборки в конец символа OFDM во временной области. Эти два сегмента вместе составляют общую длину циклического префикса, Ncp = Ns + Nr.
Параметр фракции CP управляет количеством выборок, удаляемых блоком в начале символа. Блок сдвигает остаток циклического префикса с начала символа на конец символа. Блок квантует долю СР в fi(0,11,10). Для достижения целого числа выборок блок вычисляет Nr = floor (фракция Ncp * CP).
Форма сигнала показывает управляющие сигналы для двух ступеней удаления ПУ. Блок сконфигурирован для нормального CP, поэтому CP первого символа составляет 160 выборок. CP для последующих символов составляет 144 выборки. Фракция CP 0.55.
На первом этапе блок устанавливает внутренний действительный сигнал на 0 (false) для исключения первых Nr выборок символа. Для первого символа Nr = 88. Манипуляция действительным сигналом также исключает конечные Ns выборок, которые заменяются сдвинутыми выборками на следующем этапе. Для первого символа Ns = 72. На втором этапе блок записывает Ns выборок в ОЗУ, а затем считывает и возвращает эти выборки в конце символа. Блок сдвигает внутренний достоверный сигнал для включения сдвинутых выборок в их новое местоположение. Результатом является 2048 выборок, правильно выровненных во временной области при подготовке к БПФ.
Для второго символа с циклическим префиксом 144 выборки Nr = 80 и Ns = 64.

Для получения дополнительной информации об окнах передатчика LTE см. раздел Алгоритмы в документе lteOFDMModulate(Панель инструментов LTE).
Поскольку блок демодулятора МОЧРК LTE использует максимальную длину БПФ 2048. Таким образом, когда обеспечиваются входные выборки, соответствующие фактической длине БПФ, блок повторителя выборок повторяет выборки, пока не сформирует 2048 выборок. Для этой операции блок сначала буферизирует входные выборки, а затем повторяет выборки на основе значения NDLRB. Этот механизм повторения помогает избежать масштабирования на входе блока БПФ. Например, если NDLRB равен 6, каждый символ OFDM состоит из 128 выборок. Блок преобразует эти 128 выборок в 2048 выборок, повторяя их 16 раз. После того как блок генерирует 2048 выборок данных, он посылает данные и действительные сигналы в следующий блок.
Обычно приемники выполняют сдвиг БПФ в частотной области. Однако этот способ требует памяти и вводит задержку, связанную с размером БПФ. Вместо этого приемник может выполнять ту же самую операцию во временной области, используя свойство сдвига частоты преобразований Фурье. Смещение функции в одной области соответствует умножению на сложную экспоненциальную функцию в другой области. Чтобы уменьшить аппаратные ресурсы и задержку, этот блок выполняет сдвиг БПФ путем умножения отсчетов временной области на сложную экспоненциальную функцию.
Эти уравнения описывают сдвиг БПФ. Уравнение для N-точечного БПФ
e − j2xeonnkN
Для сдвига БПФ N/2 несущих в любом направлении, заменить − N2, в результате чего
j2ín (k − N2) N
Это уравнение упрощает
− j2xeonnkN
Поскольку j2xeonnkN эквивалентно x (n)]ejpi = − 1, это уравнение упрощает
) nx (n)]
Окончательное уравнение показывает, что сдвиг БПФ во временной области упрощается до умножения на (-1) n. Поэтому блок реализует сдвиг БПФ путем умножения отсчетов временной области либо на + 1, либо на -1.
Выходной сигнал подсистемы сдвига БПФ подается в блок оптимизированного БПФ HDL (DSP System Toolbox). Частота дискретизации выборок временной области должна составлять 30,72 МГц. Блок вычисляет 2048-точечный БПФ для всех значений NDLRB.
Выходные сигналы Divide butterfly на два параметра определяют, реализует ли БПФ общий масштабный коэффициент 1/N путем деления выходного сигнала каждого умножения butterfly на два. Эта регулировка поддерживает выход БПФ в том же диапазоне амплитуд, что и его вход. При отключении масштабирования (по умолчанию) блок избегает переполнения, увеличивая длину слова на один бит после каждого умножения бабочки.
Эта часть алгоритма выбирает соответствующее количество поднесущих на основе NDLRB. Из 2048 поднесущих блок выбирает для вывода центральную поднесущую 12xNDLRB.
Если выбран параметр Удалить поднесущую DC, блок исключает поднесущую DC из конечного выхода сетки ресурсов. Блок исключает поднесущую постоянного тока путем установки действительного сигнала в значение 0 (false) для центрального цикла выходных поднесущих.
Для NDLRB 25 блок возвращает 12 × 25 = 300 выборки сетки ресурсов. Блок указывает местоположение этих выходных выборок с сигналом validate Out, установленным на1 Правда. Сигнал validedOut: 0 (false) в центре выходных выборок, чтобы исключить несущую постоянного тока.
Этот сигнал показывает выходные данные, если для параметра 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 |
| Блок ОЗУ | 23 |
| F7 Муксы | 0 |
| F8 Муксы | 0 |
| RAMB36/FIFO | 6 |
| RAMB18 | 18 |
[1] 3GPP TS 36.212. «Мультиплексирование и канальное кодирование». Проект партнерства 3-го поколения; техническая спецификация на сеть радиодоступа группы; Усовершенствованный универсальный наземный радиодоступа (E-UTRA). URL: https://www.3gpp.org.
[2] Сесия, С., И. Туфик и М. Бейкер, ред. LTE - Долгосрочная эволюция UMTS: от теории к практике. Хобокен, Нью-Джерси: John Wiley & Sons Ltd., 2009.
Этот блок поддерживает генерацию кода C/C + + для режимов ускорения Simulink ® и быстрого ускорения, а также для генерации компонентов DPI.
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет единую архитектуру HDL по умолчанию.
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
Невозможно создать HDL для этого блока в переустановляемой синхронной подсистеме (кодере HDL).
lteOFDMDemodulate(Панель инструментов LTE) | lteOFDMModulate(Панель инструментов LTE)1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


