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