collectPlaneWave

Системный объект: поэтапный. PartitionedArray
Пакет: поэтапный

Симулируйте полученные плоские волны

Синтаксис

Y = collectPlaneWave(H,X,ANG)
Y = collectPlaneWave(H,X,ANG,FREQ)
Y = collectPlaneWave(H,X,ANG,FREQ,C)

Описание

Y = collectPlaneWave(H,X,ANG) возвращает полученные сигналы в сенсорной матрице, H, когда входные сигналы обозначаются X прибудьте в массив от направлений, заданных в ANG.

Y = collectPlaneWave(H,X,ANG,FREQ), кроме того, задает несущую частоту входящего сигнала в FREQ.

Y = collectPlaneWave(H,X,ANG,FREQ,C), кроме того, задает скорость распространения сигнала в C.

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

H

Объект Array.

X

Входящие сигналы, заданные как матрица M-столбца. Каждый столбец X представляет отдельный входящий сигнал.

ANG

Направления, от которых входящие сигналы прибывают в градусах. ANG могут быть или 2 M матрицей или вектор-строка из длины M.

Если ANG 2 M матрицей, каждый столбец задает направление прибытия соответствующего сигнала в X. Каждый столбец ANG находится в форме [azimuth; elevation]. Угол азимута должен быть между-180 ° и 180 °, включительно. Угол вертикального изменения должен быть между-90 ° и 90 °, включительно.

Если ANG вектор-строка из длины M, каждой записи в ANG задает угол азимута. В этом случае соответствующий угол вертикального изменения принят, чтобы быть 0 °.

FREQ

Несущая частота сигнала в герц. FREQ должен быть скаляр.

Значение по умолчанию: 3e8

C

Скорость распространения сигнала в метрах в секунду.

Значение по умолчанию: Скорость света

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

Y

Полученные сигналы. Y матрица N-столбца, где N является количеством подмассивов в массиве H. Каждый столбец Y полученный сигнал в соответствующем подмассиве, со всеми объединенными входящими сигналами.

Примеры

развернуть все

Симулируйте полученный сигнал в ULA с 16 элементами, разделенном в четыре ULAs с 4 элементами.

Создайте ULA с 16 элементами и разделите его в ULAs с 4 элементами.

ula = phased.ULA('NumElements',16);
array = phased.PartitionedArray('Array',ula,...
   'SubarraySelection',....
   [1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0;...
    0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0;...
    0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0;...
    0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1]);

Симулируйте полученные сигналы от азимута на 30 ° и на 10 °. Оба сигнала имеют угол вертикального изменения 0 °. Примите, что скорость распространения является скоростью света, и несущая частота сигнала составляет 100 МГц.

sig = collectPlaneWave(array,randn(4,2),[10 30],1.0e8,physconst('LightSpeed'))
sig = 4×4 complex

  -0.0710 - 0.4765i   0.6616 - 0.4676i   0.6616 + 0.4676i  -0.0710 + 0.4765i
   2.1529 - 1.6304i   1.0607 + 0.4802i   1.0607 - 0.4802i   2.1529 + 1.6304i
  -0.6074 + 2.0037i  -2.3274 + 1.1797i  -2.3274 - 1.1797i  -0.6074 - 2.0037i
   0.0547 - 0.7644i   0.9768 - 0.6037i   0.9768 + 0.6037i   0.0547 + 0.7644i

Алгоритмы

collectPlaneWave модулирует входной сигнал с фазой, соответствующей задержке, вызванной направлением прибытия. Этот метод не составляет ответ отдельных элементов в массиве и только моделирует фактор массивов среди подмассивов. Поэтому результат не зависит от того, управляется ли подмассив.

Смотрите также

|