Mühendislik Bitirme Tezi – 1.Bölüm – “Çok Kötü Bir Fikir!”

  • 1 ay önce, Baran EKREM yazdı.
  • 0 Yorum
  • 178 Kişi Okudu

Bu yazı dizisine başlarken sizlere direk olarak son sahneyi söylemek istiyorum. “Sonsuza dek mutlu yaşadılar…” cümlesi kulağa oldukça güzel geliyor dimi ? Tabiki böyle bir şey olmayacak. Kim bilir bu bitirme tezi başka hangi projelerin kapısını açacak ve kaç farklı başarısız fakat tecrübe dolu sonuçla karşılaşmamızı sağlayacak. Bu yazı dizisinde hem teknik hemde kitap okurcasına bir hava yaratmak adına yazım dilini sohbet tadında tutacağım. Ayrıca bu çalışmanın bir “Elektronik ve Haberleşme Mühendisliği Öğrencisinin Tezi” olarak değil, “Bölüm Sonu Canavarı” olarak isimlendirmek daha doğru olacaktır. Bu bölüm sonu canvarını için son sınıfta olduğuma göre hazırım ve tez fikrini belirlemem gerekiyor. Fikir aslında uzun zamandır aklımda fakat oldukça fazla bileşen olacağından ve daha önce hiç fiziksel olarak gerçeklemediğim bir alan olduğundan dolayı kafamda çok fazla soru işareti var diyebilirim. Aslında bu konuda biraz ilerleme kaydettim hatta kaydettik. Şimdi yazarken fark ettimde anlatacak o kadar çok şey birikmiş ki oldukça uzun bir hikaye olacak gibi duruyor. Neyse en iyisi siz bir bardak çay yada kahve hazırlayın bende size henüz yeni başlamış fakat uzun ve heyecanlı bir hikaye anlatayım.
(Devamını Oku)

Açık Kaynak ARM Geliştirme Ortamı – VS Code/CMake/GCC/OpenOCD/Nuvoton

  • 8 ay önce, Baran EKREM yazdı.
  • 0 Yorum
  • 1.050 Kişi Okudu


Uzun süre çeşitli MCU’lar IDE’ler ve çeşitli derleyiciler kullanmış biri olarak geliştirme ortamının mikrodenetleyici programlayan biri için en önemli şey olduğunu söyleyebilirim. Özellikle 8-biti hariç tutup 32-Bit ARM tabanlı mikrodenetleyiciler ile çalıştığınızda farklı geliştirme ortamları ve derleyiciler ile çalışmak platform bağımsızlınızı ve esnekliğinizi kısıtlıyor. Uzun süre çeşitli geliştirme ortamlarını kullandıktan sonra Visual Studio Code önerisi almam üzerine bu editörde geliştirme ortamı kurmaya karar verdim. VS Code aslında kapsamlı bir Editör olsa da bazı eklentiler ve harici derleyici kurulumu ile hem bir derleme ortamı hem de hata ayıklayıcı özelliği kazanabiliyor. Bu  yazıda VS Code ve GCC kullanarak ARM tabanlı mikrodenetleyiciler ile geliştirme ortamı kurulumunu tamamlayıp sonuçlar üzerinden karşılaştırma yapalım. O halde lafı daha fazla uzatmadan kuruluma geçelim. (Devamını Oku)

DSP Notları : Filtreler – 1 – Finite Impulse Response

  • 3 sene önce, Baran EKREM yazdı.
  • 1 Yorum
  • 5.809 Kişi Okudu


