wlanVHTSIGBRecover

Восстановите информационные биты VHT-SIG-B

Описание

пример

recBits = wlanVHTSIGBRecover(rxSig,chEst,noiseVarEst,cbw) возвращает восстановленные информационные биты в VHT-SIG-B1поле [] для однопользовательской передачи. Входные параметры включают полученное поле VHT-SIG-B, оценку канала, шумовую оценку отклонения и пропускную способность канала.

recBits = wlanVHTSIGBRecover(rxSig,chEst,noiseVarEst,cbw,userNumber,numSTS) возвращает восстановленные информационные биты многопользовательской передачи для пользователя интереса, userNumber, и количество пространственно-временных потоков, numSTS.

пример

recBits = wlanVHTSIGBRecover(___,Name,Value) задает параметры алгоритма при помощи одного или нескольких аргументов пары "имя-значение".

пример

[recBits,eqSym] = wlanVHTSIGBRecover(___) возвращает компенсируемые символы, eqSym, использование аргументов от предыдущих синтаксисов.

пример

[recBits,eqSym,cpe] = wlanVHTSIGBRecover(___) возвращает общую ошибку фазы, cpe.

Примеры

свернуть все

Восстановите биты VHT-SIG-B в совершенном канале, имеющем пропускную способность канала на 80 МГц, один пространственно-временной поток, и каждый получает антенну.

Создайте wlanVHTConfig объект, имеющий пропускную способность канала 80 МГц. Используя объект, создайте форму волны VHT-SIG-B.

cfg = wlanVHTConfig('ChannelBandwidth','CBW80');
[txSig,txBits] = wlanVHTSIGB(cfg);

Для пропускной способности канала 80 МГц существует 242 занятых поднесущие. Оценочными измерениями массива канала для этого примера должно быть [NST, Nsts, Номер] = [242,1,1]. Пример принимает совершенный канал, и каждый получает антенну. Поэтому задайте оценку канала как вектор-столбец из единиц и шумовой оценки отклонения как нуль.

chEst = ones(242,1);
noiseVarEst = 0;

Восстановите VHT-SIG-B. Проверьте, что полученные информационные биты идентичны переданным битам.

rxBits = wlanVHTSIGBRecover(txSig,chEst,noiseVarEst,'CBW80');
isequal(txBits,rxBits)
ans = logical
   1

Восстановите поле VHT-SIG-B с помощью обеспечивающего нуль эквалайзера в канале AWGN с пропускной способностью канала 160 МГц, одним пространственно-временным потоком, и каждый получает антенну.

Создайте wlanVHTConfig объект, задавая пропускную способность канала 160 МГц. Используя объект, создайте форму волны VHT-SIG-B.

cfg = wlanVHTConfig('ChannelBandwidth','CBW160');
[txSig,txBits] = wlanVHTSIGB(cfg);

Передайте переданный VHT-SIG-B через канал AWGN.

noiseVarEst = 0.1;
awgnChan = comm.AWGNChannel('NoiseMethod','Variance','Variance',noiseVarEst);
rxSig = awgnChan(txSig);

Восстановите поле VHT-SIG-B, задав обеспечивающую нуль эквализацию. Проверьте, что полученная информация не имеет никаких битовых ошибок.

chEst = ones(484,1);
recBits = wlanVHTSIGBRecover(rxSig,chEst,noiseVarEst,'CBW160','EqualizationMethod','ZF');
numErr = biterr(txBits,recBits)
numErr = 0

Восстановите VHT-SIG-B в 2x2 канал MIMO для дБ SNR=10 и приемника, который имеет шумовую фигуру на 9 дБ. Подтвердите, что информационные биты восстанавливаются правильно.

Установите пропускную способность канала и соответствующую частоту дискретизации.

cbw = 'CBW20';
fs = 20e6;

Создайте объект настройки VHT с пропускной способностью на 20 МГц и двумя каналами передачи. Сгенерируйте L-LTF и формы волны VHT-SIG-B.

vht = wlanVHTConfig('ChannelBandwidth',cbw,'NumTransmitAntennas',2, ...
    'NumSpaceTimeStreams',2);

txVHTLTF = wlanVHTLTF(vht);
[txVHTSIGB,txVHTSIGBBits] = wlanVHTSIGB(vht);

Передайте VHT-LTF и формы волны VHT-SIG-B через 2x2 канал TGac.

tgacChan = wlanTGacChannel('NumTransmitAntennas',2, ...
    'NumReceiveAntennas',2, 'ChannelBandwidth',cbw,'SampleRate',fs);
