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 во временной области поля, заданный как комплексная матрица размера N S-by- N R.

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

  • N R является количеством приемных антенн.

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

Данные оценки канала, заданные как комплексный массив размера N ST-by-1-by- N R.

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

  • N R является количеством приемных антенн.

Синглтонная размерность соответствует одному переданному потоку в унаследованном длинном обучающем поле (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

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

свернуть все

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

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

Уравненные символы, возвращенные как комплексная матрица размера N SD-by N Sym.

  • N SD является количеством поднесущих данных.

  • N Sym - это количество символов OFDM в поле, отличном от HT Data.

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

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

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

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

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

Подробнее о

свернуть все

Поле данных, отличных от HT

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

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

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

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

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

Ссылки

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

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

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

.

См. также

|

Введенный в R2015b

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