scatteringchanmtx

Матрица канала рассеяния

Описание

пример

chmat = scatteringchanmtx(txarraypos,rxarraypos,numscat) возвращает матрицу канала, chmatдля канала MIMO, состоящего из передающего массива, приемника массива и нескольких рассеивателей. Передающий массив расположен в txarraypos и приемный массив в rxarraypos. numscat - количество точки рассеивателей.

Функция генерирует numscat случайные направления и numscat передачи случайные приемные направления. Матрица канала описывает многолучевое распространение через numscat пути. По предположению, все пути приходят к приёмному массиву одновременно, что подразумевает, что канал является плоским по частоте. Плоская частота означает, что спектр сигнала не изменяется. Усиления пути получают из нормального распределения с нулевым средним, отклонением в единицах, комплексным значением.

пример

chmat = scatteringchanmtx(txarraypos,rxarraypos,numscat,angrange) также задает угловую область значений, angrange, для углов передачи и приема.

пример

chmat = scatteringchanmtx(txarraypos,rxarraypos,txang,rxang,G) также задает углы передачи, txang, углы приема, rxang, и коэффициент усиления пути, G.

Примеры

свернуть все

Вычислите матрицу канала для передающего массива с 13 элементами и приемного массива с 15 элементами. Предположим, что существует 17 случайным образом расположенных рассеивателей. Массивы являются равномерными линейными массивами с интервалом в 0,45 волны. Приемный массив находится на расстоянии 300 длин волн от передающего массива. Используйте матрицу канала, чтобы вычислить распространенный сигнал от передающего массива к приёмному массиву.

Задайте массивы. Интервал между элементами указан в единицах длины волны.

numtx = 13;
sp = 0.45;
txpos = (0:numtx-1)*sp;
numrx = 15;
rxpos = 300 + (0:numrx-1)*sp;

Задайте количество рассеивателей и создайте матрицу канала.

numscat = 17;
chmat = scatteringchanmtx(txpos,rxpos,numscat);

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

x = randi(2,[100 numtx])-1;
y = x*chmat;

Вычислите матрицу канала для передающего массива URA 4 на 4 и принимающего массива URA 5 на 5. Предположим, что 17 рассеивателей случайным образом расположены в заданной угловой области значений. Интервал между элементами для обоих массивов равен половине длины волны. Приёмный массив находится на расстоянии 500 длин волн от передающего массива вдоль оси X. Используйте матрицу канала, чтобы вычислить распространенный сигнал от передающего массива к приёмному массиву. Ограничьте угловой диапазон для направления передачи и приема.

Задайте передающий массив 4 на 4. Интервал между элементами указан в единицах длины волны.

Nt = 4;
sp = 0.5;
ygridtx = (0:Nt-1)*sp - (Nt-1)/2*sp;
zgridtx = (0:Nt-1)*sp - (Nt-1)/2*sp;
[ytx,ztx] = meshgrid(ygridtx,zgridtx);
txpos = [zeros(1,Nt*Nt);ytx(:).';ztx(:).'];

Задайте принимающий массив 5 на 5. Интервал между элементами указан в единицах длины волны.

Nr = 5;
sp = 0.5;
ygridrx = (0:Nr-1)*sp - (Nr-1)/2*sp;
zgridrx = (0:Nr-1)*sp - (Nr-1)/2*sp;
[yrx,zrx] = meshgrid(ygridrx,zgridrx);
rxpos = [500*ones(1,Nr*Nr);yrx(:).';zrx(:).'];

Установите угловые пределы для передачи и приема.

  • Пределы угла азимута для передатчика составляют − 45 ° до + 45 °.

  • Пределы угла азимута для приемника составляют − 75 ° до + 50 °.

  • Пределы угла возвышения для датчика составляют − 12 ° до + 12 °.

  • Пределы угла возвышения для приемника составляют − 30 ° до + 30 °.

angrange = [-45 45 -75 50; -12 12 -30 30];

Задайте количество рассеивателей и создайте матрицу канала.

numscat = 6;
chmat = scatteringchanmtx(txpos,rxpos,numscat,angrange);

Создайте 100-выборочный сигнал, состоящий из нулей и таковых. Затем передайте сигнал от передающего массива к приёмному массиву.

x = randi(2,[100 Nt*Nt])-1;
y = x*chmat;

Вычислите матрицу канала для передающего массива URA 4 на 4 и принимающего массива URA 5 на 5. Предположим, что существует 3 рассеивателя с известными направлениями. Интервалы между элементами для обоих массивов равны половине длины волны. Приёмный массив находится на расстоянии 500 длин волн от передающего массива вдоль оси X. Используйте матрицу канала, чтобы вычислить распространенный сигнал от передающего массива к приёмному массиву. Задайте направление передачи и приема. Количество направлений определяет количество рассеивателей.

Задайте передающий массив 4 на 4. Интервал между элементами указан в единицах длины волны.

Nt = 4;
sp = 0.5;
ygridtx = (0:Nt-1)*sp - (Nt-1)/2*sp;
zgridtx = (0:Nt-1)*sp - (Nt-1)/2*sp;
[ytx,ztx] = meshgrid(ygridtx,zgridtx);
txpos = [zeros(1,Nt*Nt);ytx(:).';ztx(:).'];

Задайте принимающий массив 5 на 5. Интервал между элементами указан в единицах длины волны.