Bir önceki yazı dizisinde filtreler konusuna bir giriş yapmış ve seriyi temel bir uygulama ile sonlandırmıştık. Bu yazı serisinde filtreleme konusuna biraz daha derinlemesine girmeyi hedefliyorum. Önceki serilerde teoriden sıkılan okuyucular son yazıdaki uygulamayı görünce bir hayli sevinmiş ve güzel geri dönüşler yapmışlardı. Sanırım teori ve pratiğin bu şekilde birleştiğini görmek okuyuculara matematiğin aslında bu kadar soyut olmadığını ve mühendisliği dolaylı olarak değil doğrudan etkilediğini gösterdi. Artık soyut ve oldukça korkutucu gözüken matematiğin gerçekte böyle olmadığını anladığımıza göre filtreleme konusunu daha deri bir şekilde inceleyebiliriz. Başlamadan önce bir konuyu dile getirmem gerekiyor. Bu yazı serilerini okurken, “Buna ihtiyacımız olmayacak çünkü Matlab bu işleri bizim için yapıyor.” gibi bir ifadeyi kullanmakta oldukça haklı olabilirsiniz fakat bizim amacımız bu işin mantığını ve temelini anlamak hatta daha da öte bir gereksinim olan ve mühendislik yapmak için ihtiyaç duyduğumuz muhakeme yeteneğini geliştirmek, buradaki birincil amacımızdır. Ek olarak filtreleme konusunda karşılaşacağımız zorlu problemlerde, iyi bir alt yapının faydasını göreceğinizi garanti edebilirim. Eğer hazırsanız zihnimizi çok yumuşak bir filtreden geçirelim. (Devamını Oku)

İstenmeyene Göğüs Gerenler : Filtreler – 3 – Sinyal İşleme Uygulaması

  • 4 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 3.767 Kişi Okudu


Evet sanırım artık beklediğiniz yazı geldi. Bunca matematik ve onlarca çalışmadan sonra artık bu işin ekmeğini yeme zamanının geldiğini düşünüyorum. Özellikle sinyal işlemede çok özel bir yeri olan “Filtreleme” konusu barındırdığı sihirli matematik ile beni ciddi anlamda büyülemiştir. Bir filtre tasarlamanın birden fazla yolu olması, kalite faktörü, filtrenin cevabı gibi bir çok ayrıntıyı içinde barındırsa da bunların çok da zor olmadığını az çok gördük. Eğer işin temelini anladıysanız gelin sonra bir uygulama ile bu yazı dizisini tamamlayalım. (Devamını Oku)

N. Dereceden Polinomun Kökleri : Bairstow’s Method

  • 4 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 3.007 Kişi Okudu

Her şey 2 hafta önce girdiğim “Sayısal Çözüm Yöntemleri” dersinde hocamın “n. dereceden bir polinomun tüm köklerini bulacağız.” demesiyle başladı. Şimdi bu cümlede 3 tane gizli ayrıntı var. Bunlardan ilki bu işleri tamamen nümerik tekniklerle yapacak olmamız. Bu ilk adım pek kafamızı karıştırmıyor çünkü aklımıza ilk gelen yöntem, bir epsilon hatasına kadar döngüyü tekrarlamak.

İkincisi bu kökler içinde sanal köklerinde barınacağı. Bu bizim için sorun değil bunun sebebi kompleks köklerin formülünü biliyor olmamız. Gördüğünüz gibi hala korkacak bir şey yok!

Üçüncüsü ve benim kafam en çok meşgul eden ise bu polinomun derecesinin sabit değil n. dereceden olması! Evet bu cümlenin arkasında yatan zorluğun ne olduğunu şimdi rahatça görebiliyoruz dimi? Bazı dereceleri hesaplamak kolay. Mesela 1, 2, 3 hadi 4 olsun. Peki 10, 15 hatta 50. derece olduğunu düşünün. Kısacası bize n. dereceden bir polinomun tüm köklerini bulan çok güçlü bir algoritma gerekiyor. Merak etmeyin bunu yapan bir matematiksel modele sahibiz. Bu modeli geliştiren Leonard Bairstow’a bir teşekkürü borç biliriz. O halde hazırsanız Bay Bairstow’un bu ulvi matematiksel modelini biraz olsun inceleyerek anlamaya çalışalım. Hatta bunu yazılımsal hale getirip işleri daha kolaylaştıralım! (Devamını Oku)

Sinsi Bir İntegrasyon Tekniği : Weierstrass Substitution

  • 4 sene önce, Baran EKREM yazdı.
  • 2 Yorum
  • 2.830 Kişi Okudu

Bildiğiniz üzere mühendisin en güçlü silahı olan matematik, beraberinde bir takım güçlükler getirir. Bunlar kimi zaman diferansiyel denklemler, kimi zaman ise gördüğümüzde elimizi kolumuzu bağlayan integral problemleri olur. Üzerinde duracağımız integral problemleri için genellikle fazla bilinmeyen ve üniversitede kısaca görülen “Weierstrass Substitution” tekniği, trigonometrik ifadeler içeren integral problemlerini çözmek adına büyük bir silah olarak kullanılır. İçerisinde bir veya birden fazla trigonometrik ifade bulunduran ve oldukça basit gözüken bir takım integral problemlerini çözmeye çalıştığınızda göreceksiniz ki elinizde bildiğiniz bir çözüm tekniği kalmayacak. Merak etmeyin küçük bir joker hakkınız var. Hadi gelin ve birlikte bu enteresan gizli silahı keşfedelim. (Devamını Oku)

