Signal Processing

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.

[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:

[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.

gnu-radio-logo

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.

[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.

[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

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

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.

[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:

[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:

[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.

[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…

1 2 Next →