Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Array factor phased array beam steering problem

yefj

Advanced Member level 4
Joined
Sep 12, 2019
Messages
1,242
Helped
1
Reputation
2
Reaction score
3
Trophy points
38
Activity points
7,488
Hello, I have created exactly the array factor formula in matlab .
But when i add the beam steering delta member it does nothing to the main lobe.
Why it stays the same?
Thanks.

Code:
theta_0=pi*((20)/180);
amplitude_norm_V=[0.05,0.3,0.75,1,0.75,0.3,0.05];
delta=k*d*cos(theta_0);
x=sqrt(1/(sum(amplitude_norm_V.^2)));
real_voltage=amplitude_norm_V.*x;
real_power=(real_voltage.^2);
sum(real_power);
phases=[0,0,0,0,0,0,0]
theta=linspace(0,pi,1000);

f=5.6;

N=6;

lambda=300/f;
k=(2*pi)/lambda;
d=0.8*lambda;
total=0;
tot=0;
for z=1:6
AF=real_voltage(z)*exp(1i*(phases(z)/180*pi))*exp(-1i*(z-1)*k*d*cos(theta)+delta);
total=total+AF;
tot=tot+AF.^2;
end
plot((theta/pi)*180,20*log10(total));
 
clear; clc;

% Antenna array parameters
f = 5.6; % Frequency in GHz
N = 6; % Number of array elements
lambda = 300 / f; % Wavelength in meters
k = (2 * pi) / lambda; % Wave number
d = 0.8 * lambda; % Inter-element spacing

% Desired angle and amplitude normalization
theta_0 = pi * (20 / 180); % Reference angle in radians
amplitude_norm_V = [0.05, 0.3, 0.75, 1, 0.75, 0.3]; % Normalized amplitudes
delta = k * d * cos(theta_0); % Phase shift based on the reference angle

% Normalize the amplitudes
x = sqrt(1 / sum(amplitude_norm_V .^ 2));
real_voltage = amplitude_norm_V .* x;
real_power = real_voltage .^ 2;

% Define phase angles for the elements
phases = [0, 0, 0, 0, 0, 0]; % Ensure there are 6 elements

% Theta range for plotting
theta = linspace(0, pi, 1000); % Angle in radians

% Initialize total array factor
total = zeros(1, length(theta));
tot = zeros(1, length(theta));

% Calculate the array factor
for z = 1:N
AF = real_voltage(z) * exp(1j * (phases(z) / 180 * pi)) * exp(-1j * (z - 1) * k * d * cos(theta) + delta);
total = total + AF;
tot = tot + AF .^ 2; % Power addition for each element
end

% Convert the array factor to dB and plot
total_dB = 20 * log10(abs(total)); % Convert to dB
plot((theta / pi) * 180, total_dB); % Plot against angle in degrees

% Set plot labels and grid
xlabel('Angle (degrees)');
ylabel('Array Factor (dB)');
title('Array Factor of a Uniform Linear Array');
grid on;
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top