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 Comment

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.

Sign in to comment.

Answers (1)

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 Comment

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.

Sign in to comment.

Products

Release

R2023b

Asked:

Sam
on 22 Sep 2023

Commented:

Sam
on 18 May 2026

Community Treasure Hunt

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

Start Hunting!