PIC16 tabanlı digital alçak geçiren fiitre

Başlatan PROTECH_, 15 Kasım 2009, 01:19:48

picusta

Saygideger forum yazarlari,

öncelikle asagida yazdiklarimdan kimse alinmasin, kisisel olarak bakmasinlar meseleye.
Kisaca özetlersek  :
1) Bu baslik altinda yazilan çogu yazi bilimsellikten uzak,
sahislar baslarindan geçen sübjektif deneyimlerden sonra olusturduklari fikirleri yazmislar.
2) Okurlarin aklinda büyük kavram karmasasi yaratacak cümleler ve hatali açiklamalar kullanilmistir.

Beyler, sinyal isleme teorisi asirlik olmuştur artik ve birçok egitim bölümünde okutulmaktadir.
Dijital filtre olan bir konuda nasil olur da su ana kadar yazilan 100'lerce satir içinde kimse su kelimeleri kullanmaz :
Shannon teoremi, Z dönüsümü, FIR filtre, AR-MA yapisi ...
Burasi teknik bir forum değil midir ? Amaç dogru bilgi vermek değilmidir? Dogrudan kasit bilimsel midir empirik midir ?
Bir "elektronikçi" ADC kullanip disaridan veri okumak istiyorsa en azindan bu teorinin ilk bölümlerini bilmesi gerekir.
__________________________________________
Puan kirdiklarim  :
- hasangurlek :
1) Basta dedigi ile sonradan dedigi tutmadigi için:
  "Bu hatayi gidermenin tek yolu saga bit kaydirma yöntemidir..."
  ile verdigi kitaptan alinti çelisiyor hatta zitlasiyor.
2) Dijital filtrelemenin daha tam olarak avantajlarini kavrayamadigi için.

- Protech :
1) Shannon teoriminden bi haber olup, dijital filtre yaptigi için.
1b) Dolayisi ile girise antialiasing filtre koymadigi için, gerçekte bu "dijital filtre" çalismaz.
2) Yaptigi filtreyi "dijital alçak geçiren filtre" olarak lanse etmesi. Halbuki moving average FIR (Finite Impulse Response) filtre.
3) çok yanlis bir beyanda bulundugu için : "alcak geçiren filitre oldugu için örnekleme süresini uzun tutmak program isleyisi açisindan daha uygun"
4) Sinyal zayiflama formülü yanlis, birinci dereceden filtre (RC filtre) zayiflama formülü o.

- Diger forum katilimcilari :
 Bu hatalari görüp, bilipte duzeltmedikleri için.

_____________________________________________
Puan verdiklerim :
- hasangurlek :
1) Uyguladigi mantik ile non lineer bir filtrenin yaptigi "abberant" noktalari eledigi için.
2) Okurlara güzel bir kitap tavsiye ettigi için, 3 yil önce okumustum.

- Protech :
 Ugrasip, arastirip yeni bir seyler ögrendigi için ve ögrendiklerini forumda paylastigi için.

teknikelektronikci

Alıntı yapılan: "picusta"Saygideger forum yazarlari,

öncelikle asagida yazdiklarimdan kimse alinmasin, kisisel olarak bakmasinlar meseleye.
Kisaca özetlersek  :
1) Bu baslik altinda yazilan çogu yazi bilimsellikten uzak,
sahislar baslarindan geçen sübjektif deneyimlerden sonra olusturduklari fikirleri yazmislar.
2) Okurlarin aklinda büyük kavram karmasasi yaratacak cümleler ve hatali açiklamalar kullanilmistir.

Beyler, sinyal isleme teorisi asirlik olmuştur artik ve birçok egitim bölümünde okutulmaktadir.
Dijital filtre olan bir konuda nasil olur da su ana kadar yazilan 100'lerce satir içinde kimse su kelimeleri kullanmaz :
Shannon teoremi, Z dönüsümü, FIR filtre, AR-MA yapisi ...
Burasi teknik bir forum değil midir ? Amaç dogru bilgi vermek değilmidir? Dogrudan kasit bilimsel midir empirik midir ?
Bir "elektronikçi" ADC kullanip disaridan veri okumak istiyorsa en azindan bu teorinin ilk bölümlerini bilmesi gerekir.
__________________________________________
Puan kirdiklarim  :
- hasangurlek :
1) Basta dedigi ile sonradan dedigi tutmadigi için:
  "Bu hatayi gidermenin tek yolu saga bit kaydirma yöntemidir..."
  ile verdigi kitaptan alinti çelisiyor hatta zitlasiyor.
2) Dijital filtrelemenin daha tam olarak avantajlarini kavrayamadigi için.

- Protech :
1) Shannon teoriminden bi haber olup, dijital filtre yaptigi için.
1b) Dolayisi ile girise antialiasing filtre koymadigi için, gerçekte bu "dijital filtre" çalismaz.
2) Yaptigi filtreyi "dijital alçak geçiren filtre" olarak lanse etmesi. Halbuki moving average FIR (Finite Impulse Response) filtre.
3) çok yanlis bir beyanda bulundugu için : "alcak geçiren filitre oldugu için örnekleme süresini uzun tutmak program isleyisi açisindan daha uygun"
4) Sinyal zayiflama formülü yanlis, birinci dereceden filtre (RC filtre) zayiflama formülü o.

