Восстановление и анализ пакетов в форме волны 802.11

Этот пример слепо обнаруживает, декодирует и анализирует несколько 802.11a™ IEEE, 802.11n™ IEEE, 802.11ac™ IEEE и 802.11ax™ пакетов IEEE в форме волны. Пример предоставляет сводные данные обнаруженных пакетов и отображает содержимое MAC, величину вектора ошибок (EVM), степень и сигнальную информацию для выбранного пакета.

Введение

В этом примере мы обнаруживаем, декодируем и анализируем несколько пакетов в форме волны. Этот пример может расшифровать OFDM non-HT, дубликат non-HT, HT, VHT [1], ОН МУ, ОН СУ и ОН ER СУ [2] форматы пакета. Приемник не знает никаких параметров передачи, за исключением полосы пропускания канала, и извлекает эти параметры путем декодирования полей преамбулы пакета. Эти измерения отображаются для обнаруженного пакета:

  • Спектр и выборки во временном интервале.

  • Содержимое поля сигнализации.

  • Модуль ресурса и информация о пользователе для формы сигнала HE.

  • Созвездие уравненных символов данных.

  • EVM полей сигнализации.

  • EVM на поднесущую данных усреднялся по пространственным потокам и символам.

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

  • Содержимое MAC- системы координат: статус деагрегации A-MPDU, Address1, Address2 Системы координат Check Sequence (FCS) и тип Системы координат.

Setup параметров восстановления формы волны

В этом примере анализируются данные I/Q, содержащие пакеты, отличные от HT и HE. The useSDR переменная управляет источником данных для этого примера:

  • Когда установлено значение false, comm.BasebandFileReader считывает синтетическую форму волны, сохраненную в двоичном формате файла.

  • Когда установлено значение trueплатформа SDR захватывает сигнал «вне воздуха» от коммерческого устройства.

useSDR = false;

Прием с устройством SDR

В этом разделе показано, как захватить беспроводную форму волны с помощью устройства SDR. Communications Toolbox поддерживает радиосвязь с несколькими устройствами SDR. Список поддерживаемых устройств и обзор установки и настройки пакета поддержки для вашего устройства см. в документации к этим пакетам поддержки.

Пакет поддержки Communications Toolbox для аналоговых устройств ADALM-Pluto Radio

Пакет поддержки Communications Toolbox для USRP Embedded Series Radio

Пакет поддержки Communications Toolbox для основанного на Xilinx Zynq радио

  • Установка и Setup (пакет поддержки Communications Toolbox для радио на основе Xilinx Zynq) и аппаратная поддержка (пакет поддержки Communications Toolbox для радио на основе Xilinx Zynq)

  • Использование AD936x или FMCOMMS5 как deviceName

% Configure the analysis source
if useSDR %#ok<*UNRCH>
    deviceName    = "Pluto"; % Device name
    frequencyBand = 5; % Frequency band
    channelNumber = 102; % WLAN channel number
    captureTime = 0.1; % Signal capture duration in seconds
    sr = 20000000; % Captured sampling rate
    chanBW = 'CBW20'; % Channel bandwidth of all packets within the waveform
    
    % Set the center frequency to the corresponding channel number. The
    % center frequency should be centered on the channel bandwidth.
    fc = helperWLANChannelFrequency (channelNumber, frequencyBand );
    rx = sdrrx (имя устройства,'BasebandSampleRate', ср,'CenterFrequency', fc,'OutputDataType','double');
    rxWaveform = захват (rx, captureTime,'Seconds');
    релиз (rx);
end

Чтобы просмотреть пример восстановления систем координат OFDM 802.11a™ отличных от HT, переданных по эфиру от коммерческого оборудования 802,11, см. пример 802,11 OFDM-маяк с оборудованием USRP ®.

Импорт захваченной формы волны из файла

В этом разделе загружаются данные I/Q из существующего двоичного файла с помощью comm.BasebandFileReader. Формат файла основной полосы включает частоту дискретизации и количество каналов в захваченной форме волны. Также можно загрузить форму волны в формате MAT-файла.

% Configure the analysis source
if ~useSDR
    BBR = comm.BasebandFileReader('wlanWaveform.bb'); % Create a baseband file reader object
    chanBW = 'CBW20'; % Channel bandwidth of all packets within the waveform
    bbrInfo = info(BBR);
    BBR.SamplesPerFrame = bbrInfo.NumSamplesInData; % Number of sample in the waveform
    rxWaveform = BBR();  % Load the I&Q sample from a binary file
    sr = BBR.SampleRate; % Sampling rate of the input signal
    release(BBR);
end

Чтобы просмотреть пример, который восстанавливает пакеты-маяк из файла основной полосы частот, см. пример 802.11 OFDM Beacon Receiver с захваченными данными.

