Совершенная оценка канала
выполняет совершенную оценку канала. Функция сначала восстанавливает импульсную характеристику канала от усилений пути к каналу h
= nrPerfectChannelEstimate(carrier
,pathGains
,pathFilters
)pathGains
и путь фильтрует импульсную характеристику pathFilters
. Функция затем выполняет демодуляцию ортогонального мультиплексирования деления частоты (OFDM). carrier
задает параметры для демодуляции OFDM.
выполняет демодуляцию OFDM для h
= nrPerfectChannelEstimate(pathGains
,pathFilters
,nrb
,scs
,initialNSlot
)nrb
количество ресурса блокирует с расстоянием между поднесущими scs
и начальный номер слота initialNSlot
.
задает шаги расчета снимков состояния канала в дополнение к входным параметрам в предыдущем синтаксисе.h
= nrPerfectChannelEstimate(___,toffset
,sampleTimes
)
задает опции при помощи одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в любом из предыдущих синтаксисов.h
= nrPerfectChannelEstimate(___,Name,Value
)
Задайте конфигурационную структуру канала с помощью nrTDLChannel
Системный объект. Используйте задержку profileTDL-C от Раздела TR 38.901 7.7.2.
SR = 7.68e6;
tdl = nrTDLChannel;
tdl.DelayProfile = 'TDL-C';
tdl.DelaySpread = 100e-9;
tdl.MaximumDopplerShift = 300;
tdl.SampleRate = SR;
Создайте случайную форму волны с длительностью 1 подкадра.
T = SR*1e-3; tdlInfo = info(tdl); Nt = tdlInfo.NumTransmitAntennas; in = complex(randn(T,Nt),randn(T,Nt));
Передайте входную форму волны через канал. Получите фильтры пути, используемые в фильтрации канала.
[~,pathGains] = tdl(in); pathFilters = getPathFilters(tdl);
Выполните совершенную оценку канала с помощью конкретного количества блоков, расстояния между поднесущими и номера слота.
NRB = 25; SCS = 15; nSlot = 0; hest = nrPerfectChannelEstimate(pathGains,pathFilters,NRB,SCS,nSlot); size(hest)
ans = 1×3
300 14 2
График предполагаемый ответ величины канала для первого получает антенну.
figure; surf(abs(hest(:,:,1))); shading('flat'); xlabel('OFDM Symbols'); ylabel('Subcarriers'); zlabel('|H|'); title('Channel Magnitude Response');
Повторите оценку канала для расширенного циклического префикса.
hest = nrPerfectChannelEstimate(pathGains,pathFilters,NRB,SCS, ... nSlot,'extended'); size(hest)
ans = 1×3
300 12 2
Постройте обновленные результаты.
figure; surf(abs(hest(:,:,1))); shading('flat'); xlabel('OFDM Symbols'); ylabel('Subcarriers'); zlabel('|H|'); title('Channel Magnitude Response with Extended Cyclic Prefix');
Задайте конфигурационную структуру канала с помощью nrCDLChannel
Системный объект. Используйте профиль задержки CDL-C от Раздела TR 38.901 7.7.1.
cdl = nrCDLChannel;
cdl.DelayProfile = 'CDL-D';
cdl.DelaySpread = 30e-9;
cdl.MaximumDopplerShift = 5;
Создайте случайную форму волны с длительностью 1 подкадра.
SR = 15.36e6; T = SR*1e-3; cdl.SampleRate = SR; cdlInfo = info(cdl); Nt = cdlInfo.NumTransmitAntennas; in = complex(randn(T,Nt),randn(T,Nt));
Передайте входную форму волны через канал. Получите фильтры пути, используемые в фильтрации канала.
[~,pathGains,sampleTimes] = cdl(in); pathFilters = getPathFilters(cdl);
Выполните оценку смещения синхронизации с помощью фильтра пути и усилений пути.
offset = nrPerfectTimingEstimate(pathGains,pathFilters);
Выполните совершенную оценку канала. Используйте конкретное количество блоков, расстояния между поднесущими, номера слота, синхронизируя смещение и шаги расчета.
NRB = 25;
SCS = 15;
nSlot = 0;
hest = nrPerfectChannelEstimate(pathGains,pathFilters,...
NRB,SCS,nSlot,offset,sampleTimes);
size(hest)
ans = 1×4
300 14 2 8
График предполагаемый ответ величины канала для первого получает антенну.
figure; surf(abs(hest(:,:,1))); shading('flat'); xlabel('OFDM Symbols'); ylabel('Subcarriers'); zlabel('|H|'); title('Channel Magnitude Response');
carrier
— Параметры конфигурации несущейnrCarrierConfig
объектПараметры конфигурации несущей для определенной нумерологии OFDM в виде nrCarrierConfig
объект. Только эти свойства объектов важны для этой функции.
NSizeGrid
— Количество RBS в сетке ресурса несущей
(значение по умолчанию) | целое число от 1 до 275Количество RBS в сетке ресурса несущей в виде целого числа от 1 до 275. Значение по умолчанию 52
соответствует максимальному количеству RBS несущей на 10 МГц с SCS на 15 кГц.
Типы данных: double
SubcarrierSpacing
— Расстояние между поднесущими в kHz
(значение по умолчанию) | 30
| 60
| 120
| 240
Расстояние между поднесущими в kHz, для всех каналов и опорных сигналов несущей в виде 15
, 30, 60
, 120
, или
240
.
Типы данных: double
NSlot
— Номер слота
(значение по умолчанию) | неотрицательное целое числоНомер слота в виде неотрицательного целого числа. Можно установить NSlot
к значению, больше, чем количество пазов на систему координат. Например, можно установить это значение с помощью счетчиков цикла передачи в MATLAB® симуляция. В этом случае вам, вероятно, придется гарантировать, что значение свойства по модулю количество пазов на систему координат в коде вызова.
Типы данных: double
CyclicPrefix
— Длина циклического префикса'normal'
(значение по умолчанию) | 'extended'
Длина циклического префикса в виде одной из этих опций.
'normal'
— Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.
'extended'
— Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса запрашивает расстояние между поднесущими на только 60 кГц.
Типы данных: char |
string
pathGains
— Усиления пути к каналу исчезающего процессаУсиления пути к каналу процесса исчезновения в виде CS N NP NT NR объединяют матрицу, где:
CS N является количеством снимков состояния канала.
N P является количеством путей.
N T является количеством передающих антенн.
N R является количеством, получают антенны.
Типы данных: single
| double
Поддержка комплексного числа: Да
pathFilters
— Импульсная характеристика фильтра путиИмпульсная характеристика фильтра пути в виде H-by-NP N действительная матрица, где:
N H является количеством выборок импульсной характеристики.
N P является количеством путей.
Каждый столбец матрицы содержит импульсную характеристику фильтра для каждого пути профиля задержки.
Типы данных: double
nrb
— Количество блоков ресурсаКоличество ресурса блокируется в виде целого числа от 1 до 275.
Типы данных: double
scs
— Расстояние между поднесущими в kHz
| 30
| 60
| 120
| 240
Расстояние между поднесущими в kHz в виде 15
, 30, 60
, 120
, или
240
.
Типы данных: double
initialNSlot
— Начальный номер слотаНачальный номер слота, на основе 0 в виде неотрицательного целого числа. Функция выбирает соответствующую длину циклического префикса для демодуляции OFDM на основе значения initialNSlot
по модулю количество пазов на подкадр.
Типы данных: double
toffset
— Синхронизация смещения в выборкахСинхронизация смещения в выборках в виде неотрицательного целого числа. Смещение синхронизации указывает на начальную точку демодуляции OFDM на восстановленной форме волны. Смещение составляет задержки распространения, который важен при получении совершенной оценки канала, замеченного синхронизируемым приемником. toffset
значения по умолчанию к значению nrPerfectTimingEstimate
(pathGains,pathFilters)
если не заданный как входной параметр.
Типы данных: double
sampleTimes
— Шаги расчета снимков состояния каналаШаги расчета канала создают снимки в виде N CS-1 вектор-столбец неотрицательных вещественных чисел. sampleTimes
задает время вхождения каждого снимка состояния канала. Количество снимков состояния канала, CS N, идентично первой размерности pathGains
. Если не заданный, sampleTimes
значения по умолчанию к N CS-1 вектор времен, запускающихся в нуле с частоты дискретизации, используемой для модуляции OFDM количества ресурса, блокируют nrb
и расстояние между поднесущими scs
. Убедитесь, что снимки состояния канала охватывают по крайней мере один паз. Функция выполняет оценку канала для каждого полного паза.
Типы данных: double
cpl
— Длина циклического префикса'normal'
(значение по умолчанию) | 'extended'
Длина циклического префикса в виде одной из этих опций:
'normal'
— Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.
'extended'
— Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса только применяется к расстоянию между поднесущими на 60 кГц.
Примечание
Если вы задаете carrier
введите, используйте CyclicPrefix
свойство carrier
введите, чтобы задать длину циклического префикса. Вы не можете использовать cpl
введите вместе с carrier
входной параметр.
Если вы задаете длину циклического префикса с 'CyclicPrefix'
аргумент пары "имя-значение", вы не можете использовать cpl
входной параметр.
Типы данных: char |
string
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'CyclicPrefixFraction',0.75
задает местоположение запуска для демодуляции относительно длины циклического префикса.CyclicPrefix
— Длина циклического префикса'normal'
(значение по умолчанию) | 'extended'
Длина циклического префикса в виде разделенной запятой пары, состоящей из 'CyclicPrefix'
и одно из этих значений:
'normal'
— Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.
'extended'
— Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса только применяется к расстоянию между поднесущими на 60 кГц.
Примечание
Если вы задаете carrier
введите, используйте CyclicPrefix
свойство carrier
введите, чтобы задать длину циклического префикса. Вы не можете использовать этот аргумент пары "имя-значение" вместе с carrier
входной параметр.
Если вы задаете длину циклического префикса с cpl
введите, вы не можете использовать этот аргумент пары "имя-значение".
Типы данных: char |
string
Nfft
— Количество точек БПФ[]
Количество быстрого преобразования Фурье (FFT) указывает в виде разделенной запятой пары, состоящей из 'Nfft'
и неотрицательное целое число, больше, чем 127 или []
. Значение, которое вы задаете, должно привести к длинам циклического префикса с целочисленным знаком и максимальному заполнению 100%. Заполнение задано как значение (12 × N RB)/Nfft
, где N RB является количеством блоков ресурса.
Если вы не задаете этот вход, или если вы задаете 'Nfft',[]
, функция устанавливает целочисленное значение, больше, чем 127 как значение по умолчанию для этого входа. Фактическое значение по умолчанию зависит от других входных значений.
Если вы не задаете SampleRate
введите, или если вы задаете 'SampleRate',[]
, функция устанавливает Nfft
удовлетворение этим условиям.
Nfft
целочисленная степень 2.
Nfft
результаты в максимальном заполнении 85%.
Если вы задаете SampleRate
введите, функция устанавливает Nfft
удовлетворение этим условиям.
Для получения дополнительной информации смотрите, Конфигурируют Частоту дискретизации OFDM и Размер БПФ.
Типы данных: double
SampleRate
— Частота дискретизации формы волны[]
Частота дискретизации формы волны в виде разделенной запятой пары, состоящей из 'SampleRate'
и или положительная скалярная величина или []
.
Если вы не задаете этот вход, или если вы задаете 'SampleRate',[]
, затем функция устанавливает этот вход на значение N fft × SCS.
Для получения дополнительной информации смотрите, Конфигурируют Частоту дискретизации OFDM и Размер БПФ.
Типы данных: double
CyclicPrefixFraction
— Положение окна БПФ в циклическом префиксе
(значение по умолчанию) | скаляр в интервале [0, 1]Положение окна Быстрого преобразования Фурье (FFT) в циклическом префиксе в виде разделенной запятой пары, состоящей из 'CyclicPrefixFraction'
и скаляр в интервале [0, 1].
Значение, которое вы задаете, указывает на местоположение запуска для демодуляции OFDM относительно начала циклического префикса.
Типы данных: double
h
— Совершенная оценка каналаСовершенная оценка канала, возвращенная как SC N NSYM NR NT комплексным массивом, где:
SC N является количеством поднесущих.
N SYM является количеством символов OFDM.
N R является количеством, получают антенны.
N T является количеством передающих антенн.
h
наследовал его тип данных от pathGains
.
Типы данных: double |
single
[1] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.
Указания и ограничения по применению:
Имена и значения в аргументах пары "имя-значение" должны быть константами времени компиляции. Например, когда определение расширило циклический префикс, включайте {coder.Constant('CyclicPrefix'),coder.Constant('extended')}
в -args
значение codegen
функция. Для получения дополнительной информации смотрите coder.Constant
(MATLAB Coder) класс.
Входные параметры nrb
, scs
, и initialNSlot
должны быть константы времени компиляции. Включайте {coder.Constant(nrb)}
, {coder.Constant(scs)}
, и {coder.Constant(initialNSlot)}
в -args
значение codegen
функция.
'SampleRate'
аргумент пары "имя-значение" не может использоваться вместе с carrier
входной параметр.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.