exponenta event banner

wlanNonHTOFDMDemodulate

Поля демодуляции формы сигнала OFDM без HT

Описание

пример

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

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

пример

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

Примеры

свернуть все

Конфигурирование и генерация сигнала в области времени, отличной от 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);

Извлеките поле не-HT Data из принятого сигнала.

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

Конфигурирование и генерация сигнала данных без 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 с SNR 50.

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

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

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

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

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

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

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

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

свернуть все

Принятый сигнал временной области, заданный как матрица комплексных значений размера Ns-by-Nr.

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

  • Nr - количество приемных антенн.

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

Поле для демодуляции, указанное как одно из этих значений.

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

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

  • 'NonHT-Data' - Демодуляция поля данных без HT.

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

Параметры передачи без HT, указанные как wlanNonHTConfig объект.

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

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

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

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

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

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

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

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

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

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

Пример: 0.45

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

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

свернуть все

Демодулированный сигнал частотной области, возвращаемый как массив комплексных значений размера Nsc-by-Nsym-by-Nr.

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

  • Nsym - количество символов OFDM.

  • Nr - количество приемных антенн.

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

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

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

.

См. также

Функции

Представлен в R2020b