nrPerfectChannelEstimate

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

Описание

пример

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

пример

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

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

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

Примеры

свернуть все

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

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

свернуть все

Усиления пути к каналу процесса исчезновения в виде 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

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

Типы данных: 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 кГц.

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

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

свернуть все

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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

Функции

Объекты

Введенный в R2018b