exponenta event banner

wlanTGnChannel

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

Описание

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

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

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

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

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

Типы данных: 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, указанное как неотрицательное целое число. 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) возвращает выигрыш пути. 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 собственность.

Примеры

свернуть все

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

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

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 дБм.

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

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

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

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 через шумный канал 2x2 MIMO. Демодулируют принятый 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);

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

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

Создайте шум канала AWGN, установив SNR = 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 K, 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] Кермоаль, Дж. П., Л. Шумахер, К. И. Педерсен, П. Э. Могенсен и Ф. Фредериксен, «Стохастическая модель радиоканала MIMO с экспериментальной проверкой». IEEE Journal on Selected Areas in Communications., Vol. 20, No. 6, August 2002, pp. 1211-1226.

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

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