wlanTGnChannel

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

Описание

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

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

Чтобы фильтровать входной сигнал с помощью многолучевого канала TGn с замираниями:

  1. Создайте wlanTGnChannel Объекту и установите его свойства.

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

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

Создание

Описание

пример

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

tgn = wlanTGnChannel(Name,Value) создает объект канала TGn, tgnи устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, wlanTGnChannel('NumReceiveAntennas',2,'SampleRate',10e6) создает канал TGn с двумя приемными антеннами и частотой дискретизации 10 МГц.

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

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

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

Модель профиля задержки, заданная как 'Model-A', 'Model-B', 'Model-C', 'Model-D', 'Model-E', или 'Model-F'.

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

ПараметрМодель
ABCDEF
Расстояние по оси Х (м)555102030
Расширение задержки RMS (ns)0153050100150
Максимальная задержка (ns)0802003907301050
Коэффициент K Риса (дБ)000366
Количество кластеров122346
Количество ответвлений1914181818

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

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

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

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

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

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

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

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

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

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

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

Типы данных: 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 свойство к 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 = tgn(x) фильтрует входной сигнал x через канал TGn с замираниями, заданный wlanTGnChannel Системный объект, tgn, и возвращает результат в y.

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

Этот синтаксис применяется при установке 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 свойство.

Примеры

свернуть все

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

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

bw = 'CBW40';
fs = 40e6;

Сгенерируйте сигнал HT для канала с частотой 40 МГц.

cfg = wlanHTConfig('ChannelBandwidth',bw);
txSig = wlanWaveformGenerator(randi([0 1],1000,1),cfg);

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

tgnChan = wlanTGnChannel('SampleRate',fs, ...
    'LargeScaleFadingEffect','Pathloss and shadowing');

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

rxSig = tgnChan(txSig);

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

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

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

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

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

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

tgnChan = wlanTGnChannel('SampleRate',20e6, ...
    'NumTransmitAntennas',4, ...
    'NumReceiveAntennas',2, ...
    'LargeScaleFadingEffect','None');

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

rxSig = tgnChan(txSig);

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

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

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

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

bw = 'CBW40';
fs = 40e6;

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

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

Создайте канал MIMO TGn 2x2 с включенными потерями пути и затенением.

tgnChan = wlanTGnChannel('SampleRate',fs, ...
    'NumTransmitAntennas',2,'NumReceiveAntennas',2, ...
    'LargeScaleFadingEffect','None');

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

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

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

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

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

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

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

rxLTF = awgnChan(rxLTF);
rxDataSig = awgnChan(rxDataSig);

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

dLTF = wlanHTLTFDemodulate(rxLTF,cfg);
chEst = wlanHTLTFChannelEstimate(dLTF,cfg);

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

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

Алгоритмы

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

Объект канала 802.11n использует отфильтрованную модель Гауссова шума, в которой пути задержки, степенях, угловое распределение, углы прихода и углы отхода определяются эмпирически. Конкретный подход к моделированию описан в [1].

Ссылки

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

[2] Kermoal, J. P., L. Schumacher, K. I. Pedersen, P. E. Mogensen, and F. Frederiksen, «A Stochastic MIMO Radio Channel Model with Experimental Validation». IEEE Journal on Selected Areas in Communications., Vol. 20, No. 6, August 2002, pp. 1211-1226.

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

.
Введенный в R2015b
Для просмотра документации необходимо авторизоваться на сайте