wlanTGacChannel

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

Описание

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

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

Чтобы фильтровать входной сигнал с помощью многолучевого канала 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
Расширение задержки RMS (ns)0153050100150
Максимальная задержка (ns)0802003907301050
Коэффициент K Риса (дБ)000366
Количество ответвлений1914181818
Количество кластеров122346

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

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

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

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

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

Типы данных: 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, заданное как неотрицательное целое число. The 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) возвращает коэффициент усиления пути. The NumSamples свойство определяет длительность процесса затухания.

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

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

расширить все

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

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

  • N T является количеством передающих антенн и должно быть равно NumTransmitAntennas значение свойства.

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

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

расширить все

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

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

  • N R является количеством приемных антенн и равен NumReceiveAntennas значение свойства.

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

Усиления пути процесса затухания, возвращенные как N S-by N P-by N T-by N R комплексный массив, где:

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

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

  • N T является количеством передающих антенн и равен NumTransmitAntennas значение свойства.

  • N R является количеством приемных антенн и равен NumReceiveAntennas значение свойства.

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

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

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

release(obj)

расширить все

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

Примечание

reset: Если RandomStream свойство Системного объекта установлено в '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);

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

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 через шумный канал MIMO 2x2. Демодулируйте полученный 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, установив ОСШ = 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 К, 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., H. Sampath, S. Vermani, et al. Дополнение к модели канала TGac. Версия 12. IEEE 802.11-09/0308r12, март 2010.

[3] Кермоаль, Й. П., Л. Шумахер, К. И. Педерсен, П. Е. Могенсен, и Ф. Фредериксен. Stochastic MIMO Radio Channel Model with Experimental Validation (неопр.) (недоступная модель). Журнал IEEE по выбранным областям в коммуникациях. Том 20, № 6, август 2002, стр. 1211-1226.

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

.
Введенный в R2015b