exponenta event banner

wlanFormatDetect

Определение формата пакета

Описание

пример

format = wlanFormatDetect(rxSig,chEst,noiseVarEst,cbw) обнаруживает и возвращает formatформат пакета принятого сигнала временной области. Функция обнаруживает формат пакета путем выполнения ряда проверок rxSigчасть сигнала, содержимое которой однозначно определяет формат пакета. Дополнительные сведения см. в разделе Обработка обнаружения формата. Для выполнения этих проверок функция также требует оценки характеристик канала. chEst, расчетная дисперсия шума noiseVarEstи полоса пропускания канала cbw.

пример

format = wlanFormatDetect(rxSig,chEst,noiseVarEst,cbw,Name,Value) задает параметры алгоритма для восстановления информационных битов с помощью одного или нескольких аргументов пары имя-значение.

Примеры

свернуть все

Определение формата сигнала WLAN HE SU

Генерация сигнала HE SU и получение принятого сигнала путем добавления шума.

cbw = 'CBW20'; % Specify channel bandwidth of 20MHz
cfgHESU = wlanHESUConfig('ChannelBandwidth',cbw); % Create configuration object for HE SU format
bits = [1;0;0;1];
tx = wlanWaveformGenerator(bits,cfgHESU); % Generate HE SU waveform
snr = 10; % Specify signal-to-noise ratio (SNR)
rx = awgn(tx,snr); % Create receive waveform

Укажите частоту выборки и продолжительность соответствующих полей PPDU.

sr = 20e6; % Sample rate in samples per second
tLSTF = 8e-6; % Duration of legacy short training field (L-STF)
tLLTF = tLSTF; % Duration of legacy long training field (L-LTF)

Определите индексы полей и оцените канал с помощью L-LTF.

ind = tLSTF*sr+(1:tLLTF*sr);
y = wlanLLTFDemodulate(rx(ind,:),cbw);
chEst = wlanLLTFChannelEstimate(y,cbw);

Задайте оценку дисперсии шума канала и определите формат сигнала.

noiseVarEst = 10^(-snr/20);
rxSig = rx((tLSTF+tLLTF)*sr+(1:sr*(16e-6)),:); % 16 microseconds corresponding to four OFDM symbols after HE L-LTF
format = wlanFormatDetect(rxSig,chEst,noiseVarEst,cbw);
disp(format)
HE-SU

Выполнение обнаружения формата в форме сигнала смешанного формата с высокой пропускной способностью (HT-MF) WLAN.

Генерируют сигнал HT-MF и добавляют шум к переданному сигналу.

cbw = 'CBW20';
cfgTx = wlanHTConfig('ChannelBandwidth',cbw);
tx = wlanWaveformGenerator([1;0;0;1],cfgTx);
snr = 10;
rxSig = awgn(tx,snr);

Демодуляция принятого сигнала и выполнение оценки канала

  • Определите индексы для L-LTF для формы сигнала полосы частот 20 МГц. Для этого расчета определите локальные переменные для частоты выборки и длительности полей L-STF и L-LTF в секундах.

  • Демодулируйте L-LTF.

  • Оценка канала выполняется с использованием L-LTF.

  • Оцените дисперсию шума.

sr = 20e6;
Tlstf = 8e-6;
Tlltf = 8e-6;

idxlltf = Tlstf*sr+(1:Tlltf*sr);

lltfDemod = wlanLLTFDemodulate(rxSig(idxlltf,:),cbw);
chEst = wlanLLTFChannelEstimate(lltfDemod,cbw);
noiseVarEst = 10^(-snr/20);

Формат сигнала обнаружения

  • Определите индексы для трех символов, следующих за L-LTF. Для сигнала с шириной полосы 20 МГц длительность для трех символов составляет 12 мкс.

  • Выполните определение формата.

idxDetectionSymbols = (Tlstf+Tlltf)*sr+(1:12e-6*sr);

in = rxSig(idxDetectionSymbols,:);
format = wlanFormatDetect(in,chEst,noiseVarEst,cbw)
format = 
'HT-MF'

Определите формат сигнала WLAN с очень высокой пропускной способностью (VHT), настроив параметры алгоритма восстановления по умолчанию.

Формирование сигнала VHT и добавление белого гауссова шума к переданному сигналу.

cbw = 'CBW80';
cfgTx = wlanVHTConfig('ChannelBandwidth',cbw);
tx = wlanWaveformGenerator([1;0;0;1],cfgTx);
snr = 10;
rxSig = awgn(tx,snr);

