Array factor with FFT

Status
Not open for further replies.

rogotad

Newbie level 1
Joined
Oct 7, 2009
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
italia
Activity points
1,289
Hi everyone

I'm trying to calculate the array factor of a very simple uniform equispaced lienar broadside array both via the classical formula, and via FFT, following what is stated in Antenna arrays: a computational approach, page 67

However, I cannot achieve a correct match, the two functions are similar but different. I think the classical function is correct, because there is a clear enlargement of the lobes as the endfire direction is approached, as expected, while the FFt function has uniform lobes.

I attach my matlab code

Code:
Nelements =17;

Npoints = 1024;
Ntheta = Npoints;
thetalimit = 90;
theta_deg  = linspace(-thetalimit,thetalimit,Ntheta);
theta= pi*theta_deg/180;

% Uniform linear broadside equispaced array
d = 0.5; % in wavelengths

Start = ones(1,Nelements); %uniform excitation, 0 phase

AF = zeros(size(theta));

a = abs(Start);

phi = angle(Start);

%Classical Array Factor
for n = 1:Nelements

    AF = AF + a(n) * exp(1j * phi(n)) * exp(1j * n * 2 * pi * d * sin(theta));

end

%AF = AF / max(abs(AF));
%--------------------------------------------------------------------------

% FFT Array Factor

AF_FFT = fftshift(fft(Start,Npoints));


figure
hold on;
plot(theta,20*log10(abs(AF)),'Color','r','LineWidth',2);
    
plot(theta,20*log10(abs(AF_FFT)),'Color','b','LineWidth',1);

Please let me know what I'm doing wrong

Thank you
 
Last edited:

I hope you still need an answer
The phase needs mapping. I suggest that you look at https://www.jpier.org/PIERM/pierm16/09.10101003.pdf equation 7, which explains the mapping

to run you matlab code, replace your last line with these three

phi1p=acos((0:Npoints/2-1)/d/Npoints);
phi1=[fliplr(phi1p)-pi/2 pi/2-phi1p];
plot(phi1,20*log10(abs(AF_FFT)),'Color','b','LineWidth',1);

I hope this helps

Ilan
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…