How do I create a mesh of a sinuous antenna geometry in order to simulate its radiation patterns?

3 visualizaciones (últimos 30 días)
I am a complete beginner to MATLAB, and have searched up commands like customAntennaMesh to model a sinuous antenna’s radiation patterns. I have the equations to plot the curves required for the sinuous geometry. However, I don’t understand what is meant by the (points, triangles) input required by the command.
What should I do to create the geometry, or is there any other command I should try?

Respuestas (1)

AR
AR el 24 de Feb. de 2025
The function “customAntennaMesh” is part of the Antenna Toolbox in MATLAB and is used to define custom antenna geometries using a mesh representation. It's ideal for designing complex antenna shapes that are not available in the toolbox's predefined options.
It needs 2 inputs:
1. Points: It is a “2 × N or 3 × N matrix representing Cartesian coordinates in meters, where N is the number of points.
  • 2 × N matrix - Defines points in 2D (x, y).
  • 3 × N matrix - Defines points in 3D (x, y, z), but z must be constant or zero.
2. Triangles: It is a 4 × M matrix, where M is the number of triangles. The first three rows define triangle vertices (indices of points), and the fourth row assigns a domain number.
Refer the below link for “customAntennaMesh” function:
Here is an example code for sinuous antenna mesh:
clc; clear; close all;
% Define parameters for sinuous curve
a = 0.1; % Scaling factor (assumed)
b = 0.2; % Growth rate (assumed)
t = linspace(0, 4*pi, 50); % Angle range for the sinuous shape
% Compute Cartesian coordinates (r(t) = a * exp(b * t))
x = (a * exp(b * t)) .* cos(t);
y = (a * exp(b * t)) .* sin(t);
z = zeros(size(x)); % Keep z = 0 for a 2D structure
% Create the points matrix (3 x N)
points = [x; y; z];
A sinuous antenna has a spiral-like shape, which makes it difficult to manually define the triangular mesh. The function delaunayTriangulation(x, y) automatically computes a triangular mesh connecting the given 2D points.
The output is a connectivity list, which provides the indices of three points forming each triangle. dt.ConnectivityList provides triangle indices based on the computed points.
Refer the below link for “delaunayTriangulation” function:
% Use Delaunay triangulation for correct connectivity
dt = delaunayTriangulation(x', y');
triangles = [dt.ConnectivityList'; ones(1, size(dt.ConnectivityList, 1))];
% Create and visualize the custom antenna mesh
mesh = customAntennaMesh(points, triangles);
figure;
show(mesh); % Display mesh without additional arguments
title('Sinuous Antenna Mesh');
A possible workaround is to usepatch()” function for visualization while keeping delaunayTriangulation() to generate the mesh.
Refer the below link for “patch()” function:
I hope this helps!

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by