exponenta event banner

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

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

Введение

В этом примере мы обнаруживаем, декодируем и анализируем множество пакетов в пределах формы сигнала. Этот пример может декодировать форматы пакетов OFDM не-HT, дубликат не-HT, HT, VHT [1], HE MU, HE SU и HE ER SU [2]. Приемник не знает никаких параметров передачи, за исключением полосы пропускания канала, и извлекает эти параметры путем декодирования полей преамбулы пакета. Для обнаруженного пакета отображаются следующие измерения:

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

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

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

  • Совокупность выравниваемых символов данных.

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

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

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

  • Содержание кадра MAC: состояние деагрегации A-MPDU, Address1, Address2, последовательность проверки кадра (FCS) и тип кадра.

Настройка параметров восстановления формы сигнала

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

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

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

useSDR = false;

Прием с помощью устройства SDR

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

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

Пакет поддержки коммуникационного инструментария для радиоприемника серии USRP Embedded

Пакет поддержки Communications Toolbox для радио на базе Xilinx Zynq

% 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(deviceName,'BasebandSampleRate',sr,'CenterFrequency',fc,'OutputDataType','double');
    rxWaveform = capture(rx,captureTime,'Seconds');
    release(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

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

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

В этом разделе определяется, анализируется и отображается сводка обнаруженных пакетов. Все пакеты в форме сигнала должны иметь заданную полосу пропускания канала, 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(analyzer,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.

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

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

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

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

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

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

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

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

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

  • В качестве альтернативы попробуйте уменьшить PacketDetectionThreshold свойство обнаружения пакета с низким SNR во время обнаружения.

Подробные сведения о восстановлении и обработке сигналов 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.