Antenna radiation pattern rotation

Hello everyone,
I'm having some problems with a rotation of the antenna field. Here my antenna pattern now, after a decomposition of the theta and phi fields in x,y,z-ones:
and I'd like to rotate the main lobe along the x-axis. Do you have any idea to how I shoud do it? (without the phased array toolboox - so the rotpad function- because I do not have the toolboox).
I tried applying the matrix rotation on the 3(x,y,z)-components but it just gives me a kind of "change of name". Here the results:
But as you can see the main lobe is now in the z-component (right for my purpose) but not along the x-axis.
Thank you a lot in advance.

6 Comments

If you plainly "rotate the main-lobe" by rotating the antenna-field - then that is exactly what you do. Which seems like an unusual use of a phased-array antenna. In my experience one typically move the main-lobe by modifying the phase of the signal at each antenna. Is that what you want to do?
My purpose is to rotate the field from the "antenna" reference system (where a phased array lies on the XoY plane) to the "measurement" reference system (where the phased array is rotate and now is "vertical", i.e. on the YoZ plane). So in the first case I expect the main lobe on the z-axis, while in the second along the x-axis. Then, I have just to work on the z-component because my receiver is a monopole (so it takes only the vertical component).
Hi Marina,
In what form is your data? Is it for example three 2xn arrays with columns for theta, phi, and are you plotting using isosurface?
Lotmeri
Lotmeri on 8 Mar 2021
Edited: Lotmeri on 8 Mar 2021
Hi David, they are 361x37 matrices Hx(theta,phi), Hy(theta,phi), Hz(theta,phi) and I plot using surf!
Sorry, I correct my comment, of course theta and phi are 2 vectors
I am still not quite getting it. You have a lot of data so there must be some arrays of length a lot greater than 2.
Marina, to me it sounds like you need to sketch this up from the beginning. Simply draw your two dipoles with their respective orientation and figure out what combinations of components you will detect. Further, I'd guess that you definitely dont need to "rotate the antenna-pattern", rather you need to get some combination of the H-field components - depending on your receiver orientation and position.

Sign in to comment.

 Accepted Answer

Hi Marina,
Since you are using surf, I am going to assume that you have three matrices x,y,z, each of size m x n, appropriate to feed into surf(x,y,z). Maybe this will help.
% simple example
thx = linspace(0,pi,40);
phix = linspace(0,2*pi,60);
[th phi] = meshgrid(thx,phix);
r = sin(th).*cos(th).*sin(phi);
x = r.*sin(th).*cos(phi);
y = r.*sin(th).*sin(phi);
z = r.*cos(th);
fig(1)
surf(x,y,z)
Rotate this through some arbitrary angles:
% rotate this through some arbitrary angles
xyz = [x(:) y(:) z(:)];
xyznew = xyz*Rxd(100)*Ryd(200)*Rzd(-300);
xnew = reshape(xyznew(:,1),size(x));
ynew = reshape(xyznew(:,2),size(x));
znew = reshape(xyznew(:,3),size(x));
surf(xnew,ynew,znew)
function M = Rxd(th)
% x rotation matrix
% angle is in DEGREES
% ccw rotation looking down at rotation axis up out of page
c = cosd(th);
s = sind(th);
M = [ 1 0 0;
0 c -s;
0 s c];
end
function M = Ryd(th)
% y rotation matrix
% angle is in DEGREES
% ccw rotation looking down at rotation axis up out of page
c = cosd(th);
s = sind(th);
M = [ c 0 s;
0 1 0;
-s 0 c];
end
function M = Rzd(th)
% z rotation matrix
% angle is in DEGREES
% ccw rotation looking down at rotation axis up out of page
c = cosd(th);
s = sind(th);
M = [ c -s 0;
s c 0;
0 0 1];
end

More Answers (0)

Categories

Find more on Design, Analysis, Benchmarking, and Verification in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!