exponenta event banner

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 с SNR 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.

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

свернуть все

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

Типы данных: 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 PPDU.

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

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

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

Алгоритмы

свернуть все

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

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

Как показано на чертеже, принятый сигнал, rn, задерживается и затем независимо коррелируется в двух скользящих окнах. Выходной сигнал обработки обнаружения пакета обеспечивает статистику принятия решения (mn) принятого сигнала.

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

    cn=∑l=1NR∑K=0D−1rn+k,lrn+k+D,l *

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

    pn=∑l=1NR∑k=0D−1|rn+k+D,l|2

  • Статистика решения, mn, нормализует автокорреляцию на pn так, чтобы статистика решения не зависела от абсолютного принимаемого уровня мощности.

    mn = | cn | 2 (pn) 2

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

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

Обработка обнаружения пакетов выполняется по следующей схеме:

LSTF_SYMBOL - длина символа L-STF.

Примечание

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

Ссылки

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

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

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

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