- Diger forum katilimcilari :
 Bu hatalari görüp, bilipte duzeltmedikleri için.

_____________________________________________
Puan verdiklerim :
- hasangurlek :
1) Uyguladigi mantik ile non lineer bir filtrenin yaptigi "abberant" noktalari eledigi için.
2) Okurlara güzel bir kitap tavsiye ettigi için, 3 yil önce okumustum.

- Protech :
 Ugrasip, arastirip yeni bir seyler ögrendigi için ve ögrendiklerini forumda paylastigi için.

hocam bu bahsettiginiz teoremleri hic bilmyiordum duymamistimda paylasiminiz icin tesekürler. internette eminim bir sürü bilgi vardir hepsine birazdan bakacam. yalniz onun haricinde bir elektronikci ollarak baska hangi teori bilgilerini bilmemiz gerek ki sahsen siz söyleyene kadar bunlari bilmyiordum baska allah bilir ne bilmedikelrim var saygilarimla
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

hasangurlek

Aman picusta hocam sakın teknik detaylara girme !

Kendimle zıtlaştığımı ise söyleme, yukardaki yazılarıma bakarsan tek yolun bu olmadığı açıkça yazılı. Ve dijital filtrelemeye önem vermediğimide söyleme, her zaman kastım yukardada dediğim gibi donanım filtresi olmaksızın çözüm olamayacağı. Lütfen sende an688.pdf ye bir gözat.

Su örneğini vermeseydim hala anlamayacak çok kişi vardı. Siz teoremlerden bahsediyorsunuz :)

Microchip gibi bir üreticinin, onlarca kitap, yüzlerce makale yazmış, belkide yüzlerce uygulama yapmış ve notlarını tutmuş bir ayağı çukurda adamları firmanın ürettiği malzemelerle herşey emirlerinde olduğu halde bir uygulama yapıyor ve donanımsal filtre olmaksızın geri kalan tüm problemler çözülmüş bir şekilde kartı tasarlıyor ve sonuçları paylaşıyor. Bende diyorumki işte o dosyanın adı : an688, lütfen okuyun.

4096 ölçümde;

Değer : Sayısı
2496 : 35
2497 : 120
2498 : 70
2499 : 90
2500 : 340
2501 : 1300
2502 : 1380
2503 : 300
2504 : 215
2505 : 205
2506 : 40

11 farklı değer elde ediliyor ve olması gereken değer toplamın %65i, ben buna göre %65 i sabit değer taşıyan bir 64 bayt üretiyorum ve verdiğim su örneğinde kullanıyorum ama sayın üyelerimiz kaynağa bakma zahmetine bile katlanmadan ADC den böyle bir sonuç almak mümkün değil diye yazıyor. Elbette bazılarımıza göre mümkün değil, nede olsa bir Türk dünyaya bedel, kim takar elin gavurunu, üreticinin uygulama notlarını !

FxDev kitap bende var, adres verebilirsen yüklerim.
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

azimli

burda birazda microchip dsPIC serisi ve PIC32 serisi mikro işlemcilerin adc kanallarının her birinin ayrı ayrı zamanlarda değilde aynı zamanda aynı anda ikili ve dörtlü okunma olaylarına değinilip varsa C kodlu örnek uygulamalar verilebilirmi?

genelde işin teorisi anlatılmış ama nasıl programlanacağı hakkında pek örnek kod verilmemiş programsal kod anlatımı eksik kalmış.

picusta

Fxdev, senin de puanini kiriyorum.
"forumda arama fonksyonunu kullanin" diye ahkam kesip, kendin uygulamadigin için.
Bak burada ne varmis :
http://picproje.org/index.php/topic,16207&highlight=bakers+dozen
Linkin hala çalisiyor olmasi mucize tabii
.
Hasan Gürlek, o örnek verdigin degerleri almanin tek sebebi Shannon teoremine sagdik kalmadigindan dolayi olur.
O degerleri aldiginda zaten bir seyler yolunda gitmiyor demektir, bu durumu dedekte edip o degerleri ölçülerden çikartip interpolasyon yapacaksin.
an688.pdf 'ye baktim Baker's Dozen kitabindan bir alinti, dijital filtreler hakkinda hiçbir bilgi yok.
Anlastigimiz nokta  :
Alıntı Yapdonanım filtresi olmaksızın çözüm olamayacağ
Peki bunun nedeni nedir ? -> Shannon teoremi.
Iste bunu niye açiklamiyorsun ?

wsxwsx

konuyla çok alakalı değil. ama median filtre den bahsedeyim.. anlık örnek almak yerine belirli bir zaman aralığına bakılır. diyelim 5 adet örnek aldık. alınan değerler
3, 7,5,9,10
olsun. devre bunları sıraya diziyor
3,5,7,9,10
sonra bunların ortasındakini yani 7 yi dikkate alıyor. Bu kısımda frekansla ilgili bir güzellik yok.

z

Alıntı Yapbence bu sistemin filtre özelliği yok. sadece ortalama alıyor.

