wlanVHTSIGBRecover

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

Синтаксис

recBits = wlanVHTSIGBRecover(rxSig,chEst,noiseVarEst,cbw)
recBits = wlanVHTSIGBRecover(rxSig,chEst,noiseVarEst,cbw,userNumber,numSTS)
recBits = wlanVHTSIGBRecover(___,cfgRec)
[recBits,eqSym] = wlanVHTSIGBRecover(___)
[recBits,eqSym,cpe] = wlanVHTSIGBRecover(___)

Описание

пример

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

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

пример

recBits = wlanVHTSIGBRecover(___,cfgRec) указывает информацию алгоритма с помощью объекта wlanRecoveryConfig cfgRec.

пример

[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.

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

rxSig = awgnChan(txSig);

Используя wlanRecoveryConfig, набор метод коррекции к принуждению нуля, 'ZF'.

cfgRec = wlanRecoveryConfig('EqualizationMethod','ZF');

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

rxBits = wlanVHTSIGBRecover(rxSig,ones(484,1),0.1,'CBW160',cfgRec);
numErr = biterr(txBits,rxBits)
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

Параметры алгоритма, заданные как объект wlanRecoveryConfig. Функция использует эти свойства:

Примечание

Если cfgRec не обеспечивается, функция использует значения по умолчанию объекта wlanRecoveryConfig.

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

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

Метод коррекции, заданный как 'MMSE' или 'ZF'.

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

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

Пример: 'ZF'

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

Отслеживание экспериментального этапа, заданное как 'PreEQ' или 'None'.

  • '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 задан в IEEE® Std 802.11ac™-2013, Раздел 22.3.8.3.6 и Таблица 22-14. Количество битов в поле 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 установлены согласно 802.11ac Станд. IEEE 2013, Таблица 22-15.

VHT-LTF

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

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

VHT-LTF задан в 802.11ac Станд. IEEE 2013, Раздел 22.3.8.3.5.

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]  802.11ac Станд. IEEE 2 013 Адаптированных и переизданные с разрешением от IEEE. Авторское право IEEE 2013. Все права защищены.