exponenta event banner

wlanVHTLTFChannelEstimate

Оценка канала с использованием VHT-LTF

Описание

пример

chEst = wlanVHTLTFChannelEstimate(demodSig,cfg) возвращает оценку канала, используя демодулированный VHT-LTF1сигнал [], demodSig, учитывая параметры, указанные в wlanVHTConfig объект cfg.

пример

chEst = wlanVHTLTFChannelEstimate(demodSig,cbw,numSTS) возвращает оценку канала для указанной полосы пропускания канала, cbwи количество пространственно-временных потоков, numSTS.

пример

chEst = wlanVHTLTFChannelEstimate(___,span) задает диапазон фильтра скользящего среднего, используемого для выполнения частотного сглаживания.

Примеры

свернуть все

Отображение оценки канала поднесущих данных и пилот-сигналов для канала формата VHT с использованием его длинного поля обучения.

Создайте объект конфигурации формата VHT. Создание VHT-LTF на основе cfg.

cfg = wlanVHTConfig;
txSig = wlanVHTLTF(cfg);

Умножают передаваемый сигнал VHT-LTF на 0,3-0,15i и пропускают его через канал AWGN, имеющий отношение сигнал/шум 30 дБ. Демодулируйте принятый сигнал.

rxSig = awgn(txSig*(0.3-0.15i),30);
demodSig = wlanVHTLTFDemodulate(rxSig,cfg);

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

est = wlanVHTLTFChannelEstimate(demodSig,cfg);

Постройте график оценки канала.

scatterplot(est)
grid

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

Оценка канала соответствует комплексному множителю канала.

Оценка и отображение коэффициентов канала 4x2 MIMO-канала с использованием VHT-LTF.

Создать объект конфигурации формата VHT для канала, имеющего четыре пространственных потока и четыре передающие антенны. Передача полного сигнала VHT.

cfg = wlanVHTConfig('NumTransmitAntennas',4, ...
    'NumSpaceTimeStreams',4,'MCS',5);
txWaveform = wlanWaveformGenerator([1;0;0;1;1;0],cfg);

Установите частоту дискретизации, а затем пропустите передаваемый сигнал через канал 4x2 TGac.

fs = 80e6;
tgacChan = wlanTGacChannel('SampleRate',fs, ...
    'NumTransmitAntennas',4,'NumReceiveAntennas',2);
rxWaveform = tgacChan(txWaveform);

Определите индексы поля VHT-LTF и демодулируйте VHT-LTF из принятого сигнала.

indVHTLTF = wlanFieldIndices(cfg,'VHT-LTF');
ltfDemodSig = wlanVHTLTFDemodulate(rxWaveform(indVHTLTF(1):indVHTLTF(2),:), cfg);

Формирование оценки канала с использованием демодулированного сигнала VHT-LTF. Укажите диапазон фильтра сглаживания для пяти поднесущих.

est = wlanVHTLTFChannelEstimate(ltfDemodSig,cfg,5);

Постройте график амплитудной характеристики первого пространственно-временного потока для обеих приемных антенн. Из-за случайного характера замирающего канала ваши результаты могут различаться.

plot(abs(est(:,1,1)))
hold on
plot(abs(est(:,1,2)))
xlabel('Subcarrier')
ylabel('Magnitude')
legend('Rx Antenna 1','Rx Antenna 2')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Rx Antenna 1, Rx Antenna 2.

Восстановление битов из поля VHT-Data многопользовательской передачи VHT, восстановленной из замирающего канала MU-MIMO, с использованием оценки канала на VHT-LTF.

Этот пример может возвращать высокие частоты битовых ошибок, поскольку передача не включает в себя предварительное кодирование для уменьшения помех между пространственно-временными потоками. Однако в примере показан типичный рабочий процесс восстановления сигнала VHT и соответствующее использование синтаксиса для задействованных функций.

Сконфигурируйте передачу VHT с полосой пропускания канала 160 МГц, двумя пользователями и четырьмя передающими антеннами. Назначьте один пространственно-временной поток первому пользователю и три пространственно-временных потока второму пользователю.

cbw = 'CBW160';
numSTS = [1 3];
cfgVHT = wlanVHTConfig('ChannelBandwidth',cbw,'NumUsers',2, ...
    'NumTransmitAntennas',4,'NumSpaceTimeStreams',numSTS);

Создайте полезную нагрузку из битов для каждого пользователя. Эта полезная нагрузка должна находиться в массиве 1-by-N ячеек, где N - количество пользователей.

psduLength = 8*cfgVHT.PSDULength;
numUsers = cfgVHT.NumUsers;
bits = cell(1,2);
for nu = 1:numUsers
    bits{nu} = randi([0 1],psduLength(nu),1);
end

Генерация сигналов поля VHT-LTF и VHT-Data.

txLTF  = wlanVHTLTF(cfgVHT); 
txDataSym = wlanVHTData(bits,cfgVHT);