rxVHTLTF = tgacChan(txVHTLTF);
rxVHTSIGB = tgacChan(txVHTSIGB);

Добавьте белый шум для ОСШ = 10 дБ.

chNoise = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)',...
    'SNR',10);

rxVHTLTF = chNoise(rxVHTLTF);
rxVHTSIGB = chNoise(rxVHTSIGB);

Добавьте дополнительный белый шум, соответствующий приемнику с шумовой фигурой на 9 дБ. Шумовое отклонение равно k*T*B*F, где k является константой Больцманна, T является температурой окружающей среды, B является пропускной способностью канала (частота дискретизации), и F является фигурой шума приемника.

nVar = 10^((-228.6+10*log10(290)+10*log10(fs)+9)/10);
rxNoise = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar);

rxVHTLTF = rxNoise(rxVHTLTF);
rxVHTSIGB = rxNoise(rxVHTSIGB);

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

demodVHTLTF = wlanVHTLTFDemodulate(rxVHTLTF,vht);
chEst = wlanVHTLTFChannelEstimate(demodVHTLTF,vht);

Восстановите информационные биты VHT-SIG-B. Отобразите график рассеивания компенсируемых символов.

[recVHTSIGBBits,eqSym,cpe] = wlanVHTSIGBRecover(rxVHTSIGB,chEst,nVar,cbw);
scatterplot(eqSym)

Отобразите общую ошибку фазы.

cpe
cpe = 0.0485

Определите количество ошибок между переданными и полученными информационными битами VHT-SIG-B.

numErr = biterr(txVHTSIGBBits,recVHTSIGBBits)
numErr = 0

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

свернуть все

Полученное поле VHT-SIG-B в виде матрицы S-by-NR N. N S является количеством выборок и увеличений с пропускной способностью канала.

Пропускная способность каналаN S
'CBW20'80
'CBW40'160
'CBW80'320
'CBW160'640

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

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

Оценка канала в виде ST N NSTS NR массивом. ST N является количеством занятых поднесущих. N STS является количеством пространственно-временных потоков. Для многопользовательских передач N STS является общим количеством пространственно-временных потоков для всех пользователей. NR является количеством, получают антенны.

ST N увеличивается с пропускной способностью канала.

ChannelBandwidthКоличество занятых поднесущих (ST N)Количество поднесущих данных (SD N)Количество экспериментальных поднесущих (SP N)
'CBW20'56524
'CBW40'1141086
'CBW80'2422348
'CBW160'48446816

Оценка канала основана на VHT-LTF.

Шумовая оценка отклонения в виде неотрицательного скаляра.

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

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

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

Количество пользователя в многопользовательской передаче в виде целого числа, имеющего значение от 1 до Пользователей N. Пользователи N являются общим количеством пользователей.

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

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

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

Примечание

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

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'PilotPhaseTracking','None' отключает отслеживание экспериментального этапа.

Смещение выборки символа OFDM, представленное как часть длины циклического префикса (CP) в виде разделенной запятой пары, состоящей из 'OFDMSymbolOffset' и скаляр в интервале [0, 1]. Значение, которое вы задаете, указывает на местоположение запуска для демодуляции OFDM относительно начала CP. Значение 0 представляет запуск CP и значение 1 представляет конец CP.

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

Метод эквализации в виде разделенной запятой пары, состоящей из 'EqualizationMethod' и одно из этих значений.

  • 'MMSE' — Приемник использует минимальный эквалайзер среднеквадратичной погрешности.

  • 'ZF' — Приемник использует обеспечивающий нуль эквалайзер.

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

Отслеживание экспериментального этапа в виде разделенной запятой пары, состоящей из 'PilotPhaseTracking' и одно из этих значений.

  • 'PreEQ' — Включите отслеживание экспериментального этапа, которое функция выполняет перед любой операцией эквализации.

  • 'None' — Отключите отслеживание экспериментального этапа.

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

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

свернуть все

Восстановленные информационные биты VHT-SIG-B, возвращенные как N b-1 вектор-столбец. N b является количеством восстановленных информационных битов VHT-SIG-B и увеличений с пропускной способностью канала. Выход для отдельного пользователя, как определено userNumber.

Количество выходных битов пропорционально пропускной способности канала.

ChannelBandwidthN b
'CBW20'26
'CBW40'27
'CBW80'29
'CBW160'29

См. VHT-SIG-B для получения информации о значении каждого бита в поле.

Компенсируемые символы, возвращенные как N SD-1 вектор-столбец. NSD является количеством поднесущих данных.

