Osilatör devre simülasyonları ve sonuçların Octave'de işlenmesi
Oscillator circuit simulations and processing of results in Octave
Yazar: EYÜP ÇUĞALIR
Danışman: DR. ÖĞR. ÜYESİ ÖNDER ŞUVAK
Gebze Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Elektronik Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2019
Konu: Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering
Dizin: Elektronik devreler = Electronic circuits ; Sinüzoidal osilatör = Sinusoidal oscillator

Özet:
Bu çalışmada, bir devre benzetim aracı olan Ngspice'ın Octave aracılığıyla kontrol edilebilmesine olanak sağlamaktır. Bu çalışma ile birlikte, benzetim sonucunda elde edilen grafikler üzerinde daha geniş kontrol imkanı sağlanmış ve benzetim verileri üzerinde ileri işleme yapabilme yeteneği kazanılmıştır. Benzetim yapılırken parametrik analiz yapılmıştır. Elektronik devrelerin belirsizlik analizleri, aynı devrenin farklı parametreler ile tekrar tekrar benzetime tabi tutulmasını ve sonuçların üzerinde birtakım işlemler yapılmasını gerektirir. İleri işleme için kullanılacak prototip oluşturma ortamının Octave olarak düşünüldüğü bu gibi bir durumda, Octave ortamında üretilen değişken parametre takımının her bir elemanının devre netlistine yazılması, benzetimin gerçekleştirilmesi ve elde edilen sonuçların ileri işleme yapılmak üzere Octave ortamına aktarılması gerekir. Söz konusu işlemlerin bir otomasyon aracılığıyla gerçekleştirilmemesi önemli ölçüde zaman kaybına neden olabilmektedir. Belirsizlik analizi örneği, elektronik devrelerin benzetiminin gerçekleştirildiği ve akabinde sonuçlar üzerinde ileri işleme yapıldığı senaryolardan yalnızca biridir. Bu çalışmada, söz konusu senaryolarda kullanılmak üzere, açık kaynak koda sahip bir elektronik devre benzetim aracı olan Ngspice'ın Octave tarafından kontrol edilebilmesine olanak tanıyan Ngspice bağlantı aracının tasarım ayrıntıları sunulmaktadır. Tasarım esnasında Ngspice'ın sunmuş olduğu "callback" fonksiyonlarından yararlanılmış, "callback" sonrasında elde edilen verinin organize edilebilmesi için bir C++ sınıf yapısı kullanılmış ve Octave tarafına aktarılacak verinin saklanması için mex data tiplerinden faydalanılmıştır. Bununla birlikte, mex kütüphanesinin içe aktarıldığı ilgili proje dosyasını derlemek/link etmek üzere makefile projesinin mex paradigmaları  kullanılmıştır [1]. Tasarlanan bu araç sayesinde, Octave tarafından manipüle edilen devre netlistleri benzetim aracına gönderilebilmekte ve diske herhangi bir veri yazımı olmadan sonuçlar Octave tarafına aktarılabilmektedir.

Abstract:
In this work, a wider control is provided on the graphs obtained as a result of simulation and the ability of further processing on the simulation data is gained. Parametric analysis was performed during simulation. The uncertainty analysis of electronic circuits requires that the same circuit be simulated over and over again with different parameters and that a number of operations are performed on the results. In such a case where the prototyping environment to be used for further processing is considered Octave, each element of the variable parameter set produced in the Octave environment must be written to the circuit netlist, the simulation performed, and the results obtained transferred to the Octave environment for further processing. Failure to perform such operations by automation can result in considerable time loss. The example of uncertainty analysis is only one of the scenarios in which electronic circuits are simulated and then further processed on the results. In this study, the design details of the Ngspice connection tool, which allows the control of Ngspice, an electronic circuit simulation tool with open source code, can be controlled by Octave for use in these scenarios are presented. Design during that submitted the ngspıce "callback" function has been utilized, "callback" is a C ++ class structure subsequent to organize the data obtained were used and have been utilized mex data type for storing the data to be transferred to Octave side. However, the mex paradigms of the makefile project were used to compile / link the corresponding project file into which the mex library was imported[1]. Thanks to this designed tool, circuit netlists manipulated by Octave can be sent to the simulation tool and the results can be transferred to Octave without writing any data to disk.