Диагонализация канала MIMO
[___] = diagbfweights( также определяет распределение шума, chanmat,Pt, Pn,powdistoption)powdistoption, по всем передающим антеннам.
Вычислите матрицу канала для массива URA передачи 4 на 4 и массива URA приема 5 на 5. Предположим, что три рассеивателя расположены случайным образом в пределах заданного углового диапазона. Расстояние между элементами для обеих матриц составляет половину длины волны. Приемная матрица находится на расстоянии 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 = 3; chmat = scatteringchanmtx(txpos,rxpos,numscat,angrange);
Выполните диагонализацию матрицы канала.
[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
Вычислите матрицу канала для массива URA передачи 4 на 4 и массива URA приема 5 на 5. Предположим, что три рассеивателя расположены случайным образом в пределах заданного углового диапазона. Расстояние между элементами для обеих матриц составляет половину длины волны. Приемная матрица находится на расстоянии 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 = 3; chmat = scatteringchanmtx(txpos,rxpos,numscat,angrange);
Диагонализация матрицы канала и возврат распределенной мощности.
[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. Диагонализация канальной матрицы для вычисления весов предварительного кодирования и комбинирования, распределенной мощности и коэффициентов усиления подканала.
Укажите 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);
Диагонализация матрицы канала и возврат коэффициентов усиления подканала.
[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. Создайте матрицу канала с двумя поднесущими. Диагонализуют канальную матрицу для вычисления весов предварительного кодирования и комбинирования, распределенной мощности, коэффициентов усиления подканала и суммы пропускной способности канала.
Укажите 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;
Диагонализация матрицы канала и возврат коэффициентов усиления подканала.
[wp,wc,P,G,C] = diagbfweights(chmat); disp(C.')
9.5466 9.3605
Вычисляют матрицу канала для 11-элементного передающего массива ULA и 7-элементного принимающего массива ULA. Укажите общую передаваемую мощность на уровне 1000. Предположим, что есть пять случайно расположенных рассеивателей. Расстояние между элементами для обеих матриц составляет половину длины волны. Приемная матрица находится на расстоянии 500 длин волн от передающей матрицы вдоль оси X. Создайте матрицу канала с двумя поднесущими. Диагонализуют канальную матрицу для вычисления весов предварительного кодирования и комбинирования, распределенной мощности, коэффициентов усиления подканала и суммы пропускной способности канала.
Укажите 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;
Диагонализуют матрицу канала и возвращают распределенную мощность для обеих поднесущих.
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. Задайте общую передаваемую мощность на этапе 1000 и мощность шума передающей антенны на этапе 100. Предположим, что есть пять случайно расположенных рассеивателей. Расстояние между элементами для обеих матриц составляет половину длины волны. Приемный массив находится на расстоянии 500 длин волн от передающего массива вдоль оси X. Создайте матрицу канала с двумя поднесущими. Диагонализация канальной матрицы для вычисления весов предварительного кодирования и комбинирования, распределенной мощности, коэффициентов усиления подканала и суммы пропускной способности канала.
Укажите 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;
Диагонализуют канальную матрицу и возвращают коэффициент усиления для обеих поднесущих.
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. Задайте общую передаваемую мощность на этапе 1000 и мощность шума передающей антенны на этапе 100. Укажите распределение передаваемой мощности как 'Waterfill'. Предположим, что есть пять случайно расположенных рассеивателей. Расстояние между элементами для обеих матриц составляет половину длины волны. Приемная матрица находится на расстоянии 500 длин волн от передающей матрицы вдоль оси X. Создайте матрицу канала с двумя поднесущими. Диагонализуют канальную матрицу для вычисления весов предварительного кодирования и комбинирования, распределенной мощности, коэффициентов усиления подканала и суммы пропускной способности канала.
Укажите 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;
Диагонализуют канальную матрицу и возвращают коэффициент усиления для обеих поднесущих.
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 - Матрица отклика каналаМатрица отклика канала, заданная как матрица N-за-Nr комплексных значений или матрица L-за-N-за-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 каналам с использованием алгоритма заполнения водой.
Типы данных: char
wp - Веса предварительного кодированияВеса предварительного кодирования, возвращаемые в виде матрицы с комплексными значениями Nt-by-Nt или матрицы MATLAB с комплексными значениями L-by-Nt-by-Nt. Единицы измерения безразмерны.
Типы данных: double
Поддержка комплексного номера: Да
wc - Объединение весовОбъединение весов, возвращаемых в виде матрицы N-за-Nr комплексных значений или матрицы L-за-Nr-за-Nr комплексных значений MATLAB. Единицы измерения безразмерны.
Типы данных: double
Поддержка комплексного номера: Да
P - Распределенное питаниеРаспределенная мощность, возвращаемая в виде вектора или матрицы.
Когда chanmat является вещественной матрицей Nt-by-Nr, P - 1-by-Nt действительный вектор строки.
Когда chanmat - массив MATLAB с действительным значением L-by-Nt-by-Nr, P является вещественной матрицей L-by-Nt.
Энергоблоки линейные.
Типы данных: double
G - Коэффициенты усиления подканаловКоэффициенты усиления подканала, возвращаемые в виде вектора или матрицы.
Когда chanmat является комплекснозначной матрицей Nt-by-Nr, G является 1-by-Ng вектором строк с комплексными значениями.
Когда chanmat представляет собой массив MATLAB с комплексным значением L-by-Nt-by-Nr, G является комплекснозначной матрицей L-by-Ng.
Ng является меньшим из Nt и Nr.
Единицы усиления являются линейными.
Типы данных: double
Поддержка комплексного номера: Да
C - сумма пропускной способности канала для каждой поднесущей;Сумма пропускной способности канала для каждой поднесущей, возвращаемая как скаляр или вектор.
Когда chanmat является комплекснозначной матрицей Nt-by-Nr, C является скаляром.
Когда chanmat представляет собой массив MATLAB с комплексным значением L-by-Nt-by-Nr, C является вектором L-by-1.
Пропускная способность - в бит/Гц.
Типы данных: double
Поддержка комплексного номера: Да
[1] Пустошь, R. Младший и др. «Обзор методов обработки сигналов для MIMO-систем миллиметровых волн», arXiv.org:1512.03007 [cs.IT], 2015.
[2] Tse, D. and P. Viswanath, Основы беспроводной связи, Кембридж: Cambridge University Press, 2005.
[3] Паулрадж, А. Введение в беспроводную космическую связь, Кембридж: Cambridge University Press, 2003.
Примечания и ограничения по использованию:
Не поддерживает входные данные переменного размера.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.