wlanCoarseCFOEstimate

Выполните крупную оценку CFO

Описание

пример

fOffset = wlanCoarseCFOEstimate(rxSig,cbw) выполняет крупную оценку несущей частоты возмещена (CFO) на полученном временном интервале L-STF[1] выборки rxSig для полосы пропускания канала cbw. Функция может оценить максимальный CFO 625 кГц, или дважды расстояние между поднесущими.

пример

fOffset = wlanCoarseCFOEstimate(rxSig,cbw,corrOffset) задает смещение корреляции как часть короткого учебного символа.

Примеры

свернуть все

Создайте объект настройки non-HT.

nht = wlanNonHTConfig;

Сгенерируйте форму волны non-HT.

txSig = wlanWaveformGenerator([1;0;0;1],nht);

Создайте фазу, и смещение частоты возражают и вводят смещение частоты на 2 кГц.

pfOffset = comm.PhaseFrequencyOffset('SampleRate',20e6,'FrequencyOffset',2000);
rxSig = pfOffset(txSig);

Извлеките L-STF.

ind = wlanFieldIndices(nht,'L-STF');
rxLSTF = rxSig(ind(1):ind(2),:);

Оцените смещение частоты от L-STF.

freqOffsetEst = wlanCoarseCFOEstimate(rxLSTF,'CBW20')
freqOffsetEst = 2.0000e+03

Оцените смещение частоты для прохождения сигнала VHT через шумный, канал TGac. Правильный для частоты возмещен.

Создайте настройку VHT, возражают и создают L-STF.

vht = wlanVHTConfig;
txstf = wlanLSTF(vht);

Установите полосу пропускания канала и частоту дискретизации.

cbw = 'CBW80';
fs = 80e6;

Создайте TGac и объекты канала теплового шума. Установите профиль задержки канала TGac к 'Model-C'. Установите шумовую фигуру канала теплового шума к 9 дБ.

tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',cbw, ...
    'DelayProfile','Model-C','LargeScaleFadingEffect','Pathloss');

noise = comm.ThermalNoise('SampleRate',fs,'NoiseMethod','Noise figure', ...
    'NoiseFigure',9);

Передайте L-STF через шумный канал TGac.

rxstfNoNoise = tgacChan(txstf);
rxstf = noise(rxstfNoNoise);

Создайте фазу, и смещение частоты возражают и вводят смещение частоты на 750 Гц.

pfOffset = comm.PhaseFrequencyOffset('SampleRate',fs, ...
    'FrequencyOffsetSource','Input port');
rxstf = pfOffset(rxstf,750);

Для профиля задержки модели-C распространение задержки RMS составляет 30 нс, который является 3/8 короткой учебной длительности символа на 80 нс. По сути, установите смещение корреляции к 0,375.

corrOffset = 0.375;

Оцените смещение частоты. Ваши результаты могут отличаться немного.

fOffsetEst = wlanCoarseCFOEstimate(rxstf,cbw,corrOffset)
fOffsetEst = 746.2700

Оценка очень близко к введенному CFO 750 Гц.

Измените профиль задержки в 'Model-E', который имеет распространение задержки RMS 100 нс.

release(tgacChan)
tgacChan.DelayProfile = 'Model-E';

Передайте переданный сигнал через модифицированный канал и примените 750 Гц CFO.

rxstfNoNoise = tgacChan(txstf);
rxstf = noise(rxstfNoNoise);
rxstf = pfOffset(rxstf,750);

Оцените смещение частоты.

fOffsetEst = wlanCoarseCFOEstimate(rxstf,cbw,corrOffset)
fOffsetEst = 947.7234

Оценка неточна, потому что распространение задержки RMS больше длительности учебного символа.

Установите смещение корреляции к максимальному значению 1 и оцените CFO.

corrOffset = 1;
fOffsetEst = wlanCoarseCFOEstimate(rxstf,cbw,corrOffset)
fOffsetEst = 745.3640

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

Правильный для предполагаемой частоты возмещен.

rxstfCorrected = pfOffset(rxstf,-fOffsetEst);

Оцените смещение частоты откорректированного сигнала.

fOffsetEstCorr = wlanCoarseCFOEstimate(rxstfCorrected,cbw,corrOffset)
fOffsetEstCorr = 2.4911e-11

Откорректированному сигналу возмещали незначительную частоту.

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

