wlanNonHTDataRecover

Восстановите Данные non-HT

Описание

пример

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

Примечание

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

пример

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

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

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

Примеры

свернуть все

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

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

Создайте объект настройки non-HT, задав длину PSDU 1 024 байтов. Сгенерируйте соответствующую последовательность данных non-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

Сконфигурируйте объект данных non-HT.

cfg = wlanNonHTConfig;

Сгенерируйте и передайте non-HT PSDU.

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

Сгенерируйте L-LTF для оценки канала.

txLLTF = wlanLLTF(cfg);

Создайте канал 802.11g с максимальным эффектом Доплера на 3 Гц и задержкой пути к RMS на 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);

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

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

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

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

свернуть все

Полученная форма волны временного интервала Поля данных non-HT в виде матрицы с комплексным знаком размера N S-by-NR.

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

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

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

Оценочные данные о канале в виде массива с комплексным знаком размера ST N 1 NR.

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

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

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

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

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

Пример: 0.7071

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

Параметры передачи Non-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-NSym.

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

  • N Sym является количеством символов OFDM в Поле данных non-HT.

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

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

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

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

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

Больше о

свернуть все

Поле данных Non-HT

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

  • Поле Service — Содержит 16 нулей, чтобы инициализировать скремблер данных.

  • PSDU — Поле переменной длины, содержащее Модуль эксплуатационных данных PLCP (PSDU).

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

  • Заполните Биты — поле Переменной длины, требуемое гарантировать, что поле данных non-HT содержит целое число символов.

Ссылки

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

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

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

Смотрите также

|

Введенный в R2015b

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