Восстановление и анализ сигналов

Этот раздел обнаруживает, анализирует и отображает сводные данные обнаруженных пакетов. Все пакеты в форме волны должны иметь заданную пропускную способность канала, chanBW.

% Create a WaveformAnalyzer object to parse and analyze the packet within a waveform
analyzer = WaveformAnalyzer;
process(analyzer,rxWaveform,chanBW,sr);

% Display the summary of the detected packets
detectionSummary(analyzer);
                                                                           Summary of the Detected Packets
detSummary=11×9 table
    Number     Format     PHY Status    Power (dBm)    CFO (Hz)    Offset (samples)    MAC Contents    RMS EVM (dB)    Max EVM (dB)
    ______    ________    __________    ___________    ________    ________________    ____________    ____________    ____________

       1      "Non-HT"    "Success"         12.7         61431             97          "Beacon"          -25.824         -17.272   
       2      "Non-HT"    "Success"        13.08        -39757           2577          "RTS"             -24.937         -17.737   
       3      "Non-HT"    "Success"        13.01         62250           4017          "CTS"             -26.181         -18.982   
       4      "HE-MU"     "Success"        14.98        -39660           5297          "A-MPDU"          -25.353         -12.353   
       5      "Non-HT"    "Success"        13.04        -39437          18657          "Block Ack"       -25.564         -17.118   
       6      "Non-HT"    "Success"        13.07        -29899          20417          "RTS"             -25.082         -16.625   
       7      "Non-HT"    "Success"        13.01         52489          21857          "CTS"             -26.118         -18.372   
       8      "VHT"       "Success"        17.43         62290          23137          "A-MPDU"            -20.9         -10.955   
       9      "Non-HT"    "Success"        14.99        -38861          28337          "RTS"             -27.842         -20.114   
      10      "Non-HT"    "Success"        14.94         42363          29777          "CTS"             -27.409         -19.042   
      11      "HT-MF"     "Success"        15.03         22238          31058          "A-MPDU"           -26.55         -17.287   

Используйте pktNum переменная для отображения анализа MAC и PHY для выбранного пакета.

pktNum = 4 ;

% Display the MAC information of the selected packet
macSummary (анализатор, pktNum);
 
                                    Recovered MPDU Summary of Packet 4

    AMPDU/MPDU Number    STAID       Address1          Address2       AMPDU/MPDU Decode Status    MAC Frame Type
    _________________    _____    ______________    ______________    ________________________    ______________

     "AMPDU1_MPDU1"        1      "1342ABC2FF1F"    "00123456789B"           "Success"              "QoS Data"  
     "AMPDU2_MPDU1"        2      "23FFAB1234AC"    "00123456789B"           "Success"              "QoS Data"  
     "AMPDU3_MPDU1"        3      "13EF35781356"    "00123456789B"           "Success"              "QoS Data"  
     "AMPDU4_MPDU1"        4      "159A123AFFFF"    "00123456789B"           "Success"              "QoS Data"  
% Display the time samples and the spectrum of the detected packet
plotWaveform(analyzer,pktNum)

Figure contains an axes. The axes with title Detection summary (packet 4) contains 9 objects of type line, area. This object represents HE.

Figure contains an axes. The axes with title Power spectrum (packet 4) contains an object of type line.

% Display the packet field information of the selected packet
fieldSummary(analyzer,pktNum);
 
                                           Field Summary of Packet 4 (HE-MU)

    Field Name    Modulation    Num Symbols    Parity Check/CRC    Power (dBm)    RMS EVM (dB)    Max EVM (dB)
    __________    __________    ___________    ________________    ___________    ____________    ____________

     L-STF        BPSK               2                                14.59                                   
     L-LTF        BPSK               2                                14.61                                   
     L-SIG        BPSK               1               Pass             14.96         -27.59          -22.62    
     RL-SIG       BPSK               1               Pass             14.86         -27.14          -19.87    
     HE-SIG-A     BPSK               2               Pass             15.37         -26.14          -19.54    
     HE-SIG-B     BPSK               5               Pass             14.98         -27.56          -20.08    
     HE-STF       BPSK               1                                14.95                                   
     HE-LTF       BPSK               2                                15.01                                   
     Data                           35                                14.99         -25.35          -12.35    
% Display signaling field information of the selected packet
signalingSummary(analyzer,pktNum);
 
                               Signaling Field Summary of Packet 4 (HE-MU)

        Property        Value          Property          Value          Property            Value 
    ________________    _____    ____________________    _____    ______________________    _____

    L-SIG Length        467      Bandwidth               CBW20    Num HE-LTF Symbols        2    
    L-SIG Rate          0xB      Num HE-SIG-B Symbols    5        LDPC Extra Symbol         True 
    UL/DL Indication    DL       SIGB Compression        False    STBC                      False
    SIGB MCS            0        Guard Interval          3.2      Pre-FEC Padding Factor    1    
    SIGB DCM            False    HE-LTF Type             4        PE Disambiguity           False
    BSS Color           0        Doppler                 False                                   
    Spatial Reuse       0        TXOP                    127                                     