Önceki örnekler ile yeni gelen örneği toplamak ve bunların ortalamasını alarak "filtrelenmiş" bir değer elde etmek mümkün müdür? bunun bir teorisi var mıdır nedir?

Bunun yerine median filtre denen bir yöntem vardır. o kullanılır. muhtemelen burada anlatılmak istenen şey de o anlama geliyor. Ben gerçek bir filtre olarak zannetmiştim. ama değil galiba. Ya da ben anlayamadım. Ama alçak geçiren fltre veya başka birşey gibi görünmüyor.

Ortalama alma neden filitre değil?

Nonreqursive filitre y=bn * xn + bn-1 * xn-1 +..+ b0* x0

olarak ifade edilir. Burda xn, n sample gerideki girdi, bn de n.terim katsayısıdır.

Örneğin n=2 için

y=b2x2+b1x1+..+b0x0

b2,b1 ve b0 katsayıları özel durum için eşit ve 1/3 alınırsa

y=(1/3)(x2 + x1 +x0) olur. Bu da burda tartışılan filtredir.

y(z)=(b2 * z^-2 + b1 * z^-1 + b0)x(z)

x(z) girişine sinus  uygular ve y(z) cevabında genlik w ilişkisine bakarsan filitrenin frekans cevabını görebilirsin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hasangurlek

Alıntı yapılan: "picusta"Shannon teoremi.
Iste bunu niye açiklamiyorsun ?

Hocam Nyquist teorimi de geç, bide adamın adını verip tarihi işin içine katma.

"Örnekleme frekansının yarısının üzerindeki sinyalleri filtre etmeniz veya sinyal frekansının en az iki katı örnekleme hızı gereklidir" diye bir başlarsanız yüzlerce sayfa yazıyla devam edip forumda bunu anlatabilmek için bazı durumlarda otomobil lastiğinin neden döndüğü yöne değilde aksi tarafa dönüyor gibi algılandığına kadar inmek gerekir. Buna bir başlarsanız integral dönüşümlerden, ayrık fourier dönüşümüne, aliasingden filtre tasarımlarına kadar girmeniz gereken konularda kapıda olduğu için uzun bir anlatım sizi bekler. BAŞKA TÜRLÜ ANLATAMAZSINIZ.

Yukardaki yazıma bakarsanız an688 uygulama notunu PCB tasarımı dahil herşey mükemmel olsa bile yinede bakın diye tavsiye ettim. Uygulamadaki önemli iki detay ise sinyal kaynağı çok az gürültüye sahip olsa bile by-pass kapasitörlerinin önemi ve donanımsal filtre tasarlanmaksızın en iyi PCB tasarımı ile alınabilecek en iyi sonuçları göstermesidir. an688 deki uygulamayı yapanda Bonnie Baker ama bahsettiğimiz kitaptan alıntı değil. Kaynağı yine Bonnie Baker ın "Noise Sources in Applications Using Capacitive Coupled Isolated Amplifiers" notlarından. Uygulama notu yapılması mümkün en uygun PCB tasarımıyla bile donamımsal ve yazılımsal filtre kullanmaksızın sonuçların hiçde düzgün olmayacağını ispatlaması açısından son derece önemli bir kaynak.

Uygulama notunu okursanız sinyal kaynağı açıklanmış: ...The full swing output of the sensor is a small (10s of millivolts)... 10 saniyede milivolt seviyesindeki dalgalanma için Nyquist teorimi istemesenizde işin içindedir çünkü 1.8 mHz e kadar örnekleme yapabilen MCP3201 in örnekleme frekansı sinyal kaynağından çok daha hızlı.

FxDev ilginç ama kitap forumda mevcutmuş :)
http://www.cyber-warrior.org, Although they like whiteness, sometimes twilight is required...  Hala evlilermi bilinmez ama kesinlikle artık uygun değiller !!!

sercan52

devredeki opamplı kısım ne işe yarıyor onun yerin 8 bit dac kullansak olurmu??

teknikelektronikci

Alıntı yapılan: "sercan52"devredeki opamplı kısım ne işe yarıyor onun yerin 8 bit dac kullansak olurmu??

olur .direnc ve op-amp yerine dac kullansanız olur ama dac dada yine op-amp kullanmanız gerekebilir seçeceğiniz dac a bağlı
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

sercan52

merdiven tipi dac bölümünde 25600 3200 ...200 e kadar dirençler sıralanmış ama 25600 lük direnç yok nasıl olacak o analtırmısınız?ben 3WATTOR1 DİRENCİNİ ALDIM  RESİSTANCE KSIMINI 25600 YAPTIM O ŞEKİLDE OLURMU ?

sercan52

devreyi ben de proteusta çizdim ama simulasyon hatası veriyor nerde yalnış yapmış olabilirim yardım edermisiniz? incelemek isteyenler için  yaptığım devre ve hex dosyası aşağıdaki linklerde mevcuttur.



http://netload.in/datei6dIvLqgvGS/standart.DSN.htm   proteus şeması

http://netload.in/datei8xLkbyjCQZ/proje.HEX.htm        hex dosyası