wlanPacketDetect

Оцените смещение синхронизации пакета OFDM

Описание

пример

startOffset = wlanPacketDetect(rxSig,cbw) оценивает перемещение синхронизации между запуском полученного rxSig сигнала и запуск обнаруженной преамбулы для полосы пропускания канала cbw. Для получения дополнительной информации смотрите, что Пакетное Обнаружение Обрабатывает.

Примечание

Это функциональное пакетное обнаружение поддержек OFDM модулировало сигналы только.

пример

startOffset = wlanPacketDetect(rxSig,cbw,offset) задает выборку, на которой функция начинает обработку автокорреляции относительно запуска полученного сигнала.

пример

startOffset = wlanPacketDetect(rxSig,cbw,offset,threshold) задает порог, которому статистическая величина решения должна соответствовать или превысить, чтобы обнаружить пакет.

пример

[startOffset,M] = wlanPacketDetect(___) также возвращает статистику решения пакетного алгоритма обнаружения для любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Обнаружьте полученный 802.11n™ пакет в отношении сигнал-шум (SNR) 20 дБ.

Создайте объект настройки HT и объект канала TGn. Сгенерируйте форму волны передачи.

cfgHT = wlanHTConfig;
tgn = wlanTGnChannel('LargeScaleFadingEffect','None');
txWaveform = wlanWaveformGenerator([1;0;0;1],cfgHT);

Передайте форму волны через канал TGn с ОСШ 20 дБ. Обнаружьте запуск пакета.

snr = 20;
fadedSig = tgn(txWaveform);
rxWaveform = awgn(fadedSig,snr,0);
startOffset = wlanPacketDetect(rxWaveform,cfgHT.ChannelBandwidth)
startOffset = 1

Обнаружьте полученный 802.11ac™ пакет, который был задержан. Задайте смещение 25, чтобы начать процесс автокорреляции.

Создайте настройку VHT, возражают и генерируют форму волны передачи.

cfgVHT = wlanVHTConfig;

txWaveform = wlanWaveformGenerator([1;0;0;1],cfgVHT,...
    'WindowTransitionTime',0);

Задержите сигнал путем добавления нулей в запуске. Задайте смещение 25 в течение начала обработки автокорреляции. Обнаружьте запуск пакета.

rxWaveform = [zeros(100,1);txWaveform];
offset = 25;
startOffset = wlanPacketDetect(rxWaveform,cfgVHT.ChannelBandwidth,offset)
startOffset = 48

Вычислите обнаруженный пакет, возмещенный путем добавления возвращенного startOffset и вход offset. Это крупное приближение смещения запуска пакет полезно для определения, где начать автокорреляцию для первого пакета и для последующих пакетов, когда мультипакетная форма волны передается.

pktOffset = offset + startOffset
pktOffset = 73

Обнаружьте полученный 802.11a™ пакет, который был задержан. Никакие ухудшения канала не добавляются. Установите входное смещение к 5 и используйте порог, устанавливающий очень близко к 1.

Создайте объект настройки non-HT. Сгенерируйте форму волны передачи.

cfgNonHT = wlanNonHTConfig;

txWaveform = wlanWaveformGenerator([1;0;0;1],cfgNonHT,...
    'WindowTransitionTime',0);

Задержите сигнал путем добавления нулей в запуске. Установите начальное смещение 5 и порог очень близко к 1. Обнаружьте задержанный пакет.

rxWaveform = [zeros(20,1);txWaveform];

offset = 5;
threshold = 1-10*eps;
startOffset = wlanPacketDetect(rxWaveform,...
    cfgNonHT.ChannelBandwidth,offset,threshold)
startOffset = 15

Вычислите обнаруженный пакет, возмещенный путем добавления возвращенного startOffset и вход offset.

totalOffset = offset + startOffset
totalOffset = 20

Возвратите статистику решения формы волны WLAN, которая состоит из пять 802.11a пакеты.

Создайте объект настройки non-HT и форму волны с пятью пакетами. Задержите форму волны 4 000 выборок.

cfgNonHT = wlanNonHTConfig;
txWaveform = wlanWaveformGenerator([1;0;0;1],cfgNonHT, ...
    'NumPackets',5,'IdleTime',20e-6);
rxWaveform = [zeros(4000,1);txWaveform];

Сгенерируйте и постройте пакетную статистику решения для формы волны. Статистические данные решения показывают пять peaks, которые соответствуют первой выборке каждого обнаруженного пакета.

offset = 0;
threshold = 1;
[startOffset,M] = wlanPacketDetect(rxWaveform,cfgNonHT.ChannelBandwidth,...
    offset,threshold);
plot(M)
xlabel('Samples')
ylabel('Decision Statistics')

