www.gusucode.com > EWA电磁波和天线工具箱源码程序 > EWA电磁波和天线工具箱源码程序/Antenna_Toolbox/sector.m
% sector.m - sector beam array design % % Usage: [a, dph] = sector(d, ph1, ph2, N, Astop) % % d = element spacing in units of lambda % [ph1,ph2] = passband of angular sector in degrees % N = number of array elements (even or odd) % Astop = stopband attenuation in dB % % a = array weights % dph = transition width in degrees % % notes: equivalent to lowpass Kaiser filter design in psi-space, % lowpass is mapped to bandpass by an effective steering angle ph0, % a is already steered towards ph0, % % requires the I2SP function I0 % % see also ARRAY, BINOMIAL, DOLPH, TAYLOR, UNIFORM % S. J. Orfanidis - 1997 - www.ece.rutgers.edu/~orfanidi/ewa function [a, dph] = sector(d, ph1, ph2, N, Astop) if nargin==0, help sector; return; end if Astop > 21, % compute Kaiser's D factor D = (Astop - 7.95)/14.36; else D = 0.922; end if Astop <= 21, % compute Kaiser window shape parameter alpha = 0; elseif Astop < 50 alpha = 0.5842*(Astop - 21)^0.4 + 0.07886*(Astop - 21); else alpha = 0.1102*(Astop - 8.7); end ph1 = ph1*pi/180; ph2 = ph2*pi/180; phc = (ph1 + ph2)/2; % center of angular sector phw = ph2 - ph1; % full width of sector ps0 = 2*pi*d*cos(phc)*cos(phw/2); % effective scan phase psp = 2*pi*d*sin(phc)*sin(phw/2); % passband frequency in psi-space dps = 2*pi*D/(N-1); % Kaiser transition width in psi-space psb = psp + dps/2; % ideal cutoff frequency in psi-space r = rem(N,2); s = (1-r)/2; % s=0, for N odd, and s=1/2 for N even M = (N-r)/2; I0alpha = I0(alpha); % window normalization factor for m=1:M, a(m) = sin(psb*(m-s)) / (pi*(m-s)); w(m) = I0(alpha*sqrt(1 - (m/M)^2)) / I0alpha; end if r==1, % odd N=2*M+1 a = [fliplr(a), psb/pi, a]; % symmetrized ideal weights w = [fliplr(w), 1, w]; % symmetrized Kaiser window else % even N=2*M a = [fliplr(a), a]; w = [fliplr(w), w]; end a = a .* w; % windowed lowpass array weights a = scan(a, ps0); % scanned weights dph = dps/(2*pi*d*sin(phc)); % estimated transition width in phi-space dph = dph*180/pi;