Этот пример слепо обнаруживает, декодирует и анализирует несколько пакетов 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. Communications Toolbox поддерживает радиосвязь с несколькими устройствами SDR. Список поддерживаемых устройств и обзор установки и настройки пакета поддержки для устройства см. в документации по этим пакетам поддержки.
Комплект средств связи для поддержки аналоговых устройств ADALM-Pluto Radio
Установка и настройка (пакет поддержки Communications Toolbox для аналоговых устройств ADALM-Pluto Radio) и поддерживаемое оборудование (пакет поддержки Communications Toolbox для аналоговых устройств ADALM-Pluto Radio)
Использовать Pluto как deviceName
Пакет поддержки коммуникационного инструментария для радиоприемника серии USRP Embedded
Установка и настройка (пакет поддержки Communications Toolbox для радио серии встраиваемых систем USRP) и поддержка аппаратного обеспечения (пакет поддержки Communications Toolbox для радио серии встраиваемых систем USRP)
Использовать E3xx как deviceName
Пакет поддержки Communications Toolbox для радио на базе Xilinx Zynq
Установка и настройка (пакет поддержки 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(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)

% 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);

WaveformAnalyzer предоставляет свойства для управления алгоритмами отслеживания, выравнивания, блокировки постоянного тока и обнаружения пакетов, которые могут быть изменены для улучшения характеристик обнаружения и анализа пакетов.
Ложные обнаружения пакетов
Ложные обнаружения пакетов - это обнаруженные пакеты, которые, по вашему мнению, не являются фактическими пакетами. Оценка формы сигнала во временной области пакета является одним из способов определения того, является ли обнаруженный пакет легитимным. При наличии значительного числа ложных обнаружений эти методы могут помочь их уменьшить:
Включить EnergyDetection и установите EnergyDetectionThreshold свойство до подходящего значения, заданного уровнем шума устройства захвата. Если включено, EnergyDetection обнаруживает только пакеты с превышением мощности EnergyDetectionThreshold во время преамбулы.
Увеличить LLTFSNRDetectionThreshold и PacketDetectionThreshold свойства для отбрасывания пакетов с низким измеренным SNR во время обнаружения.
Обнаружение пропущенных пакетов
Пропущенные обнаружения пакетов - это пакеты, которые, по вашему мнению, находятся в форме сигнала, но не были обнаружены.
Одной из возможных причин, по которой обнаружение пакетов может быть пропущено, является то, что ложное обнаружение произошло ранее в форме сигнала, но проверка L-SIG прошла, вызывая пропуск выборок. Для поиска в пределах возможных ложных обнаружений включите SearchWithinUnsupportedPacket собственность.
В качестве альтернативы попробуйте уменьшить PacketDetectionThreshold свойство обнаружения пакета с низким SNR во время обнаружения.
Подробные сведения о восстановлении и обработке сигналов 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.