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

Объект массива.

X

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

ANG

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

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

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

FREQ

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

По умолчанию: 3e8

C

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

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

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

Y

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

Примеры

расширить все

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

Создайте ULA с 16 элементами и разделите его на ULA с 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]);

Симулируйте принятые сигналы от 10 ° и 30 ° азимута. Оба сигнала имеют угол возвышения 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 модулирует входной сигнал с фазой, соответствующей задержке, вызванной направлением прихода. Этот метод не учитывает реакцию отдельных элементов массива и только моделирует коэффициент массива среди подрешеток. Поэтому результат не зависит от того, управляется ли подрешетка.

См. также

|