Dijital Filtre Programı Furkan Filter Tool V1.0

| Şubat 12, 2025 Tarihinde güncellendi
Dijital Filtre Programı Furkan Filter Tool V1.0

İstediginiz filtre parametrelerini girip kod yazmadan kısa sürede kullanıma hazır filtre oluşturabilirsiniz. Bu kılavuz Furkan Filter Tool V1.0 programının nasıl kullanılacağını özetle anlatmaktadır. Program basit ve hızlı şekilde Low-Pass filtre tasarlayıp mikrodenetleyicide kullanmayı amaçlamakta. Eğer ana program hazır ise bir kaç dakika içerisinde filtrenizi tasarlayıp C kütüphanesi şeklinde uygulamanıza dahil edebilirsiniz.

Dahası program sayesinde digital filtreye ait Frekans-Amplitidue grafiği üzerinden hangi frekans aralığının ne kadar filtrelendiğini görebilirsiniz.

Z-Domain grafiği üzerine Pole veya Zero ekleyerek veya mevcut Pole ve Zero yerlerini kaydırarak dijital filtre üzerinden oynamalar veya Fine-Tuning yapabilirsiniz.

Z Domain Grafigi Uzerine Pole Veya Zero Ekleyerek

1 – Reset All: Dijital filtre parametrelerini (Zeros, Poles) resetler ve “Plot” komutunu çalıştırır

2 – Plot: Zeros ve Poles dijital filtre parametrelerini kullanarak aşağıda ki işlemleri gerçekleştirir:

  • (1) Numerator katsayılarını hesaplar.
  • (2) Denominator katsayılarını hesaplar.
  • (3) Transfer Fonksiyonunun formulunu hesaplar.
  • (4) Frekans tepkisinin grafiğini çizer.
  • (5) Komplex düzlemde pole(x) ve zero(o) ları yerleştirir.

3 – Add Zero: Komplex düzlemde “konjuge zero” noktası ekler. Bunun için önce Add Zero butonuna tıklayıp sonrada komplex düzlem grafiği (Z-domain) üzerinde eklemek istediğimiz noktaya tıklamanız yeterlidir.

Digital Filter Tool Add Zero

Digital Filter Tool Z Domain Unit Circle Konjuge Zero

4 – Add Pole: Komplex düzlemde “konjuge pole” noktası ekler. Bunun için önce Add Pole butonuna tıklayıp sonrada komplex düzlem grafiği (Z-domain) üzerinde eklemek istediğiniz noktaya sol tıklamanız yeterlidir.

Digital Filter Tool Add Pole

Digital Filter Tool Z Domain Unit Circle Zeros Poles Filter

5 – Drag: Komplex düzlemde “konjuge pole” yada “konjuge zero” noktalarının pozisyonunu kaydırarak dijital filtrenin frekans tepkisi üzerinde oynama yapma imkanı sağlar.

Bunun için önce Drag butonuna tıklayıp sonrada komplex düzlem grafigi (Z-domain) üzerinde kaydırmak istediğimiz pole yada zeroya sağ tıklayıp basılı tutarak istediğiniz noktaya kaydırarak mouse butonunu bıraktığınızda, o noktaya kaydırmanız için yeterli olacaktır.

Komplex Duzlemde Konjuge Pole Yada Konjuge Zero

2 Komplex Duzlemde Konjuge Pole Yada Konjuge Zero

3 Komplex Duzlemde Konjuge Pole Yada Konjuge Zero

6 – Export: Tasarımını yaptığımız dijital filtreyi micro controller da çalıştırabileceğimiz C kütüphanesi ve örnek copy_main.c uygulaması ile seçilen kılasöre export etmenizi sağlar.

Digital Filter Tool Export C H

Kütüphaneyi kendi uygulamanızda kullanmak için filters.c ve filters.h kütüphanesini uygulama dosyanıza kopyalayın. Daha sonra sırası ile aşağıda numaralandırılmış kısımları copy_main.c den kendi main.c dosanıza kopyalayın. Compile yapın ve hazır.

Digital Filter Tool Include Filters Filtersvaule

