nrPerfectChannelEstimate

Совершенная оценка канала

Описание

h = nrPerfectChannelEstimate(carrier,pathGains,pathFilters) выполняет совершенную оценку канала. Функция сначала восстанавливает импульсную характеристику канала от усилений пути к каналу pathGains и путь фильтрует импульсную характеристику pathFilters. Функция затем выполняет демодуляцию ортогонального мультиплексирования деления частоты (OFDM). carrier задает параметры для демодуляции OFDM.

пример

h = nrPerfectChannelEstimate(pathGains,pathFilters,nrb,scs,initialNSlot) выполняет демодуляцию OFDM для nrb количество ресурса блокируется с поднесущей, располагающей с интервалами scs и начальный номер слота initialNSlot.

пример

h = nrPerfectChannelEstimate(___,toffset) задает смещение синхронизации в дополнение к входным параметрам в любом из предыдущих синтаксисов. Смещение синхронизации указывает на начальную точку демодуляции OFDM на восстановленной форме волны.

h = nrPerfectChannelEstimate(___,toffset,sampleTimes) задает шаги расчета снимков состояния канала в дополнение к входным параметрам в предыдущем синтаксисе.

h = nrPerfectChannelEstimate(___,cpl) задает длину циклического префикса в дополнение к входным параметрам в любом из предыдущих синтаксисов, которые не включают carrier входной параметр.

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');

Figure contains an axes. The axes with title Channel Magnitude Response contains an object of type surface.

Повторите оценку канала для расширенного циклического префикса.

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');

Figure contains an axes. The axes with title Channel Magnitude Response with Extended Cyclic Prefix contains an object of type surface.

Задайте конфигурационную структуру канала с помощью 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');

Figure contains an axes. The axes with title Channel Magnitude Response contains an object of type surface.

Входные параметры

свернуть все

Параметры конфигурации поставщика услуг для определенной нумерологии OFDM в виде nrCarrierConfig объект. Только эти свойства объектов важны для этой функции.

Количество RBS в сетке ресурса поставщика услуг в виде целого числа от 1 до 275. Значение по умолчанию 52 соответствует максимальному количеству RBS поставщика услуг на 10 МГц с SCS на 15 кГц.

Типы данных: double

Интервал поднесущей в kHz, для всех каналов и опорных сигналов поставщика услуг в виде 15, 30, 60, 120, или 240.

Типы данных: double

Номер слота в виде неотрицательного целого числа. Можно установить NSlot к значению, больше, чем количество пазов на систему координат. Например, можно установить это значение с помощью счетчиков цикла передачи в симуляции MATLAB®. В этом случае вам, вероятно, придется гарантировать, что значение свойства по модулю количество пазов на систему координат в коде вызова.

Типы данных: double

Длина циклического префикса в виде одной из этих опций.

  • 'normal' — Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' — Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса запрашивает интервал поднесущей на только 60 кГц.

Типы данных: char | string

Усиления пути к каналу процесса исчезновения в виде CS N NP NT NR объединяют матрицу, где:

  • CS N является количеством снимков состояния канала.

  • N P является количеством путей.

  • N T является количеством антенн передачи.

  • N R является количеством, получают антенны.

Типы данных: single | double
Поддержка комплексного числа: Да

Импульсная характеристика фильтра пути в виде H-by-NP N действительная матрица, где:

  • N H является количеством выборок импульсной характеристики.

  • N P является количеством путей.

Каждый столбец матрицы содержит импульсную характеристику фильтра для каждого пути профиля задержки.

Типы данных: double

Количество ресурса блокируется в виде целого числа от 1 до 275.

Типы данных: double

Интервал поднесущей в kHz в виде 15, 30, 60, 120, или 240.

Типы данных: double

Начальный номер слота, на основе 0 в виде неотрицательного целого числа. Функция выбирает соответствующую длину циклического префикса для демодуляции OFDM на основе значения initialNSlot по модулю количество пазов на подкадр.

Типы данных: double

