Hello,

I tried to do a simulation with a plane wave reflecting off a
Sievenpiper structure, as previously discussed on the list:

http://www.mail-archive.com/[email protected]/msg00849.html

I have a measurement point at some distance from the structure. For the 
reflection phase, I calculate the difference between the phase of the 
normally incident field and the reflected field.

Plotting this one mainly sees the progressing phase of the path two 
times the distance between the measurement point and the reflecting 
surface. When one plots the phase this appears as a linear increase of 
the phase  with frequency. To obtain the actual reflection phase 
characteristic it is not clear how one should subtract this progressing 
phase increase for reflectors with arbitrary shapes. For the case of a 
PEC mirror it is not hard to subtract out this progressing phase. But 
for the Sievenpiper structure there are different reflection surfaces 
(top of patch, top of groundplane), so it is not clear which path to 
subtract out to get the correct result.

I tried to subtract the path until the ground plane, but then I see 
that some continuous phase change remains. And if I look what this 
remaining phase is, I find that is nearly just two times the path 
between the ground plane and the top of the patch. So it seems most of 
the frequencies are reflecting at the top of the patches. This means my 
structure seems to react nearly just as a shifted PEC mirror, which is 
quite different from the results in figure 7.3.2. of Sievenpiper's 
thesis, which shows a gradual progression of the phase from pi to minus 
pi over the wide frequency band of the measurement.

Was anyone able to get similar results as the measurements in 
Sievenpiper's thesis with a simulation like this? If yes, how?

You can find my scheme code on:  http://pastebin.com/f4fe96a13

My complete matlab code for plotting the phase is on:
http://pastebin.com/f4cb3e14d

Comments about the matlab code:
Steven Johnson recommended the following approach:

N = length(R);
Rangle = arg(fft(R - R0)); % in matlab, use "phase()" instead of "arg()"
Rangle = Rangle(1:N/2); % frequencies above Nyquist are redundant
freq = [0:length(Rangle)-1] / (N * dt);
plot(freq, Rangle)

This does not make sense to me. This only plots the progressing phase 
of the reflected pulse. What really is of interest is the difference 
between the phase of the incident pulse and the phase of the reflected 
pulse this is:

phase(fft(R - R0))-phase(fft(R0))

The following plots the difference of the two phases minus the path, in 
degrees and Hz. ( In meep I used 1mm as a unit)

Rangle=phase(fft(R-R0));
Rangle0=phase(fft(R0));
freq=[0:length(Rangle)-1]./(N*dt);
path=2*5*360/30e9*(3e11.*freq); % my center wavelength is 30GHz and for this
                                % frequency my measurement point is     
                                % 5 wavelengths from the ground plane
plot(3e11*freq,(Rangle(1:N/2)-Rangle0(1:N/2))*180/pi+path')

Thanks in advance for answering the question about how to get the 
expected reflection phase for a Sievenpiper structure.

Regards
Cecile







_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to