Передача сигнала поля VHT-Data для первого пользователя через канал 4x1, поскольку этот сигнал состоит из одного потока пространственно-временного потока. Передайте поле VHT-Data для вторых пользовательских данных через канал 4x3, поскольку этот сигнал состоит из трех пространственно-временных потоков. Примените AWGN к каждому сигналу, предполагая SNR 15 дБ.

snr = 15; 
H{1} = complex(randn(4,1),randn(4,1))/sqrt(2);
H{2} = complex(randn(4,3),randn(4,3))/sqrt(2);
number = zeros(2,1);
ratio = zeros(2,1);
for userIdx = 1:numUsers
    rxDataSym = awgn(txDataSym*H{userIdx},snr,'measured');

Примените одинаковую обработку канала к VHT-LTF для каждого пользователя.

    rxLTF = awgn(txLTF*H{userIdx},snr,'measured');

Вычислите мощность принятого сигнала для каждого пользователя и оцените дисперсию шума.

    powerDB = 10*log10(var(rxDataSym));
    noiseVarEst = mean(10.^(0.1*(powerDB-snr)));

Оцените характеристики канала с помощью VHT-LTF.

    demod = wlanVHTLTFDemodulate(rxLTF,cbw,numSTS);
    chEst = wlanVHTLTFChannelEstimate(demod,cbw,numSTS);

Восстановление битов из принятого поля VHT-Data для каждого пользователя и определение частоты битовых ошибок путем сравнения восстановленных битов с исходными битами полезной нагрузки.

    dataBits = wlanVHTDataRecover(rxDataSym,chEst,noiseVarEst,cfgVHT,userIdx);
    [number(userIdx),ratio(userIdx)] = biterr(bits{userIdx},dataBits);
    disp(number(userIdx))
    disp(ratio(userIdx))
end
        4269
    0.5082
        2444
    0.0968

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

свернуть все

Демодулированный сигнал VHT-LTF, определяемый как массив NST-by-NSYM-by-NR. NST - количество занятых поднесущих, NSYM - количество символов OFDM VHT-LTF, NR - количество приемных антенн.

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

Конфигурация формата, указанная как wlanVHTConfig объект.

Полоса пропускания канала, указанная как 'CBW20', 'CBW40', 'CBW80', или 'CBW160'. Если передача имеет несколько пользователей, ко всем пользователям применяется одинаковая полоса пропускания канала.

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

Количество пространственно-временных потоков в передаче, указанных как скаляр или вектор.

  • Для одного пользователя количество пространственно-временных потоков является скалярным целым числом от 1 до 8.

  • Для нескольких пользователей число пространственно-временных потоков является 1-by-NUsers вектором целых чисел от 1 до 4, где длина вектора, NUsers, является целым числом от 1 до 4.

Пример: [1 3 2] указывает, что один пространственно-временной поток назначен пользователю 1, три пространственно-временных потока назначены пользователю 2, и два пространственно-временных потока назначены пользователю 3.

Примечание

Сумма векторных элементов пространственно-временного потока не должна превышать восьми.

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

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

Примечание

Если смежные поднесущие сильно коррелированы, сглаживание частоты приводит к значительному снижению шума. Однако в сильно частотно-избирательном канале сглаживание может ухудшить качество оценки канала.

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

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

свернуть все

Оценка канала между всеми комбинациями пространственно-временных потоков и приемных антенн, возвращаемых как массив NST-by-NSTS, total-by-NR. NST - количество занятых поднесущих. NSTS, total - общее количество пространственно-временных потоков для всех пользователей. Для однопользовательского варианта, NSTS, всего = NSTS. NR - количество приемных антенн. Оценка канала включает в себя коэффициенты как для поднесущих данных, так и для поднесущих пилот-сигнала.

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

Подробнее

свернуть все

VHT-LTF

Очень высокая пропускная способность длинного обучающего поля (VHT-LTF) расположена между VHT-STF и VHT-SIG-B частью пакета VHT.

Он используется для оценки канала MIMO и отслеживания пилотной поднесущей. VHT-LTF включает в себя один обучающий символ длиной VHT для каждого пространственного потока, указанного выбранной MCS. Длина каждого символа составляет 4 мкс. В VHT-LTF допускается максимум восемь символов.

Подробное описание VHT-LTF см. в разделе 21.3.8.3.5 стандарта IEEE ® Std 802.11™-2016.

Ссылки

[1] Стандарт IEEE Std 802.11ac™-2013 IEEE для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и городские сети - Особые требования - Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY) - Поправка 4: Усовершенствования для очень высокой пропускной способности для работы в диапазонах ниже

[2] Стандарт IEEE Std 802.11™-2012 IEEE для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и городские сети - Особые требования - Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY).

[3] Перахия, Э. и Р. Стейси. Беспроводные локальные сети следующего поколения: 802.11n и 802.11ac. 2-е издание, Соединенное Королевство: Cambridge University Press, 2013.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

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

[1] Стандарт IEEE 802.11ac™-2013 Адаптирован и переиздан с разрешения IEEE. Авторское право IEEE 2013. Все права защищены.