Far-field superposition for a finite array
I have a simple two-element array, and I want to be able to quickly calculate far fields for arbitrary excitations. I've used Feko to generate two solutions, one for a symmetric excitation [a b] = [1 1], where a and b are the port voltages, and for an anti-symmetric excitation [1 -1]. I used these rather than [1 0] and [0 1] since Feko complains when a port excitation is zero. The ports are both 50 Ohms. Since Maxwell's equations are linear, superposition applies. My excitations are linearly independent, so I can combine them appropriately to generate an arbitrary excitation. Furthermore, I should be able to combine the radiated far fields in the same way. For example, if I choose [a b] = [1 exp(j*pi/4], I should get the same result whether I use superposition or calculate the fields directly with Feko. What I find, however, is a discrepancy in the results, and not a tiny one. Am I missing something?
Answers
-
Hi DaveC
The approach you describe should work. Provided that only the excitations change between configurations, superposition should be valid for the the currents and radiated fields.
In your superposition, can you confirm that the complex field quantities were added (rather than just the magnitudes)?
Regards,
Johan H
0 -
Yes, I export the far fields from Feko, and import them into Matlab, where I add the real and imaginary parts of the electric field to get the complex radiated field for the [1 1] and [1-1] excitations. Those excitations are each multiplied by a complex weighting factor and then added. For example, if my desired two-element excitation is [a b], where a and b are complex, then the required superposition of the [1 1] and [1 -1] excitations is 0.5*(a+b)[1 1] + 0.5*(a-b)[1 -1]. Assuming my approach is correct, I had hoped for nearly exact agreement between the Matlab calculations and a Feko simulation using the exact [a b] excitation. Is that too much to hope for?
0 -
Hello DaveC,
I think you have a mistake in your calculation. I created a simplified version of what you are trying to do and the results match up perfectly. See the image below:
<?xml version="1.0" encoding="UTF-8"?>
I have included the models and the script that I used. Note that I used the latest version of FEKO - 2017.1.2. The model files are:
- Model with two dipoles and the [1 1] and [1 -1] excitation as you have it (I would have just used one excitation per configuration).
- This a 'random' test model where a = 2.5 and phase of 20 and b = 0.3 and phase 110 degrees.
- The script I used to do the calculation in POSTFEKO using Lua (not Octave/Matlab or Compose).
I hope this helps. As I said, it is a very simple model and it does not take everything into account that you may want to take into account.
0 -
Jif,
Thanks for your response, it was very helpful. I was scaling the power, using 'Incident Power (Transmission Line Model).' As suggested by your model, I eliminated scaling, after which the results of my Matlab-generated superposition and the directly-calculated Feko results agreed perfectly. Ultimately I want to calculate realized gain, which requires that I know the reflected power loss for a desired input power. The problem I'm now facing is that the active S parameters don't seem to be consistent with the passive S parameters. By that I mean that for an arbitrary excitation [a b], the active S parameters should be S1 = (S11*a + S12*b)/a and S2 = (S21*a + S22*b)/b, correct? Is it correct to interpret the 'S parameters' exported from the Standard Configuration, one for each voltage source, as active S parameters? For an arbitrary excitation [a b], I find that the active and passive S parameter values are not consistent, in the sense that S1 and S2 as calculated above don't agree with values exported from the Standard Configuration. It would seem that either the definition given above for S1 and S2 is wrong, or my interpretation of the values export from the Standard Configuration is in error. Which one?
I don't know if this is relevant, but I'm using edge ports to drive a pair of monopoles. Each port is a cylindrical surface that joins two parallel planar surfaces, one being a finite ground plane and the other the underside of the monopole. Voltage sources drive each port, impedances are set to 50 Ohms.
0 -
I think you should be very careful with what you are calculating and what you refer to as S-parameters. S-parameters have a well defined definition where one port is excited and all the ports are terminated with the system / port impedance. What you seem to call active S-parameters (I don't know or use that term) is probably just the reflection coefficient. The reflection coefficient for a 1 port system happens to be the same as S11 (or the S-parameters for a one port system), but I would not mix the concept of S-parameters with reflection coefficient (can have arbitrary loading and excitation in the model, also at other ports).
Altair Forum User said:I don't know if this is relevant, but I'm using edge ports to drive a pair of monopoles. Each port is a cylindrical surface that joins two parallel planar surfaces, one being a finite ground plane and the other the underside of the monopole.
I don't think the port types make much of a difference here, so I would ignore that for now.
Altair Forum User said:Voltage sources drive each port, impedances are set to 50 Ohms.
What does this mean? Did you simply set the impedance on the voltage source dialog to 50 Ohms? If you did, you never actually loaded the model since FEKO uses an ideal voltage source by default (forces the voltage, with zero internal impedance). This means that port two is effectively short circuited as far as port 1 is concerned - definitely not what the definition for S-parameters. I would think that you would have to add actual 50 Ohm loads in series with each voltage source. I have not tried this, but that would be what I think could be going wrong in your interpretation of the model.
0 -
Jif,
Yes, I simply set the impedance on the voltage source to 50 Ohms. I will try your suggestion of adding 50 Ohm loads.
0