nrPerfectChannelEstimate

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

Синтаксис

hest = nrPerfectChannelEstimate(pathGains,pathFilters,nrb,scs,initialSlot)
hest = nrPerfectChannelEstimate(___,toffset)
hest = nrPerfectChannelEstimate(___,toffset,sampleTimes)
hest = nrPerfectChannelEstimate(___,cpl)

Описание

пример

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

пример

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

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

hest = nrPerfectChannelEstimate(___,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 на восстановленной форме волны. Смещение составляет задержки распространения, который важен при получении совершенной оценки канала, замеченного синхронизируемым получателем. Используйте nrPerfectTimingEstimate, чтобы вывести toffset.

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

Шаги расчета снимков состояния канала, заданных как N CS-1 вектор-столбец неотрицательных вещественных чисел. Количество снимков состояния канала, CS N, идентично первой размерности pathGains.

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

Циклическая длина префикса, заданная как одно из этих значений.

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

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

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

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

свернуть все

Совершенная оценка канала, возвращенная как SC N NSYM NR NT массивом комплексных или вещественных чисел, где:

  • SC N является количеством поднесущих.

  • N SYM является количеством символов OFDM.

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

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

hest наследовал свой тип данных от pathGains.

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

Ссылки

[1] 3GPP TS 38.211. “NR; Физические каналы и модуляция”. Проект Партнерства третьего поколения; Сеть радиодоступа Technical Specification Group.

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

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

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

Функции

Системные объекты

Введенный в R2018b