Установите полосу пропускания канала и соответствующую частоту дискретизации.

cbw = 'CBW40';
fs = 40e6;

Грубая коррекция частоты

Сгенерируйте объект настройки формата HT.

cfg = wlanHTConfig('ChannelBandwidth',cbw);

Сгенерируйте форму волны передачи.

txSig = wlanWaveformGenerator([1;0;0;1],cfg);

Создайте TGn и объекты канала теплового шума. Установите шумовую фигуру приемника к 9 дБ.

tgnChan = wlanTGnChannel('SampleRate',fs,'DelayProfile','Model-D', ...
    'LargeScaleFadingEffect','Pathloss and shadowing');
noise = comm.ThermalNoise('SampleRate',fs, ...
    'NoiseMethod','Noise figure', ...
    'NoiseFigure',9);

Передайте форму волны через TGn, образовывают канал и добавляют шум.

rxSigNoNoise = tgnChan(txSig);
rxSig = noise(rxSigNoNoise);

Создайте фазу и объект смещения частоты ввести смещение несущей частоты. Введите смещение частоты на 2 кГц.

pfOffset = comm.PhaseFrequencyOffset('SampleRate',fs,'FrequencyOffsetSource','Input port');
rxSig = pfOffset(rxSig,2e3);

Извлеките сигнал L-STF для крупной оценки смещения частоты.

istf = wlanFieldIndices(cfg,'L-STF');
rxstf = rxSig(istf(1):istf(2),:);

Выполните крупную оценку смещения частоты. Ваши результаты могут отличаться.

foffset1 = wlanCoarseCFOEstimate(rxstf,cbw)
foffset1 = 2.0221e+03

Правильный для предполагаемого смещения.

rxSigCorr1 = pfOffset(rxSig,-foffset1);

Прекрасная коррекция частоты

Извлеките сигнал L-LTF для прекрасной оценки смещения.

iltf = wlanFieldIndices(cfg,'L-LTF');
rxltf1 = rxSigCorr1(iltf(1):iltf(2),:);

Выполните прекрасную оценку откорректированного сигнала.

foffset2 = wlanFineCFOEstimate(rxltf1,cbw)
foffset2 = -11.0795

Откорректированное смещение сигнала уменьшается с 2 000 Гц приблизительно до 7 Гц.

Правильный для остающегося смещения.

rxSigCorr2 = pfOffset(rxSigCorr1,-foffset2);

Определите смещение частоты дважды откорректированного сигнала.

rxltf2 = rxSigCorr2(iltf(1):iltf(2),:);
deltaFreq = wlanFineCFOEstimate(rxltf2,cbw)
deltaFreq = -2.0048e-11

CFO является нулем.

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

свернуть все

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

Примечание

Если количество отсчетов в этом входе больше количества отсчетов в L-STF, функция оценивает CFO только при помощи первого N S выборки.

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

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

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

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

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

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

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

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

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

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

Смещение корреляции как часть короткого учебного символа в виде скаляра в интервале [0, 1]. Длительность короткого учебного символа меняется в зависимости от полосы пропускания. Для получения дополнительной информации см. L-STF.

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

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

свернуть все

Смещение частоты, в Гц, возвратилось как скаляр с действительным знаком. Функция может оценить максимальный CFO 625 кГц, или дважды расстояние между поднесущими.

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

Ссылки

[1] Станд. IEEE 802.11™-2016 (Версия Станд. IEEE 802.11-2012). “Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования”. Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретные требования.

[2] Литий, Цзянь. “Оценка Смещения Несущей частоты для Основанного на OFDM WLANs”. Буквы Обработки сигналов IEEE. Издание 8, Выпуск 3, март 2001, стр 80–82.

[3] Американский лось, P. H. “Метод для ортогонального деления частоты, мультиплексирующего частоту, возместил коррекцию”. Транзакции IEEE на Коммуникациях. Издание 42, Выпуск 10, октябрь 1994, стр 2908–2914.

[4] Perahia, E. и Р. Стейси. Беспроводная LAN следующего поколения: 802.11n и 802.11ac. 2-й выпуск. Соединенное Королевство: Издательство Кембриджского университета, 2013.

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

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

Введенный в R2015b

[1] IEEE® Станд. 802.11-2012 Адаптированных и переизданные с разрешением от IEEE. Авторское право IEEE 2012. Все права защищены.