Temel İstatistik İşlemleri

Bu yazımda makine örenme algoritmalarında sıklıkla kullanılan temel istatistiksel yöntemlere değineceğim.

1. Standart Sapma(Standart Deviation)

Standart sapma bir verin topluluğunun dağılımını gösteren bir ölçüttür. Standart sapması yüksek bir veri topluluğu, düşük olana göre daha fazla dağılım göstermektedir. Standart sapmanın formülü aşağıdaki gibidir.

Standart sapma bulma işlemi bilgisayarlar ile kolaylıkla yapılabilmektedir. Ancak yapılan işlemleri anlamak adına el ile basit örnekler yapmakta fayda vardır.

Örnek 1.  X=[6 2 3 1 5  9]  elimizde X adında bir vektör olsun ve bu vektör 6 adet veri saklıyor olsun. Bu vektördeki verilerin standart sapması aşağıdaki gibi hesaplanır.

İlk olarak tüm verilerin ortalaması bulunur.

2. Varyans(Variance)

Varyans standart sapmanın karesine eşittir. Yine verilerin dağılımı hakkımda bilgi verir. Uygulamalarda çoğunlukla standart sapma değil, varyans kullanılır.

3. Kovaryans(Covariance)

Kovaryans 2 veri arasındaki artış-azalış ilişkisini ortaya koyar. Eğer iki veri arasında hesaplanan kovaryans pozitif ise bu veriler birbirleriyle doğru orantılıdır. Yani bir veri artarken diğeri de artmaktadır. Negatif ise biri artarken diğeri azalmaktadır. Yani ters orantı vardır. Eğer kovaryans sıfır veya sıfıra yakın ise bu veriler arasında herhangi bir lineer ilişki söz konusu değildir yorumu yapılır. Kovaryans’ın büyüklüğünden çok işareti önemlidir. Kovaryans’ın formülü aşağıdaki şekildedir.

Burada  ,

x’:  x vektörüne ait verilerin ortalaması,

y’: y vektörüne ait verilerin ortalamasını ifade etmektedir.

Örnek 2.  X=[6 5 3 1]  ve Y=[1 4 7 9 ]

İlk olarak ortamalar hesaplanır ise;

 

Elde edilen kovaryans sonucu negatif çıktığı için bu iki vektöre ait verilerin birbirleriyle ters orantılı olarak değiştikleri söylenebilir. Vektörlere bakılacak olur ise X vektörü azalarak giderken, Y vektörünün artarak gittiği görülebilmektedir.

Uygulamada kovaryans işlemi sadece 2 veri vektörü arasında uygulanmıştır. 2 den fazla veri vektörü olduğunda vektörlerin 2’ li kombinasyonları şeklinde kovaryans  tüm ikililer arasında bulunur. İşlem kolaylığı ve açık gösterimi nedeniyle yapılan tüm kovaryans kombinasyonları bir matris içerisinde gösterσilir. Bu matrise kovaryans matrisi denir.

Örneğin elimizde 3 adet X,Y ve Z veri vektörleri varsa bu vektörlerin kovaryans matrisi aşağıdaki gibi olur.

Kovaryans matrisinin diagonal elemanları her bir vektörün varyansına eşittir(Cov(n,n)=Var(n)). Ayrıca Cov(n,m)=Cov(m,n) olduğu için diagonalin altında ve üstünde kalan üçgenler birbirleriyle aynıdır. Yani kovaryans matrisi simetrik bir matristir.

4. Korelasyon Matrisi(Correlation Matrix)

Korelasyon matrisi kovaryans matrisine benzer bir şekilde değişkenlerin birbirleri ile olan ilişkilerini ortaya koymaktadır. Kovaryans matrisinden farklı olarak korelasyon matrisinde işaretlerin yanında sayıların büyüklükleri önem kazanmaktadır. Yani kovaryans matrisindeki sayı değerleri yorumlanamamakta, ancak işarete bakılarak değişkenler arasındaki orantının ters mi yoksa doğru mu olduğuna karar verilmektedir. Korelasyon matrisinde ise her bir 2’li vektör ilişkisi için -1 ile 1 arasında değer verilmektedir. Bu değer 1’e yakınsa korelasyonuna bakılan 2 veri vektörü arasında güçlü bir doğru orantı, -1’ e yakınsa güçlü bir ters orantı vardır denilir. Eğer korelasyon değeri 0’ a yakın ise veriler arasında  lineer bir ilişkiden söz edilemez.

Korelasyon formülü aşağıdaki gibidir;

Denklemde Sxy x ve y vektörleri arasındaki kovaryansı, Sxx ve Syy sırası ile x ve y vektörlerinin varyansına eşittir.