Демодуляция принятого сигнала и оценка канала

  • Определите индексы для L-LTF для формы сигнала полосы пропускания 80 МГц. Для этого расчета определите локальные переменные для частоты выборки и длительности L-STF и L-LTF в секундах.

  • Демодулируйте L-LTF.

  • Оценка канала выполняется с использованием L-LTF.

  • Оцените дисперсию шума.

sr = 80e6;
Tlstf = 8e-6;
Tlltf = 8e-6;
idxlltf = Tlstf*sr+(1:Tlltf*sr);
lltfDemod = wlanLLTFDemodulate(rxSig(idxlltf,:),cbw);
chEst = wlanLLTFChannelEstimate(lltfDemod,cbw);
noiseVarEst = 10^(-snr/20);

Обнаружение формата

  • Определите индексы для трех символов, следующих за L-LTF. Для сигнала с шириной полосы 80 МГц длительность для трех символов составляет 12 мкс.

  • Обнаружение формата с помощью измененных параметров восстановления.

TdetectionSymbols = 12e-6;
idxDetectionSymbols = (Tlstf+Tlltf)*sr+(1:TdetectionSymbols*sr);
in = rxSig(idxDetectionSymbols,:);
format = wlanFormatDetect(in,chEst,noiseVarEst,cbw,...
    'OFDMSymbolOffset',0.5,'PilotPhaseTracking','None')
format = 
'VHT'

Входные аргументы

свернуть все

Часть принятого сигнала временной области, заданная в виде комплексной матрицы NS-by-NR, после длительного тренировочного поля (после LTF), где:

  • NS - количество выборок во временной области.

  • NR - количество приемных антенн.

Чтобы успешно обнаружить формат пакета HE, этот вход должен содержать все выборки временной области в четырех символах OFDM, непосредственно следующих за L-LTF: sym1, sym2, sym3 и sym4. Для успешного обнаружения других форматов пакетов этот сигнал должен содержать все выборки временной области в трех символах OFDM, непосредственно следующих за соответствующим LTF: sym1, sym2, sym3. Первая запись в каждом столбце этого входа должна быть первой выборкой символа во временной области, принятой соответствующей антенной. Дополнительные сведения о том, как wlanFormatDetect функция использует этот ввод для определения формата, см. раздел Обработка определения формата.

Примечание

Если количество принятых символов OFDM больше четырех, функция игнорирует дополнительные выборки после sym4.

Типы данных: double
Поддержка комплексного номера: Да

Оценка канала для поднесущих данных и пилот-сигналов на основе L-LTF, заданной как числовая матрица или массив NST-by-1-by-NR размера, где:

  • NST - количество занятых поднесущих.

  • NR - количество приемных антенн.

Второй размер соответствует одному переданному потоку в L-LTF. Если передача использует множество антенн, то один передаваемый поток включает в себя комбинированные циклические сдвиги.

Типы данных: double
Поддержка комплексного номера: Да

Оценка дисперсии шума, заданная как неотрицательный скаляр.

Типы данных: double

Полоса пропускания канала, в МГц, заданная как одно из этих значений.

  • 'CBW5' - Полоса пропускания канала 5 МГц

  • 'CBW10' - Полоса пропускания канала 10 МГц

  • 'CBW20' - Полоса пропускания канала 20 МГц

  • 'CBW40' - Полоса пропускания канала 40 МГц

  • 'CBW80' - Полоса пропускания канала 80 МГц

  • 'CBW160' - Полоса пропускания канала 160 МГц

Типы данных: char

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'PilotPhaseTracking','None' отключает отслеживание фазы пилот-сигнала.

Смещение выборки символа OFDM, представленное в виде доли длины циклического префикса (CP), указанного как пара, разделенная запятыми, состоящая из 'OFDMSymbolOffset' и скаляр в интервале [0, 1]. Указанное значение указывает начальное местоположение демодуляции OFDM относительно начала CP. Стоимость 0 представляет начало CP и значение 1 представляет конец CP.

Типы данных: double

Метод выравнивания, указанный как пара, разделенная запятыми, состоящая из 'EqualizationMethod' и одно из этих значений.

  • 'MMSE' - Приемник использует компенсатор минимальной среднеквадратической ошибки.

  • 'ZF' - Приемник использует нуль-форсирующий эквалайзер.

Типы данных: char | string

Отслеживание фазы пилот-сигнала, определяемое как разделенная запятыми пара, состоящая из 'PilotPhaseTracking' и одно из этих значений.

  • 'PreEQ' - Включить отслеживание фазы пилот-сигнала, которое функция выполняет перед любой операцией выравнивания.

  • 'None' - Отключить отслеживание пилотной фазы.