Figure contains an axes object. The axes object contains an object of type line.

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

свернуть все

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

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

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

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

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

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

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

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

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

  • 'CBW320' – Полоса пропускания канала 320 МГц

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

Стартовая выборка для процесса автокорреляции, в выборках после запуска полученного сигнала в виде неотрицательного целого числа. Обнаружить startOffset для последовательных пакетов в мультипакетных формах волны задайте этот вход.

Примечание

Начиная с пакетных поисковых запросов обнаружения вперед вовремя, функция не может обнаружить первый пакет если значение offset указывает на выборку после первого L-STF.

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

Порог статистической величины решения, которому нужно соответствовать или превысить для функции, чтобы обнаружить пакет в виде скаляра в интервале (0, 1].

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

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

свернуть все

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

  • Функция возвращает этот выходной параметр как [] если это не обнаруживает пакет, или если threshold входом является 1.

  • Функция возвращает этот выходной параметр как 0 если это обнаруживает пакет на первой выборке формы волны.

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

Статистика решения на основе автокорреляции входного сигнала, возвращенного как вектор-строка с действительным знаком из длины N. Значение N зависит от стартового местоположения процесса автокорреляции и количества отсчетов, перед которым функция обнаруживает пакет. Когда threshold 1, функция возвращает этот выходной параметр как статистику решения полной формы волны и startOffset выведите как [].

Для получения дополнительной информации смотрите, что Пакетное Обнаружение Обрабатывает.

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

Больше о

свернуть все

L-STF

Устаревшее короткое учебное поле (L-STF) является первым полем 802.11™ устаревшая преамбула PLCP OFDM. L-STF является компонентом VHT, HT и non-HT PPDUs.

L-STF location within legacy preamble.

Длительность L-STF меняется в зависимости от полосы пропускания канала.

Полоса пропускания канала (МГц)Частотный интервал поднесущей, Δ F (kHz)Период быстрого преобразования Фурье (FFT) (БПФ T  = 1 / Δ F)Длительность L-STF (T, КОРОТКИЙ = 10 × БПФ T  / 4)
20, 40, 80, 160, и 320312.53.2 μs8 μs
10156.256.4 μs16 μs
578.12512.8 μs32 μs

Поскольку последовательность имеет хорошие свойства корреляции, она используется для обнаружения запуска из пакета для крупной коррекции частоты, и для установки AGC. Последовательность использует 12 из 52 поднесущих, которые доступны на сегмент полосы пропускания канала на 20 МГц. Для 5 МГц, 10 МГц, и полосы пропускания на 20 МГц, количество сегментов полос пропускания канала равняется 1.

Алгоритмы

свернуть все

Пакетная обработка обнаружения

Пакетный алгоритм обнаружения реализован как двойное раздвижное окно как описано в Беспроводной LAN OFDM [1], Глава 2. Автокорреляция коротких учебных символов L-STF используется, чтобы возвратить предполагаемое смещение запуска пакет. В устойчивой системе следующий этап совершенствует эту оценку с обнаружением символьной синхронизации с помощью L-LTF.

Как показано на рисунке, полученный сигнал, r n, задержан затем коррелируемый в двух раздвижных окнах независимо. Пакетная обработка обнаружения выход обеспечивает статистику решения (m n) принятой формы волны.

  • Окно C автокоррелирует между полученным сигналом и задержанной версией, c n.

    cn=l=1NRK=0D1rn+k,lrn+k+D,l*

  • Окно P вычисляет энергию, полученную в окне автокорреляции, p n.

    pn=l=1NRk=0D1|rn+k+D,l|2

  • Статистические данные решения, m n, нормируют автокорреляцию на p n так, чтобы статистическая величина решения не зависела на абсолютном уровне мощности приемника.

    mn=|cn|2(pn)2

    Статистические данные решения предоставляют визуальную информацию, следующую из процесса автокорреляции, который полезен при выборе соответствующего порогового значения для входной формы волны. Рекомендуемое значение по умолчанию 0,5 для threshold ложные обнаружения пользы по пропущенным обнаружениям, рассматривая область значений SNRs и различных настроек антенны.

В вычислениях раздвижного окна D является периодом коротких учебных символов L-STF, и N R является количеством, получают антенны.

Пакетная обработка обнаружения следует этой блок-схеме:

L STF_SYMBOL является длиной символа L-STF.

Примечание

Это функциональное пакетное обнаружение поддержек OFDM модулировало сигналы только.

Ссылки

[1] Терри, J. и Дж. Хейскэла. Беспроводная LAN OFDM: теоретическое и практическое руководство. Индианаполис, IN: Sams, 2002.

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

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

Смотрите также

|

Введенный в R2017b