Örnek 3.  X=[6 5 3 1]  ve Y=[1 4 7 9 ]  daha önce kovaryansları hesaplanan veri vektörlerinin korelasyon değerleri hesaplanacak olur ise;

Korelasyon sonucuna bakıldığında verilen 2 vektör arasında çok güçlü bir ters orantı olduğu sonucuna varılmaktadır.

 

SİMETRİK KAYNAK OPAMPI SİNGLE SUPPLY İLE BESLEME

Merhaba arkadaşlar bu yazımda simetrik yani +/- besleme gerektiren bir opampın sadece pozitif bir kaynakla nasıl besleneceğini anlatacağım. Opamp konusunda ilk bilgilerimizi aldığımızda aklımıza gelen sorulardan birisi eğer opampın çıkışındaki negatif DC voltaja ihtiyacımız yoksa ve sadece pozitif beslememiz var ise simetrik beslemeli bir opampı sadece pozitif sinyal kuvvetlendirici olarak kullanıp kullanamayacağımızdır. Bu soruya opampın özelliklerine bağlı olarak belirli voltaj aralıklarında kullanabiliriz cevabını verebiliriz. Burada bahsettiğimiz özellikler opampın giriş voltaj aralığı ve çıkış voltaj aralığıdır. Şimdi bu özelliklerin opamp beslemesinden nasıl etkilendiğine bakalım. Okumaya devam et

RTC ALARM OLUŞTURMA

                    RTC ALARM OLUŞTURMA

Bu yazımda denetleyici içerisinde bulunan RTC birimini kullanarak nasıl alarm oluşturulacağını anlatacağım. Uygulamada RTC clock kaynağı olarak LSI osiltör kullanılmıştır. LSI osilatörün doğruğu çok yüksek olmadığı için oluşan alarmlarda ufak zaman kaymaları oluşmaktadır. Daha doğru bir alarm uygulaması için osilatör kaynağı olarak LSE osilatör kullanmak daha uygun olacaktır. Yapılan uygulamada RTC birimi kullanılarak saniyede bir kez alarm oluşmakta ve her alarm oluştuğunda 8. pine bağlı ledin durumu değiştirilmektedir. Uygulamanın kodları aşağıda aşama aşama anlatılmıştır.

< Okumaya devam et

STM32F030 RTC

                                                  RTC(Real Time Clock)

RTC kişisel bilgisayarlar, serverlar ve gömülü sistemler gibi doğru zamanın tutulmasının gerektiği tüm elektronik cihazlarda bulunmaktadır.  RTC’ yi destekleyen mikrodenetleyiciler  kullanılarak kronometre, alarm saatleri gibi uygulamalar yapılabilmektedir.

STM mikrodenetleyicilerin içerisindeki RTC birimi ayrık bir BCD timer/sayıcı olarak görev yapmaktadır.

RTC birimi içerisinde  saat, dakika ve saniye olarak zaman verisi ve gün, hafta, ay, yıl olarak tarih verisi tutulabilmektedir. STM denetleyiciler içerisindeki RTC biriminin sağladığı özellikler aşağıdaki gibidir.

-1 saniyeden daha düşük uygulamalarda kullanılmak üzere alt saniye özelliği

-Saniye özelliği

-Dakika özelliği

-12 ve 24 olmak üzere saat formatı

-Haftanın günleri tutulabilmektedir Okumaya devam et

ROTARY ENCODER

Encoderların absolute(mutlak) encoder ve rotary(incremental,arttırımsal) encoder olmak üzere iki çeşiti bulunmaktadır. Her iki encoder da temelde aynı prensibe göre çalışmaktadır.

rp_principle_e

Encoder içerisinde bir adet ışık kaynağı(LED) bulunmaktadır. Bu ışık kaynağını algılaması amacıyla bir adet optik algılayıcı(fototransistör) yerleştirilmiştir. Bu iki optik eleman arasına delikli bir disk yerleştirilmiştir. Işık kaynağından yayılan ışınlar delikli diskin deliklerinden geçebilir iken deliğin olmadığı kısımlardan geçememektedir. Fototransistörün geçirdiği akım bu düşüp düşmeme durumuna göre değişmektedir. Encoderların çalışma prensibi buna dayanmaktadır. Transistörün tetiklenip tetiklenmeme durumuna göre çıkışta bir kare dalga üretilmektedir. Okumaya devam et

NE555 ENTEGRESİ MONOSTABLE(ONE-SHOT ) MODE UYGULAMASI

MOTOSTABLE(ONE SHOT) MOD

NE555 entegresinin monostable modda çalıştırılmasıyla astable moddan farklı olarak sürekli bir kare dalga üretilmez. Bu modda 2 (Trigger) ucu bir kez tetiklenerek çıkışta 1 adet kare dalga üretilir. Her tetikleme için bir kare dalga üretilir, tetikleme olmadığında çıkış daima Lojik-0 seviyesindedir.

