wlanNonHTOFDMInfo

Информация о OFDM для передачи non-HT

Описание

пример

info = wlanNonHTOFDMInfo(field) возвращает информацию об ортогональном мультиплексировании деления частоты (OFDM) для заданного поля невысокопроизводительной передачи (non-HT).

пример

info = wlanNonHTOFDMInfo(field,bandwidth) задает полосу пропускания канала передачи non-HT.

пример

info = wlanNonHTOFDMInfo(field,cfg) задает параметры передачи non-HT.

info = wlanNonHTOFDMInfo(___,OversamplingFactor=osf) возвращает информацию OFDM для заданного фактора сверхдискретизации. Для получения дополнительной информации о сверхдискретизации, смотрите Основанную на БПФ Сверхдискретизацию.

Примеры

свернуть все

Получите и отобразите информацию OFDM для non-HT-Data.

info = wlanNonHTOFDMInfo('NonHT-Data');
disp(info);
                 FFTLength: 64
                  CPLength: 16
            NumSubchannels: 1
                  NumTones: 52
    ActiveFrequencyIndices: [52x1 double]
          ActiveFFTIndices: [52x1 double]
               DataIndices: [48x1 double]
              PilotIndices: [4x1 double]

OFDM демодулируют L-LTF в передаче non-HT, затем извлекают данные и пилотные поднесущие.

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

cfg = wlanNonHTConfig;
bits = [1; 0; 0; 1];
waveform = wlanWaveformGenerator(bits,cfg);

Получите полевые индексы и извлеките L-LTF.

ind = wlanFieldIndices(cfg);
rx = waveform(ind.LLTF(1):ind.LLTF(2),:);

Выполните демодуляцию OFDM на L-LTF.

sym = wlanLLTFDemodulate(rx,cfg);

Получите информацию OFDM, затем извлеките данные и пилотные поднесущие.

bandwidth = cfg.ChannelBandwidth;
info = wlanNonHTOFDMInfo('L-LTF',bandwidth);
data = sym(info.DataIndices,:,:);
pilots = sym(info.PilotIndices,:,:);

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

cfg = wlanNonHTConfig('MCS',4);
bits = randi([0 1],8*cfg.PSDULength,1,'int8');
waveform = wlanWaveformGenerator(bits,cfg);

Передайте форму волны через канал аддитивного белого Гауссова шума (AWGN) с отношением сигнал-шум (SNR) 30.

snr = 30;
rxWaveform = awgn(waveform,snr);

Извлеките Поле данных non-HT из принятой формы волны.

field = 'NonHT-Data';
ind = wlanFieldIndices(cfg,field);
rx = rxWaveform(ind(1):ind(2),:);

Восстановите сигнал частотного диапазона OFDM демодуляция сигнала данных временного интервала.

sym = wlanNonHTOFDMDemodulate(rx,field,cfg);

Извлеките поднесущие данных из демодулируемого сигнала.

info = wlanNonHTOFDMInfo(field,cfg);
sym = sym(info.DataIndices,:,:);

Восстановите PSDU и подтвердите, что он совпадает с переданным PSDU.

noiseVarEst = 10^(-snr/10);
psdu = wlanNonHTDataBitRecover(sym,noiseVarEst,cfg);
isequal(bits,psdu)
ans = logical
   1

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

свернуть все

Поле, для которого функция возвращает информацию OFDM в виде одного из этих значений.

  • 'L-LTF' – Возвратите информацию OFDM для устаревшего длинного учебного поля (L-LTF).

  • 'L-SIG' – Возвратите информацию OFDM для устаревшего поля (L-SIG) сигнала.

  • 'NonHT-Data' – Возвратите информацию OFDM для Поля данных non-HT.

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

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

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

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

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

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

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

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

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

Параметры передачи Non-HT в виде wlanNonHTConfig объект. Поскольку эта функция поддерживает только модуляцию OFDM, необходимо установить Modulation свойство этого входа к 'OFDM'.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

Информация о OFDM, возвращенная как структура, содержащая эти поля.

ИмяЗначенияОписаниеТипы данных
FFTLengthПоложительное целое числоДлина быстрого преобразования Фурье (FFT)double
CPLengthПоложительное целое число

Длина циклического префикса, в выборках

double
NumTonesНеотрицательное целое число

Количество активных поднесущих

double
NumSubchannelsПоложительное целое числоКоличество подканалов на 20 МГцdouble
ActiveFrequencyIndicesВектор-столбец целых чисел в интервале [-FFTLength/2, (FFTLength/2 – 1)]Индексы активных поднесущих. Каждым элементом этого поля является индекс активной поднесущей, такой, что постоянный ток (DC) или пустая поднесущая находятся в центре диапазона частот.double
ActiveFFTIndicesВектор-столбец целых чисел в интервале [1, FFTLength]Индексы активных поднесущих в БПФdouble
DataIndicesВектор-столбец целых чисел в интервале [1, NumTones]Индексы данных в активных поднесущихdouble
PilotIndicesВектор-столбец целых чисел в интервале [1, NumTones]Индексы пилотов в активных поднесущихdouble

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

Алгоритмы

свернуть все

Основанная на БПФ сверхдискретизация

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

Эта функция выполняет сверхдискретизацию при помощи большего ОБПФ и нулевой клавиатуры при генерации формы волны OFDM. Эта схема показывает процесс сверхдискретизации для формы волны OFDM с поднесущими БПФ N, включающими N g поднесущие защитной полосы по обе стороны от поднесущих занимаемой полосы N-Стрит.

FFT-based oversampling.

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

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

Смотрите также

Функции

Объекты

Введенный в R2019a