SimpleDSP: IIR Filter Feature Added

SimpleDSP SimpleDSP is a basic DSP library which is for Arduino and most of the microcontrollers which can be programmed in C/C++ Performance: Here is some examples for its performance. Actually it is not optimized for performance. Its main focuses are portability and education. Arduino Nano FFT 16 points: 2 ms FFT 32 points: 6 ms FFT 64 points: 16 ms fir filter 10 coefficients: 190 us fir filter 23 coefficients: 453 us fir filter 46 coefficients: 900 us 10 coefficients FIR filter can be run at 5khz max frequency on an Arduino Nano. ...

January 23, 2019 · 4 min · M.Ozan Unal

[TR] Orange Pi Zero Üzerinde Dump1090 Çalıştırmak

Herkese merhabalar, Bugünkü yazımda dump1090 programını nasıl bir orange pi zero üzerinde çalıştırabiliriz ondan bahsedeceğim. Bildiğiniz gibi dump1090 sdr kullanarak uçakların adsb yayınlarını çözmeye yarayan bir kod parçası. Bu projeyi gerçekleştirdiğim mini pc olarak orange pi zero seçmemin sebebi ise maliyeti ve kompaklığı. 5-10 dolara satın alınabiliniyor ve boyutları gerçekten küçük. Rtlsdr Sürücüsünün Kurulması Ben orange pi zeroyu armbian işletim sistemi ve mainline kernel ile kullanıyorum. Sistemde uname -a çalıştırdığımda aldığım çıktı aşağıdaki gibi: ...

August 20, 2018 · 2 min · M.Ozan Unal

[TR] GNU Radio Giriş

Herkese Merhabalar, Gnu Radio son zamanlarda keşfetmekten en çok keyif aldığım program olabilir. İlk defa duyanlar için özetlemem gerekirse içerisinde sinyal işleme ve sayısal haberleşme araçları toplanmış görsel programlama editörü. Sinyal dosyadan veya daha önce bahsettiğim SDR isimli cihazlardan alınabiliyor. Alınan sinyaller sayısız çeşitlilikte araçlar ile işlenebiliyor. Coding, modulasyon, demodulasyon gibi haberleşme işlemlerini sürükle bıraklarla kolayca uygulamak mümkün. Programı kurduktan sonra bizi ilk olarak aşağıdaki gibi bir ekran karşılıyor. Sağ tarafta program içerisindeki araçları görebilirsiniz. Hepsi aslında belli işlevi olan bir kutu. Sürükleyerek yapmak istediğimiz operasyonu gerçekliyoruz. ...

March 19, 2018 · 2 min · M.Ozan Unal

[TR] SimpleDSP: FIR filtreleme özelliği eklendi

Herkese Merhabalar, Bildiğiniz gibi gömülü sistemlerde kullanılabilecek basit bir DSP kütüphanesi geliştirmeye çalışıyorum son olarak FIR filtreleme özelliğini bu kütüphaneye ekledim. FIR filtre ile alçak geçiren, yüksek geçiren, band geçiren veya durduran filtreler tasarlayabilirsiniz. FIR filtreler yapısı gereği hep stabil filtrelerdir. Bu nedenle bir kararlılık analizi gerektirmeden kullanılabilirler. Ayrıca wiki sayfasını kesinlikle ziyaret etmenizi tavsiye ederim orada Matlab veya Octave kullanarak nasıl filtreyi tasarlayacağınız. Filtreyi nasıl kullanacağınız ve karakteristiğini nasıl görselleyebileceğinize kadar bir çok bilgi bulunmakta. Ziyaret etmek için tıklayın. ...

April 7, 2017 · 5 min · M.Ozan Unal

[TR] SimpleDSP: Gömülü Sistemler için DSP Kütühanesi

