Coordinate system for antenna reflector

I'm using the Antenna Toolbox with the customDualReflectors object.
I've developed some code to give me 3d coordinates of the main and sub reflectors (in 3D space in their relative positions). I pass these coordinates to the 'MainReflector' and 'SubReflector' parameters, but when i plot the anetnna with show() I see both reflectors on top of each other.
It appears that the coordinate systems of the reflectors have been ignored and each independently referenced back to 0,0,0.
Is there a way to keep the original coordinate system?
If not, what coordinate system is used? I can shift things arround with offsets and rotations but I need to get the exact positions set correctly.
Thanks!

1 commentaire

Altaïr
Altaïr le 21 Fév 2025
Hey @Sam,
It appears that applying a uniform offset to the coordinates of the MainReflector and SubReflector doesn't affect their location of the reflectors, while any rotation applied is preserved. The only workaround I can think of is to align the major axis of the antenna, possibly the axis of symmetry, along the z-axis and use the center of the antenna's base as the origin.

Connectez-vous pour commenter.

Réponses (1)

Shashank Kulkarni
Shashank Kulkarni le 16 Mai 2026 à 4:08

0 votes

customDualReflectors preserves the coordinate system you provide. If both reflectors appear on top of each other, the issue is in your source data — each surface was likely generated in its own local
coordinate frame (both centered at origin).
Solution: Use ReflectorOffset to apply the correct relative positioning:
cdr = customDualReflectors;
cdr.MainReflector = mainPoints; % coordinates preserved as-is
cdr.SubReflector = subPoints; % coordinates preserved as-is
cdr.Exciter = hornConical;
% ReflectorOffset adds translation: [main_x main_y main_z; sub_x sub_y sub_z]
cdr.ReflectorOffset = [0 0 0; 0 0 0.3]; % shift sub-reflector 0.3m above main
cdr.FeedOffset = [0 0 0.5];
figure; show(cdr);
If your surfaces already encode absolute positions (both in the same global frame), you don't need ReflectorOffset at all — just assign them directly and the positions will be maintained.

1 commentaire

Sam
Sam le 18 Mai 2026 à 11:31
It's been a long time since i looked at this (2023), and unfortuantely i no longer have access to to the tools, but i'm absolutely certain that my source data was correctly mapped.
If you are saying that this now works correctly, then i can only assume that the bug has been fixed in the last 3 years.

Connectez-vous pour commenter.

Catégories

Produits

Version

R2023b

Question posée :

Sam
le 22 Sep 2023

Commenté :

Sam
le 18 Mai 2026 à 11:31

Community Treasure Hunt

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

Start Hunting!

Translated by