Hi Matt,
The magnitudes of the electric and magnetic fields are calculated from the properties of the antenna or array object, as mentioned here:
Based on the properties of the antenna/array object (such as voltage), the EHfields function determines the current, which is then used to calculate the field components. As an example, I used the EHfields function with two pcbStack antenna objects which differ only in their FeedVoltage parameter:
%Define pcbStack objects differing only in FeedVoltage
p1=pcbStack(FeedVoltage=1);
p2=pcbStack(FeedVoltage=100);
%Calculate electric and magnetic fields at points (0,0,1) and (0,1,0)
[e1,h1]=EHfields(p1,4e9,[0,0;0,1;1,0])
[e2,h2]=EHfields(p2,4e9,[0,0;0,1;1,0])
We can see that scaling the voltage by 100 resulted in the field components being scaled by the same factor. The magnitudes of the fields can be determined using its components as follows:
%Calculating field magnitudes for p1 at each point
E1_magnitude = sqrt(abs(e1(1, :)).^2 + abs(e1(2, :)).^2 + abs(e1(3, :)).^2)
H1_magnitude = sqrt(abs(h1(1, :)).^2 + abs(h1(2, :)).^2 + abs(h1(3, :)).^2)
The current function can be used to calculate the current on the surface of an antenna or array object. To determine the magnitude of the magnetic field for a specific current, you can adjust the properties of the antenna object such that the desired current is achieved. The EHfields function can then be used to detemine the magnetic field corresponding to this current.
More information about the current function can be found in the following documentation:
Hope this is helpful!