% Display the RU information
ruSummary(analyzer,pktNum);
 
                                    Resource Unit (RU) Information of Packet 4 (HE-MU)

    RU Number    RU Size    Subcarrier Index (Start)    Subcarrier Index (End)    Num Users    Num STS    Power (dBm)
    _________    _______    ________________________    ______________________    _________    _______    ___________

      "RU1"        52                 -121                       -70                  1           1          8.98    
      "RU2"        52                  -68                       -17                  1           1          8.96    
      "RU3"        52                   17                        68                  1           2          8.97    
      "RU4"        52                   70                       121                  1           1          8.97    
% Display the user information
userSummary(analyzer,pktNum);
 
                                      User Information of Packet 4 (HE-MU)

    STAID    RU Number    MCS    Modulation    Code Rate    DCM    Channel Coding    Num STS    Transmit BeamForming
    _____    _________    ___    __________    _________    ___    ______________    _______    ____________________

      1        "RU1"       0      "BPSK"         "1/2"       0         "LDPC"           1                0          
      2        "RU2"       2      "QPSK"         "3/4"       0         "LDPC"           1                0          
      3        "RU3"       4      "16QAM"        "3/4"       0         "LDPC"           2                0          
      4        "RU4"       6      "64QAM"        "3/4"       0         "LDPC"           1                0          
% Display EVM per spatial streams for all user
userEVM(analyzer,pktNum);
 
          User EVM per Spatial Stream of Packet 4 (HE-MU)

    STAID    Spatial Stream Index    RMS EVM (dB)    Max EVM (dB)
    _____    ____________________    ____________    ____________

      1               1                -26.391         -17.295   
      2               1                -27.401         -19.682   
      3               1                -23.564         -12.353   
      3               2                -23.122         -14.444   
      4               1                -27.278         -17.793   
% Plot constellation for all users
plotConstellation(analyzer,pktNum);
 

Figure contains an axes. The axes with title Equalized data symbols (packet 4) contains 8 objects of type line. These objects represent STAID 1, STAID 2, STAID 3, STAID 4, Ref.

% Plot EVM
plotEVM(analyzer,pktNum);
 

Figure contains an axes. The axes with title Average EVM (RMS) per data subcarrier (packet 4) contains 4 objects of type line. These objects represent STAID 1, STAID 2, STAID 3, STAID 4.

 

Figure contains an axes. The axes with title Average EVM (RMS) per symbol (packet 4) contains 4 objects of type line. These objects represent STAID 1, STAID 2, STAID 3, STAID 4.

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

The WaveformAnalyzer предоставляет свойства для управления алгоритмами отслеживания, эквализации, блокировки постоянного тока и обнаружения пакетов, которые могут быть изменены, чтобы улучшить эффективности обнаружения и анализа пакетов.

Ложные обнаружения пакетов

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

  • Включите EnergyDetection Свойству и установите EnergyDetectionThreshold свойство к подходящему значению, учитывая шумовой пол устройства захвата. Когда включено, EnergyDetection обнаруживает только пакеты с превышением степени EnergyDetectionThreshold во время преамбулы.

  • Увеличьте LLTFSNRDetectionThreshold и PacketDetectionThresholdсвойства для сброса пакетов с низким измеренным ОСШ во время обнаружения.

Пропущенные обнаружение пакетов

Обнаружение пропущенных пакетов - это пакеты, которые, по вашему мнению, находятся в форме волны, но не были обнаружены.

  • Одна из возможных причин, по которой обнаружение пакетов могло быть пропущено, заключается в том, что ранее в форме волны произошло ложное обнаружение, но проверка L-SIG прошла, в результате чего выборки были пропущены. Чтобы искать в пределах возможных ложных обнаружений, включите SearchWithinUnsupportedPacket свойство.

  • Также попробуйте уменьшить PacketDetectionThreshold свойство для обнаружения пакета с низким ОСШ во время обнаружения.

Для получения дополнительной информации о восстановлении и обработке сигналов 802.11ax и 802.11ac, смотрите процедуру восстановления для пакета 802.11ax и процедуры восстановления для примеров пакета 802.11ac.

Избранная библиография

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

  2. IEEE P802.11ax™/D4.1 Проект стандарта на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического Слоя (PHY) - Поправка 6: Усовершенствования для высокой Эффективности WLAN.