Канал Diagonalize MIMO
[wp,wc]
= diagbfweights(chanmat)
[wp,wc,P]
= diagbfweights(chanmat)
[wp,wc,P,G]
= diagbfweights(chanmat)
[wp,wc,P,G,C]
= diagbfweights(chanmat)
[___] = diagbfweights(chanmat,Pt)
[___] = diagbfweights(chanmat,Pt Pn)
[___] = diagbfweights(chanmat,Pt Pn,powdistoption)
[___] = diagbfweights(
также задает шумовое распределение, chanmat
,Pt
Pn
,powdistoption
)powdistoption
, через все антенны передачи.
Вычислите матрицу канала для передачи 4 на 4 массив URA и получения 5 на 5 массив URA. Примите, что три рассеивателя случайным образом расположены расположенные в заданной угловой области значений. Интервалы элемента для обоих массивов являются половиной длины волны. Получить массив является 500 длинами волн далеко от массива передачи вдоль оси X. Ограничьте угловой промежуток для передачи и получения массивов. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов.
Задайте массив передачи 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 = 3; chmat = scatteringchanmtx(txpos,rxpos,numscat,angrange);
Diagonalize матрица канала.
[wp,wc] = diagbfweights(chmat); z = wp*chmat*wc;
Покажите первые четыре диагональных элемента.
z(1:4,1:4)
ans = 4×4 complex
23.3713 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 - 0.0000i
0.0000 + 0.0000i 10.7803 + 0.0000i -0.0000 - 0.0000i -0.0000 - 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 1.0566 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i -0.0000 - 0.0000i -0.0000 + 0.0000i 0.0000 + 0.0000i
Вычислите матрицу канала для передачи 4 на 4 массив URA и получения 5 на 5 массив URA. Примите, что три рассеивателя случайным образом расположены в заданной угловой области значений. Интервалы элемента для обоих массивов являются половиной длины волны. Получить массив является 500 длинами волн далеко вдоль оси X. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов и распределенной степени.
Задайте массив передачи 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 = 3; chmat = scatteringchanmtx(txpos,rxpos,numscat,angrange);
Diagonalize матрица канала и возвращают распределенную степень.
[wp,wc,P] = diagbfweights(chmat); disp(P.')
0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625 0.0625
Вычислите матрицу канала для передачи с 11 элементами массив ULA и получения с 7 элементами массив ULA. Примите, что существует пять случайным образом расположенных рассеивателей. Интервалы элемента для обоих массивов являются половиной длины волны. Получить массив является 500 длинами волн далеко от массива передачи вдоль оси X. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов, распределенной степени и усилений подканала.
Задайте передачу с 11 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nt = 11; sp = 0.5; txpos = (0:Nt-1)*sp - (Nt-1)/2*sp;
Задайте получение с 7 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nr = 7; sp = 0.5; rxpos = (0:Nr-1)*sp - (Nr-1)/2*sp; numscat = 5; chmat = scatteringchanmtx(txpos,rxpos,numscat);
Diagonalize матрица канала и возвращают усиления подканала.
[wp,wc,P,G] = diagbfweights(chmat); disp(G.')
221.8345 56.8443 47.6711 0.8143 0.0000 0.0000 0.0000
Вычислите матрицу канала для передачи с 11 элементами массив ULA и получения с 7 элементами массив ULA. Примите, что существует пять случайным образом расположенных рассеивателей. Интервалы элемента для обоих массивов являются половиной длины волны. Получить массив является 500 длинами волн далеко от массива передачи вдоль оси X. Создайте матрицу канала с двумя поднесущими. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов, распределенной степени, усилений подканала и полной суммы канала.
Задайте передачу с 11 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nt = 11; sp = 0.5; txpos = (0:Nt-1)*sp - (Nt-1)/2*sp;
Задайте получение с 7 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nr = 7; sp = 0.5; rxpos = (0:Nr-1)*sp - (Nr-1)/2*sp; numscat = 5;
Создайте две поднесущие.
chmat1 = scatteringchanmtx(txpos,rxpos,numscat); chmat2 = scatteringchanmtx(txpos,rxpos,numscat); chmat(1,:,:) = chmat1; chmat(2,:,:) = chmat2;
Diagonalize матрица канала и возвращают усиления подканала.
[wp,wc,P,G,C] = diagbfweights(chmat); disp(C.')
9.5466 9.3605
Вычислите матрицу канала для передачи с 11 элементами массив ULA и получения с 7 элементами массив ULA. Задайте общую переданную степень в 1 000. Примите, что существует пять случайным образом расположенных рассеивателей. Интервалы элемента для обоих массивов являются половиной длины волны. Получить массив является 500 длинами волн далеко от массива передачи вдоль оси X. Создайте матрицу канала с двумя поднесущими. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов, распределенной степени, усилений подканала и полной суммы канала.
Задайте передачу с 11 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nt = 11; sp = 0.5; txpos = (0:Nt-1)*sp - (Nt-1)/2*sp;
Задайте получение с 7 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nr = 7; sp = 0.5; rxpos = (0:Nr-1)*sp - (Nr-1)/2*sp; numscat = 5;
Создайте две поднесущие.
chmat1 = scatteringchanmtx(txpos,rxpos,numscat); chmat2 = scatteringchanmtx(txpos,rxpos,numscat); chmat(1,:,:) = chmat1; chmat(2,:,:) = chmat2;
Diagonalize матрица канала и возвращают распределенную степень для обеих поднесущих.
Pt = 1000.0; [wp,wc,P,G,C] = diagbfweights(chmat,Pt); disp(P.')
90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091 90.9091
Вычислите матрицу канала для передачи с 11 элементами массив ULA и получения с 7 элементами массив ULA. Задайте общую переданную степень в 1 000 и степень шума антенны передачи в 100. Примите, что существует пять случайным образом расположенных рассеивателей. Интервалы элемента для обоих массивов являются половиной длины волны. Получить массив является 500 длинами волн далеко от массива передачи вдоль оси X. Создайте матрицу канала с двумя поднесущими. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов, распределенной степени, усилений подканала и полной суммы канала.
Задайте передачу с 11 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nt = 11; sp = 0.5; txpos = (0:Nt-1)*sp - (Nt-1)/2*sp;
Задайте получение с 7 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nr = 7; sp = 0.5; rxpos = (0:Nr-1)*sp - (Nr-1)/2*sp; numscat = 5;
Создайте две поднесущие.
chmat1 = scatteringchanmtx(txpos,rxpos,numscat); chmat2 = scatteringchanmtx(txpos,rxpos,numscat); chmat(1,:,:) = chmat1; chmat(2,:,:) = chmat2;
Diagonalize матрица канала и возвращают усиление для обеих поднесущих.
Pt = 1000.0; Pn = 100.0; [wp,wc,P,G,C] = diagbfweights(chmat,Pt,Pn); disp(G.')
221.8345 119.7549 56.8443 115.9814 47.6711 24.9780 0.8143 5.1025 0.0000 0.0059 0.0000 0.0000 0.0000 0.0000
Вычислите матрицу канала для передачи с 11 элементами массив ULA и получения с 7 элементами массив ULA. Задайте общую переданную степень в 1 000 и степень шума антенны передачи в 100. Задайте переданное распределение электроэнергии как 'Waterfill'
. Примите, что существует пять случайным образом расположенных рассеивателей. Интервал элемента для обоих массивов является половиной длины волны. Получить массив является 500 длинами волн далеко от массива передачи вдоль оси X. Создайте матрицу канала с двумя поднесущими. Diagonalize матрица канала, чтобы вычислить предварительное кодирование и объединение весов, распределенной степени, усилений подканала и полной суммы канала.
Задайте передачу с 11 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nt = 11; sp = 0.5; txpos = (0:Nt-1)*sp - (Nt-1)/2*sp;
Задайте получение с 7 элементами массив ULA. Интервал элемента находится в модулях длины волны.
Nr = 7; sp = 0.5; rxpos = (0:Nr-1)*sp - (Nr-1)/2*sp; numscat = 5;
Создайте две поднесущие.
chmat1 = scatteringchanmtx(txpos,rxpos,numscat); chmat2 = scatteringchanmtx(txpos,rxpos,numscat); chmat(1,:,:) = chmat1; chmat(2,:,:) = chmat2;
Diagonalize матрица канала и возвращают усиление для обеих поднесущих.
Pt = 1000.0;
Pn = 100.0;
[wp,wc,P,G,C] = diagbfweights(chmat,Pt,Pn,'Waterfill');
disp(G.')
221.8345 119.7549 56.8443 115.9814 47.6711 24.9780 0.8143 5.1025 0.0000 0.0059 0.0000 0.0000 0.0000 0.0000
chanmat
— Матрица ответа каналаМатрица ответа канала, заданная как Nt-by-Nr матрица с комплексным знаком или L-by-Nt-by-Nr массив MATLAB с комплексным знаком.
Nt является числом элементов в массиве передачи.
Nr является числом элементов в массиве получения.
L является количеством поднесущих.
Когда chanmat
является массивом MATLAB, содержащим поднесущие, каждая поднесущая анализируется независимо в подканалы.
Типы данных: double
Поддержка комплексного числа: Да
Pt
— Общая степень передачи1
(значение по умолчанию) | положительная скалярная величина | L - вектор элемента положительных значенийОбщая степень передачи, заданная как положительная скалярная величина или L - вектор элемента положительных значений. Pt
имеет те же модули как общая распределенная степень, P
.
Типы данных: double
Pn
Шумовая степень1
(значение по умолчанию) | положительная скалярная величинаШумовая степень в каждой антенне получения, заданной как положительная скалярная величина. Pn
имеет те же модули как общая степень передачи, Pt
.
Типы данных: double
powdistoption
— Опция распределения электроэнергии'Uniform'
(значение по умолчанию) | 'Waterfill'
Опция распределения электроэнергии, заданная как 'Uniform'
или 'Waterfill'
. Когда powdistoption
является 'Uniform'
, степень передачи равномерно распределяется через все каналы Nt. Если powdistoption
является 'Waterfill'
, степень передачи распределяется на каналах Nt с помощью waterfill алгоритма.
Типы данных: char
\wp
Предварительное кодирование весовПредварительное кодирование весов, возвращенных как Nt-by-Nt матрица с комплексным знаком или L-by-Nt-by-Nt массив MATLAB с комплексным знаком. Модули являются безразмерными.
Типы данных: double
Поддержка комплексного числа: Да
wc
— Объединение весовОбъединение весов, возвращенных как Nr-by-Nr матрица с комплексным знаком или L-by-Nr-by-Nr массив MATLAB с комплексным знаком. Модули являются безразмерными.
Типы данных: double
Поддержка комплексного числа: Да
P
Распределенная степеньРаспределенная степень, возвращенная как вектор или матрица.
Когда chanmat
является Nt-by-Nr матрица с действительным знаком, P
является 1 Nt вектором - строкой с действительным знаком.
Когда chanmat
является L-by-Nt-by-Nr массив MATLAB с действительным знаком, P
является L-by-Nt матрица с действительным знаком.
Блоки питания линейны.
Типы данных: double
G
Усиления подканалаУсиления подканала, возвращенные как вектор или матрица.
Когда chanmat
является Nt-by-Nr матрица с комплексным знаком, G
является 1 Ng вектором - строкой с комплексным знаком.
Когда chanmat
является L-by-Nt-by-Nr массив MATLAB с комплексным знаком, G
является L-by-Ng матрица с комплексным знаком.
Ng является меньшим из Nt и Nr.
Модули усиления линейны.
Типы данных: double
Поддержка комплексного числа: Да
C
Способность канала суммирует для каждой поднесущейСпособность канала суммирует для каждой поднесущей, возвращенной как скаляр или вектор.
Когда chanmat
является Nt-by-Nr матрица с комплексным знаком, C
является скаляром.
Когда chanmat
является L-by-Nt-by-Nr массив MATLAB с комплексным знаком, C
является L-by-1 вектор.
Полные единицы находятся в бит/с/Гц.
Типы данных: double
Поддержка комплексного числа: Да
[1] Пустошь, R. Младший и др. “Обзор Методов Обработки сигналов для Волны Миллиметра Системы MIMO”, arXiv.org:1512.03007 [cs.IT], 2015.
[2] Се, D. и П. Висванэт, основные принципы радиосвязей, Кембриджа: Издательство Кембриджского университета, 2005.
[3] Paulraj, A. Введение в пространственно-временные радиосвязи, Кембридж: Издательство Кембриджского университета, 2003.
Указания и ограничения по применению:
Не поддерживает входные параметры переменного размера.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.