SD N увеличивается с пропускной способностью канала.

ChannelBandwidthSD N
'CBW20'52
'CBW40'108
'CBW80'234
'CBW160'468

Общая ошибка фазы в радианах, возвращенных как скаляр.

Больше о

свернуть все

VHT-SIG-B

Очень высокое поле B сигнала пропускной способности (VHT-SIG-B) используется для многопользовательского сценария, чтобы настроить скорость передачи данных и подстроить прием MIMO. Это модулируется с помощью MCS 0 и передается в одном символе OFDM.

Поле VHT-SIG-B состоит из одного символа OFDM, расположенного между VHT-LTF и фрагментом данных формата VHT PPDU.

Очень высокое поле B (VHT-SIG-B) сигнала пропускной способности содержит фактический уровень и значение длины A-MPDU на пользователя. Для подробного описания поля VHT-SIG-B смотрите раздел 21.3.8.3.6 из IEEE® Std 802.11™-2016. Количество битов в поле VHT-SIG-B меняется в зависимости от пропускной способности канала, и присвоение зависит от или отдельный пользователь или многопользовательский сценарий в выделенном. Для настроек отдельного пользователя та же информация доступна в поле L-SIG, но поле VHT-SIG-B включено в целях непрерывности.

Поле

Выделение VHT МУ PPDU (биты)

VHT выделение СУ ППДУ (биты)

Описание

 

20 МГц

40 МГц

80 МГц, 160 МГц

20 МГц

40 МГц

80 МГц, 160 МГц

 

VHT-SIG-B

B0-15 (16)

B0-16 (17)

B0-18 (19)

B0-16 (17)

B0-18 (19)

B0-20 (21)

Поле переменной длины, которое указывает на размер полезной нагрузки данных в четырехбайтовых модулях. Длина поля зависит от пропускной способности канала.

VHT-MCS

B16-19 (4)

B17-20 (4)

B19-22 (4)

Нет данных

Нет данных

Нет данных

Четырехбитное поле, которое включено для многопользовательских сценариев только.

Зарезервированный

Нет данных

Нет данных

Нет данных

B17–19 (3)

B19-20 (2)

B21-22 (2)

Все единицы

Хвост

B20-25 (6)

B21-26 (6)

B23-28 (6)

B20-25 (6)

B21-26 (6)

B23-28 (6)

Шесть нулевых битов раньше отключали сверточный код.

Общее количество # биты

26

27

29

26

27

29

 

Повторение битового поля

1

2

4

Для 160 МГц канал на 80 МГц повторяется дважды.

1

2

4

Для 160 МГц канал на 80 МГц повторяется дважды.

 

Для пустого пакета данных (NDP) биты VHT-SIG-B установлены согласно Таблице 21-15 Станд. IEEE 802.11-2016.

VHT-LTF

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

Это используется для оценки канала MIMO и экспериментального отслеживания поднесущей. VHT-LTF включает один VHT длинный учебный символ для каждого пространственного потока, обозначенного выбранным MCS. Каждый символ является 4 μs долго. Максимум восьми символов разрешен в VHT-LTF.

Для подробного описания VHT-LTF смотрите раздел 21.3.8.3.5 из Станд. IEEE 802.11-2016.

PPDU

Модуль данных о протоколе PLCP

PPDU является полной системой координат PLCP, включая заголовки PLCP, заголовки MAC, поле данных MAC, и трейлеры PLCP и MAC.

Алгоритмы

свернуть все

Восстановление VHT-SIG-B

Поле VHT-SIG-B состоит из одного символа и находится между полем VHT-LTF и фрагментом данных пакетной структуры для формата VHT PPDUs.

Для однопользовательских пакетов можно восстановить информацию о длине с информации о поле L-SIG и VHT-SIG-A. Поэтому это строго не требуется для приемника декодировать поле VHT-SIG-B. Для многопользовательских передач, восстанавливая поле VHT-SIG-B обеспечивает пакетную длину и информацию о MCS для каждого пользователя.

Для получения дополнительной информации VHT-SIG-B обратитесь к Станд. IEEE 802.11ac™-2013 [1], Раздел 22.3.4.8 и Perahia [2], Раздел 7.3.2.4.

Ссылки

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

[2] Perahia, E. и Р. Стейси. Беспроводная LAN следующего поколения: 802.11n и 802.11ac. 2-й выпуск, Соединенное Королевство: Издательство Кембриджского университета, 2013.

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

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

Введенный в R2015b

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