How can I get magnetic current distribution for a dielectric antenna
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to compute the magnetic current distribution on an antenna (specifically a microstrip patch antenna) but am not sure how to do this using the tools available in MATLAB. I have tried using the `currents`
[C, points] = current(patch, f, dielectric');
which seems only provide electric current distribution, but I’m unsure how to proceed with the magnetic current calculation. Does the antenna toolbox have a function for this directly?
0 comentarios
Respuestas (1)
KALYAN ACHARJYA
el 29 de Dic. de 2024
Editada: KALYAN ACHARJYA
el 29 de Dic. de 2024
Change the code as per requirements:
Detail Basic: design
% Just for example: operating frequency
f = 1e9; % Frequency in Hz
%% Design the patch antenna
patch = design(patchMicrostrip, f);
%% Compute electric currents and points on the surface
[C, points] = current(patch, f);
% Compute electric and magnetic fields near the antenna at the same points
[E, ~] = EHfields(patch, f, points);
% Define the surface normal vector (modify for other geometries)
normal_vector = [0; 0; 1]; % Assume planar patch normal along z-axis
% Compute the tangential electric field
E_tangential = E - dot(E, repmat(normal_vector, 1, size(E, 2)), 1) .* normal_vector;
%% Compute the magnetic current density (M)
M = cross(repmat(normal_vector, 1, size(E_tangential, 2)), E_tangential, 1);
%If Required!
% Transpose M to match the dimensions of points for visualization
M = M';
% Transpose points to match dimensions with M
points = points';
%% Visualize electric current distribution
figure;
quiver3(points(:, 1), points(:, 2), points(:, 3), C(1, :)', C(2, :)', C(3, :)');
title('Electric Current Distribution on the Patch');
xlabel('X (m)'); ylabel('Y (m)'); zlabel('Z (m)');
grid on;
%% Visualize magnetic current distribution
figure;
quiver3(points(:, 1), points(:, 2), points(:, 3), M(:, 1), M(:, 2), M(:, 3));
title('Magnetic Current Distribution on the Patch');
xlabel('X (m)'); ylabel('Y (m)'); zlabel('Z (m)');
0 comentarios
Ver también
Categorías
Más información sobre Design, Analysis, Benchmarking, and Verification en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

