802.11 получателя маяка OFDM с живыми данными

Этот пример показывает проект получателя, который может восстановиться 802.11™ пакеты маяка OFDM в формате non-HT, переданном по воздуху от коммерческих 802,11 оборудования. Пакеты маяка обычно передаются в формате non-HT, даже для HT [1], VHT [2] и/или HE [3] способное оборудование. Информация о пакете, такая как SSID распечатана к командной строке во время восстановления.

Введение

Этот пример иллюстрирует использование WLAN Toolbox™, чтобы восстановить реальные сигналы. Это демонстрирует проект получателя включая синхронизацию, восстановление настройки передачи и декодирование полезной нагрузки для пакетов non-HT. Несмотря на то, что этот пример восстанавливает пакеты маяка с файла, содержащего полученную основополосную форму волны, он разработан, чтобы работать с живыми сигналами.

Пакетное восстановление маяка

Следующие шаги, оказывается, последовательно восстанавливают один пакет non-HT:

  • Пакетное Обнаружение: Сначала пакет должен быть обнаружен, прежде чем любая обработка начинается. Это выполняется путем автокорреляции вводимых символов. Поскольку передняя сторона каждых 802.11 пакетов OFDM содержит повторяющуюся структуру, названную L-STF, peaks произойдет в корреляции, когда этот пакет будет присутствовать. Поле L-STF затем извлекается и используется для крупной оценки частоты.

  • Синхронизация символа: Если пакет был обнаружен, будущие символы будут собираться и перекрестный коррелироваться, чтобы определить местоположение L-LTF. Получившийся peaks корреляции обеспечивает точную оценку синхронизации. Если полный L-LTF расположен, он извлекается и используется для оценки канала и прекрасной оценки частоты.

  • Декодирование L-SIG: первый символ OFDM после L-LTF является полем L-SIG. Это поле должно восстанавливаться и декодироваться, чтобы определить модуляцию, уровень кода и длину следующей полезной нагрузки. Информация используется, чтобы получить правильный объем данных после L-SIG для полной полезной нагрузки и декодировать ту информацию.

  • Декодирование полезной нагрузки: Все символы OFDM после L-SIG буферизуются к длине, определенной полем L-SIG. После того, как все символы были получены, они демодулируются и декодируются в их исходные биты. Исходные биты затем оценены. Эта оценка включает валидацию последовательности проверки кадра (FCS) и экстракцию заголовка и тела. Если пакет будет иметь маяк подтипа, итоговая информация, такая как SSID будет распечатана для восстановленного пакета.

Если полный пакет получен, или любые отказы происходят во время цепочки обработки, получатель возвратится к пакетному обнаружению, чтобы искать больше пакетов. Этот процесс повторяется на время сигнала.

Потоковая передача процесса на собранных данных

В этом примере не воздушное получение обрабатывается, чтобы восстановить кадры "неисправность". Сигнал Wi-Fi® был получен с помощью интерфейса РФ с, каждый получает антенну на уровне выборки 20 членов Шотландского парламента. Полученная форма волны хранится в бинарном основополосном файле. Файл был создан с помощью comm.BasebandFileWriter.

Полученная форма волны обрабатывается способом потоковой передачи. Блок выборок втянут для обработки в каждой итерации. Как можно больше допустимых пакетов получено. comm.BasebandFileReader используется, чтобы считать блоки выборок из бинарного основополосного файла.

% Create an object to stream the data from the file
basebandReader = comm.BasebandFileReader( ...
    'Filename',       'nonHTBeaconRxData.bb', ...
    'SamplesPerFrame', 80); % Number of samples in 1 OFDM symbol at 20 MHz

Центральная частота, частота дискретизации и количество каналов в полученной форме волны обеспечиваются коммуникацией. Объект BasebandFileReader.

disp(['Center frequency: ' num2str(basebandReader.CenterFrequency/1e6) ' MHz'])
disp(['Sample rate: ' num2str(basebandReader.SampleRate/1e6) ' Msps'])
disp(['Number of receive antennas: ' num2str(basebandReader.NumChannels) newline])
Center frequency: 5785 MHz
Sample rate: 20 Msps
Number of receive antennas: 1

