查看文檔如下:
可以看出最多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);