exponenta event banner

wlanNonHTDataRecover

Восстановление данных, не относящихся к HT

Описание

пример

recData = wlanNonHTDataRecover(rxSig,chEst,noiseVarEst,cfg) восстанавливает биты Поле данных без HT[1] из принятой формы сигнала временной области rxSig, данные оценки канала chEst, оценка дисперсии шума noiseVarEstи параметры передачи без высокой пропускной способности (не HT) cfg.

Примечание

Эта функция поддерживает только восстановление данных для модуляции OFDM.

пример

recData = wlanNonHTDataRecover(rxSig,chEst,noiseVarEst,cfg,Name,Value) задает параметры алгоритма восстановления, используя один или несколько аргументов пары имя-значение в дополнение к входам из предыдущего синтаксиса.

[recData,eqSym] = wlanNonHTDataRecover(___) возвращает восстановленные выровненные символы.

[recData,eqSym,cpe,scramInit] = wlanNonHTDataRecover(___) возвращает восстановленную ошибку общей фазы cpe и начальное состояние скремблера scramInit.

Примеры

свернуть все

Создайте объект конфигурации без HT, имеющий длину PSDU 2048 байт. Создайте соответствующую последовательность данных.

cfg = wlanNonHTConfig('PSDULength',2048);
txBits = randi([0 1],8*cfg.PSDULength,1);
txSig = wlanNonHTData(txBits,cfg);

Пропустить сигнал через канал AWGN с отношением сигнал/шум 15 дБ.

rxSig = awgn(txSig,15);

Восстановите данные и определите количество битовых ошибок.

rxBits = wlanNonHTDataRecover(rxSig,ones(52,1),0.05,cfg);
[numerr,ber] = biterr(rxBits,txBits)
numerr = 0
ber = 0

Создайте объект конфигурации, отличный от HT, указав длину PSDU 1024 байта. Создайте соответствующую последовательность данных без HT.

cfg = wlanNonHTConfig('PSDULength',1024);
txBits = randi([0 1],8*cfg.PSDULength,1);
txSig = wlanNonHTData(txBits,cfg);

Пропустить сигнал через канал AWGN с отношением сигнал/шум 10 дБ.

rxSig = awgn(txSig,10);

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

chanEst = ones(52,1);
noiseVarEst = 0.1;
rxBits = wlanNonHTDataRecover(rxSig,chanEst,noiseVarEst,cfg,'EqualizationMethod','ZF');
[numerr,ber] = biterr(rxBits,txBits)
numerr = 0
ber = 0

Сконфигурируйте объект данных, не являющийся объектом данных HT.

cfg = wlanNonHTConfig;

Создание и передача PSDU без HT.

txPSDU = randi([0 1],8*cfg.PSDULength,1);
txSig = wlanNonHTData(txPSDU,cfg);

Сформировать L-LTF для оценки канала.

txLLTF = wlanLLTF(cfg);

Создайте канал 802.11g с максимальным доплеровским сдвигом 3 Гц и 100 нс среднеквадратической задержкой тракта. Отключите опцию сброса перед фильтрацией, чтобы поля L-LTF и данных использовали одну и ту же реализацию канала.

ch802 = comm.RayleighChannel('SampleRate',20e6,'MaximumDopplerShift',3,'PathDelays',100e-9);

Передача сигналов L-LTF и данных через канал 802.11g с AWGN.

rxLLTF = awgn(ch802(txLLTF),10);
rxSig = awgn(ch802(txSig),10);

Демодулируйте L-LTF и используйте его для оценки канала замирания.

dLLTF = wlanLLTFDemodulate(rxLLTF,cfg);
chEst = wlanLLTFChannelEstimate(dLLTF,cfg);

Восстановление данных без HT с использованием оценки канала L-LTF и определение количества битовых ошибок в переданном пакете.

rxPSDU = wlanNonHTDataRecover(rxSig,chEst,0.1,cfg);

[numErr,ber] = biterr(txPSDU,rxPSDU)
numErr = 0
ber = 0

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

свернуть все

Принятый сигнал временной области поля данных без HT, заданный как матрица комплексных значений размера NS-by-NR.

  • NS - количество выборок во временной области в поле данных, отличных от HT. Если этот ввод указан как матрица с числом строк более NS, функция не использует избыточные выборки после первой NS.

  • NR - количество приемных антенн.

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

Данные оценки канала, заданные как массив комплексных значений размера NST-by-1-by-NR.

  • NST - количество занятых поднесущих.

  • NR - количество приемных антенн.

Одиночный размер соответствует одиночному переданному потоку в унаследованном длинном тренировочном поле (L-LTF), которое включает в себя комбинированные циклические сдвиги, если передатчик использует множество антенн.

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

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

Пример: 0.7071

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

Параметры передачи без HT, указанные как wlanNonHTConfig объект.

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

Укажите дополнительные пары, разделенные запятыми 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

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

свернуть все

Восстановленные биты блока служебных данных (PSDU) процедуры сходимости физического уровня (PLCP), возвращаемые в виде вектора столбца с двоичным значением длиной 8 × L, где L - значение PSDULength имущества cfg вход.

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

Выровненные символы, возвращаемые в виде комплексной матрицы размера NSD-by-NSym.

  • NSD - количество поднесущих данных.

  • NSym - количество символов OFDM в поле данных, отличных от HT.

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

Общая фазовая ошибка в радианах возвращается как вектор столбца с действительным значением длины NSym, количество символов OFDM в поле данных без HT.

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

Восстановлено начальное состояние скремблера, возвращенное как целое число в интервале [0, 127]. Для получения дополнительной информации см. раздел 17.3.5.5 [1].

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

Подробнее

свернуть все

Поле данных без HT

Поле данных без высокой пропускной способности (не-HT Data) используется для передачи кадров MAC и состоит из поля обслуживания, PSDU, хвостовых битов и битов pad.

  • Поле обслуживания - содержит 16 нулей для инициализации скремблера данных.

  • PSDU - поле переменной длины, содержащее блок служебных данных (PSDU) PLCP.

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

  • Pad Bits - поле переменной длины, необходимое для обеспечения того, чтобы поле данных без HT содержало целое число символов.

Ссылки

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

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

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

.

См. также

|

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

[1] IEEE ® Std 802.11-2012 Адаптирован и переиздан с разрешения IEEE. Авторское право IEEE 2012. Все права защищены.