wlanVHTLTFChannelEstimate

Оценка канала с помощью VHT-LTF

Описание

пример

chEst = wlanVHTLTFChannelEstimate(demodSig,cfg) возвращает оценку канала, с помощью демодулируемого VHT-LTF [] 1сигнал, demodSig, учитывая параметры, заданные в wlanVHTConfig объект cfg.

пример

chEst = wlanVHTLTFChannelEstimate(demodSig,cbw,numSTS) возвращает оценку канала для заданной пропускной способности канала, cbw, и количество пространственно-временных потоков, numSTS.

пример

chEst = wlanVHTLTFChannelEstimate(___,span) указывает, что промежуток фильтра скользящего среднего значения раньше выполнял сглаживание частоты.

Примеры

свернуть все

Отобразите оценку канала данных и экспериментальных поднесущих для канала формата VHT с помощью его длинного учебного поля.

Создайте объект настройки формата VHT. Сгенерируйте VHT-LTF на основе cfg.

cfg = wlanVHTConfig;
txSig = wlanVHTLTF(cfg);

Умножьте переданный сигнал VHT-LTF на 0,3 - 0.15i и передайте его через канал AWGN, имеющий отношение сигнал-шум на 30 дБ. Демодулируйте полученный сигнал.

rxSig = awgn(txSig*(0.3-0.15i),30);
demodSig = wlanVHTLTFDemodulate(rxSig,cfg);

Оцените ответ канала с помощью демодулируемого сигнала VHT-LTF.

est = wlanVHTLTFChannelEstimate(demodSig,cfg);

Постройте оценку канала.

scatterplot(est)
grid

Оценка канала совпадает с комплексным множителем канала.

Оцените и отобразите коэффициенты канала 4x2 канал MIMO с помощью VHT-LTF.

Создайте объект настройки формата VHT для канала, имеющего четыре пространственных потока и четыре антенны передачи. Передайте полную форму волны VHT.

cfg = wlanVHTConfig('NumTransmitAntennas',4, ...
    'NumSpaceTimeStreams',4,'MCS',5);
txWaveform = wlanWaveformGenerator([1;0;0;1;1;0],cfg);

Установите частоту дискретизации, и затем передайте переданную форму волны через 4x2 канал TGac.

fs = 80e6;
tgacChan = wlanTGacChannel('SampleRate',fs, ...
    'NumTransmitAntennas',4,'NumReceiveAntennas',2);
rxWaveform = tgacChan(txWaveform);

Определите индексы поля VHT-LTF и демодулируйте VHT-LTF от полученной формы волны.

indVHTLTF = wlanFieldIndices(cfg,'VHT-LTF');
ltfDemodSig = wlanVHTLTFDemodulate(rxWaveform(indVHTLTF(1):indVHTLTF(2),:), cfg);

Сгенерируйте оценку канала при помощи демодулируемого сигнала VHT-LTF. Задайте промежуток фильтра сглаживания пяти поднесущих.

est = wlanVHTLTFChannelEstimate(ltfDemodSig,cfg,5);

Постройте ответ величины первого пространственно-временного потока для обоих, получают антенны. Из-за случайной природы исчезающего канала, ваши результаты могут варьироваться.

plot(abs(est(:,1,1)))
hold on
plot(abs(est(:,1,2)))
xlabel('Subcarrier')
ylabel('Magnitude')
legend('Rx Antenna 1','Rx Antenna 2')

Восстановите биты с VHT-поля-данных многопользовательской передачи VHT, восстановленной с исчезающего канала MU-MIMO при помощи оценки канала на VHT-LTF.

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

Сконфигурируйте передачу VHT с пропускной способностью канала 160 МГц, двумя пользователями и четырьмя антеннами передачи. Присвойте один пространственно-временной поток первому пользователю и три пространственно-временных потока второму пользователю.

cbw = 'CBW160';
numSTS = [1 3];
cfgVHT = wlanVHTConfig('ChannelBandwidth',cbw,'NumUsers',2, ...
    'NumTransmitAntennas',4,'NumSpaceTimeStreams',numSTS);

Сгенерируйте полезную нагрузку битов для каждого пользователя. Эта полезная нагрузка должна быть в массив ячеек 1 на n, где N является количеством пользователей.

psduLength = 8*cfgVHT.PSDULength;
numUsers = cfgVHT.NumUsers;
bits = cell(1,2);
for nu = 1:numUsers
    bits{nu} = randi([0 1],psduLength(nu),1);
end

Сгенерируйте сигналы VHT-поля-данных и VHT-LTF.

txLTF  = wlanVHTLTF(cfgVHT); 
txDataSym = wlanVHTData(bits,cfgVHT);

Передайте сигнал VHT-поля-данных для первого пользователя через 4x1 канал, потому что этот сигнал состоит из одного пространственно-временного потока. Передайте VHT-поле-данных для вторых пользовательских данных через 4x3 канал, потому что этот сигнал состоит из трех пространственно-временных потоков. Примените AWGN к каждому сигналу, приняв ОСШ 15 дБ.

