FFT Kullanılarak Yukarı Örnekleme İşleminin MATLAB ile Gerçeklenmesi

Sinyal işlemede çok fazla kullanılan uygulamalardan biri örnekleme frekansının artırılması işlemidir.  Bu işlemi gerçekleştirilmesi için farklı yöntemler geliştirilmiştir. Bu yazımızda FFT kullanarak yukarı örnekleme işlemine ait uygulamayı MATLAB kodları ile gerçekleştireceğiz. Aşağıda 20 Hz’de örnkelenmiş 1 Hz’lik sünüs işareti gösterilmiştir. Yukarı örnekleme işlemlerinde öncelikle sinyalin FFT alma işlemleri gerçekleştirilir. Daha sonra FFT simetrik olduğundan dolayı FFT sinyalinin ilk kısmı ile…

IRIS (Süsen Çiçeği) Veritabanı Kullanılarak Yapay Sinir Ağı Eğitimi

Bu yazıda süsen çiçieği (Iris) türlerinden (Setosa, Versicolor, Verginica) oluşturulan veri tabanı  kullanılarak yapay sinir ağı eğitimi gerçekleştirilmiştir. Eğitim esnasında her bir türden 30 adet örnek kullanılmış ve eğitimde kullanılan örnekler ile birlikte toplam 50’şer örnekler ile test edilmiştir. Eğitim sonucunda elde edilen hata değeri aşağıda gösterilmiştir. Eğitim geriye yayılım algoritması ile gerçeklenmiştir. Setosa, Versicolor, Verginica türlerine ait veriler için tıklayınız…. Eğitime ait…

Yapay Sinir Ağı Eğitimin MATLAB Komut Seti ile Gerçekleştirilmesi

Bu yazıda MATLAB programında mevcut olan newff komutu kullanarak Yapay Sinir Aği eğitimin gerçeklenmesi anlatılacaktır. Ağ eğitimi için öncelikle giriş çıkış veri setinin tanımlanması gerekmektedir. M girişli ve N çıkışlı bir Yapay Sinir Ağı için  sayısının K adet örnekten oluşan veri seti için girişi veri seti için MxK‘lık, çıkış veri seti için NxK‘lık matrisler oluşturulmalıdır. Örnek olarak XOR problemini ele alırsak giriş çıkış veri seti aşağıdaki gibi olmaktadır.  Yapay Sinir Ağı yapısının…

VHDL’de Dosya Okuma ve Yazma İşlemleri

Yaptığımız tasarımları bilgisayarda benzetim ortamında test ederken, tasarım tarafından işlenecek pek çok veri olabilir. Örneğin imge üzerinde çeşitli işlemler yapan bir tasarımı sınamak için imgenin de tasarlanan sisteme giriş olarak verilmesi gerekebilir. Böyle durumlar için VHDL bize dosyadan veri okuma ve yazma imkanı sunmaktadır. VHDL ile dosyadan okuma  ve yazma işlemi yapabilmek için kütüphane bildirim kısmına aşağıda verilen söz diziminin…

VHDL’de ROM Bloğu Oluşturmak

ROM (Read Only Memory – Sadece Okunabilir Hafıza) sadece okunabilen sayısal verilerin saklanması için kullanılan depolama birimidir. Şekil 1’de NxM bitlik ROM gösterimi verilmiştir. Şekil 9‑22’den de görüleceği üzere in_rom_aktif giriş portunun aktif olması ile birlikte ile ROM’dan in_data_addr adresindeki data out_data çıkış portuna aktarılmaktadır. Şekil 1 NxM bitlik ROM Hafıza elemanları tasarlanırken genel olarak kullanılan bazı terimlere aşina olmak…

VHDL’de Saat Frekansı Bölme İşlemi

Zaman zaman tasarımlarımızda kullandığımız saat kaynağından daha yavaş çalışan, daha düşük frekanslı saat kaynaklarına ihtiyaç duyarız. Bu durumda kullanabileceğimiz çeşitli yöntemler mevcuttur. Örneğin FPGA üzreticileri tarafından sağlanan PLL (Phase Locked Loop), DCM (Digital Clock Manager) gibi hazır tasarım kütüphaneleri kullanılabilir. Bir diğer basit yaklaşım ise bir sayıcı kullanarak frekansı düşürmektir. Sayıcı kullanarak frekans bölmenin birden fazla yolu mevcuttur. Bu örnek…

Kayan Noktalı Sayılarda Dört İşlem

Kayan Noktalı Sayılarda Toplama/Çıkarma Öncelikle, işlem yapacağımız sayıların, matematiksel dönüşümlerini elde edersek; Sayı1 = 7.362 = (-1)0(1.8405)22 Buradan: s1=0; e1=129 ve 1.f1=1.8405 Sayı2 = 2.594 = (-1)0(1.297)21 Buradan: s2=0; e2=128 ve 1.f2=1.297 Yukarıda verilen iki sayının toplama işleminde ilk olarak iki sayıdan mutlak büyük olanın işareti, sonuçta elde edilecek sayının işaret biti olarak atanır  ssonuc=0; Üslü sayılarda toplama işlemi yapabilmek için…

Levenberg & Marquardt Algoritması ile Parametre Kestirimi

Aşağıda F(X,Y) = aX2 + bY2 fonksiyonunda a ve b parametrelerinin LM algoritması ile kestirimine ilişkin MATLAB kodu verilmiştir.

Kayan Noktalı Sayı Çevrim İşlemlerinin MATLAB ile Gerçeklenmesi

Aşağıda girilen gerçel sayıyı istenen tanımlanan üs ve çarpan bit uzunluklarına göre ikili kayan noktalı sayı formatına çeviren Float2bin fonksiyonu MATALB kodu verilmiştir.  İkili sayı formatında verilen sayının gerçel sayı formatınına çeviren bin2Float fonksiyonu MATLAB kodu aşağıda verilmiştir.

VHDL ile Kayan Noktalı Sayılarda Çarpma İşleminin Gerçeklenmesi

Bu yazımızda kayan noktalı sayılarda çarpma işlemini pipeline mimaride fonksiyonlar ile gerçekleştirilmesini anlatacağız. Kayan noktalı sayılarda dört işlemle ilgili detaylı yazımıza buradan ulaşabilirsiniz. Yazıda çarpma işlemlerine ait gösterilen tüm adımlar birer fonksiyon olarak tanımlanmıştır. Aşağıda VHDL dili kullanılarak kayan noktalı sayılarda çarpma işlemini gerçekleştiren fonksiyon kodları verilmiştir. Koddan da görüleceği üzere ilk olarak işaret biti tanımlama işlemleri gerçekleştirilmektedir. Burada saklayıcı amacı ile…