<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Otomatik Kod U retimi ile Sinyal I_sleme Uygulamalar nda Yeniden Kullan labilirliginin Art r m ve Yaz l m Gelistirme Suresinin Azalt lmas The Improvement of Reusability and Reduction of Software Development Period with Automatic Code Generation in Signal Processing Applications</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Aselsan A.S., REHI</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The algorithm design and software development process are time-dependent processes in software application design. In the algorithm design process, algorithm design engineers set up the algorithms of the application. After the preparation of the algorithms, the software developers begin coding studies. Before coding, the process of learning and understanding algorithms of software developers for algorithms which are prepared in model development tools such as MATLAB extends software implementation period. In this study, it is purposed that software developing period are reduced by generating C++ code from algorithms. Also it is shown that outcomes are obtained by usage of MATLAB Coder.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Giris</title>
      <p>
        Gomulu yaz l mlar n yer ald g cozum mimarilerinde icerilen bilesenler ve
yetenekler ile sistem karmas kl g gun gectikce artmaktad r. Karmas kl g n azalt lmas ve
bilesenler ile moduler bir mimari olusturulmas icin islevlerdeki soyutlama
katman n n dogru yoneltilmesi gerekir. Ayr ca proje teslimat tabanl sistem uretilen
alanlarda yaz l m gelistirme surelerin azalt lmas ve teslimat oncesi on urunlere
h zl bir cozum uretilmesi onemli bir ihtiyac olarak kars m za c kmaktad r.
Sistem, donan m ve yaz l m ortak tasar m ile otomatik kod uretimi icin akademi
ve gomulu yaz l m endustrisinde cal smalar yap lmaktad r [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Otomatik kod
uretimi oncesi yap lan en onemli islemlerden biri farkl tasar m ailelerinde cal san
tasar mc lar n ortak yaz l m tasar m icin gereklerin dogru belirlemesidir [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
Bu sistematik ak s icin MATLAB, Simulink vb. araclar kullan lmaktad r [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Otomatik kod uretimi yapan araclarda donan ma ozgu ozellikleri kullan ma acan
opsiyonlar bulunmaktad r. Gunumuz bilgisayar mimarileri, ozellikle de CPU,
GPU, DSP ve FPGA gibi gelismis bilgisayar mimarileri, kullan c lara donan m
ozgu isler yap labilmesi icin donan ma erisen yaz l m katmanlar ve
fonksiyonlar sunmaktad r. Otomatik kod uretimi sayesinde C, C++, VHDL gibi diller
ile uzun suren yaz l m gelistirmeler yerine haz r kaynak kodlar ve modeller
elde edilebilmektedir [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Bu sayede yaz l m gelistirme s ras nda harcanacak
sistem ogrenme ve anlama suresi buyuk bir oranda k salt l r. Savunma sanayi
endustrisinde sistem muhendisleri, algoritma ve sistem senaryo tasar m yapt ktan
sonra urun modellemesi icin tasar m muhendislerine cal smalar n aktar rlar.
Aktar lan cal sma dogrultusunda yaz l m gelistiriciler tasar m cal smalar icin yol
haritas belirlemeye baslar. Bu aktar m surecinde ogrenme ve anlama suresi,
kisinin bilgi ve becerileri ve alan bilgisine bagl olarak degisebilmekte, sonuc
olarak bir sure harcanmas na neden olmaktad r.
      </p>
      <p>Bu cal smam zda, sistem ve yaz l m tasar mc lar n n daha verimli cal sabilmesi
icin sistem algoritmas ndan otomatik kod uretimi ile yaz l m yap taslar n n elde
edilmesini cal st k. Otomatik kod uretimi cal smalar nda sinyal isleme
uygulamalar n n MATLAB Kodlay c ile haz rlanarak tasarlanmas odak noktam z
olmustur. Otomatik kod uretimi ile elde edilen yaz l m bilesenleri ile elle yaz lan
kodlarla olusturulmus yaz l m bilesenleri aras ndaki islem performans sonuclar
ve yaz l m gelistirme maliyetleri kars last rmal olarak sunulmaktad r. Bu cal sma
bes ana bolumden olusur. Bu makalenin ikinci bolumunde otomatik kod uretimi
ile ilgili yap lan cal smalar hakk nda bilgi verilmektedir. Ucuncu bolumde sinyal
isleme yaz l m yap tas bilesenlerinin MATLAB Kodlay c ile uretilmesi ve yaz l m
yeniden kullan labilirlik icin yap lan cal smalar sunulmaktad r. Dorduncu bolumde
otomatik kod uretimi ile elde edilen kazan mlar gosterilmektedir. Besinci bolumde
otomatik kod uretiminin saglad g avantajlar ve gelecekte yap lacak cal smalar
hakk nda bilgi verilmektedir.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Literatur Cal smas</title>
      <p>
        Otomatik kod uretimi, algoritma modelleme ve tasar m gelistirme cal smalar
yapan rmalarda son y llarda onemi giderek artmaktad r. Otomatik kod uretimi
sonucu uretilen yaz l mlar gomulu ortamlarda da kullan lmas n n yan s ra
Windows, Linux gibi isletim sistemlerinde masaustu uygulamas olarak
sunulabilmektedir. Otomatik kod uretimi sadece C/C++ dilleri ile s n rl kalmay p
Kullan c Arayuz (GUI) Yaz l mlar icin gerekebilecek JAVA tabanl .jar dosyalar n n
da uretilmesini saglayabilmektedir [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Donan m tasar m gelistirme asamas nda
ozellikle VHDL dili ile yap lan gerceklestirmelerde yasanan tasar m gelistirme
maliyetlerinden dolay otomatik kod gelistirme ve yuksek seviyeli sentezleme
kullan m , tasar m gelistirme surelerini iyilestirmeye baslam st r [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        Otomatik kod uretimi model tabanl tasar mlar sayesinde de yap lmaktad r.
Model tabanl tasar mlar UML ile yap larak nesneler aras ndaki iliskiler ve nesne
tabanl tasar mlar, otomatik kod uretimi sayesinde olusturulabilmektedir.
Moreria ve arkadaslar n n yapt g cal smada gomulu sistemler icin UML tasar mlardan
VHDL koduna gecis anlat lmaktad r [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Bu cal sma VHDL ile gelistirmeyi daha
soyut hale getirmis olup kullan c ya bak m ve surdurebilirlik faktorleri ac s ndan
iyilestirme saglam st r.
      </p>
      <p>
        Otomatik kod uretimi ayr ca optimizasyon teknigi olarak kullan labilmektedir.
Cok cekirdekli islemcilerde OpenMP ile veri paralellestirme yap labilmektedir.
OpenMP direkti eri kullan larak paralel cal san kod parcalar uretilebilmektedir.
Membarth ve arkadaslar CPU ve GPU ortamlar nda medikal goruntuleme
uygulamas icin otomatik kod uretim direkti eri kullanm slard r [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Bu cal sma yaz l m
gelistiricilerinin optimizasyon ihtiyac n kars layan yontemleri cal san ve aktaran
bir gosterim sunmaktad r.
      </p>
      <p>
        Web tabanl uygulamalarda son kullan c ya yonelik otomatik kod uretim ve
model gelistirme araclar son zamanlarda ragbet goren bir gelistirmedir.
Akbulut ve arkadaslar , gorsel programlama tabanl son kullan c ya yonelik otomatik
kod uretim arac n tasarlam slard r [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Kullan c dan web tecrubesi aranmadan
gorsel programlama ile otomatik uygulama olusturulabilmektedir. Cal sman n
sonucunda otomatik kod uretimi icin jenerik yaklas m n yerine alana ozel tasar m
yaklas m olmas gerektigi soylenmektedir.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>MATLAB Kodlay c ile Uygulamalar n Gerceklestirimi</title>
      <p>Bu cal smada sinyal isleme yaz l m kon gurasyon birimlerinde yer alan temel iki
uygulamadan bahsedilmektedir.
3.1</p>
      <p>
        Sinyal I_sleme Uygulamalar
Bu cal smada sinyal isleme uygulamas olarak ltreleme yetenegi cal s lmaktad r.
Ayr ca demodulasyon islemleri icin kars last rmalar yap lmaktad r. Filtreleme
sinyal isleme yaz l mlar nda on blok olarak cogu zaman kars m za c kmaktad r
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Ayr ca gonderici taraf ndan modulasyonu yap lm s sinyallerin icinde yer
alan mesajlar n al c tarafta cozulmesi icin uygulanan demodulasyon islemleri cok
say da alt sinyal isleme bloklar icermektedir [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Sekil 1'de cal s lan yeteneklere
ait semalar gosterilmektedir.
      </p>
      <sec id="sec-3-1">
        <title>Sekil 1. Sinyal I_sleme ve Demodulasyon Ad mlar</title>
        <p>3.2</p>
        <p>
          MATLAB Kodlay c Kullan m
MathWorks rmas ozellikle donan m gelistirme uygulamalar icin Simulink
modelden HDL koduna cevrim yapan HDL Kodlay c arac n onceden beri
sunmaktad r [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. O zellikle 2013 y l ndan sonraki MATLAB versiyonlar nda C/C++
kodlay c arac olan MATLAB Kodlay c yaz l m gelistiricilere buyuk kolayl k
saglamaktad r [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Gomulu ortamlar icin cal st r labilir dosyas uretilmis bir
algoritma uygulamas n uretebilmek, sistem muhendislerinin test ortamlar ndaki
cal smalar na katk saglamaktad r. Boylece sistem ve yaz l m muhendisleri ortak
tasar m yaparak son urune yonelik olan yaz l m gelistirmenin suresinin azalt lmas
saglarlar. MATLAB Kodlay c ile otomatik C++ kod uretimi yap l rken,
algoritma parametre boyutlar n n belirlenmesine ve bellek kullan m na dikkat
edilmelidir. U retilen her bir fonksiyon icin MATLAB Kodlay c projesinde hem kaynak
dosyas (.cpp) hem de basl k dosyas (.h) olusturulmaktad r. Sekil 2'de bu
senaryolar anlatan dikkat cekici bir anlat m bulunmaktad r.
        </p>
        <p>Uygulamalar icin kaynak kod jenerik uretilerek platform bag ms z
uygulamalar n cal st r lmas mumkundur. Bu cal smada ltreleme ve demodulasyon
islemleri icin C++ kaynak kodlar otomatik olarak uretilmistir. Filtreleme islemi,
algoritma modellerinde alt ve on sinyal isleme ad mlar nda kullan lmaktad r.
Ayr ca cesitli sinyal isleme projelerinde kullan ld g icin ltreleme yaz l m yap tas
sayesinde cok say da urunde yeniden kullan labilirlik saglanmaktad r. Filtreleme
islemi ozellikle cok say da kompleks vektor carp m icerdigi icin dikkatli ve
optimize yaz lmas gerekmektedir. MATLAB Kodlay c sayesinde bu islem hem
h zl hem de daha sade olmustur. Demodulasyon islemlerinde cok say da alt
islem ve ard s k ak slar oldugu icin sadece yaz l m tecrubesi olan gelistiricilerde
ogrenme ve anlama surecinin yasanmas na neden olmaktad r. Otomatik kod
uretimi sayesinde algoritma ve model soyutlama yetenegi, bu surecte yaz l m
tasar m muhendislerine katk saglamaktad r. Alan bilgisi olmadan sadece yaz l m
tecrubesi ile demodulasyon uygulamas n n gerceklestirimi h zland r labilmektedir.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Sekil 2. MATLAB Kodlay c ile Otomatik Kod Uretimi Sureci</title>
        <p>4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Testler ve Sonuclar</title>
      <p>MATLAB Kodlay c ile otomatik kod uretiminin getirmis oldugu kazan mlar ,
testler ile pekistirmek amaclanm st r. Bu bolumde otomatik kod uretimi ile
uretilmis kaynak kodlardan elde edilen uygulamalar n cal sma zaman
performans ile ayn islemler icin elle kod yaz larak gerceklestirilmis uygulamalar n
performans kars last r lmaktad r. Otomatik kod uretimi ile gerceklestirilen
uygulamalar icin harcanan gelistirme sureleri farkl algoritmalar icin aktar lmaktad r.
Cal smada kullan lan gelistirme ortamlar ve araclar Tablo 1'de verilmektedir.</p>
      <p>Tablo 1. Testler icin gelistirme ortamlar
Gelistirme Ortam Amac
MATLAB 2015b Algoritmalar icin gelistirme ortam saglamaktad r.
MATLAB Kodlay c Algoritma modelleri C++ kodlara cevirmektedir.</p>
      <p>Visual Studio C++ Derleme ile kodlardan uygulamalar olusturur.</p>
      <p>
        Performans olcumlerinde test grubu olarak cesitli algoritma fonksiyonlar
kullan ld . Tablo 2'de algoritmalar n elle yaz larak C++ kodu gelistirilmesi ile
otomatik olarak uretilen C++ kodundan olusturulan uygulamalar n islem
performans kars last r lmaktad r. Gercek zamanl ust s n r islem suresi 1 sn'dir. Girdi
vektor uzunlugu 1 sn'lik ornek adedidir. Algoritma performans kars last rmalar na
bak ld g nda otomatik kod uretimi haz rlanm s uygulama ile elle yaz lm s C++
uygulamalar na gore h zlanma gozlemlenmektedir. O zellikle ltreleme islemi icin
7.5 kat h zlanma goze carpmaktad r. Fakat frekans demodulasyon isleminde
MATLAB Kodlay c kullan ld g nda h zlanma yerine yavaslama soz konusudur.
Kod analiz arac ile bak ld g nda MATLAB Kodlay c 'n n urettigi FFT kodlar
jenerik tan mlama yap ld g icin islem suresi FFTW Kutuphanesi fonksiyonlar na
gore uzun surmektedir [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. Visual Studio C++ 2015 gelistirme ortam nda ilgili
kaynak kodlardaki FFT fonksiyonu FFTW fonksiyonu ile degistirilerek frekans
demodulasyondaki islem suresi azalt lm st r. MATLAB Kodlay c 'dan dogrudan
uygulama olusturmak yerine uretilmis kaynak kodlardan baska bir cal sma
zaman nda Visual Studio vb. ortamlarda uygulamalar olusturmak performans
faktoru ac s ndan etkili olmaktad r.
      </p>
      <sec id="sec-4-1">
        <title>Tablo 2. Otomatik Kod Uretimi ile I_slem Performans Kazan mlar .</title>
        <p>Algoritma Manuel Uygulama Otomatik Uygulama H zlanma
Filtreleme 24.675 ms 3.456 ms 7.5x
Genlik Demodulasyon 41.034 ms 27.631 ms 1.5x
Frekans Demodulasyon 326.754 ms 356.323 ms 0.9x
Faz Demodulasyon 18.732 ms 12.128 ms 1.5x
Sadece yaz l m tecrubesi ile karmas k algoritma modellerinin ve
fonksiyonlar n n alan bilgisi olmadan urune yonelik uygulamalar olusturmak otomatik kod
uretimi sayesinde h zlanmaktad r. Otomatik kod uretim arac kullan lmad g
zaman uygulamay gerceklestirme zaman kisiye bagl degiskenlik gostermektedir.
Tablo 3'te iki yaz l m gelistiricisinin algoritmalar icin tasarlam s olduklar
uygulama yaz l mlar n n gelistirme esnas nda harcad klar zaman ve sadece yaz l m
tecrubesi olan bir gelistiricinin MATLAB Kodlay c ile gelistirilen uygulamalar
icin harcad g sure kars last r lmaktad r. Tablo 3'te goruldugu uzere MATLAB
Kodlay c ile gelistirme sureleri kayda deger bir sekilde dusmektedir. Yaz l m
gelistirme maliyetlerinde iscilik faktoru ac s ndan bireysel kars last rma ile
maksimum 5 insan ay kazanc, minimum 2.5 insan ay kazanc saglan r. Filtreleme ve
demodulasyon yap taslar cok say da islemde alt veya on islem olarak cagr lmaktad r.
Filtreleme yaz l m yap tas icin yeniden kullan labilirlik dikkate al nd g nda 34
adet islemde yeniden kullan labilirligi gorulmustur. Demodulasyon yaz l m yap tas
ise 16 adet islemde kullan lmaktad r. Filtreleme sinyal islemede cok kullan lan
bir metot oldugu icin sinyal isleme yaz l mlar nda bu kadar yuksek kullan m
beklenen bir durumdur. Demodulasyon islemi yetenege ozel bir is oldugu icin
ilgili demodulasyon yeteneklerinde kullan lmaktad r.</p>
        <p>Tablo 3. Yaz l m Gelistirme Maliyetlerinin Kars last r lmas
I_scilik Suresi
Otomatik kod uretimi sayesinde yaz l m gelistirme maliyetleri iscilik ac s ndan
azalt lm s olup ozellikle h zl prototip ve modelleme yap lan birimlerde ceviklik
artt r lm st r. I_scilik surelerin azalmas ozellikle surekli urun teslimat yapan
yaz l m gelistiriciler icin buyuk fayda saglamaktad r. MATLAB gelistirme
ortam kullan larak tasarlanan algoritma ve modeller baska is gucune ihtiyac
duymadan MATLAB Kodlay c ile dogrudan C++ kodlar na cevrilebilmekte boylece
olusabilecek yaz l m gelistirici hatas n n onune gecilmektedir. Testlerdeki
bulgulara gore otomatik kod uretimi ile yap lan uygulamalar elle yaz lan
uygulamalara gore h zl cal smaktad r. Olusturulan yap taslar sayesinde cesitli alan
projelerinde yeniden kullan labilirlik ve urun hatt yaklas mlar
uygulanmaktad r. MATLAB Kodlay c ile yap lan tasar mlar n saglad g en onemli avantaj,
sistem ve yaz l m muhendisligi sureci ortak yap larak yaz l m mimarisinin urune
ait sistem mimarisinden turetilmesidir.</p>
        <p>Jeneriklik goz onunde bulundurularak otomatik kod uretimi ile elde edilen
kaynak kodlar sayesinde ayn kaynak kodlar isletim sistemi bag ms z
uygulamalar icin kullan labilmektedir. I_sletim sistemi bag ms z yap tas haz rlanarak
yeniden kullan labilirlik saglanm s olmaktad r. Kod uretilirken bellekler dinamik
ac ld g icin bu durum kritik sistemlerde performansa olumsuz etki yapar. Bellek
yonetimi, MATLAB modellerinde hiyerarsik bir yap da ve yerinde bellek
kullan m ile ele al n rsa C++ kodlar na cevrimde daha az bellek alan kullanan kod
parcalar uretilebilir. Gelecekte, optimizasyon ihtiyac olan uygulamalarda
MATLAB Kodlay c ile kod uretilirken nas l bir yaklas m sergilenecegi ele al nacakt r.
Otomatik kod uretimi ile sistem-yaz l m sureci kural haline getirilerek yeni bir
yaz l m mimarisi yonteminin cal s lmas hede enmektedir.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Katk</title>
    </sec>
    <sec id="sec-6">
      <title>Belirtme</title>
      <p>Bu cal smaya testler asamas nda katk s olan ekip arkadaslar m Fehmi Emre
KADAN ve Batuhan Mert SEVEROGLU'na tesekkur ederim.</p>
    </sec>
    <sec id="sec-7">
      <title>Referanslar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Di</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>CPSiCGF: A code generation framework for CPS integration modeling</article-title>
          , Microprocessors Microsystems, v.
          <volume>39</volume>
          n.8, p.
          <fpage>1234</fpage>
          -
          <lpage>1244</lpage>
          ,
          <year>November 2015</year>
          . https://doi.org/10.1016/j.micpro.
          <year>2015</year>
          .
          <volume>05</volume>
          .010
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Akdur</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garousi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          , Demirors, O.:
          <article-title>A survey on modeling and model-driven engineering practices in the embedded software industry</article-title>
          ,
          <source>Journal of Systems Architecture</source>
          ,Volume
          <volume>91</volume>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>P.</given-names>
            <surname>Banerjee</surname>
          </string-name>
          et al.,
          <article-title>"A MATLAB compiler for distributed, heterogeneous, recon gurable computing systems,"</article-title>
          <source>Proceedings 2000 IEEE Symposium on FieldProgrammable Custom Computing Machines (Cat. No.PR00871)</source>
          , Napa Valley, CA, USA,
          <year>2000</year>
          , pp.
          <fpage>39</fpage>
          -
          <lpage>48</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. D. de Niz, G. Bhatia and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rajkumar</surname>
          </string-name>
          ,
          <article-title>"</article-title>
          <source>Model-Based Development of Embedded Systems: The SysWeaver Approach," 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06)</source>
          , San Jose, CA, USA,
          <year>2006</year>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>242</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>R.</given-names>
            <surname>Selvamuthukumaran</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Gupta</surname>
          </string-name>
          ,
          <article-title>"Rapid prototyping of power electronics converters for photovoltaic system application using Xilinx System Generator," in IET Power Electronics</article-title>
          , vol.
          <volume>7</volume>
          , no.
          <issue>9</issue>
          , pp.
          <fpage>2269</fpage>
          -
          <lpage>2278</lpage>
          ,
          <year>September 2014</year>
          . https://doi.org/10.1049/iet-pel.
          <year>2013</year>
          .0736
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>J. Sanchez</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Dormido</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Pastor</surname>
            and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Morilla</surname>
          </string-name>
          ,
          <article-title>"A Java/Matlab-based environment for remote control system laboratories: illustrated with an inverted pendulum,"</article-title>
          <source>in IEEE Transactions on Education</source>
          , vol.
          <volume>47</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>321</fpage>
          -
          <lpage>329</lpage>
          , Aug.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Y. P.</given-names>
            <surname>Siwakoti</surname>
          </string-name>
          and
          <string-name>
            <given-names>G. E.</given-names>
            <surname>Town</surname>
          </string-name>
          ,
          <article-title>"Design of FPGA-controlled power electronics and drives using MATLAB Simulink," 2013 IEEE ECCE Asia Downunder</article-title>
          , Melbourne,
          <string-name>
            <surname>VIC</surname>
          </string-name>
          ,
          <year>2013</year>
          , pp.
          <fpage>571</fpage>
          -
          <lpage>577</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>T. G.</given-names>
            <surname>Moreira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Wehrmeister</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. E.</given-names>
            <surname>Pereira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Petin</surname>
          </string-name>
          and E. Levrat,:
          <article-title>"Automatic code generation for embedded systems: From UML speci cations to VHDL code,"</article-title>
          , IEEE International Conference on Industrial Informatics, Osaka,
          <year>2010</year>
          , pp.
          <fpage>1085</fpage>
          -
          <lpage>1090</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>R.</given-names>
            <surname>Membarth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hannig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Teich</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Korner and</article-title>
          <string-name>
            <given-names>W.</given-names>
            <surname>Eckert</surname>
          </string-name>
          ,
          <article-title>"Generating Devicespeci c GPU Code for Local Operators in Medical Imaging,"</article-title>
          <source>2012 IEEE 26th International Parallel and Distributed Processing Symposium</source>
          , Shanghai,
          <year>2012</year>
          , pp.
          <fpage>569</fpage>
          -
          <lpage>581</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Patlar</given-names>
            <surname>Akbulut</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            , Koseokur, H.,
            <surname>Catal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Akbulut</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Son Kullan c Gelistirme icin Otomatik Kod Uretim Arac n n Tasar m ve Gerceklenmesi</article-title>
          .
          <source>Deu Muhendislik Fakultesi Fen ve Muhendislik</source>
          .
          <volume>19</volume>
          .
          <fpage>76</fpage>
          -
          <lpage>88</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>T. D. Tran</surname>
            , Jie Liang and
            <given-names>Chengjie</given-names>
          </string-name>
          <string-name>
            <surname>Tu</surname>
          </string-name>
          ,
          <article-title>"Lapped transform via time-domain preand post- ltering,"</article-title>
          <source>in IEEE Transactions on Signal Processing</source>
          , vol.
          <volume>51</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>1557</fpage>
          -
          <lpage>1571</lpage>
          ,
          <year>June 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>K.</given-names>
            <surname>Murota</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Hirade</surname>
          </string-name>
          ,
          <article-title>"GMSK Modulation for Digital Mobile Radio Telephony,"</article-title>
          <source>in IEEE Transactions on Communications</source>
          , vol.
          <volume>29</volume>
          , no.
          <issue>7</issue>
          , pp.
          <fpage>1044</fpage>
          -
          <lpage>1050</lpage>
          ,
          <year>July 1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. HDL Kodlay c Ana Sayfas , https://uk.mathworks.com/products/hdl-coder.
          <source>html. Son erisim 09 Ekim</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. MATLAB Kodlay c Ana Sayfas , https://www.mathworks.com/products/matlabcoder.html
          <source>Son erisim 09 Ekim</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>FFTW</surname>
          </string-name>
          <article-title>Kutuphanesi Ana Sayfas</article-title>
          , http://www. tw.org/.
          <source>Son erisim 09 Ekim</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>