Демодулируйте форму волны VHT-LTF
y = wlanVHTLTFDemodulate(x,cfg)
y = wlanVHTLTFDemodulate(x,cbw,numSTS)
y = wlanVHTLTFDemodulate(___,OFDMSymbolOffset)
задает смещение символа OFDM как часть циклической длины префикса.y
= wlanVHTLTFDemodulate(___,OFDMSymbolOffset
)
Создайте объект настройки формата VHT.
vht = wlanVHTConfig;
Сгенерируйте сигнал VHT-LTF.
txVHTLTF = wlanVHTLTF(vht);
Добавьте белый шум в сигнал.
rxVHTLTF = awgn(txVHTLTF,1);
Демодулируйте полученный сигнал.
y = wlanVHTLTFDemodulate(rxVHTLTF,vht);
Укажите, что настройка формата VHT возражает и генерирует VHT-LTF.
vht = wlanVHTConfig; txltf = wlanVHTLTF(vht);
Умножьте переданный VHT-LTF на 0,1 + 0.1i. Передайте сигнал через канал AWGN.
rxltfNoNoise = txltf * complex(0.1,0.1);
rxltf = awgn(rxltfNoNoise,20,'measured');
Демодулируемый полученный VHT-LTF со смещением символа 0,5.
dltf = wlanVHTLTFDemodulate(rxltf,vht,0.5);
Оцените канал с помощью демодулируемого VHT-LTF. Постройте результат.
chEst = wlanVHTLTFChannelEstimate(dltf,vht); scatterplot(chEst)
Оценка очень близко к ранее введена 0.1+0.1i множитель.
Сгенерируйте форму волны VHT. Извлеките и демодулируйте VHT длинное учебное поле (VHT-LTF), чтобы оценить коэффициенты канала. Восстановитесь поле данных при помощи канала оценивают и используют это поле, чтобы определить количество битовых ошибок.
Сконфигурируйте объект настройки VHT-формата с двумя путями.
vht = wlanVHTConfig('NumTransmitAntennas',2,'NumSpaceTimeStreams',2);
Сгенерируйте случайный PSDU и создайте соответствующую форму волны VHT.
txPSDU = randi([0 1],8*vht.PSDULength,1); txSig = wlanWaveformGenerator(txPSDU,vht);
Передайте сигнал через TGac 2x2 канал MIMO.
tgacChan = wlanTGacChannel('NumTransmitAntennas',2,'NumReceiveAntennas',2, ... 'LargeScaleFadingEffect','Pathloss and shadowing'); rxSigNoNoise = tgacChan(txSig);
Добавьте AWGN в полученный сигнал. Установите шумовое отклонение для случая, в котором получатель имеет шумовую фигуру на 9 дБ.
nVar = 10^((-228.6+10*log10(290)+10*log10(80e6)+9)/10); awgnChan = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar); rxSig = awgnChan(rxSigNoNoise);
Определите индексы для VHT-LTF и извлеките поле от полученного сигнала.
indVHT = wlanFieldIndices(vht,'VHT-LTF');
rxLTF = rxSig(indVHT(1):indVHT(2),:);
Демодулируйте VHT-LTF и оцените коэффициенты канала.
dLTF = wlanVHTLTFDemodulate(rxLTF,vht); chEst = wlanVHTLTFChannelEstimate(dLTF,vht);
Извлеките VHT-поле-данных и восстановите информационные биты.
indData = wlanFieldIndices(vht,'VHT-Data');
rxData = rxSig(indData(1):indData(2),:);
rxPSDU = wlanVHTDataRecover(rxData,chEst,nVar,vht);
Определите количество битовых ошибок.
numErrs = biterr(txPSDU,rxPSDU)
numErrs = 0
Восстановите биты VHT-поля-данных для многопользовательской передачи с помощью оценки канала на поле VHT-LTF по квазистатическому исчезающему каналу.
Создайте объект настройки VHT, имеющий пропускную способность канала на 160 МГц, двух пользователей и четыре антенны передачи. Присвойте один пространственно-временной поток первому пользователю и три пространственно-временных потока второму пользователю.
cbw = 'CBW160'; numSTS = [1 3]; vht = wlanVHTConfig('ChannelBandwidth',cbw,'NumUsers',2, ... 'NumTransmitAntennas',4,'NumSpaceTimeStreams',numSTS);
Поскольку существует два пользователя, длина PSDU является 1 2 вектором - строкой.
psduLen = vht.PSDULength
psduLen = 1×2
1050 3156
Сгенерируйте многопользовательские входные данные. Эти данные должны быть в форме 1 на N массивом ячеек, где N является количеством пользователей.
txDataBits{1} = randi([0 1],8*vht.PSDULength(1),1); txDataBits{2} = randi([0 1],8*vht.PSDULength(2),1);
Сгенерируйте сигналы VHT-поля-данных и VHT-LTF.
txVHTLTF = wlanVHTLTF(vht); txVHTData = wlanVHTData(txDataBits,vht);
Передайте поле данных для первого пользователя через 4x1 канал, потому что это состоит из одного пространственно-временного потока. Передайте данные второго пользователя через 4x3 канал, потому что это состоит из трех пространственно-временных потоков. Примените белый Гауссов шум к каждому пользовательскому сигналу.
snr = 15; H1 = 1/sqrt(2)*complex(randn(4,1),randn(4,1)); H2 = 1/sqrt(2)*complex(randn(4,3),randn(4,3)); rxVHTData1 = awgn(txVHTData*H1,snr,'measured'); rxVHTData2 = awgn(txVHTData*H2,snr,'measured');
Повторите процесс для полей VHT-LTF.
rxVHTLTF1 = awgn(txVHTLTF*H1,snr,'measured'); rxVHTLTF2 = awgn(txVHTLTF*H2,snr,'measured');
Вычислите полученную степень сигнала для обоих пользователей и используйте ее, чтобы оценить шумовое отклонение.
powerDB1 = 10*log10(var(rxVHTData1)); noiseVarEst1 = mean(10.^(0.1*(powerDB1-snr))); powerDB2 = 10*log10(var(rxVHTData2)); noiseVarEst2 = mean(10.^(0.1*(powerDB2-snr)));
Оцените характеристики канала с помощью полей VHT-LTF.
demodVHTLTF1 = wlanVHTLTFDemodulate(rxVHTLTF1,cbw,numSTS); chanEst1 = wlanVHTLTFChannelEstimate(demodVHTLTF1,cbw,numSTS); demodVHTLTF2 = wlanVHTLTFDemodulate(rxVHTLTF2,cbw,numSTS); chanEst2 = wlanVHTLTFChannelEstimate(demodVHTLTF2,cbw,numSTS);
Восстановите биты VHT-поля-данных для первого пользователя и сравните с исходными битами полезной нагрузки.
rxDataBits1 = wlanVHTDataRecover(rxVHTData1,chanEst1,noiseVarEst1,vht,1); [~,ber1] = biterr(txDataBits{1},rxDataBits1)
ber1 = 0.4983
Определите количество битовых ошибок для второго пользователя.
rxDataBits2 = wlanVHTDataRecover(rxVHTData2,chanEst2,noiseVarEst2,vht,2); [~,ber2] = biterr(txDataBits{2},rxDataBits2)
ber2 = 0.0972
Частоты ошибок по битам довольно высоки, потому что нет никакого предварительного кодирования, чтобы смягчить интерференцию между потоками. Это особенно очевидно для пользователя 1 получатель, потому что он получает энергию от этих трех потоков, предназначенных для пользователя 2. Пример предназначается, чтобы показать рабочий процесс, и правильные синтаксисы для LTF демодулируют, оценка канала и функции восстановления данных.
x
Входной сигнал временного интервалаВходной сигнал временного интервала, соответствующий VHT-LTF PPDU, заданного как матрица размера NS-by-NR. NS является количеством выборок. NR является количеством, получают антенны. NS может быть больше, чем или равняться длине VHT-LTF, как обозначено cfg
. Запаздывающие выборки в конце x
не используются.
Типы данных: double
Поддержка комплексного числа: Да
cfg
— Настройка формата VHTwlanVHTConfig
Настройка формата VHT, заданная как объект wlanVHTConfig
. Функция использует следующие свойства объектов wlanVHTConfig
:
ChannelBandwidth
— Пропускная способность канала 'CBW80'
(значение по умолчанию) | 'CBW20'
| 'CBW40'
| 'CBW160'
Пропускная способность канала, заданная как 'CBW20'
, 'CBW40'
, 'CBW80'
или 'CBW160'
. Если передача имеет многого пользователя, та же пропускная способность канала применяется ко всем пользователям. Значение по умолчанию 'CBW80'
устанавливает пропускную способность канала на 80 МГц.
Типы данных: char | string
NumSpaceTimeStreams
— Количество пространственно-временных потоковКоличество пространственно-временных потоков в передаче, заданной как скаляр или вектор.
Для отдельного пользователя количество пространственно-временных потоков является скалярным целым числом от 1 до 8.
Для многого пользователя количество пространственно-временных потоков является 1 NUsers вектором целых чисел от 1 до 4, где длина вектора, NUsers, является целым числом от 1 до 4.
Пример: [1 3 2]
является количеством пространственно-временных потоков для каждого пользователя.
Сумма пространственно-временных потоковых элементов вектора не должна превышать восемь.
Типы данных: double
cbw
— Пропускная способность канала 'CBW20'
| 'CBW40'
| 'CBW80'
| 'CBW160'
Пропускная способность канала, заданная как 'CBW20'
, 'CBW40'
, 'CBW80'
или 'CBW160'
. Если передача имеет многого пользователя, та же пропускная способность канала применяется ко всем пользователям.
Типы данных: char | string
numSTS
— Количество пространственно-временных потоковКоличество пространственно-временных потоков в передаче, заданной как скаляр или вектор.
Для отдельного пользователя количество пространственно-временных потоков является скалярным целым числом от 1 до 8.
Для многого пользователя количество пространственно-временных потоков является 1 NUsers вектором целых чисел от 1 до 4, где длина вектора, NUsers, является целым числом от 1 до 4.
Пример: [1 3 2]
указывает, что один пространственно-временной поток присвоен пользователю 1, три пространственно-временных потока присвоены пользователю 2, и два пространственно-временных потока присвоены пользователю 3.
Сумма пространственно-временных потоковых элементов вектора не должна превышать восемь.
Типы данных: double
OFDMSymbolOffset
— Выборка символа OFDM смещаетсяСмещение выборки символа OFDM, представленное как часть длины циклического префикса (CP), заданной как скалярное значение от 0 до 1. Это значение указывает на местоположение запуска для демодуляции OFDM относительно начала циклического префикса. OFDMSymbolOffset
= 0 представляет запуск циклического префикса, и OFDMSymbolOffset
= 1 представляет конец циклического префикса.
Типы данных: double
y
Демодулируемая форма волны VHT-LTFДемодулируемая форма волны VHT-LTF, возвращенная как NST-by-NSYM-by-NR массив. NST является количеством данных и экспериментальных поднесущих, NSYM является количеством символов OFDM в VHT-LTF, и NR является количеством, получают антенны.
Если полученный сигнал VHT-LTF, x
, пуст, то вывод также пуст.
Типы данных: double
Поддержка комплексного числа: Да
Очень высокая пропускная способность длинное учебное поле (VHT-LTF) расположена между VHT-STF и фрагментом VHT-SIG-B пакета VHT.
Это используется для оценки канала MIMO и экспериментального отслеживания поднесущей. VHT-LTF включает один VHT длинный учебный символ для каждого пространственного потока, обозначенного выбранным MCS. Каждый символ является 4 μs долго. Максимум восьми символов разрешен в VHT-LTF.
VHT-LTF задан в IEEE® Std 802.11ac™-2013, Раздел 22.3.8.3.5.
[1] Станд. IEEE 802.11ac™-2013 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации — Поправка 4: Улучшения для Очень Высокой Пропускной способности для Операции в Полосах ниже 6 ГГц.
[2] Станд. IEEE 802.11™-2012 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Спецификации.
[1] 802.11ac Станд. IEEE 2 013 Адаптированных и переизданные с разрешением от IEEE. Авторское право IEEE 2013. Все права защищены.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.