multibeam.m

来自「用matlab编写的电磁学方面的函数和图像」· M 代码 · 共 36 行

M
36
字号
% multibeam.m - multi-beam array
%
% Usage: a = multibeam(d, w, A, ph0)
%
% d   = element spacing in units of lambda
% w   = row vector of window weights (even or odd length N)
% A   = row vector of relative beam amplitudes (L amplitudes)
% ph0 = row vector of beam angles in degrees (L angles)
% 
% a = multi-beam array weight vector (length N)
%
% notes: a is already scanned towards the various ph0's, 
%        the weights w can be built with UNIFORM, BINOMIAL, TAYLOR, DOLPH,
%        essentially, the DSP equivalent of multiple sinusoids
%        
% example: w = dolph(0.5, 90, 21, 30);
%          a = multibeam(0.5, w, [1,1,1], [60, 90, 150]);
%          [g,phi] = array(0.5, a, Nph); 
%          dbz(phi,g);
%
% S. J. Orfanidis - 1997 - www.ece.rutgers.edu/~orfanidi/ewa

function a = multibeam(d, w, A, ph0)

if nargin==0, help multibeam; return; end     

N = length(w);                            % number of array elements
L = length(A);                            % number of beams

a = zeros(1, N);

for i=1:L,
    a = a + A(i) * steer(d, w, ph0(i));       % accumulate steered w's
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?