wlanNonHTOFDMDemodulate

Демодулируйте поля non-HT OFDM форма волны

Описание

пример

sym = wlanNonHTOFDMDemodulate(rx,field,cfg) восстанавливает сигнал частотного диапазона ортогональным мультиплексированием деления частоты (OFDM), демодулирующим невысокопроизводительный сигнал временной области (non-HT) rx. Функция демодулирует rx при помощи параметров передачи non-HT cfg и предупредите о значении поля field.

sym = wlanNonHTOFDMDemodulate(rx,field,bandwidth) задает полосу пропускания канала передачи.

пример

sym = wlanNonHTOFDMDemodulate(___,'OFDMSymbolOffset',symOffset) задает смещение выборки символа OFDM как часть длины циклического префикса в дополнение к любой комбинации входных параметров от предыдущих синтаксисов..

Примеры

свернуть все

Сконфигурируйте и сгенерируйте форму волны временного интервала 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

Сконфигурируйте и сгенерируйте сигнал Данных non-HT с полосой пропускания канала 160 МГц и динамической операции полосы пропускания.

bandwidth = 'CBW160';
cfg = wlanNonHTConfig('ChannelBandwidth',bandwidth,'PSDULength',1, ...
    'SignalChannelBandwidth',true,'BandwidthOperation','Dynamic');
bits = randi([0 1],8*cfg.PSDULength,1,'int8');
[range,~] = scramblerRange(cfg);
scramInit = randi(range);
y = wlanNonHTData(bits,cfg,scramInit);

Передайте форму волны через канал AWGN с ОСШ 50.

snr = 50;
noiseVarEst = 10^(-snr/10);
rx = awgn(y,snr);

Восстановите сигнал частотного диапазона OFDM демодуляция сигнала Данных non-HT, задав смещение выборки символа OFDM.

field = 'NonHT-Data';
symOffset = 0.5;
sym = wlanNonHTOFDMDemodulate(rx,field,bandwidth,'OFDMSymbolOffset',symOffset);

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

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

Восстановите первый подканал на 20 МГц PSDU, улучшив demapping OFDM поднесущих путем указывания информации состояния канала. Подтвердите, что полученные и переданные PSDUs соответствуют.

csi = ones(48,1);
[psdu,scramInit] = wlanNonHTDataBitRecover(sym(1:48,:),noiseVarEst,csi,cfg);
isequal(bits,psdu)
ans = logical
   1

Восстановите и отобразите полосу пропускания, сигнализирующую путем интерпретации состояния скремблера.

[bandwidth,dyn] = wlanInterpretScramblerState(scramInit)
bandwidth = 
'CBW160'
dyn = logical
   1

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

свернуть все

Полученный сигнал временной области в виде матрицы с комплексным знаком размера N s-by-Nr.

  • N s является количеством выборок временного интервала. Если N s не является целочисленным кратным длина символа OFDM, L s, для заданного поля, то функция игнорирует остающийся mod(Ns,Ls) символы.

  • N r является количеством, получают антенны.

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

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

  • 'L-LTF' – Демодулируйте устаревшее длинное учебное поле (L-LTF).

  • 'L-SIG' – Демодулируйте наследие, сигнализирующее о поле (L-SIG).

  • 'NonHT-Data' – Демодулируйте Поле данных non-HT.

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

Параметры передачи Non-HT в виде wlanNonHTConfig объект.

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

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

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

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

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

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

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

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

Смещение выборки символа OFDM, как часть длины циклического префикса в виде скаляра в интервале [0, 1].

Значение, которое вы задаете, указывает на местоположение запуска для демодуляции OFDM относительно начала циклического префикса.

Пример: 0.45

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

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

свернуть все

Демодулируемый сигнал частотного диапазона, возвращенный как массив с комплексным знаком размера кв/см N Nsym Nr.

  • Кв/см N является количеством активных занятых поднесущих в демодулируемом поле.

  • N sym является количеством символов OFDM.

  • N r является количеством, получают антенны.

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

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

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

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

Функции

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