Herkese Merhabalar, Bu yazımda gömülü sistemler için yazdığım sayısal isaret isleme kütüphanesini tanıtacağım. Kütüphanenin tamamını “C” kullanarak ve harici bir kütüphaneye bağlı kalmadan yazmayı planlıyorum. Böylece diğer mikrokontolcülerde de rahatça kullanılabilecek. Hatta bilgisayar programlarında bile kolayca eklenip derlenebilecek şekilde projeyi tamamlamak istiyorum. Bu kütüphane kapsamında çözüm sağlamak istediğim konular şunlardır. FFT ters FFT Hartley transform FIR filtre IIR filtre Basit “moving avarage”, “smoothing” filtreleri Ayrıca her fonksiyon için: Teorik olarak yapılan iş Deneme, ölçüm ve filtre katsayısı hesabı için gerekli Matlab veya Octave kodu. Farklı islemcilerle performansı Örnek Grafikler gibi kaynakları hazırlamayı planlıyorum. Proje tamamen açık kaynaklı olarak sürdürülecektir. Siz de github üzerinden projenin herhangi bir aşamasına katkıda bulunabilirsiniz. Projenin ismini “SimpleDSP” olarak seçtim. Çünkü yapmak istediğim olay Digital Signal Processing olayını gömülü ve gerçek zamanlı sistemlerde kolaylaştırmak ve projelerde basit bir şekilde eklenebilmesini sağlamak. Şu an itibariyle FFT ve ters FFT fonksiyonlarını yazdım arduino kütüphanesi haline getirdim ve örnek kodlarını oluşturdum. Bahsettiğim ayrıntılara aşağıdan ulaşabilirsiniz. https://github.com/mozanunal/SimpleDSP/wiki/FFT-IFFT ...

January 26, 2017 · 1 min · M.Ozan Unal

PassFace: Face Recognition Using OpenCV

Hi, PassFace is a face recognizing program develop using EmguCV (OpenCV wrapper). It is possible to use 4 different algorithm and 3 different source(Camera, Video, Image) in this program. Most of the tryings have been made using LFW data set which have 13000 pictures of 1500 different people.Details of project can be reached below: Source Code: https://github.com/mozanunal/PassFace {% youtube d6LI42NEZZY? %} 1. Introduction Definition of the Problem In this project, a program is going to develop to recognize the faces and compare them the faces it learned and give the identity of the person. All this identifying system is going to work in real time. Main subjects in this project are image processing and machine learning. Project aim to develop some algorithm to detect faces specifically recognize the faces using pattern recognition algorithms. The number of faces and the equipment needed is going to be determined according to test of different algorithms. ...

June 4, 2016 · 8 min · Mehmet Ozan Ünal

[TR] SimpleCV ile Görüntü İşlemeye Giriş

Herkese Merhabalar, Görüntü işleme hızla popülerleşen ve gittikçe daha fazla üzerine projeler geliştirilen ve hatta hayatımızda kullandığımız araç gereçlerde kullanılan bir alan olmaya başladı. Bu durumda bir sürü insan bu konu üzerine bir şeyler yapmak istiyor fakat daha kurulum aşamasında veya kaynak yetersizliğinden dolayı bu ilgilerinden vazgeçiyorlar. Bu sorun için önerebileceğim bir çözüm var. SimpleCV! https://simplecv.org/download/ SimpleCV görüntü işlemeyle alakalı paketlerin bir arada toplandığı bir python paketler bütünüdür. yukarıdaki linkten kurulum dosyasını indirip sadece bir kaç tık ile kurabilirsiniz. SimpleCV ile yüklediğimiz paketler ise şöyle: ...

May 1, 2016 · 8 min · Mehmet Ozan Ünal

[TR] RF Mesafe Hesaplama Exceli