Объект nonHTFrontEnd выполняет обработку фронтенда и декодирование L-SIG. Объект сконфигурирован с пропускной способностью канала 20 МГц к процессу пакеты non-HT. Только один получает антенну, поддерживается.

rxFrontEnd = nonHTFrontEnd('ChannelBandwidth', 'CBW20');

Некоторое время цикл используется к блокам процесса выборок, и восстановите пакеты маяка, пока больше данных не доступно в основополосном файле. В каждой итерации цикла блок выборок читается из основополосного файла и обрабатывается rxFrontEnd. rxFrontEnd выполняет обработку фронтенда и буферизует выборки, пока пакет не был обнаружен, и полезная нагрузка получена. Когда payloadFull верен, полная полезная нагрузка была буферизована, и rxFrontEnd возвращает переменные, чтобы позволить данным в пакете быть восстановленными:

  • cfgNonHT содержит восстановленные пакетные параметры от L-SIG.

  • rxNonHTData является временным интервалом сигнал поля данных non-HT.

  • chanEst содержит оценки канала, полученные из L-LTF.

  • noiseVar является фиксированным шумовым значением отклонения.

Пакетные биты полезной нагрузки восстанавливаются с выборок поля данных non-HT с помощью wlanNonHTDataRecover. Биты затем подтверждаются и декодируются wlanMPDUDecode, чтобы восстановить параметры кадра MAC. wlanMPDUDecode возвращает следующие выходные параметры, которые определяют, передал ли полученный пакет проверку FCS и является ли полученный пакет кадром "неисправность".

  • mpduCfg является объектом типа wlanMACFrameConfig, содержащий восстановленные параметры кадра MAC от кадра "неисправность".

  • status является перечислением состояния типа, которое возвращено как 'Успех', когда MPDU передает проверку FCS и возвратился как 'FCSFailed', когда MPDU приводит проверку FCS к сбою.

Если допустимый маяк обнаруживается, декодируемый SSID отображен.

% A recovery configuration object is used to specify zero-forcing
% equalization for the data recovery
cfgRec = wlanRecoveryConfig('EqualizationMethod', 'ZF');

% Symbol-by-symbol streaming process
numValidPackets = 0;
while ~isDone(basebandReader)
    % Pull in one OFDM symbol, i.e. 80 samples
    data = basebandReader();

    % Perform front-end processing and payload buffering
    [payloadFull, cfgNonHT, rxNonHTData, chanEst, noiseVar] = ...
        rxFrontEnd(data);

    if payloadFull
        % Recover payload bits
        recBits = wlanNonHTDataRecover(rxNonHTData, chanEst, ...
            noiseVar, cfgNonHT, cfgRec);

        % Decode and evaluate recovered bits
        [mpduCfg, ~, status] = wlanMPDUDecode(recBits, cfgNonHT);
        if strcmp(status, 'Success') && strcmp(mpduCfg.FrameType, 'Beacon')
            frameBody = mpduCfg.ManagementConfig; % Display SSID
            disp(['SSID: ', frameBody.SSID])
            numValidPackets = numValidPackets + 1;
        end
    end
end

disp([num2str(numValidPackets), ' Valid Beacon Packets Found'])

release(basebandReader);
release(rxFrontEnd);
SSID: MathWorks-SDR
SSID: MathWorks-SDR
SSID: MathWorks-SDR
3 Valid Beacon Packets Found

Дальнейшее исследование

См. 802.11 Получателя Маяка OFDM с Оборудованием USRP® для примера обработки живых сигналов с USRP.

Приложение

Этот пример использует следующие функции помощника и объекты:

Выбранная библиография

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

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

  3. Черновой Стандарт IEEE P802.11ax™/D3.1 для Информационных технологий - Телекоммуникаций и обмена информацией между системными Локальными сетями и городскими компьютерными сетями - Часть 11 Конкретных требований: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации - Поправка 6: Улучшения для Высокой эффективности WLAN.