exponenta event banner

wlanTGacChannel

Фильтрация сигнала по многолучевому каналу с замиранием 802.11ac

Описание

wlanTGacChannel Система object™ фильтрует входной сигнал через 802.11ac™ (TGac) многолучевой канал замирания.

Обработка замирания предполагает одни и те же параметры для всех линий связи NT-на-NR канала TGac, где NT - количество передающих антенн, а NR - количество приемных антенн. Каждый канал содержит все многолучевые каналы для этого канала.

Для фильтрации входного сигнала с использованием многолучевого канала замирания TGac:

  1. Создать wlanTGacChannel и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

пример

tgac = wlanTGacChannel создает объект системы с замиранием канала TGac, tgac. Этот объект фильтрует реальный или комплексный входной сигнал через канал TGac для получения сигнала с нарушением канала.

tgac = wlanTGacChannel(Name,Value) создает объект канала TGac, tgacи устанавливает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в кавычки. Например, wlanTGacChannel('NumReceiveAntennas',2,'SampleRate',10e6) создает канал TGac с двумя приемными антеннами и 10-MHz частотой дискретизации.

Свойства

развернуть все

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

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Частота дискретизации входного сигнала в Гц, заданная как положительный скаляр.

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

Модель профиля задержки, указанная как 'Model-A', 'Model-B', 'Model-C', 'Model-D', 'Model-E', или 'Model-F'. Для включения FluorescentEffect свойство, выберите либо 'Model-D' или 'Model-E'.

Таблица суммирует свойства моделей до коэффициента уменьшения полосы пропускания.

ПараметрМодель
ABCDEF
Расстояние точки останова (м)555102030
Среднеквадратичный разброс задержки (ns)0153050100150
Максимальная задержка (нс)0802003907301050
Ricic K-фактор (дБ)000366
Количество отводов1914181818
Количество кластеров122346

Число кластеров представляет количество независимо моделируемых путей распространения.

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

Полоса пропускания канала, указанная как 'CBW20', 'CBW40', 'CBW80', или 'CBW160'. Значение по умолчанию: 'CBW80', что соответствует полосе пропускания канала 80 МГц.

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

Частота несущей РЧ в Гц, заданная как положительный скаляр.

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

Скорость рассеивателей в км/ч, заданная как положительный скаляр.

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

Расстояние между передатчиком и приемником в метрах, указанное как положительный скаляр.

TransmitReceiveDistance используется для вычисления потерь в тракте и определения наличия в канале состояния прямой видимости (LOS) или отсутствия прямой видимости (NLOS). Потери на тракте и стандартное отклонение потерь теневого замирания зависят от разделения между передатчиком и приемником.

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

Нормализовать усиление пути, указанное как числовое или логическое 1 (true) или 0 (false). Для нормализации процессов замирания таким образом, чтобы общая мощность усиления тракта, усредненная во времени, равнялась 0 дБ, установите это свойство в значение 1 (true). В противном случае задайте для этого свойства значение 0 (false).

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

Индекс пользователя, указанный как неотрицательное целое число. Это свойство определяет отдельного пользователя или конкретного пользователя в многопользовательском сценарии.

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

Направление передачи активного канала, указанное как 'Downlink' или 'Uplink'.

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

Число передающих антенн, указанное как положительное целое число.

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

Расстояние между элементами передающей антенны, определяемое как положительный скаляр, выраженный в длинах волн.

TransmitAntennaSpacing поддерживает только однородные линейные массивы.

Зависимости

Чтобы включить это свойство, установите значение NumTransmitAntennas свойство имеет значение, большее, чем 1.

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

Количество приемных антенн, указанное как положительное целое число.

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

Расстояние между элементами приемной антенны, определяемое как положительный скаляр, выраженный в длинах волн.

ReceiveAntennaSpacing поддерживает только однородные линейные массивы.

Зависимости

Чтобы включить это свойство, установите значение NumReceiveAntennas свойство имеет значение, большее, чем 1.

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

Масштабные эффекты замирания, применяемые в канале, указанные как 'None', 'Pathloss', 'Shadowing', или 'Pathloss and shadowing'.

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

Флуоресцентный эффект, указанный как числовой или логический 1 (true) или 0 (false). Чтобы включить доплеровские эффекты от флуоресцентного освещения, установите для этого свойства значение 1 (true).

Зависимости

Чтобы включить это свойство, установите значение DelayProfile свойство для 'Model-D' или 'Model-E'.

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

Частота ЛЭП в Гц, указанная как '50Hz' или '60Hz'.

Частота линии электропередачи составляет 60 Гц в США и 50 Гц в Европе.

Зависимости

