OpenEMS 3D EM FDTD Solver |
Wieczorkiem siadłem na chwilę, żeby popracować nad postprocesingiem. Oburzającym faktem 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: |