Типы данных: char | string

Выходные аргументы

свернуть все

Формат пакета, возвращаемый как одно из следующих значений:

  • 'Non-HT' - Формат без высокой пропускной способности (не HT)

  • 'HT-MF' - Высокопроизводительный смешанный формат (HT MF)

  • 'HT-GF' - Высокопроизводительный формат greenfield (HT GF)

  • 'VHT' - Очень высокопроизводительный формат (VHT)

  • 'HE-SU' - Высокоэффективный однопользовательский формат (HE SU)

  • 'HE-EXT-SU' - однопользовательский формат расширенного диапазона HE (HE ER SU)

  • 'HE-MU' - многопользовательский формат HE (HE MU)

  • 'HE-TB' - формат на основе триггера HE (HE TB)

Алгоритмы

свернуть все

Обработка определения формата

Алгоритм обработки обнаружения формата определяет формат пакета путем проверки соответствующих атрибутов rxSig вход.

  • Чтобы успешно определить формат пакета HE, rxSig должны содержать все выборки временной области в четырех символах OFDM, следующих за L-LTF.

  • Для успешного обнаружения формата пакета не-HT, HT-MF или VHT, rxSig должны содержать все выборки временной области в трех символах OFDM, следующих за L-LTF.

  • Для успешного определения формата пакета HT-GF rxSig должны содержать все выборки временной области в трех символах OFDM, следующих за HT-LTF1.

Первая запись в каждом столбце rxSig должна быть первой выборкой во временной области первого символа OFDM, следующего за соответствующим LTF, принятым соответствующей антенной. Функция не использует дополнительные выборки после последней выборки четвертого символа OFDM.

Перед демодуляцией любых символов пакета, wlanFormatDetect функция проверяет количество символов OFDM в rxSig вход. Если функция обнаруживает четыре или более символов, она определяет формат пакета, следуя шагам, описанным в HE Format Detection. Если функция обнаруживает три символа, она определяет формат пакета, следуя шагам, описанным в разделе Обнаружение устаревших форматов.

Обнаружение формата HE
  1. Проверьте наличие повторяющегося поля L-SIG (RL-SIG). Если поле RL-SIG обнаружено, начните обнаружение форматов HE.

    1. Проверьте достоверность поля L-SIG путем вычисления четности и скорости передачи данных. Если поле L-SIG является допустимым, выполните следующие действия.

      1. Проверьте длину поля L-SIG по модулю 3.

        1. Если длина по модулю 3 равна 1, то формат пакета - либо HE ER SU, либо HE MU. Демодулируйте поле HE-SIG-A и проверьте схему модуляции sym4.

          1. Если способом модуляции sym4 является QBPSK, то форматом является HE ER SU.

          2. Если способом модуляции sym4 является BPSK, то форматом является HE MU.

        2. Если длина по модулю 3 равна 2, формат пакета - HE SU или HE TB. Восстановите информационные биты в поле HE-SIG-A с помощью wlanHESIGABitRecover функция.

          1. Если первый бит равен 0, используется формат HE TB.

          2. Если первый бит равен 1, то используется формат HE SU.

          3. Если в поле HE-SIG-A не удается выполнить проверку циклическим избыточным кодом (CRC), определите формат, выполнив действия, описанные в разделе Обнаружение устаревшего формата.

        3. Если длина по модулю 3 равна 0определите формат, выполнив действия, описанные в разделе Обнаружение устаревших форматов.

    2. Если поле L-SIG недопустимо, определите формат, выполнив действия в разделе Обнаружение устаревшего формата.

  2. Если поле RL-SIG не обнаружено, определите формат, выполнив действия, описанные в разделе Обнаружение устаревшего формата.

Обнаружение устаревших форматов
  1. Если схема модуляции sym1 является QBPSK, формат пакета - HT-GF.

  2. Если схема модуляции sym1 является BPSK и проверка четности L-SIG завершается неуспешно, функция возвращает предупреждение. Обработка обнаружения формата продолжается, поскольку проверка четности L-SIG не указывает окончательно на ошибку в определении схемы модуляции и кодирования (MCS).

    1. Если MCS не равен 0, то формат пакета не является HT.

    2. Если MCS равен 0, проверьте схему модуляции sym2.

      1. Если схемой модуляции sym2 является QBPSK, то форматом является HT MF.

      2. Если схема модуляции sym2 является BPSK, определите схему модуляции sym3.

        1. Если схемой модуляции sym3 является QBPSK, то форматом является VHT.

        2. Если схема модуляции sym3 является BPSK, формат не является HT.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2016b