Nr = 5;
sp = 0.5;
ygridrx = (0:Nr-1)*sp - (Nr-1)/2*sp;
zgridrx = (0:Nr-1)*sp - (Nr-1)/2*sp;
[yrx,zrx] = meshgrid(ygridrx,zgridrx);
rxpos = [500*ones(1,Nr*Nr);yrx(:).';zrx(:).'];

Задайте углы передачи и приема и усиления. Затем создайте матрицу канала.

txang = [20 -10 40; 0 12 -12];
rxang = [70 -5.5 27.2; 4 1 -10];
gains = [1 1+1i 2-3*1i];
chmat = scatteringchanmtx(txpos,rxpos,txang,rxang,gains);

Создайте 100-выборочный сигнал, состоящий из нулей и таковых. Затем передайте сигнал от передающего массива к приёмному массиву.

x = randi(2,[100 Nt*Nt])-1;
y = x*chmat;

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

свернуть все

Положения элемента передающей решётки, заданные как действительный вектор 1 байт Nt строка, 2 байта N t матрица или 3 байта N t матрица. N t - количество элементов в передающем массиве.

txarraypos Размерности передающего массива
Вектор-строка 1-by- N tВсе элементы передающей решётки расположены вдоль оси y. Вектор задает y -кординаты элементов массива.
2-by- N t-матрицаВсе элементы передающей решётки находятся в yz -плане. Каждый столбец матрицы задает y и z координаты элемента массива.
3-by- N t-матрицаЭлементы массива имеют произвольные координаты 3-D. Каждый столбец матрицы задает x, y и z координаты элемента массива.

Модули указаны в длинах волн.

Пример: [-2.0,-1.0,0.0,1.0,2.0]

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

Положения элемента массива приема, заданные как действительный вектор-строка 1 by- N r, матрица 2 на vmatrix или 3 на by- N r. N t - количество элементов в передающем массиве.

rxarraypos Размерности приёмного массива
1-by- N r вектор-строкаВсе элементы приёмной решётки расположены вдоль оси y. Вектор задает y -кординаты элементов массива.
2-by- N r матрицаВсе элементы приемного массива находятся в yz -плане. Каждый столбец матрицы задает y и z координаты элемента массива.
3-by- N r матрицаПриемные элементы массива имеют произвольные координаты 3-D. Каждый столбец матрицы задает x, y и z координаты элемента массива.

Модули указаны в длинах волн.

Пример: [-2.0,-1.0,0.0,1.0,2.0]

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

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

Пример: 7

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

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

Размер ангренжаУгловая область значений
действительный вектор-строка 1 на 2Задайте тот же самый диапазон углов азимута для передающих и приемных массивов с помощью минимального и максимального углов азимута, [az_min az_max]. Размах направления по повышению от -90 ° до + 90 °.
реальное значение 1 на 4 векторы-строкиЗадайте область значений направления угла азимута для передающих и приемных массивов при помощи [tx_az_min tx_az_max rx_az_min rx_az_max]. Первые два значения являются минимальными и максимальными направлениями передающего массива. Последние два значения являются минимальными и максимальными направлениями принимающего массива. Диапазон углов возвышения от -90 ° до + 90 °.
вещественная матрица 2 на 2Задайте те же азимут и угол возвышения направления для передающих и приемных массивов с помощью минимального и максимального азимута и углов возвышения, [az_min az_max; el_min el_max].
вещественная матрица 2 на 4Задайте отдельные диапазоны направления азимута и угла возвышения при помощи [tx_az_min tx_az_max rx_az_min rx_az_max; tx_el_min tx_el_max rx_el_min rx_el_max]. Первый и второй столбцы образуют диапазон направления передающего массива. Последние два столбца образуют диапазон направления принимающего массива.

Модули указаны в степенях.

Пример: [-45 45 -30 30; -10 20 -5 30]

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

Углы пути передачи, заданные как действительный вектор-строка 1 by- N s или матрица 2 by- N s. N s - количество рассеивателей, заданное numscat.

  • Когда txang является вектором, каждый элемент задает угол азимута пути. Угол возвышения пути равен нулю степеней.

  • Когда txang является матрицей, каждый столбец задает азимут и углы возвышения пути в форме [az;el].

Пример: [4 -2; 0 35]

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

Приемные углы пути, заданные как действительный вектор-строка 1 by- N s или матрица-2 by- N s. N s - количество рассеивателей, заданное numscat.

  • Когда rxang является вектором, каждый элемент задает угол азимута пути. Угол возвышения пути равен нулю степеней.

  • Когда rxang является матрицей, каждый столбец задает азимут и углы возвышения пути в форме [az;el].

Пример: [4 -2; 0 35]

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

Коэффициент усиления пути, заданный как 1-байт- Ns комплексный вектор-строка. Ns - количество рассеивателей, заданное numscat. Усиления применяются к соответствующим путям. Модули безразмерны.

Пример: exp(1i*pi/3)

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

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

свернуть все

Матрица канала MIMO, возвращенная как N t-by- N r комплексно-значимая матрица. N t - количество элементов в передающем массиве. N r - количество элементов в принимающем массиве.

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

Ссылки

[1] Heath, R. Jr. et al. «Обзор методов обработки сигналов для MIMO-систем волны миллиметра», arXiv.org:1512.03007 [c.IT], 2015.

[2] Tse, D. and P. Viswanath, Fundamentals of Wireless Communications, Cambridge: Cambridge University Press, 2005.

[3] Paulraj, A. Введение в Space-Time Wireless Communications, Cambridge: Cambridge University Press, 2003.

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

.

См. также

Функции

Объекты

Введенный в R2017a