Чтобы включить это свойство, установите значение FluorescentEffect свойство для 1 (true) и DelayProfile свойство для 'Model-D' или 'Model-E'.

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

Нормализация выходных сигналов канала по количеству приемных антенн, указанных как числовые или логические 1 (true) или 0 (false).

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

Включить фильтрацию каналов, заданную как числовая или логическая 1 (true) или 0 (false). Чтобы включить фильтрацию каналов, установите для этого свойства значение 1 (true). Чтобы отключить фильтрацию каналов, установите для этого свойства значение 0 (false).

Примечание

Если для этого свойства задано значение 0 (false), step функция объекта не принимает входной сигнал. В этом случае NumSamples и SampleRate свойства определяют длительность реализации процесса замирания.

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

Число отсчетов временной области, используемых для получения отсчетов усиления тракта, указанных как положительное целое число.

Зависимости

Чтобы включить это свойство, установите значение ChannelFiltering свойство для 0 (false).

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

Тип данных нарушенного сигнала, указанный как одно из следующих значений:

  • 'double' - Возврат pathGains вывод в виде матрицы двойной точности

  • 'single' - Возврат pathGains вывод в виде матрицы с одной точностью

Зависимости

Чтобы включить это свойство, установите значение ChannelFiltering свойство для 0 (false).

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

Источник потока случайных чисел, указанный как 'Global stream' или 'mt19937ar with seed'.

Если для этого свойства задано значение 'Global stream'текущий глобальный поток случайных чисел генерирует нормально распределенные случайные числа. В этом случае reset функция сбрасывает фильтры и создает новую реализацию канала.

Если для этого свойства задано значение 'mt19937ar with seed'алгоритм mt19937ar генерирует нормально распределенные случайные числа. В этом случае reset функция также повторно инициализирует поток случайных чисел до значения Seed собственность.

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

Начальное начальное число потока случайных чисел mt19937ar, указанное как неотрицательное целое число. Seed свойство повторно инициализирует поток случайных чисел mt19937ar в reset функция.

Зависимости

Чтобы включить это свойство, установите значение RandomStream свойство для 'mt19937ar with seed'.

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

Включить вычисление выходного коэффициента усиления тракта, заданного как числовой или логический 1 (true) или 0 (false).

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

Использование

Описание

пример

y = tgac(x) входной сигнал фильтров x через канал замирания TGac, определенный wlanTGacChannel Системный объект, tgacи возвращает результат в y.

[y,pathGains] = tgac(x) также возвращает в pathGains усиление тракта канала TGac основного процесса замирания.

Этот синтаксис применяется при установке PathGainsOutputPort свойство для 1 (true).

pathGains = tgac(x) возвращает выигрыш пути. NumSamples определяет длительность процесса замирания.

Этот синтаксис применяется при установке ChannelFiltering свойство для 0 (false).

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

развернуть все

Входной сигнал, определяемый как действительная или комплексная матрица NS-by-NT, где:

  • NS - количество выборок.

  • NT - количество передающих антенн, которое должно быть равно NumTransmitAntennas значение свойства.

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

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

развернуть все

Выходной сигнал, возвращаемый в виде комплексной матрицы NS-by-NR, где:

  • NS - количество выборок.

  • NR - количество приемных антенн, равное NumReceiveAntennas значение свойства.

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

Усиление пути процесса замирания, возвращаемое в виде комплексного массива NS-by-NP-by-NT-by-NR, где:

  • NS - количество выборок.

  • NP - количество разрешаемых трактов, то есть количество трактов, определенных для случая, указанного параметром DelayProfile собственность.

  • NT - количество передающих антенн, равное NumTransmitAntennas значение свойства.

  • NR - количество приемных антенн, равное NumReceiveAntennas значение свойства.

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

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

infoХарактеристическая информация о каналах многолучевого замирания TGn, TGah, TGac и TGax
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примечание

reset: Если RandomStream свойство объекта System имеет значение 'Global stream', reset сбрасывает только фильтры. Если установить RandomStream кому 'mt19937ar with seed', reset функция также повторно инициализирует поток случайных чисел до значения Seed собственность.

Примеры

свернуть все

Создайте сигнал VHT и передайте его через канал SISO TGac. Отображение спектра результирующего сигнала.

Установите полосу пропускания канала и соответствующую частоту дискретизации.

bw = 'CBW80';
fs = 80e6;

Формирование сигнала VHT.

cfg = wlanVHTConfig;
txSig = wlanWaveformGenerator(randi([0 1],1000,1),cfg);

Создайте канал SISO TGac с включенными потерями тракта и тенью.

tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',bw, ...
    'LargeScaleFadingEffect','Pathloss and shadowing');

Передача сигнала VHT через канал.