ONE-SHOT

Bu yazımı okumadan önce N555 entegresinin astable modda çalıştırılmasını anlattığım bir önceki yazımı  okumanız anlamanızı kolaylaştıracaktır.

SW1 butonuna basılmadığında;

TRIG(2)                     THRES(6)             S       R          OUT(3)        Okumaya devam et

NE555 ENTEGRESİ ASTABLE MOD UGULAMASI VE FREKANS HESABI

NE555 MULTIVIVRATOR

NE555 entegresi girişine sinyal uygulamadan kare dalga üreten bir entegredir. Bu yazımda entegrenin Monostable(One Shot) ve Astable(Osilator) modlarında nasıl kullanılacağını anlatacağım.

n555

Yukarıda NE555 entegresinin içi görülmektedir. Gerilim bölme için kullanılan dirençler aynı değerdedir. Buna göre ;

İlk op-amp’ın evirmeyen ucunda 2/3*VCC gerilimi, ikinci op-amp’ın eviren girişinde ise VCC/3 gerilimi oluşacaktır. Threshold ve Trıger uçlarındaki voltaja bağlı olarak op-amp çıkışları lojik-1 veya lojik-0 olacaktır. Buna göre Triger ve Threshold uçlarının durumuna göre entegre çıkışı belirlenmektedir.

SR Latch Tablosu

S    R      Q

0    0     NC

0     1      0

1     0      1

1     1      Kullanılmaz
Okumaya devam et

18F4550 CCP CAPTURE MODU

18F4550 CCP CAPTURE MODU

18f4550 mikrodenetleyicisi içerisinden 2 tane CCP(Capture/Compare/Pwm) birimi bulunmaktadır. Bu yazımda bu birimlerin Capture(yakalama) modunda nasıl kullanılacağını anlatacağım.

CAPTURE Birimi Nasıl Çalışır ?

Capture birimi Timer1 veya Timer3 birimiyle beraber çalışır.  CCPx pininden istenen tetikleme geldiğinde bu tetikleme yakalanır ve belirlenen Timer biriminin o anki değeri CCPR registeri içerisine aktarılır. Böylece girişten uygulanan bir sinyaline gelme aralığı hesaplanabilir. Biz uygulamamızda CCP girişine bir pull-down(normalde 0) bağlantı ile buton bağlayacağız ve butona her bastığımızda CCP girişi yükselen kenarı algılayacak. Her algıladığında CCPxIF bayrağını set edecek. Biz bu bayrağı kontrol ederek D1’e bağlı ledi yakıp söndüreceğiz. Okumaya devam et

18F4550 TIMER0 KULLANARAK LED YAKIP SÖNDÜRME UYGULAMASI

18F4550 TIMER0  KULLANARAK LED YAKIP SÖNDÜRME UYGULAMASI

Bu uygulama XC8 ile ilk uygulamamız olacak. Bu uygulamada Timer0 kullanımı, mikrodenetleyicinin çıkışının konrtol edilmesi ve clock konfigürasyonlarının ayarlanması konusunda bilgi vereceğim. İlk olarak programı yazacağımız 18F4550 mikrodenetleyicisi için clock ayarlarını yaparak başlayalım.

CONFİG
Okumaya devam et

PIC18F4550 CLOCK AYARLARI

Bu yazımda 18f4550 mikrodenetleyicisi ile ilk programımıza başlamadan önce kullanılabilcek olan osilatör kaynaklarından ve USB gibi yüksek frekans gerektiren uygulamalarda frekans çapıcı olarak PLL(Pulse Lock Loop) konusunda bilgi vereceğim.

OSİLATÖR KONTROLÜ

18F4550 mikrodenetleyicisinde osilatörün çalışması CONFING1L, CONFIG1H adındaki 2 konfigürasyon registeri aracılığıyla belirlenir. Osilatör modu ve USB prescaler/postscaler seçenekleri bu registerlar ile ayarlanır.

OSCCON registerı hangi clock modunun aktif edileceğinin seçimi için kullanılır.

OSCTUNE registerı dahili INTRC frekans kaynağını kırpma ayarlarını yapmak için kullanılır.

OSİLATÖR ÇEŞİTLERİ

18F4550 12 farklı osilatör modu mevcuttur. FOSC3:FOSC0 konfigürasyon bitleriyle bu modların seçimi gerçekleştirilir.

  1. XT Crystal/Resonator-Birincil osilatör kaynağından gelen Max 4MHz osilatör.
  2. XTPLL Crystal/Resonator – 4 MHz osilatör bölme oranı uygulanmadan PLL verilir ve PLL çıkışı kaynak olarak kullanılır.
  3. Okumaya devam et