exponenta event banner

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++ с помощью MATLAB ® Coder™

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