rxSig = tgacChan(txSig);

Постройте график спектра принятого сигнала.

saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'YLimits',[-120 -40]);
saScope(rxSig)

Так как включены потери в тракте и затенение, средняя принимаемая мощность по спектру составляет приблизительно -60 дБм.

Создание сигнала VHT, имеющего четыре передающие антенны и два пространственно-временных потока.

cfg = wlanVHTConfig('NumTransmitAntennas',4,'NumSpaceTimeStreams',2, ...
    'SpatialMapping','Fourier');
txSig = wlanWaveformGenerator([1;0;0;1],cfg);

Создайте канал 4x2 MIMO TGac и отключите масштабные эффекты замирания.

tgacChan = wlanTGacChannel('SampleRate',80e6,'ChannelBandwidth','CBW80', ...
    'NumTransmitAntennas',4,'NumReceiveAntennas',2, ...
    'LargeScaleFadingEffect','None');

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

rxSig = tgacChan(txSig);

Отображение спектра двух принятых пространственно-временных потоков.

saScope = dsp.SpectrumAnalyzer('SampleRate',80e6, ...
    'ShowLegend',true, ...
    'ChannelNames',{'Stream 1','Stream 2'});
saScope(rxSig)

Передача VHT-LTF и поля данных VHT по шумному каналу 2x2 MIMO. Демодулируют принятый VHT-LTF для оценки коэффициентов канала. Восстановите данные VHT и определите количество битовых ошибок.

Установите полосу пропускания канала и соответствующую частоту дискретизации.

bw = 'CBW160';
fs = 160e6;

Создание полей данных VHT-LTF и VHT, имеющих две передающие антенны и два пространственно-временных потока.

cfg = wlanVHTConfig('ChannelBandwidth',bw, ...
    'NumTransmitAntennas',2,'NumSpaceTimeStreams',2);
txPSDU = randi([0 1],8*cfg.PSDULength,1);
txLTF = wlanVHTLTF(cfg);
txDataSig = wlanVHTData(txPSDU,cfg);

Создайте канал 2x2 MIMO TGac.

tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',bw, ...
    'NumTransmitAntennas',2,'NumReceiveAntennas',2);

Создайте шум канала AWGN, установив SNR = 15 дБ.

chNoise = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)',...
    'SNR',15);

Пропускайте сигналы через канал TGac и модели шума.

rxLTF = chNoise(tgacChan(txLTF));
rxDataSig = chNoise(tgacChan(txDataSig));

Создайте канал AWGN для канала 160 МГц с показателем шума 9 дБ. Дисперсия шума, nVar, равно kTBF, где k - постоянная Больцмана, T - температура окружающей среды 290 K, B - полоса пропускания (частота дискретизации), F - показатель шума приемника.

nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);
rxNoise = comm.AWGNChannel('NoiseMethod','Variance','Variance',nVar);

Пропускайте сигналы через модель шума приемника.

rxLTF = rxNoise(rxLTF);
rxDataSig = rxNoise(rxDataSig);

Демодулируйте VHT-LTF. Используйте демодулированный сигнал для оценки коэффициентов канала.

dLTF = wlanVHTLTFDemodulate(rxLTF,cfg);
chEst = wlanVHTLTFChannelEstimate(dLTF,cfg);

Восстановите данные и определите количество битовых ошибок.

rxPSDU = wlanVHTDataRecover(rxDataSig,chEst,nVar,cfg);
numErr = biterr(txPSDU,rxPSDU)
numErr = 0

Алгоритмы

развернуть все

Алгоритмы, используемые для моделирования канала TGac, основаны на алгоритмах, используемых для канала TGn, и описаны в разделе wlanTGnChannel и [1]. Изменения для поддержки канала TGac включают в себя:

  • увеличение пропускной способности

  • MIMO более высокого порядка

  • многопользовательский MIMO

  • пониженный доплеровский

Полную информацию об изменениях, необходимых для поддержки каналов TGac, можно найти в [2].

Ссылки

[1] Erceg, V., L. Schumacher, P. Kyritsi, et al. Модели каналов TGn. Версия 4. IEEE 802.11-03/940r4, май 2004 года.

[2] Breit, G., Х. Сэмпэт, С. Вермани, и др. Дополнение к модели канала TGac. Версия 12. IEEE 802.11-09/0308r12, март 2010 г.

[3] Кермоаль, Дж. П., Л. Шумахер, К. И. Педерсен, П. Э. Могенсен и Ф. Фредериксен. «Стохастическая модель радиоканала MIMO с экспериментальной проверкой». Журнал IEEE по выбранным областям в коммуникациях. Том 20, № 6, август 2002, стр. 1211-1226.

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

.
Представлен в R2015b