nrEqualizeMMSE

Минимальная среднеквадратичная ошибка (MMSE) эквализация

Описание

пример

[eqSym,csi] = nrEqualizeMMSE(rxSym,hest,nVar) применяет эквализацию MMSE к извлеченному ресурсу элементов массива физическому каналу rxSym и возвращает уравненные символы в eqSym. Процесс эквализации использует оцененную информацию о канале hest и оценку принятого отклонения nVar. Функция также возвращает информацию о состоянии мягкого канала csi.

Примеры

свернуть все

Выполните эквализацию MMSE по извлеченным ресурсным элементам физического широковещательного канала (PBCH).

Создайте символы и индексы для передачи PBCH.

ncellid = 146;
v = 0;
E = 864;
cw = randi([0 1],E,1);
pbchTxSym = nrPBCH(cw,ncellid,v);
pbchInd = nrPBCHIndices(ncellid);

Сгенерируйте пустой ресурсный массив для одной передающей антенны. Заполните массив символами PBCH с помощью сгенерированных индексов PBCH.

carrier = nrCarrierConfig('NSizeGrid',20);
P = 1;
txGrid = nrResourceGrid(carrier,P);
txGrid(pbchInd) = pbchTxSym;

Выполните OFDM-модуляцию.

txWaveform = nrOFDMModulate(carrier,txGrid);

Создайте матрицу канала и примените канал к переданной форме волны.

R = 4;
H = dftmtx(max([P R]));
H = H(1:P,1:R);
H = H / norm(H);
rxWaveform = txWaveform * H;

Создайте оценку канала.

hEstGrid = repmat(permute(H.',[3 4 1 2]),[240 4]);
nEst = 0.1;

Выполните демодуляцию OFDM.

rxGrid = nrOFDMDemodulate(carrier,rxWaveform);

Для подготовки к декодированию PBCH используйте nrExtractResources для извлечения символов из принятых и оценочных сеток канала. Постройте график полученного созвездия PBCH.

[pbchRxSym,pbchHestSym] = nrExtractResources(pbchInd,rxGrid,hEstGrid);
figure;
plot(pbchRxSym,'o:');
title('Received PBCH Constellation');

Figure contains an axes. The axes with title Received PBCH Constellation contains 4 objects of type line.

Декодируйте PBCH с извлеченными ресурсными элементами. Постройте график уравненного созвездия PBCH.

[pbchEqSym,csi] = nrEqualizeMMSE(pbchRxSym,pbchHestSym,nEst);
pbchBits = nrPBCHDecode(pbchEqSym,ncellid,v);
figure;
plot(pbchEqSym,'o:');
title('Equalized PBCH Constellation');

Figure contains an axes. The axes with title Equalized PBCH Constellation contains an object of type line.

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

свернуть все

Извлеченные ресурсные элементы массива физического канала, заданные как NRE -by R числовая матрица. NRE - количество ресурсных элементов, извлеченных из каждой K -by L плоскости полученной сетки. K - количество поднесущих, а L - количество символов OFDM. R - количество приемных антенн.

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

Оценочная информация о канале, заданная как NRE -by R -by P числовой массив. NRE - количество ресурсных элементов, извлеченных из каждой K -by L плоскости полученной сетки. K - количество поднесущих, а L - количество символов OFDM. R - количество приемных антенн. P - количество плоскостей трансмиссии.

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

Предполагаемое отклонение шума, заданная как действительный неотрицательный скаляр.

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

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

свернуть все

Уравненные символы, возвращенные как NRE -by P числовая матрица. NRE - количество ресурсных элементов, извлеченных из каждой K -by L плоскости полученной сетки. K - количество поднесущих, а L - количество символов OFDM. P - количество плоскостей трансмиссии.

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

Информация о состоянии мягкого канала, возвращенная как NRE -by P числовая матрица. NRE - количество ресурсных элементов, извлеченных из каждой K -by L плоскости полученной сетки. K - количество поднесущих, а L - количество символов OFDM. P - количество плоскостей трансмиссии.

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

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

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

.
Введенный в R2018b