查看文档如下:
可以看出最多5个参数,分别是阵列对象,信号幅度,入射角度,信号频率,光速。
在下面的代码中,我们先创建一个3阵元的阵列,位置为:(-1,0,0),(0,0,0),(1,0,0)。然后创建入射信号,其方位角位180度,高度角为45度。
clear
close all
clc
% 定义天线元素位置,分别位于 x 轴上的 -1, 0 和 1
ant = [-1 0 1; 0 0 0; 0 0 0]; % 3 个天线元素的位置
% 创建符合阵列对象
array = phased.ConformalArray('ElementPosition', ant);
% 定义信号参数
fc = 1e9; % 频率 1 GHz
c = physconst('LightSpeed'); % 光速
incidentAngle = [180; 45]; % 入射角度(方位角 180 度,高度角 45 度)
kw = 2*pi*fc/c;
% 发射信号参数
signalAmplitude = 1; % 信号的幅度
% 收集入射信号
sig = collectPlaneWave(array, signalAmplitude, incidentAngle, fc, c);
% 显示结果
disp('收集到的信号:');
disp(sig);
运行之后结果为:
收集到的信号:
-0.6309 + 0.7759i 1.0000 + 0.0000i -0.6309 - 0.7759i
这里的sig实际上就是导引矢量。我们可以验证一下,这里显然(-1,0,0)处的相位要比(0,0,0)处的超前,超前多少呢?用波数乘以距离即可得到相位。
% 验证
kw = 2*pi*fc/c;
phy = pi - mod(kw/sqrt(2),pi);
phy2 = mod(atan(0.7759/0.6309),pi);