Sinyallerimdeki Şeytanlar – Fourier Transform

  • 4 sene önce, Baran EKREM yazdı.
  • 1 Yorum
  • 3.083 Kişi Okudu


Bu yazıda Joseph Fourier’in bulduğu “Fourier Dönüşümü” adlı, bir hayli ilginç olan ve mühendislik öğrencilerinin birlikte yatıp kalktığı bu konuya giriş yapacağız. Bu konuya girmeden önce üzerine düşüneceğimiz başka bir problem var. Normal de sinyallerimizi zaman bağlı örnekler ve bunları işlemek için uğraşırız. Zamana bağlı bir sinyalde bildiğiniz üzere sadece (t) anındaki (Genliği) elde edebiliriz. Geometrik olarak bir x(t) değerine karşın bir y(Genlik) değeri olur. Bu oldukça basit öyle değil mi ? Şimdi asıl soruna gelelim. Elimizdeki sinyalin içinde hangi frekans bileşenlerinin olduğunu öğrenmek isteydik ne yapacaktık ? Koordinat düzleminde x yerine frekans’ın olmasını istiyoruz. O halde frekans düzlemine ışınlanalım ! (Devamını Oku)

İstenmeyene Göğüs Gerenler : Filtreler – 2 – Bilinear Z Transform (Tustin Transform)

  • 4 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 3.475 Kişi Okudu


Yine bolca matematik içeren bu yazıda filtrelerin dijital hallerine giriş yapacağız. Özellikle dijital kontrolün kalbi olan bu filtreler beraberinde çözülmesi gereken bir takım sorunları da yanında getirecek. Bir analog filtrenin dijital karşılığını modelleyeceğimiz bu yazının aklımızdaki bir çok soru işaretini gidereceğini düşünüyorum. Matematiksel dönüşümler, bilgisayar analizleri ve programlama kısmında yapılan optimizasyonlar gibi konulara da değineceğimiz bu yazıda yapılacak çok iş var. Hazırsanız başlayalım. (Devamını Oku)

FPGA Günlükleri – Clock Division

  • 4 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 2.367 Kişi Okudu

Bir önceki yazılarda dijital temelleri hatırlarken artık zamanlama işlerine de girmem gerekiyor diye düşünüyordum. Artık vakit geldi. Olayın teorisi oldukça basitmiş. Bildiğiniz sayıcı tasarlıyoruz. Her arttırma 1 Clock’da yapılsın. Bunu yükselen kenar olarak yapalım. Her yükselen kenarda sayıcıyı 1 arttıralım. 50 MHz kristal için 50 milyona kadar saydığımızda 1 saniye geçmiş olacak. Bu sayma işlemlerini farklı sayaçlarda yaparak farklı zamanlama çıktıları elde edeceğiz. Hadi zamanı bükelim! (Devamını Oku)

FPGA Günlükleri – 8 Bit Multiplexer

  • 4 sene önce, Baran EKREM yazdı.
  • 0 Yorum
  • 2.212 Kişi Okudu

Bir çok dijital devrede birden fazla sinyal arasından birini seçip ilgili yere yönlendirmek adına kullanılan Multiplexer yani Çoklayıcılar çok fazla kullanacağımız yapılar. Bu yapıları “Seçici” dendiğini de duyabilirsiniz. Teori oldukça basit. Giriş sinyalleri X(n) olsun. Çıkış sinyali Y olur. Seçim sinyallari ise S() ile belirtelim. Örnek olarak 2 adet giriş sinyalinde birini çıkışa yönlendirmek için 1 adet S() sinyali gerekir. 4 Giriş varsa bundan birini seçmek için 2 Sinyal gerekir. Yani 2^s = x olarak formül haline gelir. MUX tasarımında temel başlangıç için tüm x ve s durumlarını yazarız. 8 Bit için çok fazla yacağız gibi. Merak etmeyin bir kestirme biliyorum. Hadi başlayalım. (Devamını Oku)