Draw 3D Fresnel zone on siteviewer

22 views (last 30 days)
Maximilian
Maximilian on 28 Jun 2023
Answered: Gourab on 28 Jun 2023
I'm trying to draw a 3D shape representing the first Fresnel zone in siteviewer using the tx and rx locations as foci. When reading the documentation for siteviewer it appears that I cannot draw a 3D object that is not an antenna pattern or building. Is there a way to plot what I want on a siteviewer window?

Answers (1)

Gourab
Gourab on 28 Jun 2023
Hi Maximilian,
From your question I get that you want to draw a 3D shape representing the first Fresnel zone in "siteviewer".
You are correct that the "siteviewer" function in MATLAB is primarily designed for visualizing antennas and buildings. It does not have built-in functionality to directly plot arbitrary 3D shapes or surfaces.
We can still visualize the first Fresnel zone by using an alternate method.
  1. Calculate the points that define the boundary of the first Fresnel zone based on the transmitter "tx" and receiver "rx" locations. There are formulas available to compute the Fresnel zone boundary points based on the distance between the "tx" and "rx" locations and the operating frequency.
  2. Once you have the boundary points, you can plot them as a 3D shape using the "plot3" function in MATLAB. For example, you can use the "plot3" function to plot a polygon connecting the boundary points.
Refer to the below code snippet
% Define transmitter and receiver locations
tx = [5, 5, 6]; % Transmitter location [x, y, z]
rx = [100, 100, 100]; % Receiver location [x, y, z]
% Calculate boundary points of the first Fresnel zone
% ... (use appropriate formulas based on distance and frequency)
% Plot the boundary points as a 3D shape
figure;
plot3(boundary_points(:, 1), boundary_points(:, 2), boundary_points(:, 3), 'b-', 'LineWidth', 2);
hold on;
plot3(tx(1), tx(2), tx(3), 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r'); % Plot transmitter location
plot3(rx(1), rx(2), rx(3), 'go', 'MarkerSize', 10, 'MarkerFaceColor', 'g'); % Plot receiver location
grid on;
axis equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
title('First Fresnel Zone');
You can refer to the below documentation link for more information.

Categories

Find more on RF Propagation in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!