NOT: Dijital filtrede, filtrelenecek frekanslar örnekleme frekansi üzerinden oransal olarak tespit belirlenir. Bu nedenle ADC örneklemesi timer aracılığı ile yapılması gereklidir.

7 – Help: Kullanım kılavuzu pdf dosyasını açar.

8 – About: Yazılım sahibinin iletişim bilgileri (E-posta) ve version bilgisi.

Otomatik Low Pass Filtre Tasarımı

Aşağıda ki resimde 1-4 arası parametreler tasarlanacak dijital filtre için en önemli giriş parametrelerdir.

Not: Filtre tasarımındaki ilk adım buradan amacınız doğrultusunda basit bir filtre oluşturmak.

Digital Filter Tool Create Automatic Filter Code

1 – Sample Frequency: Örnekleme frekansı, dijital filtrenin ana parametresidir. Bütün diğer filtre parametreleri örnekleme frekansı Kullanılarak hesaplanır. Eğer örnekleme frekansı yanlış girilirse, diğer parametreler de yanlış hesaplanır.

Mesela örnekleme frekansi gerçekte 1000Hz ve cut-off frekansı 50Hz iken 2000Hz örnekleme frekansı girirseniz, 50Hz yerine filtre 25Hz de cut-off yapar.

2 – Filter CutOff: Cut-off yada kesim frekansı, low pass filtrenin kazancının -3dB yani: Vout=Vin*0.71 olduğu frekans.

3 – Filter Order: Dijital filtre derecesi, Bu değer ne kadar yüksek olursa cutoff sonrası frekanslar daha çok filtrelenir.

Fakat dezavantajı vardır: Filtrenin tepki süresini uzatır. Basit bir tabir ile 4. Derece bir filtrede, filtrede girişin etkisini 5. Örnekleme sonra çıkışta görebilirsiniz.
Yani filtrenizi tepki süresini geciktirir.

4 – Generate: Girilen; Sample frekansı., Cut-off frekansı ve filtre derecesine göre low-pass filtre tasarlar ve bu filtreye göre aşağısında yer alan filtre paramtrelerini günceller ve plot komutunu çalıştırır.

Örnek uygulama:

Mikrodenetleyici’nin ADCsinden 1Khz periodda veri okunuyor. Ölçmek istediğimiz sinyalin max frekansı 40Hz. Filtremiz 4. Seviye. 45Hz ve yukarısını filtrelemek istiyoruz. Önce parametrelerimizi filtre tasarım kısmına giriyoruz, sonra generate butonuna basıp filtre oluşturuyoruz.

Sonraki adım ise Export a tıklayıp uygulamamız için gerekli kod dosyalarını oluşturmak. Ve Export kısmındaki gibi oluşturulan dosyaları uygulamamıza kopyalamak

Otomatik Low Pass Filtre Tasarimi Automatic Low Pass Filter Design

Sample Frequency Filter Cutoff Cut Off Filter Order Digital Generate Girilen Sample

1- CCS C pic18F14k22 + Proteus simulasyonu (Hiç bir donanım kurmanıza gerek yok direk olarak çalıştırıp test edebilirsiniz)

Resimde görülen sarı renkli sinyal filtrelenmiş hali. Simülasyonu direk proteus demodan çalıştırıp debug yapabilirsiniz.

Digital Filter Tool Ccs C Pic18f14k22 Proteus Simulasyonu

2-ESP32 arduino (Sadece ESP32 ve bir jumper kablosu + osiloskop ile test edebilirsiniz, ESP32 sinyali kendisi üretiyor adc den alıp filtreleyip DAC çıkışı veriyor)

Esp32 Arduino Sadece Esp32 Ve Bir Jumper Kablosu Osiloskop

Programı hazırlayan, paylaşan @PROTECH_ Teşekkürler.

Kaynak: picproje.org/index.php/topic,84176.msg646152/topicseen.html

İndirme linki. https://drive.google.com/file/d/1CfWcFWvKw-t5QhrS2GVv0KS-PPOkFVow/view

Yayım tarihi: 2025/02/10 Etiketler: ,



Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir