exponenta event banner

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

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

ANG

Направления, из которых поступают поступающие сигналы, в градусах. ANG может быть либо 2-by-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.

Создайте 16-элементную ULA и разделите ее на 4-элементные ULA.

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

См. также

|