Этот пример вслепую обнаруживает, декодирует и анализирует несколько IEEE 802.11a™, IEEE 802.11n™, IEEE 802.11ac™ и пакеты IEEE 802.11ax™ в форме волны. Пример предоставляет сводные данные обнаруженных пакетов и отображает содержимое MAC, величину вектора ошибок (EVM), степень и сигнальную информацию для выбранного пакета.
В этом примере мы обнаруживаем, декодируем и анализируем несколько пакетов в форме волны. Этот пример может декодировать OFDM non-HT, копию non-HT, HT, VHT [1], HE МУ, SU HE и HE SU ER [2] форматы пакета. Приемник не знает параметров передачи, за исключением пропускной способности канала, и получает эти параметры путем декодирования полей преамбулы пакета. Эти измерения отображены для обнаруженного пакета:
Спектр и выборки области времени.
Сигнальное полевое содержимое.
Модуль ресурса и информация о пользователе для формы волны HE.
Созвездие компенсируемых символов данных.
EVM сигнальных полей.
EVM на поднесущую данных, усредненную по пространственным потокам и символам.
EVM на символ данных, усредненный по пространственным потокам и поднесущим.
Содержимое системы координат MAC: состояние A-MPDU deaggregation, Address1, Address2, Последовательность проверки системы координат (FCS) и Тип Системы координат.
Этот пример анализирует данные I/Q, содержащие пакеты HE и non-HT. useSDR
управление переменными источник данных для этого примера:
Когда установлено в false
, comm.BasebandFileReader
читает синтетическую форму волны, сохраненную в формате двоичного файла.
Когда установлено в true
, платформа SDR получает от воздушной формы волны от коммерческого устройства.
useSDR = false;
Этот раздел демонстрирует, как получить от воздушной формы волны с помощью устройства SDR. Communications Toolbox поддерживает радиосвязь с несколькими устройствами SDR. Для списка поддерживаемых устройств и для обзора того, как установить и установить пакет поддержки для вашего устройства, обратитесь к документации этих пакетов поддержки.
Пакет поддержки Communications Toolbox для аналоговых устройств радио ADALM-Pluto
Установка и Setup (пакет поддержки Communications Toolbox для аналоговых устройств радио ADALM-Pluto) и Поддерживаемые аппаратные средства (пакет поддержки Communications Toolbox для аналоговых устройств радио ADALM-Pluto)
Используйте Pluto
как deviceName
Пакет поддержки Communications Toolbox для USRP встроенное серийное радио
Установка и Setup (пакет поддержки Communications Toolbox для USRP встроенное серийное радио) и аппаратная поддержка (пакет поддержки Communications Toolbox для USRP встроенное серийное радио)
Используйте 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 сэр = 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. ФК = helperWLANChannelFrequency (channelNumber, frequencyBand); rx = sdrrx (deviceName,'BasebandSampleRate', сэр,'CenterFrequency'ФК ,'OutputDataType','double'); rxWaveform = получение (rx, captureTime,'Seconds'); выпустите (rx); end
Чтобы просмотреть пример о том, как восстановиться 802.11a™ OFDM non-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 с Полученным примером Данных.
Этот раздел обнаруживает, анализирует и отображает сводные данные обнаруженных пакетов. Все пакеты в форме волны должны иметь заданную пропускную способность канала, 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);
WaveformAnalyzer
обеспечивает свойства управлять экспериментальным отслеживанием, эквализацией, блокированием DC и пакетными алгоритмами обнаружения, которые можно настроить, чтобы улучшать пакетную производительность обнаружения и анализа.
Ложные пакетные обнаружения
Ложные пакетные обнаружения являются обнаруженными пакетами, которым вы не верите, фактические пакеты. Оценка формы волны области времени пакета является одним способом определить, законен ли обнаруженный пакет. Если существует значительное количество ложных обнаружений, существующих, эти методы могут помочь уменьшать их:
Включите EnergyDetection
свойство и набор EnergyDetectionThreshold
свойство к подходящему значению, учитывая уровень шума устройства захвата изображения. Когда включено, EnergyDetection
только обнаруживает пакеты со степенью, превышающей EnergyDetectionThreshold
во время преамбулы.
Увеличьте LLTFSNRDetectionThreshold
and PacketDetectionThreshold
свойства отбросить пакеты с низким измеренным ОСШ во время обнаружения.
Пропущенные пакетные обнаружения
Пропущенные пакетные обнаружения являются пакетами, которым вы верите, находятся в форме волны, но не были обнаружены.
Одна возможная причина пакетное обнаружение, возможно, было пропущено, - то, если ложное обнаружение произошло ранее в форме волны, но проверка L-SIG передала, заставив выборки быть пропущенной. Чтобы искать в рамках возможных ложных обнаружений, включите SearchWithinUnsupportedPacket
свойство.
Кроме того, попытайтесь уменьшить PacketDetectionThreshold
свойство обнаружить пакет с низким ОСШ во время обнаружения.
Для детали о 802.11ax и восстановление сигнала 802.11ac и обработка, см. Процедуру Восстановления для 802.11ax Пакет и Процедура Восстановления для Пакета 802.11ac примеры.
Станд. IEEE 802.11™ - 2 016 Стандартов IEEE для Информационных технологий - Телекоммуникации и обмен информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования.
Черновой Стандарт IEEE P802.11ax™/D4.1 для Информационных технологий - Телекоммуникаций и обмена информацией между системами - Локальными сетями и городскими компьютерными сетями - Конкретными требованиями - Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования - Поправка 6: Улучшения для Высокой эффективности WLAN.