snr = 15; 
H{1} = complex(randn(4,1),randn(4,1))/sqrt(2);
H{2} = complex(randn(4,3),randn(4,3))/sqrt(2);
number = zeros(2,1);
ratio = zeros(2,1);
for userIdx = 1:numUsers
    rxDataSym = awgn(txDataSym*H{userIdx},snr,'measured');

Примените ту же обработку канала к VHT-LTF для каждого пользователя.

    rxLTF = awgn(txLTF*H{userIdx},snr,'measured');

Вычислите полученную степень сигнала для каждого пользователя и оцените шумовое отклонение.

    powerDB = 10*log10(var(rxDataSym));
    noiseVarEst = mean(10.^(0.1*(powerDB-snr)));

Оцените характеристики канала при помощи VHT-LTF.

    demod = wlanVHTLTFDemodulate(rxLTF,cbw,numSTS);
    chEst = wlanVHTLTFChannelEstimate(demod,cbw,numSTS);

Восстановите биты с полученного VHT-поля-данных для каждого пользователя и определите частоту ошибок по битам путем сравнения восстановленных битов с исходными битами полезной нагрузки.

    dataBits = wlanVHTDataRecover(rxDataSym,chEst,noiseVarEst,cfgVHT,userIdx);
    [number(userIdx),ratio(userIdx)] = biterr(bits{userIdx},dataBits);
    disp(number(userIdx))
    disp(ratio(userIdx))
end
        4269
    0.5082
        2444
    0.0968

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

свернуть все

Демодулируемые VHT-LTF сигнализируют в виде NST-by-NSYM-by-NR о массиве. NST является количеством занятых поднесущих, NSYM является количеством символов VHT-LTF OFDM, и NR является количеством, получают антенны.

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

Настройка формата в виде a wlanVHTConfig объект.

Пропускная способность канала в виде 'CBW20', 'CBW40', 'CBW80', или 'CBW160'. Если передача имеет многого пользователя, та же пропускная способность канала применяется ко всем пользователям.

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

Количество пространственно-временных потоков в передаче в виде скаляра или вектора.

  • Для отдельного пользователя количество пространственно-временных потоков является скалярным целым числом от 1 до 8.

  • Для многого пользователя количество пространственно-временных потоков является 1 NUsers вектором из целых чисел от 1 до 4, где длина вектора, NUsers, является целым числом от 1 до 4.

Пример: [1 3 2] указывает, что один пространственно-временной поток присвоен пользователю 1, три пространственно-временных потока присвоены пользователю 2, и два пространственно-временных потока присвоены пользователю 3.

Примечание

Сумма пространственно-временных потоковых элементов вектора не должна превышать восемь.

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

Отфильтруйте промежуток фильтра сглаживания частоты в виде нечетного целого числа. Промежуток описывается как много поднесущих.

Примечание

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

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

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

свернуть все

Оценка канала между всеми комбинациями пространственно-временных потоков и получает антенны, возвращенные как NST-by-NSTS,total-by-NR массив. NST является количеством занятых поднесущих. NSTS,total является общим количеством пространственно-временных потоков для всех пользователей. Для однопользовательского случая, NSTS,total = NSTS. NR является количеством, получают антенны. Оценка канала включает коэффициенты и для данных и для экспериментальных поднесущих.

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

Больше о

свернуть все

VHT-LTF

Очень высокая пропускная способность длинное учебное поле (VHT-LTF) расположена между VHT-STF и фрагментом VHT-SIG-B пакета VHT.

Это используется для оценки канала MIMO и экспериментального отслеживания поднесущей. VHT-LTF включает один VHT длинный учебный символ для каждого пространственного потока, обозначенного выбранным MCS. Каждый символ является 4 μs долго. Максимум восьми символов разрешен в VHT-LTF.

Для подробного описания VHT-LTF смотрите раздел 21.3.8.3.5 из IEEE® Std 802.11™-2016.

Ссылки

[1] Станд. IEEE 802.11ac™-2013 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования — Поправка 4: Улучшения для Очень Высокой Пропускной способности для Операции в Полосах ниже 6 ГГц.

[2] Станд. IEEE 802.11™-2012 Стандарт IEEE для Информационных технологий — Телекоммуникаций и обмена информацией между системами — Локальными сетями и городскими компьютерными сетями — Конкретными требованиями — Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования.

[3] Perahia, E. и Р. Стейси. Беспроводная LAN следующего поколения: 802.11n и 802.11ac. 2-й выпуск, Соединенное Королевство: Издательство Кембриджского университета, 2013.

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

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

Введенный в R2015b

[1]  Станд. IEEE 802.11ac™-2013 Адаптированный и переизданный с разрешением от IEEE. Авторское право IEEE 2013. Все права защищены.