exponenta event banner

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 Системный объект. Используйте профиль задержки TDL-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 из ТР 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 объект. Для этой функции релевантны только эти свойства объекта.

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

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

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

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

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

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

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

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

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

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

Усиление тракта канала процесса замирания, определяемое как комплексная матрица NCS-by-NP-by-NT-by-NR, где:

  • NCS - количество снимков канала.

  • NP - количество трактов.

  • NT - количество передающих антенн.

  • NR - количество приемных антенн.

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

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

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

  • NP - количество трактов.

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

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

Количество блоков ресурсов, указанное как целое число от 1 до 275.

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

Интервал между поднесущими в кГц, указанный как 15, 30, 60, 120, или 240.

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

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

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

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

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

Время выборки снимков канала, указанное как вектор NCS-by-1 столбца неотрицательных вещественных чисел. sampleTimes указывает время появления каждого моментального снимка канала. Количество снимков канала, NCS, идентично первому измерению pathGains. Если не указано, sampleTimes значение по умолчанию - NCS-by-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 input, этот аргумент пары имя-значение использовать нельзя.

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

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

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

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

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

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

  • При указании SampleRate ввод, наборы функций Nfft удовлетворение этих условий.

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

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

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

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

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

  • Nfft - значение 'Nfft' вход.

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

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

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

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

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

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

свернуть все

Совершенная оценка канала, возвращенная в виде комплексного массива NSC-by-NSYM-by-NR-by-NT, где:

  • NSC - количество поднесущих.

  • NSYM - количество символов OFDM.

  • NR - количество приемных антенн.

  • NT - количество передающих антенн.

h наследует тип данных из pathGains.

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

Ссылки

[1] 3GPP TS 38.211. "НР; Физические каналы и модуляция. "Проект партнерства 3-го поколения; Техническая спецификация на сеть радиодоступа группы.

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

.
Представлен в R2018b