Демодулируйте временной интервал выборки OFDM и возвратите пользовательские поднесущие
LTE HDL Toolbox / Общие Коммуникации
Блок OFDM Demodulator демодулирует выборки ортогонального мультиплексирования деления частоты (OFDM) временного интервала и выходные поднесущие на основе параметров OFDM. Блок поддерживает 5G, LTE [1], Беспроводная Локальная сеть (WLAN 802.11a/b/g/n/ac) [2], WiMAX (802,16 м и e), цифровое видео широковещательно передается (DVB) и стандарты цифрового аудио широковещательно передается (DAB).
Блок принимает входные данные наряду с управляющим сигналом допустимые и другие параметры OFDM: длина БПФ, длина CP и количество правых и левых защитных поднесущих и выходных параметров демодулировали данные наряду с сигналами средств управления, допустимыми и готовыми. Блок включает готовый выходной порт только, когда эти параметры OFDM предоставляются блоку через входные порты. Блок производит соответствующие параметры OFDM только, когда готовым является 1
(высоко) и когда первым допустимым из каждого символа OFDM является 1
(высоко).
Блок обеспечивает интерфейс и архитектуру, подходящую для аппаратного развертывания и генерации HDL-кода.
data
— Входные данныеВходные данные, заданные как вещественное или комплексное число со знаком. double
и single
поддерживаются для симуляции, но не для генерации HDL-кода.
Типы данных: single
| double
| int8
| int16
| int32
| signed fixed point
Поддержка комплексного числа: Да
valid
— Указывает на допустимые входные данныеBoolean
скалярУправляющий сигнал, который указывает, когда выборка от входного порта data допустима. Когда этим значением является 1
(TRUE), блок получает значения на входном порте data. Когда этим значением является 0
(FALSE), блок игнорирует значения на входном порте data.
Типы данных: Boolean
FFTLen
— Длина БПФДлина БПФ, заданного как действительный скаляр. Длина БПФ должна быть степенью 2 и в области значений 8 - 65 536. значение FFTLen должно быть меньше чем или равно значению Maximum FFT length, введенному в маске блока.
Типом входных данных должен быть fixdt(0,k,0)
, где k должен быть минимален 4, чтобы поддержать минимальную длину БПФ 8.
Чтобы включить этот порт, установите параметр OFDM parameters source на Input port
.
Типы данных: single
| double
| uint8
| uint16
| uint32
| Boolean
| fixed point
CPLen
— Длина циклического префиксаДлина циклического префикса, заданного как действительный скаляр. значения CPLen должны быть в диапазоне от 0 до длины БПФ.
Типом входных данных должен быть fixdt(0,k,0)
, где k должен быть минимален 4, чтобы поддержать минимальную длину БПФ 8.
Чтобы включить этот порт, установите параметр OFDM parameters source на Input port
.
Типы данных: single
| double
| uint8
| uint16
| uint32
| fixed point
numLgSc
— Количество покинутых защитных поставщиков услуг символа OFDMУказывает на количество защитных полос в левом экстремальном значении символа OFDM. значения numLgSc должны быть в диапазоне от 0 до (длина/2 БПФ) - 1.
Типом входных данных должен быть fixdt(0,k,0)
, где k должен быть минимален 2, чтобы поддержать минимальную длину БПФ 8.
Чтобы включить этот порт, установите параметр OFDM parameters source на Input port
.
Типы данных: single
| double
| uint8
| uint16
| uint32
| fixed point
numRgSc
— Количество правильных защитных поставщиков услуг символа OFDMУказывает на количество защитных полос в правильном экстремальном значении символа OFDM. значения numRgSc должны быть в диапазоне от 0 до (длина/2 БПФ) - 1.
Типом входных данных должен быть fixdt(0,k,0)
, где k должен быть минимален 2, чтобы поддержать минимальную длину БПФ 8.
Чтобы включить этот порт, установите параметр OFDM parameters source на Input port
.
Типы данных: single
| double
| uint8
| uint16
| uint32
| fixed point
reset
— Очистите внутренние состоянияBoolean
скалярОчищает внутреннее состояние, заданное как Boolean
скаляр. Когда этим значением является 1
(TRUE), блок останавливает текущее вычисление и очищает все внутренние состояния.
Чтобы включить этот порт, выберите параметр Enable reset input port.
Типы данных: Boolean
data
— Выходные данныеВыходные данные, возвращенные как вещественное или комплексное число со знаком. Тип выходных данных - то же самое как тип данных порта входа data.
Избегать переполнения, если вы очищаете параметр Divide butterfly outputs by two, выходные увеличения размера слова log2 (FFT length) биты, когда параметр OFDM parameters source устанавливается на Property
и это увеличивает на log2 (Maximum FFT length) биты, когда параметр OFDM parameters source устанавливается на Input port
.
Типы данных: 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), блок игнорирует входные данные в следующем временном шаге.
Чтобы включить этот порт, установите параметр OFDM parameters source на Input port
.
Типы данных: Boolean
OFDM parameters source
— Источник параметров OFDMProperty
(значение по умолчанию) | Input port
Можно установить параметры OFDM с входным портом или путем выбора значения для параметра.
Выберите Property
включить FFT length, Cyclic prefix length, Number of left guard subcarriers и параметры Number of right guard subcarriers.
Выберите Input port
включить FFTLen, CPLen, numLgSc и входные порты numRgSc.
Maximum FFT length
— Максимальная продолжительность длины БПФ
(значение по умолчанию) | целое число степени 2 из области значений 8 - 65 536Задайте максимальную длину БПФ.
Чтобы включить этот параметр, установите параметр OFDM parameters source на Input port
.
FFT length
— Длина БПФ
(значение по умолчанию) | целое число степени 2 из области значений 8 - 65 536Задайте длину БПФ. Когда параметр OFDM parameters source устанавливается на Property
, блок рассматривает это значение длины БПФ как максимальную длину БПФ.
Чтобы включить этот параметр, установите параметр OFDM parameters source на Property
.
Cyclic prefix length
— Длина циклического префикса
(значение по умолчанию) | целое число из области значений 0 к длине БПФЗадайте длину циклического префикса.
Чтобы включить этот параметр, установите параметр OFDM parameters source на Property
.
Number of left guard subcarriers
— Количество поднесущих защитной полосы в левом экстремальном значении символа OFDM
(значение по умолчанию) | целое число из области значений 0 к (длина/2 БПФ) - 1Задайте количество левых защитных поднесущих.
Чтобы включить этот параметр, установите параметр OFDM parameters source на Property
.
Number of right guard subcarriers
— Количество поднесущих защитной полосы в правильном экстремальном значении символа OFDM
(значение по умолчанию) | целое число из области значений 0 к (длина/2 БПФ) - 1Задайте количество правильных защитных поднесущих.
Чтобы включить этот параметр, установите параметр OFDM parameters source на Property
.
Enable CP Fraction
— Механизм реализации части CPoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить параметр CP Fraction на маске блока.
CP Fraction
— Процент циклического префикса, чтобы удалить
(значение по умолчанию) | лежит в диапазоне от 0 до 1Циклическая префиксная часть, заданная как значение от 0 до 1, включительно. Этот параметр задает процент выборок CP, которые блок удаляет из запуска символа OFDM. Блок переключает остающиеся выборки CP в конец символа OFDM.
Когда этим параметром является 0.55
, блок удаляет 55% CP с начала символа и переключает 45% в конец символа. Когда вы устанавливаете этот параметр на 1
, блок удаляет 100% CP от запуска символа OFDM и не переключает выборок в конец.
Чтобы включить этот параметр, выберите параметр Enable CP Fraction.
Remove DC subcarrier
— Исключите или включайте поднесущую DCon
(значение по умолчанию) | off
Когда вы выбираете этот параметр, блок исключает поднесущую DC в выходе путем установки выхода допустимый сигнал на 0
(низко) для центрального цикла выходных поднесущих.
Enable reset input port
— Сбросьте сигналoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы включить порт reset на значке блока.
Divide butterfly outputs by two
— Разделите бабочку БПФ выходные параметры на дваoff
(значение по умолчанию) | on
Этот параметр управляет масштабирующейся опцией блока FFT HDL Optimized в блоке OFDM Demodulator.
Когда вы выбираете этот параметр, БПФ реализует полный 1/N масштабный коэффициент путем деления выхода каждого умножения бабочки два. Эта корректировка сохраняет выход БПФ в той же амплитудной области значений как ее вход. Если вы отключаете этот параметр, блок избегает переполнения путем увеличения размера слова на один бит после каждого умножения бабочки.
Rounding Method
— Режим Rounding для внутренних вычислений фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Zero
Этот параметр задает тип округления режима для внутренних вычислений фиксированной точки. Для получения дополнительной информации об округлении режимов, смотрите Округление Режимов (DSP System Toolbox). Когда вход является любым целочисленным типом данных или типом данных с фиксированной точкой, Алгоритм бпф использует вычисления с фиксированной точкой во внутренних вычислениях. Этот параметр не применяется, когда вход имеет тип данных single
или double
. Округление применяется к умножению вертеть-фактора и операциям масштабирования.
Последовательность блочной операции OFDM Demodulator реализована с помощью этих блоков: Готовый Генератор, Съемник Префикса CP, Демонстрационный Повторитель, Переключатель БПФ, БПФ, Вниз Сэмплер и Селектор Поднесущей. Параметры, показанные в этом рисунке, конфигурируют поведение блока.
Этот блок включает готовый сигнал, когда OFDM parameters source выбран как Input port
. Этот готовый сигнал управляет входными выборками на основе максимальной длины БПФ.
Этот блок удаляет выборки CP из символа OFDM для извлечения символов созвездия. Блок выполняет демонтаж CP на основе параметров: длина CP, часть CP (когда включено), и длина БПФ.
Этот блок поддерживает оконную передачу путем реализации дробного циклического префиксного удаления. Работа с окнами сокращает внеполосные выбросы. Передатчик выполняет работу с окнами путем наложения хвоста каждого символа OFDM с главой следующего символа OFDM. Получатель должен избежать этих перекрытых выборок в вычислении БПФ. Дробный CP решает эту задачу путем удаления части CP в начале символа и остатка от CP в конце символа. Реализация дробного CP алгоритма также делает этот блок менее чувствительным к синхронизации смещения.
Блок обрабатывает CP на двух этапах. Во-первых, блок вычисляет количество выборок CP, чтобы удалить, N r, и удаляет те выборки из входных выборок. Где, N r = CP fraction * CP length.
Затем это вычисляет количество выборок, чтобы переключить, N s, и переключает те выборки в конец символа OFDM во временном интервале. Где, N s = CP length - (CP fraction * CP length).
Эти два сегмента вместе составляют общую циклическую длину префикса, CP N = N s + N r. Параметр CP fraction управляет, сколько выборок блок удаляет в начале символа. Блок переключает остаток от циклического префикса от запуска символа в конец символа. Блок квантует параметр CP fraction к fi(0,11,10)
. Чтобы достигнуть целого числа выборок, блок вычисляет N r = floor
(CP N * CP fraction).
Например, если длина БПФ равняется 128, и длина CP равняется 10, блок получает 128 выборок плюс циклический префиксный размер.
Этот блок повторяет количество длины БПФ выборок, пока это не формирует максимальную длину БПФ. Для этой операции, буфера блоков входные выборки сначала, и затем повторяет выборки на основе максимального значения длины БПФ. Этот механизм повторения помогает постараться не масштабироваться во входе блока FFT. Этот блок является дополнительным и доступным только, когда параметр OFDM parameters source устанавливается на Input port
. Когда параметр OFDM parameters source устанавливается на Property
, значение длины БПФ, введенное в маске блока, рассматривается как максимальную длину БПФ. Так, нет никакой потребности повторить выборки в этом контексте.
Например, если длина БПФ равняется 128, и максимальная длина БПФ 2048, каждый символ OFDM состоит из 128 выборок. Блок преобразует эти 128 выборок в 2 048 выборок путем повторения их 16 раз. После того, как блок генерирует 2 048 выборок данных, он отправляет данные и допустимые входные сигналы со следующим блоком.
Традиционно, получатели выполняют БПФ, переключают частотный диапазон на нижний регистр. Однако этот метод требует памяти и вводит задержку, связанную с размером БПФ. Вместо этого получатель может выполнить ту же операцию в области времени использование свойства сдвига частоты преобразований Фурье. Сдвиг функции в одной области соответствует умножению комплексной экспоненциальной функцией в другой области. Чтобы уменьшать аппаратные ресурсы и задержку, этот блок выполняет сдвиг БПФ путем умножения выборок временного интервала на комплексную экспоненциальную функцию.
Эти уравнения описывают сдвиг БПФ. Уравнение для N - БПФ точки
Для сдвига БПФ N/2 поставщики услуг в любом направлении, замене, приводящей к
Это уравнение упрощает до
С тех пор эквивалентно, и, это уравнение упрощает до
Итоговое уравнение показывает, что БПФ переключается на нижний регистр, временной интервал упрощает до умножения (-1) n. Поэтому блок реализует сдвиг БПФ путем умножения выборок временного интервала или на +1 или на –1.
Этот блок преобразует сигнал области времени в сигнал частотного диапазона на основе максимальной длины БПФ, предусмотрел блок. Можно ввести значение длины БПФ или через параметр или через входной порт. Выход подсистемы сдвига БПФ питается блок FFT HDL Optimized. Блок вычисляет максимальный БПФ для всей длины БПФ и значений длины CP.
Параметр Divide butterfly outputs by two управляет, реализует ли БПФ полный 1/N масштабный коэффициент путем деления выхода каждого умножения бабочки два. Эта корректировка сохраняет выход БПФ в той же амплитудной области значений как ее вход. Когда вы отключаете масштабирующийся (значение по умолчанию), блок избегает переполнения путем увеличения размера слова на один бит после каждого умножения бабочки.
Этот блок вниз производит максимальное количество длины БПФ выборок к количеству длины БПФ выборок. Этот блок является дополнительным и доступным только, когда параметр OFDM parameters source устанавливается на Input port
. Когда OFDM parameters source установлен в Property
, значение длины БПФ, введенное в маске блока, рассматривается как максимальную длину БПФ. Так, нет никакой потребности проредить выборки в этом контексте.
Например, блок действует с длиной БПФ как 128, и максимальная длина БПФ 2048. Здесь, вход является 2 048 выборками, и он должен быть прорежен с соответствующим к длине БПФ 128. Так, выборки блока 1 выборка для каждых максимальных 16 выборки.
Выходные поднесущие категоризированы в данные, DC, и охраняют поднесущие. Поднесущие данных рассматриваются как полезные поднесущие. Этот блок выбирает поднесущие путем удаления количества левых защитных поднесущих, и правильные защитные поднесущие предусмотрели блок. Количество защитных поднесущих, чтобы установить меняется в зависимости от стандартов.
Если параметр Remove DC subcarrier выбран, блок исключает поднесущую DC из выхода. Блок исключает поднесущую DC путем установки допустимого сигнала на 0
(FALSE) для центрального цикла выходных поднесущих.
Блок получает выходные биты в допустимых циклах.
Этот рисунок показывает демонстрационный выход и задержку блока OFDM Demodulator, когда вы устанавливаете параметр OFDM parameters source на Property
и другие параметры устанавливаются со значениями параметров блоков по умолчанию. Входной параметр по умолчанию FFTLen устанавливается на 64
, Cyclic prefix length установлен в 16
, Number of left guard subcarriers и Number of left guard subcarriers установлены в 6
и 5
соответственно.
Здесь, задержка блока вычисляется с помощью формулы, Cyclic prefix length + Задержка блока FFT для заданного FFT length + Number of left guard subcarriers + 12 (конвейерные задержки).
После вычисления задержка блока является 203 тактами как показано в следующем рисунке.
Этот рисунок показывает демонстрационный выход и задержку блока, когда вы устанавливаете параметр OFDM parameters source на Input port
. Например, входной порт FFTLen установлен в 64
, CPLen установлен в 16
, numLgSc и numRgSc установлены в 6
и 5
соответственно, и значение параметров Maximum FFT length установлено в 128
.
Здесь, задержка блока вычисляется с помощью формулы, CPLen + Задержка блока FFT для заданного Maximum FFT length + numLgSc * (Maximum FFT length/FFTLen) + 21 (конвейерные задержки).
После вычисления задержка блока является 420 тактами как показано в следующем рисунке.
Блок принимает вход только, когда готовым сигналом является 1
(высоко), и затем это получает параметры блоков на первом цикле, когда входом допустимый сигнал является 1
(высоко).
Производительность синтезируемого HDL-кода меняется в зависимости от вашей цели и опций синтеза. Типом входных данных, используемым в генерации HDL-кода, является fixdt(1,16,14)
.
Эта таблица показывает результаты синтеза данных ресурсов и данных о производительности при использовании блока с настройкой по умолчанию. Сгенерированный HDL предназначен к Xilinx® Zynq®-7000 XC7Z045-2FFG900C SoC. Проект достигает частоты часов 347 МГц.
Ресурс | Используемый номер |
---|---|
LUTs | 3706 |
Регистры | 5652 |
DSPS | 10 |
Блокируйте RAM | 2.5 |
[1] 3GPP релиз 14 TS 36.211 версии 14.2.0. "Физические каналы и модуляция". LTE - Развитый Универсальный Наземный Радио-доступ (к E-UTRA).
[2] "Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации". Станд. IEEE 802.11 – 2012.
[3] Стефания Сезия, Иссам Туфик и пекарь Мэтью. LTE - Долгосрочная Эволюция THE UMTS от теории до практики.
[4] Эрик Дэхлмен, Стефан Парквол и Йохан Сколд. 4G - LTE/LTE - Усовершенствованный для Мобильного широкополосного Второго выпуска.
Этот блок поддерживает генерацию кода C/C++ для акселератора Simulink® и быстрых режимов Accelerator и для генерации компонента DPI.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
Вы не можете сгенерировать HDL для этого блока в Resettable Synchronous Subsystem.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.