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

  • 4 hafta önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 681 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

  • 1 ay önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 374 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)

Sinyallerimdeki Şeytanlar – Fourier Transform

  • 4 ay önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 438 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)

Cyclic Redundancy Check (CRC Control)

  • 3 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 533 Kişi Okudu

Haberleşmede toplu veri transferinin vazgeçilmezi olan CRC oldukça faydalı ve onay görmüş bir hata tespit etme yöntemidir. Modbus CanBus ve bir çok haberleşme paketlerinde kullanılan bu yapı veride bozulma varsa bunu tespit etmemize yarıyor. Genellikle 8, 16, 32 bit olarak hesaplanan türlerinden ziyade 15 bitlik halde hesaplanan durumlarda mevcut. Bende CRC ye tasarlayacağım haberleşme paketinde ihtiyaç duydum. Büyük verilerin transferinde CRC şiddetle öneriliyormuş. (Devamını Oku)

C – Dynamic Memory Allocation

  • 3 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 598 Kişi Okudu

Bu yazıda Dynamic Memory Allocation yani “Dinamik bellek tahsisi” konusundan bahsedeceğim. “Dinamik bellek yönetimi, Dinamik dizi tanımlama” gibi tanımlamalarda bu konunun içinde olacak. Konunun amacı bellekte bizim belirlediğimiz boyutta programımıza özel bir hafıza alanı ayırıp kullanmak ve gerekirse bu alanı genişletebilmek daha sonra işimiz bittiğinde alanı temizleyip serbest bırakmak. (Devamını Oku)

Paket Algoritması

  • 3 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 308 Kişi Okudu

cs161logoÖzellikle MCU haberleşmelerinde kullanılan bir takım haberleşme protokollerinde sabit bir veri bloğunun gönderilmesi ve gönderilmekten ziyade bu verilerin kontrol edilmesi bir hayli zor.

Bunun için çeşitli algoritmalar olmakla birlikte en çok kullanılan yöntemlerden biri paket yöntemidir.Paket yöntemi haberleşen 2 tarafında bildiği bir yapıdan oluşmaktadır.Bu pakette çeşitli başlangıç, bitiş ve kontrol bytelar’ı bulunur.Benim kullandığım paket yapısı şöyledir.
(Devamını Oku)

C++ ile Diskriminant

  • 3 sene önce, Baran EKREM tarafından yazılmıştır.
  • 0 Yorum
  • 623 Kişi Okudu

2Algoritmalar dersinde hocamız yazılım olarak C++ kullanmakta.Ben daha önce C ile çalışmama rağmen C++ kullanmamıştım.Yine zor değil fakat nesneye yönelik programlama olduğunu unutmamak gerekir.Yapıyı oturtmak için basit bir 2.dereceden denklemin köklerini bulan bir yazılım hazırladım. Diskriminant yöntemi ile çözüm yapıyor ve oldukça basit. (Devamını Oku)