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 при соотношении сигнал/шум (ОСШ) 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

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

Обнаружение полученного пакета 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

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

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

Создайте объект строения, отличный от 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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

Типы данных: 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™ устаревшей преамбулы OFDM PLCP. L-STF является компонентом VHT, HT и не-HT PPDUs.

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

Пропускная способность канала (МГц)Частотный интервал поднесущей, Δ F (кГц)Период быстрого преобразования Фурье (FFT) (T БПФ  = 1/ Δ F)Длительность L-STF (T SHORT  = 10 × T FFT/4  )
20, 40, 80 и 160312.53,2 мкс8 мкс
10156.256,4 мкс16 мкс
578.12512,8 мкс32 мкс

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

Алгоритмы

свернуть все

Обработка обнаружения пакетов

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

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

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

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

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

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

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

    mn=|cn|2(pn)2

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

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

Обработка обнаружения пакетов следует этому графику потока:

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

Примечание

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

Ссылки

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

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

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

.
Введенный в R2016b