wlanFineCFOEstimate

Прекрасная оценка несущей частоты смещается

Синтаксис

fOffset = wlanFineCFOEstimate(rxSig,cbw)
fOffset = wlanFineCFOEstimate(rxSig,cbw,corrOffset)

Описание

пример

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

пример

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

Примеры

свернуть все

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

nht = wlanNonHTConfig;

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

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

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

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

Извлеките L-LTF и оцените смещение частоты.

ind = wlanFieldIndices(nht,'L-LTF');
rxlltf = rxSig(ind(1):ind(2),:);
freqOffsetEst = wlanFineCFOEstimate(rxlltf,'CBW20')
freqOffsetEst = 2.0000

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

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

vht = wlanVHTConfig;
txltf = wlanLLTF(vht);

Установите частоту дискретизации соответствовать пропускной способности по умолчанию объекта настройки VHT.

fs = 80e6;

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

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

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

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

rxltfNoNoise = tgacChan(txltf);
rxltf = noise(rxltfNoNoise);

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

pfoffset = comm.PhaseFrequencyOffset('SampleRate',fs,'FrequencyOffsetSource','Input port');
rxltf = pfoffset(rxltf,25);

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

fOffsetEst = wlanFineCFOEstimate(rxltf,vht.ChannelBandwidth,0.6)
fOffsetEst = 28.0773

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

rxltfCorr = pfoffset(rxltf,-fOffsetEst);

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

fOffsetEstCorr = wlanFineCFOEstimate(rxltfCorr,vht.ChannelBandwidth,0.6)
fOffsetEstCorr = -3.1286e-13

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

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

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

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-LTF, заданный как матрица S-by-NR N. N S является количеством выборок в L-LTF, и N R является количеством, получают антенны.

Примечание

Если количество выборок в rxSig больше, чем количество выборок в L-LTF, запаздывающие выборки не используются, чтобы оценить смещение несущей частоты.

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

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

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

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

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

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

свернуть все

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

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

Больше о

свернуть все

L-LTF

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

Оценка канала, прекрасная частота сместила оценку, и прекрасный символ, синхронизирующий оценку смещения, полагается на L-LTF.

L-LTF состоит из циклического префикса (CP), сопровождаемого двумя идентичными длинными учебными символами (C1 и C2). CP состоит из второй половины длинного учебного символа.

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

Пропускная способность канала (МГц)Частотный интервал поднесущей, Δ F (kHz)Период быстрого преобразования Фурье (FFT) (БПФ T  = 1 / Δ F)Циклический префиксный или учебный интервал охраны символа (GI2) длительность (T GI2 = БПФ T  / 2)Длительность L-LTF (T LONG = T GI2 + 2 × БПФ T)
20, 40, 80, и 160312.53.2 μs1.6 μs8 μs
10156.256.4 μs3.2 μs16 μs
578.12512.8 μs6.4 μs32 μs

Ссылки

[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® Std 802.11-2012 Adapted и переизданный с разрешением от IEEE. Авторское право IEEE 2012. Все права защищены.

Для просмотра документации необходимо авторизоваться на сайте