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 commentaires

Bjorn Gustavsson
Bjorn Gustavsson le 5 Mar 2021
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?
Lotmeri
Lotmeri le 5 Mar 2021
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).
David Goodmanson
David Goodmanson le 7 Mar 2021
Modifié(e) : David Goodmanson le 7 Mar 2021
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 le 8 Mar 2021
Modifié(e) : Lotmeri le 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
David Goodmanson
David Goodmanson le 8 Mar 2021
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.
Bjorn Gustavsson
Bjorn Gustavsson le 8 Mar 2021
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.

Connectez-vous pour commenter.

 Réponse acceptée

David Goodmanson
David Goodmanson le 8 Mar 2021
Modifié(e) : David Goodmanson le 8 Mar 2021
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

Plus de réponses (0)

Catégories

En savoir plus sur Design, Analysis, Benchmarking, and Verification dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by