Merhaba Arkadaşlar, Bugünkü yazımda bir radyo modülünün teorik olarak ne kadar uzaklıkta çalışabildiğini hesaplayan projemi paylaşacağım. Amacım haberleşme modülleri seçilirken kolayca karşılaştırmalar yapılabilecek basit bir hesaplama ortamı oluşturmaktı. Bu tarz işler için en uygun program olduğunu düşündüğüm Excel programını kullandım. Öncelikle bu hesabı anlamama şuradaki link çok yardımcı oldu. Öncelikle onu incelemenizi tavsiye ederim. Oradaki bilgileri kısaca özetleyecek olursam: İlk olarak mesafeyi temel olarak etkilen 2 kavram var. Birincisi vericinin çıkış gücü, ikincisi ise alıcının alış hassasiyeti. Özellikle 2. etken sık sık önemi unutulan konulardan biri. Genelde aktarılan veri akış hızının artmasıyla alış hassasiyeti düşmektedir. Yeterli olacak minimum veri akış hızını seçmek de önemli noktalardan bir tanesidir. Çıkış gücüne anten ve kuvvetlendirici kazançları da eklenir. Bulunan bu değere toplam güç denir. Hesabımızı belirleyen bağıntı ise şöyledir: ...

January 2, 2016 · 2 min · Mehmet Ozan Ünal

[TR] Processing ile Artırılmış Gerçeklik

Merhaba Arkadaşlar, Bugünkü yazımda NyARToolkit’ten bahsedeceğim. Bu toolkit sayesinde kameradan aldığımız görüntüler üzerine 3 Boyutlu nesneler yerleştirebiliyoruz. İstediğimiz 3 boyutlu grafik hatta animasyon yerleştirilebilir. Google Glass tarzı giyilebilir teknolojilerle daha yaratıcı uygulamalar yapılabilir. Simülasyon ve oyun dünyası için çeşitli uygulamalar geliştirilebilir. Hatta hologramlar yapmanın şimdilik en gerçekleştirilebilir yolu olarak gözüküyor. Toolkit bir çok programlama diliyle kullanılabiliyor. Ben Processing ile kullandım basit olduğu için. Toolkiti kullandığım şöyle bir tanıtım videosu hazırladım: ...

April 25, 2015 · 2 min · M.Ozan Unal

[TR] Bakış Açısı Tabanlı 3 Boyutlu Görüş Versiyon 2.00

Herkese Merhabalar, Bu yazımda daha önce yaptığım bir uygulamanın 2. versiyonundan bahsedeceğim. Programımı daha önce şöyle anlatmıştım: Bu program sayesinde ekstra hiç bir ekipman kullanmadan 2 boyutlu bilgisayar ekranını 3 boyutlu görme uygulamasını gerçekleştirebileceğimiz bir şeye dönüştürüyoruz. Bunu nasıl yapıyor diye soracak olursanız görüntü işleme sayesinde!.Programda webcam üzerinden yüz tespiti yapılıyor ve ekrana nereden baktığı tespit ediliyor. Hesaplanan bu açı daha sonra kullandığım 3 boyut kütüphanesi olan OpenGL’in kamerasını ayarlamak için kullanılıyor. böylece ekrana bakış yönünüze göre değişen bir 3D görme uygulaması hazırlanmış oluyor. ...

March 31, 2015 · 1 min · Mehmet Ozan Ünal

[TR] SDR ile Uçakların Yayınlarından Yerlerini Tespit Etmek

Merhabalar! Bugünkü yazımda SDR ile uçaklardan veri alıp onları haritada takip etmeyi anlatacağım. Bunun için gerekli olan yazılımlar ADSBsharp ve ADSBScope yazılımlarıdır. Ben donanım olarak 10 $ Çin’den aldığım SDR’yi kullandım. Anten olarak ise 5 TL’lik TV anteni kullandık. Bu anten tabi ki bu iş için uygun anten değil. Çalışacağımız frekans 1090 Mhz benim antenimle sadece yakın çevredeki uçaklardan veri almak mümkün. En kısa zamanda antenlerle ilgili bir yazı yayınlayacağım o zamana kadar şurayı inceleyebilirsiniz. Yapacağımız iş temel olarak söyle: Uçaklar uçarken koordinantları, rotaları vb şeklinde ADSB diye kısaltılan bir bilgilendirme dataları yollayarak uçarlar. Bizim SDR ile yaptığımız şey 1090 Mhz sinyalleri alıp onları decode etmek. Decode işlemi için ADSBSharp (RTL 1090 alternatifidir.) yazılımını kullanabilirsiniz. Daha sonra decode edilen data port üzerinden başka bir programa aktarılır. Bu program ile elde edilen veriler bir arayüze aktarılır ve uçak harita üzerinde gösterilir. Haritada gösterme işi için ADSBScope yazılıımını kullandım. Aşağıda yazılımların nasıl kullanıldığını anlatığım videoyu paylaşıyorum 2 adet fotoğrafla beraber. Görüşmek üzere… ...

