wlanFormatDetect

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

Синтаксис

format = wlanFormatDetect(rxSig,chEst,noiseVarEst,cbw)
format = wlanFormatDetect(rxSig,chEst,noiseVarEst,cbw,cfgRec)

Описание

пример

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

пример

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

Примеры

свернуть все

Выполните обнаружение формата на 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'

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

свернуть все

Полученный сигнал временного интервала, содержащий три символа OFDM сразу после L-LTF, заданного как матрица S-by-NR N. N S представляет количество выборок временного интервала в трех символах OFDM. N R является количеством, получают антенны.

Примечание

Если N S больше, чем три символа OFDM, дополнительные выборки после того, как первые три символа не будут использоваться.

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

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

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

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

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

Пропускная способность канала в МГц, заданном как 'CBW5', 'CBW10', 'CBW20', 'CBW40', 'CBW80' или 'CBW160'.

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

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

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

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

Метод коррекции, заданный как 'MMSE' или 'ZF'.

  • 'MMSE' указывает, что получатель использует минимальный эквалайзер среднеквадратичной погрешности.

  • 'ZF' указывает, что получатель использует обеспечивающий нуль эквалайзер.

Пример: 'ZF'

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

Отслеживание экспериментального этапа, заданное как 'PreEQ' или 'None'.

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

  • 'none' Отслеживание экспериментального этапа не происходит.

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

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

свернуть все

Формат пакета, возвращенный как 'Non-HT', 'HT-MF', 'HT-GF' или 'VHT'.

Алгоритмы

свернуть все

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

Алгоритм обработки обнаружения формата определяет формат пакета путем обнаружения схемы модуляции трех символов. А именно, входная форма волны, rxSig, должна включать три символа, начинаясь с первой выборки пятого символа и заканчиваясь последней выборкой седьмого символа. Дополнительные выборки после последней выборки символа семь не используются.

  • Если пакет является non-HT, HT-MF или форматом VHT, это эти три символа после символа L-LTF.

  • Если пакет является форматом HT-GF, это эти три символа после символа HT-LTF1.

До демодуляции любых пакетных символов функция wlanFormatDetect проверяет вход пропускной способности канала. Если пропускная способность канала составляет 5 МГц или 10 МГц, обработка алгоритма заканчивается, и функция возвращает non-HT как обнаруженный формат пакета. Оценка канала, шумовая оценка отклонения и пропускная способность канала используются в восстановлении битов поля L-SIG от пятого символа, и в демодуляции и коррекции шестых и седьмых символов.

Логика, сопоставленная с обнаружением формата, подтверждает схему модуляции при помощи трех последовательных символов, начинаясь с первого сигнального символа (L-SIG или HT-SIG1) в последовательности. Как показано прогноз формата пакета сделан, на основе которого символы являются BPSK или модулируемым QBPSK. Эта логическая блок-схема идентифицирует пятые, шестые, и седьмые символы пакета как sym0, sym1 и sym2, соответственно.

  • Если sym0 является QBPSK, форматом пакета является HT-GF.

  • Если sym0 является BPSK и сбоями проверки четности L-SIG, предупреждение выдано. Обработка обнаружения формата продолжается, потому что проверка четности L-SIG окончательно не указывает на ошибку в определении MCS.

    • Если MCS не является нулем, формат пакета является non-HT.

    • Если MCS является нулем, схема модуляции sym1 обнаруживается.

      • Если sym1 является QBPSK, форматом пакета является HT-MF.

      • Если sym1 является BPSK, sym2 обнаруживается.

        • Если sym2 является QBPSK, формат пакета является VHT.

        • Если sym2 является BPSK, формат пакета является non-HT.

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

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

Введенный в R2017b