OpenEMS
3D EM FDTD Solver
Wieczorkiem siadłem na chwilę, żeby popracować nad postprocesingiem. Oburzającym faktem oczko jest wizualizacja w przykładach s-parametrów "wykastrowanych" z informacji o fazie. Dobrym początkiem do analizy struktur falowodowych może być tutorial "Rectangular waveguide". Dla badanego przez siebie sprzęgacza 3db zmodyfikowałem definicje portów do postprocesingu (oczywiście wcześniej te porty zdefiniowałem do obliczeń). Port 1 to wymuszenie, port 2 i port 3 to wyjścia sprzęgacza, portu 4 (izolowanego) chwilowo nie analizuję.

freq = linspace(f_start,f_stop,201);
port = calcPort(port, Sim_Path, freq);

s11 = port1.uf.ref./ port1.uf.inc;
s21 = port2.uf.ref./ port1.uf.inc;
s31 = port3.uf.ref./ port1.uf.inc;

I teraz co nas interesuje w sprzęgaczu hybrydowym 3 dB? Oczywiście amplitudy i fazy na wyjściu - czy są równe sobie i wynoszą około -3 dB w stosunku do wejścia i czy fazy się różnią o Pi/2 radiana. W związku z tym stworzyłem taką linię odczytującą różnicę fazy i przygotowującą ją do wizualizacji w formacie -180..180 stopni, tak jak prezentuje je VNA. Wynik można wyświetlić w formacie liczbowym lub w postaci wykresu

phase_diff_port2_port3 = rad2deg((mod((angle(port2.uf.ref)-angle(port3.uf.ref))+pi,2*pi))-pi);

Możliwym jest też eksport i import danych do/z formatu Touchstone (*.s1p, *.s2p etc). Można go później wykorzystać na przykład w jakimś programie rozumiejącym ten format do obliczenia dopasowania etc. Jeszcze nie próbowałem, ale przy następnym posiedzeniu nie omieszkam. Fajny zbiór funkcji związanych z tym jest tutaj.

http://github.com/thliebig/CTB

Tak wyszło ze sprzęgaczem:





  PRZEJDŹ NA FORUM