wlanFormatDetect

Обнаружьте формат пакета

Описание

пример

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

пример

format = wlanFormatDetect(rxSig,chEst,noiseVarEst,cbw,cfgRec) задает опции алгоритма для информационного восстановления бита при помощи параметров передачи, содержавшихся в cfgRec.

Примеры

свернуть все

Обнаружьте формат формы волны ВЛАНА ХЭ СУ

Сгенерируйте форму волны SU HE и получите полученный сигнал путем добавления шума.

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

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

Сгенерируйте форму волны 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 μs.

  • Выполните обнаружение формата.

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

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

Выполните обнаружение формата на форме волны очень высокой пропускной способности (VHT) WLAN. Используйте объект настройки восстановления настроить настройки алгоритма восстановления по умолчанию.

Сгенерируйте форму волны 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 μs.

  • Настройте настройки восстановления по умолчанию.

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

TdetectionSymbols = 12e-6;
idxDetectionSymbols = (Tlstf+Tlltf)*sr+(1:TdetectionSymbols*sr);
in = rxSig(idxDetectionSymbols,:);
cfgRec = wlanRecoveryConfig('OFDMSymbolOffset',0.5,...
    'PilotPhaseTracking','None')
cfgRec = 
  wlanRecoveryConfig with properties:

             OFDMSymbolOffset: 0.5000
           EqualizationMethod: 'MMSE'
           PilotPhaseTracking: 'None'
    MaximumLDPCIterationCount: 12
             EarlyTermination: 0

format = wlanFormatDetect(in,chEst,noiseVarEst,cbw,cfgRec)
format = 
'VHT'

Входные параметры

свернуть все

Отправьте длинное учебное поле (post-LTF) фрагмент полученного сигнала временной области, заданного как N с комплексным знаком матрица S-by-NR, где:

  • N S является количеством выборок временного интервала.

  • N R является количеством, получают антенны.

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

Примечание

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

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

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

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

  • NR является количеством, получают антенны.

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

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

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

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

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

  • 'CBW5' – Пропускная способность канала 5 МГц

  • 'CBW10' – Пропускная способность канала 10 МГц

  • 'CBW20' – Пропускная способность канала 20 МГц

  • 'CBW40' – Пропускная способность канала 40 МГц

  • 'CBW80' – Пропускная способность канала 80 МГц

  • 'CBW160' – Пропускная способность канала 160 МГц

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

Параметры алгоритма, содержащие свойства, используемые во время восстановления данных, заданного как wlanRecoveryConfig объект. Конфигурируемые свойства включают смещение выборки символа OFDM, метод эквализации и тип отслеживания экспериментального этапа. Если вы не задаете этот аргумент, wlanFormatDetect функционируйте использует значения свойств по умолчанию wlanRecoveryConfig объект.

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

свернуть все

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

  • 'Non-HT' – Невысокопроизводительный формат (non-HT)

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

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

  • 'VHT' – Формат очень высокопроизводительного (VHT)

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

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

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

  • 'HE-TB' – Основанный на триггере HE (Тбайт HE) формат

Алгоритмы

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          1. Если первый бит 0, формат является Тбайтом HE.

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

          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, формат пакета является non-HT.

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

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

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

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

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2017b