Этот пример слепо обнаруживает, декодирует и анализирует несколько 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) и тип Системы координат.
В этом примере анализируются данные I/Q, содержащие пакеты, отличные от HT и HE. The useSDR
переменная управляет источником данных для этого примера:
Когда установлено значение false
, comm.BasebandFileReader
считывает синтетическую форму волны, сохраненную в двоичном формате файла.
Когда установлено значение true
платформа SDR захватывает сигнал «вне воздуха» от коммерческого устройства.
useSDR = false;
В этом разделе показано, как захватить беспроводную форму волны с помощью устройства SDR. Communications Toolbox поддерживает радиосвязь с несколькими устройствами SDR. Список поддерживаемых устройств и обзор установки и настройки пакета поддержки для вашего устройства см. в документации к этим пакетам поддержки.
Пакет поддержки Communications Toolbox для аналоговых устройств ADALM-Pluto Radio
Установка и Setup (пакет поддержки Communications Toolbox для аналоговых устройств ADALM-Pluto Radio) и поддерживаемых аппаратных средств (пакет поддержки Communications Toolbox для аналоговых устройств ADALM-Pluto Radio)
Использование Pluto
как deviceName
Пакет поддержки Communications Toolbox для USRP Embedded Series Radio
Установка и Setup (пакет поддержки Communications Toolbox для USRP Embedded Series Radio) и аппаратная поддержка (пакет поддержки Communications Toolbox для USRP Embedded Series Radio)
Использование E3xx
как deviceName
Пакет поддержки 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)
% 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);
% Plot EVM
plotEVM(analyzer,pktNum);
The WaveformAnalyzer
предоставляет свойства для управления алгоритмами отслеживания, эквализации, блокировки постоянного тока и обнаружения пакетов, которые могут быть изменены, чтобы улучшить эффективности обнаружения и анализа пакетов.
Ложные обнаружения пакетов
Обнаружение ложных пакетов - это обнаруженные пакеты, которые, по вашему мнению, не являются фактическими пакетами. Оценка временного интервала волны пакета является одним из способов определить, является ли обнаруженный пакет легитимным. Если существует значительное количество ложных обнаружений, эти методы могут помочь уменьшить их:
Включите EnergyDetection
Свойству и установите EnergyDetectionThreshold
свойство к подходящему значению, учитывая шумовой пол устройства захвата. Когда включено, EnergyDetection
обнаруживает только пакеты с превышением степени EnergyDetectionThreshold
во время преамбулы.
Увеличьте LLTFSNRDetectionThreshold
и PacketDetectionThreshold
свойства для сброса пакетов с низким измеренным ОСШ во время обнаружения.
Пропущенные обнаружение пакетов
Обнаружение пропущенных пакетов - это пакеты, которые, по вашему мнению, находятся в форме волны, но не были обнаружены.
Одна из возможных причин, по которой обнаружение пакетов могло быть пропущено, заключается в том, что ранее в форме волны произошло ложное обнаружение, но проверка L-SIG прошла, в результате чего выборки были пропущены. Чтобы искать в пределах возможных ложных обнаружений, включите SearchWithinUnsupportedPacket
свойство.
Также попробуйте уменьшить PacketDetectionThreshold
свойство для обнаружения пакета с низким ОСШ во время обнаружения.
Для получения дополнительной информации о восстановлении и обработке сигналов 802.11ax и 802.11ac, смотрите процедуру восстановления для пакета 802.11ax и процедуры восстановления для примеров пакета 802.11ac.
IEEE Std 802.11™ - 2016 Стандарт IEEE на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Беспроводное управление доступом к среде локальной сети (MAC) и физический слой (PHY) Спецификации.
IEEE P802.11ax™/D4.1 Проект стандарта на информационные технологии - Телекоммуникации и обмен информацией между системами - Локальные и столичные сети - Особые требования - Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического Слоя (PHY) - Поправка 6: Усовершенствования для высокой Эффективности WLAN.