January 9, 2015 · 1 min · Mehmet Ozan Ünal

[TR] SDR ile Bilgisayardan TV izlemek

Herkese Merhabalar! SDR için ilk uygulama olarak TV izleme uygulamasını seçtim. Çünkü bu modüller Tv alıcı modülleri olarak satılıyorlar. Bunu yapmak için 2 program seçeneğiniz var 1.si TVSharp, ikincisi ise SDR# + PAL / SECAM TV plugin. Program ve plugin aynı kişi tarafından yazılmıştır ve kullanımları benzerdir. Aşağıda programların kullanıldığı bir video hazırladım. Antenim ve evimin konumu kötü olduğu için yayın kalitesi çok kötü ama en azından yazılımsal olarak nasıl hazırlık yapılması gerektiğini anlatmaya çalıştım. Tekrar görüşmek üzere… ...

January 9, 2015 · 1 min · Mehmet Ozan Ünal

[TR] Software Defined Radioya Giriş

Herkese Merhabalar! Bugünkü yazımda yeni bir hobimden bahsetmet istiyorum. Yeni hobim, “Software defined radio”. Bu aslında bir rf modulü, Farkı ise belli frekans aralığında dinleme yapabilmesi. Yani bu sayede farklı frekanslardaki radyo dalgalarını alıp inceleyebilir, çözümleyebilirsiniz. SDR hakkında deneysel bir şeyler yapmak isterseniz en iyi yöntem bilgisayar için ucuz tv alıcılarından almak. Ben Aliexpress sitesinden 10 $ aldım. En ucuz SDR’ler genelde RTL2832U+R820T çip setlidir. Benim aldığım modül 25MHz - 1700MHz arası tarama yapabiliyor. Kendi anteni ve kumandasıyla beraber geldi. Genelde bu modullerle gelen antenlerle FMden başka bi şey dinleyebilmek pek mümkün olmuyor. Fakat geliştirilen uygun antenlerle Uluslararası Uzay İstasyonundan(ISS) bile veri alabilmek mümkün. Bunlardan kurulumdan sonra bahsedeceğim. ...

January 2, 2015 · 2 min · Mehmet Ozan Ünal

[TR] Bakış Açısı Tabanlı 3 Boyutlu Görüş

Herkese Merhabalar, Bu yazımda size uzun zamandır üzerinde araştırmalar yaptığım ve bir şeyler üretmek istediğim 3 boyutlu görme konusunda yaptığım programdan bahsedeceğim. Bu program sayesinde ekstra hiç bir ekipman kullanmadan 2 boyutlu bilgisayar ekranını 3 boyutlu görme uygulamasını gerçekleştirebileceğimiz bir şeye dönüştürüyoruz. Bunu nasıl yapıyor diye soracak olursanız görüntü işleme sayesinde!. Programda webcam üzerinden yüz tespiti yapılıyor ve ekrana nereden baktığı tespit ediliyor. Hesaplanan bu açı daha sonra kullandığım 3 boyut kütüphanesi olan OpenGL’in kamerasını ayarlamak için kullanılıyor. böylece ekrana bakış yönünüze göre değişen bir 3D görme uygulaması hazırlanmış oluyor. ...

December 9, 2014 · 1 min · Mehmet Ozan Ünal

[TR] Kamera ile Araç Sayısı Takibi

Herkese Merhabalar! Bugün size uzun süredir üzerinden uğraştığım bir projeden bahsetmek istiyorum. Projenin amacı kamera ile bir yoldan geçen araç sayını saymak. Ben de bunu okulumun önündeki caddeden çektiğim videoda gerçekleştirdim. İleriki aşamalarda insan sayma uygulaması da geliştirmek istiyorum. Araç uygulaması da hız belirleyecek şekilde veya araç büyüklüğüne, markasına göre sınıflandırma yapacak şekilde geliştirilebilir. Proje Emgucv kütüphanesinin Video Survilance modulü kullanılarak yapılmıştır. Tekrar görüşmek dileğiyle…

November 21, 2014 · 1 min · Mehmet Ozan Ünal

[TR] Yüz Tanıma ile Güvenlik (Passface)

Herkese Merhabalar! Bugünkü yazımda kendi ürettiğim bir güvenlik yazılımından bahsetmek istiyorum. Projenin amacı bir yüzü kilit olarak tanımlamak daha sonra güvenlik gerektiren yerlere sadece bu yüz algılandığında izin vermektir. Üretilen programın ismi Passface’dir(pass-word) kelimesinden esinlenilerek yapılmıştır( kelimeyle değil yüzle şifrele!). Proje yine bir görüntü işleme projesidir, şifreleyecek yüzün tespitini otomatik yapar ve daha sonra tanımlanan yüzü aramaya başlar. İlk baştaki yüz tespitini yapmak için Haar Cascade algortması kullanılmıştır. Daha sonraki eşleştirme için ise “SURF Feature Detector” algoritması kullanılmıştır. Projenin tanıtım videosu aşağıdadır. Tekrar görüşmek üzere… ...

October 14, 2014 · 1 min · Mehmet Ozan Ünal

[TR] Kamera ile Fare Kontrolü

Herkese Merhabalar! Bu yazımda Kamera ile Fare Kontrolü projemden bahsetmek istiyorum. Bu proje aslında bir görüntü işleme projesidir. Eli filtrelerle tespit edip fare gibi kullanmak amaçlanmıştır. El açılınca tıklama sağlanır, tıklama olayı çok hassas değil maalesef arka arkaya çok tıklama yapabiliyor. Biraz daha uzaktan kontrol edilirse gezinme olayı da daha hassas olabilir. Program C# dilinde Emgucv kütüphanesiyle yazılmıştır. Algoritmasına gelecek olursak, Hsv ve Ycbcr renk uzaylarında “skin detection” algoritmaları uygulanmıştır. Bu sayede el “counter” olarak tespit edilmiştir. Merkezi kullanılarak farenin gitmesi gereken koordinantlar belirlenmiştir. “convexity defects” methodu kullanılarak da parmak sayısı belirlenmiştir. 5. parmakta pek hassas olarak çalışamamasına rağmen diğer parmakları rahat bir şekilde sayılmasını sağlamaktadır. ...

October 10, 2014 · 1 min · Mehmet Ozan Ünal

[TR] Gerçek Zamanlı Obje Takibi(EmguCv ile)

Herkese Merhabalar! Bu yazımda sizlere EmguCv kütüphanesi ile yazdığım görüntü işleme uygulaması hakkında bilgi vermek istiyorum. Uygulamada ortamdan farklı bir renkte olan nesneyi rengine göre filtre edip onu gerçek zamanlı olarak takip etme amaçlanmıştır. Geliştirme ortamı olarak Microsoft Visual Studio, dil olarak C# programlama dili kullanılmıştır. Programın genel algoritmasına gelirsek, şöyle özetleyebiliriz; Görüntü kameradan RGB formatında alınıp başka bir renkli resim görüntüleme yöntemi olan HSV formatına dönüştürülmüştür. HSV filtresi için uygun değerler test edilip bulunmuştur ve renk filtesi uygunlanmıştır. Renk filtresinden kalan gürültüler erode ve dilate morfolojik operatörleriyle azaltılmıştır. Counter Analysis ile görüntü “counter"lara ayrılmıştır. Sadece “counter” alanı belli bir değerden büyük olan “counter"lar dikkat alınmıştır. Bu sayede son kalan gürültüler de engelenmiştir. Projemin tanıtım videosuna aşağıdan ulaşabilirsiniz. Kodlar videoda gösterilmektedir. Tekrar görüşmek üzere… ...

September 29, 2014 · 1 min · M.Ozan Unal