exponenta event banner

wlanFineCFOEstimate

Выполнение точной оценки финансового директора

Описание

пример

fOffset = wlanFineCFOEstimate(rxSig,cbw) выполняет оценку точного смещения несущей частоты (CFO) для принятых L-LTF1отсчетов временной области [] rxSig для полосы пропускания канала cbw. Функция может оценить максимальный финансовый директор 156,25 кГц или половину интервала между поднесущими.

пример

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

Примеры

свернуть все

Создание объекта конфигурации, отличного от HT.

nht = wlanNonHTConfig;

Генерация сигнала без 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 = 1.2514e-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

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

Исправить для оставшегося смещения.

rxSigCorr2 = pfOffset(rxSigCorr1,-foffset2);

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

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

Финансовый директор равен нулю.

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

свернуть все

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

Примечание

Если количество выборок на этом входе больше, чем количество выборок в L-LTF, функция оценивает финансового директора, используя только первые выборки NS.

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Подробнее

свернуть все

L-LTF

Наследие длинная учебная область (L-LTF) является второй областью в 802.11™ устаревшая преамбула OFDM PLCP. L-LTF является компонентом VHT, HT и не-HT PPDU.

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

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

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

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

Ссылки

[1] IEEE Std 802.11™-2016 (версия IEEE Std 802.11-2012). «Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY)». Стандарт IEEE для информационных технологий - Телекоммуникации и обмен информацией между системами - Локальные и городские сети - Особые требования.

[2] Ли, Цзянь. «Оценка смещения несущей частоты для WLAN на основе OFDM». Письма обработки сигналов IEEE. Том 8, выпуск 3, Мар 2001, стр. 80-82.

[3] Moose, P.H. «Метод коррекции сдвига частоты с ортогональным частотным разделением». Транзакции IEEE по коммуникациям. Том 42, выпуск 10, окт. 1994, стр. 2908-2914.

[4] Перахия, Э. и Р. Стейси. Беспроводные локальные сети следующего поколения: 802.11n и 802.11ac. 2-е издание. Великобритания: Cambridge University Press, 2013.

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

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

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

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