Синхронизация смещения в выборках в виде неотрицательного целого числа. Смещение синхронизации указывает на начальную точку демодуляции OFDM на восстановленной форме волны. Смещение составляет задержки распространения, который важен при получении совершенной оценки канала, замеченного синхронизируемым приемником. toffset значения по умолчанию к значению nrPerfectTimingEstimate(pathGains,pathFilters) если не заданный как входной параметр.

Типы данных: double

Шаги расчета канала создают снимки в виде N CS-1 вектор-столбец неотрицательных вещественных чисел. sampleTimes задает время вхождения каждого снимка состояния канала. Количество снимков состояния канала, CS N, идентично первой размерности pathGains. Если не заданный, sampleTimes значения по умолчанию к N CS-1 вектор времен, запускающихся в нуле с частоты дискретизации, используемой для модуляции OFDM количества ресурса, блокируют nrb и поднесущая, располагающая с интервалами scs. Убедитесь, что снимки состояния канала охватывают по крайней мере один паз. Функция выполняет оценку канала для каждого полного паза.

Типы данных: double

Длина циклического префикса в виде одной из этих опций:

  • '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' — Используйте это значение, чтобы задать нормальный циклический префикс. Эта опция соответствует 14 символам OFDM в пазе.

  • 'extended' — Используйте это значение, чтобы задать расширенный циклический префикс. Эта опция соответствует 12 символам OFDM в пазе. Для нумерологии, заданной в Разделе TS 38.211 4.2, расширенная длина циклического префикса только применяется к интервалу поднесущей на 60 кГц.

Примечание

  • Если вы задаете carrier введите, используйте CyclicPrefix свойство carrier введите, чтобы задать длину циклического префикса. Вы не можете использовать этот аргумент пары "имя-значение" вместе с carrier входной параметр.

  • Если вы задаете длину циклического префикса с cpl введите, вы не можете использовать этот аргумент пары "имя-значение".

Типы данных: char | string

Количество быстрого преобразования Фурье (FFT) указывает в виде разделенной запятой пары, состоящей из 'Nfft' и неотрицательное целое число, больше, чем 127 или []. Значение, которое вы задаете, должно привести к длинам циклического префикса с целочисленным знаком и максимальному заполнению 100%. Заполнение задано как значение (12 × N RB)/Nfft, где N RB является количеством блоков ресурса.

Если вы не задаете этот вход, или если вы задаете 'Nfft',[], функция устанавливает целочисленное значение, больше, чем 127 как значение по умолчанию для этого входа. Фактическое значение по умолчанию зависит от других входных значений.

  • Если вы не задаете SampleRate введите, или если вы задаете 'SampleRate',[], функция устанавливает Nfft удовлетворение этим условиям.

    • Nfft целочисленная степень 2.

    • Nfft результаты в максимальном заполнении 85%.

  • Если вы задаете SampleRate введите, функция устанавливает Nfft удовлетворение этим условиям.

    • Nfft результаты в длинах циклического префикса с целочисленным знаком.

    • Nfft максимизирует значение gcd (Nfft × SCS, SampleRate), где SCS задан carrier.SubcarrierSpacing свойство или scs входной параметр.

Типы данных: double

Частота дискретизации формы волны в виде разделенной запятой пары, состоящей из 'SampleRate' и или положительная скалярная величина или [].

Если вы не задаете этот вход, или если вы задаете 'SampleRate',[], затем функция устанавливает этот вход на значение N fft × SCS.

  • N fft является значением 'Nfft' входной параметр.

  • SCS является интервалом поднесущей. В зависимости от синтаксиса функций вы используете, SCS задан carrier.SubcarrierSpacing свойство или scs входной параметр.

Типы данных: double

Положение окна Быстрого преобразования Фурье (FFT) в циклическом префиксе в виде разделенной запятой пары, состоящей из 'CyclicPrefixFraction' и скаляр в интервале [0, 1].

Значение, которое вы задаете, указывает на местоположение запуска для демодуляции OFDM относительно начала циклического префикса.

Типы данных: double

Выходные аргументы

свернуть все

Совершенная оценка канала, возвращенная как 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.

Расширенные возможности

Смотрите также

Функции

Объекты

Введенный в R2018b