Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Güç Elektroniği => Konuyu başlatan: Zoroaster - 31 Ekim 2016, 20:53:49

Başlık: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 31 Ekim 2016, 20:53:49
Şuradaki adam ilginç bir yöntemle efektif değer hesaplamış. (http://www.cncdesigner.com/wordpress/?p=6656)

Karekök falan almadığını iddia ediyor.


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: sadogan - 31 Ekim 2016, 22:07:28
Şurdaki adam "Z" hoca
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: HeCToR - 31 Ekim 2016, 22:11:55
Arkadaş yeni @sadogan hocam  :) z'yi tanımıyor
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: edX - 31 Ekim 2016, 22:53:51
@Zoroaster 'ın üslubu ,  mesajlarından anlaşılan uzmanlık alanı ve  forumda ikili tartışmalara girdiği üyeler de göz önüne alındığında pek de yeni bir

arkadaşımıza benzemiyor ve hatta bu kadar ip ucundan sonra çok da yabancı gelmiyor da hadi neyse :)

Hesabı inceledim,  karekök almamış ama karekök etkisi yaratacak bir çarpan bulmuş  ve her bir iterasyonda tek tek RMS değeri hesaplamış

"oradaki adam".
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 01 Kasım 2016, 01:07:57
Millet hala çakozlamamış Zoroaster bildiğiniz "z". Başlık açışındaki ustalıktan (!) (İlk harf büyük diğerleri küçük harf) anlaşılıyor. Her neyse yönetim buna el atar.

İşlem için floating point işlem yapmak gereken anlar çıkabiliyor. İşlemin başlangıcı 0 ile başlarsa 0.99 gibi rakam çıkıyor. Integer kullanırsanız V=0 olur başınız derde girebilir. V'nin 1'in altına düşmemesi gerekiyor gibi geldi. Newton/Rapson gibi bir şey olabilir.

Bu arada aşağıdaki işlem daha çok hoşuma gidiyor.

https://en.wikipedia.org/wiki/Fast_inverse_square_root
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 01 Kasım 2016, 10:41:26
Gıcık oldum bu z'ye. Fakat adamın yöntemine hemen çamur atmışsın. Yok floating point gerekirmiş yok efekttif değer 1'in altına inerse sorun çıkarmış.

10 numara bir yöntem.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: ipek - 01 Kasım 2016, 14:42:06
Bunalmış hoş geldin ,daha ilk mesajından anlamıştım...
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 01 Kasım 2016, 15:09:17
Benim bildiğim forumda iki kullanıcı adıyla kişiler var olmamaları gerekiyordu, forum kurallarına bakmak lazım.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: LukeSkywalker - 01 Kasım 2016, 15:51:37
Ben de şüphelenmistim gectigimiz gunlerde.
Artik emin oldum. 😊
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Salih - 01 Kasım 2016, 15:57:57
Alıntı yapılan: LukeSkywalker - 01 Kasım 2016, 15:51:37
Ben de şüphelenmistim gectigimiz gunlerde.
Artik emin oldum. 😊

Forum iyice esrarengiz olmaya başladı,
bakalım katil kim çıkacak. :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: esensoy - 01 Kasım 2016, 15:59:21
Z or oaster
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 01 Kasım 2016, 19:50:28
Tamam tamam itiraf edeyim. Z'yi öldürdüm ve yerine geçtim. Yönetimin bir şey yapmasına gerek yok çünkü Z artık mesaj yazamayacak.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: sinus - 01 Kasım 2016, 22:08:41
Algoritma, dalga şeklinden bağımsız mı çalışıyor?


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 01 Kasım 2016, 22:23:39
Ne verirsen ver.

Hatta klasik karelerin toplamının .... karekökü yönteminde dalga şeklini önceden bilmediğiniz sinyallerin efektif değerini hesaplayamazsınız. Daha doğrusu efektif değer hesaplayan MCU çok kolay yanılır. Ama benim algoritmam yanılmaz.

Mesela aşağıdaki dalga şekli klasik algoritmanızı şaşırtır.

(http://i.hizliresim.com/yV7VnN.png) (http://hizliresim.com/yV7VnN)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 02 Kasım 2016, 08:34:15
Peki örnekleme frekansı ne olmalı?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: frederic - 02 Kasım 2016, 13:24:19
Şebeke akım ve gerilim ölçümü düşünüyordum bu aralar, true rms araştırırken acaba bu olayımı denesem diye düşünüyorum şimdi.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 13:29:06
Alıntı yapılan: mihri - 02 Kasım 2016, 08:34:15
Peki örnekleme frekansı ne olmalı?

En az hata için olabildiğince yüksek tut.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 14:05:44
Bu işte bir terslik var, hatam varsa düzeltin. Bırakın daha sinüsü daha DC RMS hesaplayamıyor bu formül. Bir de işlemcim float işlerle uğraşmak zorunda kalacak.

Benim ADC'den gelen değerim sürekli DC 10 count olsun. RMS'i 10'counttur. Yalnız bu formülü binlerce kez işletmem lazım doğru sonuca varmak için. Bir sıkıntı var. Benim kafama yatmadı, yatırtabilir misiniz @Zoroaster ? Bu işlemin doğru sonuca ulaşması için bir çok kez öteleme gerekecek, hız kazanımı nerede o halde?

(http://i.hizliresim.com/oEDVBQ.jpg)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 02 Kasım 2016, 15:06:32
char adcvalues[ ]={3,5,7,9,11,3,5,7,9,11,3,5,7,9,11,3};  // 16 değer var

bu değerlerin verdiğin algoritmaya göre rms'ini hesaplatan bir program yazar mısın?

veya ben aşağıya programı yazdım, bir kontrol et,
Hata yoksa sonuç 1.05 çıkıyor, oysa 7.34 gibi bir değer çıkması gerekiyordu, hem de sonucun 3 den küçük çıkması imkansız.


char adcvalues[ ]={3,5,7,9,11,3,5,7,9,11,3,5,7,9,11,3};

int main(int argc, char** argv) {
float Ve=1.0;
int  Cnt;

for(Cnt=0;Cnt<sizeof(adcvalues);Cnt++){
Ve= (((adcvalues[Cnt] * adcvalues[Cnt] / Ve) + (Ve * 16383)) / 16384);
}

printf("Rms Value : %f" , Ve);


return 0;
}
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: muhittin_kaplan - 02 Kasım 2016, 15:27:49
Alıntı yapılan: CLR - 02 Kasım 2016, 15:06:32
char adcvalues[ ]={3,5,7,9,11,3,5,7,9,11,3,5,7,9,11,3};  // 16 değer var

bu değerlerin verdiğin algoritmaya göre rms'ini hesaplatan bir program yazar mısın?

veya ben aşağıya programı yazdım, bir kontrol et,
Hata yoksa sonuç 1.05 çıkıyor, oysa 7.34 gibi bir değer çıkması gerekiyordu, hem de sonucun 3 den küçük çıkması imkansız.


char adcvalues[ ]={3,5,7,9,11,3,5,7,9,11,3,5,7,9,11,3};

int main(int argc, char** argv) {
float Ve=1.0;
int  Cnt;

for(Cnt=0;Cnt<sizeof(adcvalues);Cnt++){
Ve= (((adcvalues[Cnt] * adcvalues[Cnt] / Ve) + (Ve * 16383)) / 16384);
}

printf("Rms Value : %f" , Ve);


return 0;
}


excel 1,050103 çıkartıyor.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 15:35:45
Bu algoritma son derece kusursuz ve çok sağlam matematik alt yapıya sahip. Sonsuz bir döngüde işletilir.

MCU ADC dönüşümü yapar bu algoritmaya göre hesaplama yapılır ve ramda efektif değeri saklayan değişkene sonuç yazılır. Dolayısı ile bu rutini ADC interrupt rutinine ilave edeceksiniz.

Siz efektif değeri bilmek istediğinizde gider ve o değişkeni okursunuz.

Böylece algoritma girişteki sinyalin an ve an efektif değerini hesaplar.

İşin püf noktası burada. Zaten web sitemde verdiğim algoritmada döngü dışına çıkmaktan hiç bahsetmedim.

-----------

@CLR

16 değer için hesapladıktan sonra tekrar başa dön tekrar hesapla tekrar hesapla......

@FxDev

Hız kazanımı nerde?

Güzel soru.

Hız kazanımı algoritmayı kodlamadaki ustalığınızda gizli ve işlemciye getireceğin yük tamamen yazacağın kodun kalitesi ile ilgili.

---------------------

Bildiğiniz gibi sistemler uyarıldığında ilk başlarda geçici rejim baskındır. Bu rejim bittikten sonra sürekli rejim cevabı aradığınız cevabı verir. Aynı durum bu algoritma için de geçerli. Bu algoritma bir sistemin matematiksel modeli.

--------------------

Peryodunu bilmediğiniz bir sinyalin efektif değerini nasıl hesaplarsınız?

Fakat benim algoritmam hesaplar. Bu algoritma ile gürültü sinyalinin dahi efektif değerini hesaplayabilirsiniz.

--------------------

Kusura bakmayın ben kod yayınlamam. Kalitesiz kodlarımı gözler önüne serip kendimi rezil etmek istemem.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: muhittin_kaplan - 02 Kasım 2016, 15:55:38
sizce kaç sample sonra doğru değeri gösterecek @Zoroaster yukardaki 3-5-7-9-11 değerlerinde ?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 15:56:22
@Zoroaster: Kusura bakma ama bu kod hiç de efektif değil. Karekökten kurtulacağız diye iki adet float bölme ile uğraşıyoruz. En büyük problem burada. ARM ya da FPU birimine sahip olan işlemcilerde problem değil ama gariban 8bit işlemcilerin halini düşünemiyorum. Tekrar ve tekrar, tekrar ve tekrar. Sabit 10 sayısı verdim. Kaç iterasyon sonra gerçek değeri yakaladı biliyor musun; yaklaşık 1600 cycle sonrasında. 20kHz ile ADC ölçümleri aldığını düşün, ~0.1 saniye sonra nihayi sonuca ulaşıyorsun bir de sinyal oynaksa vay halimize. 3 fazla uğraşan arkadaşlara şimdiden geçmiş olsun, 3 adet LN, 3 adet LL ve 3 adet de akım okuyacaksanız RMS olarak vaylar ki vaylar. Şu an benim bu 9 adet RMS'i hesaplamam 5us sürüyor, bir de kalibrasyonu, ortalaması vs. de var.

Fluke vb. makineler sizce frekans vs. biliyorlar mı? Hayır. Sadece örnek zamanlarını çoğaltıyorlar. Yoksa her sinyalde başka sonuç arama işine girecekler.

1600 adet örnek alıp, bu örnekler üzerine çalışarak frekansı bilmediğin sinyalin RMS değerini hesaplamaya çalışıyorsun. Eh bir zahmet hesapla.

Herkesin derdi başka tabi, ben şebekede yarım cycle içerisinde RMS değer ne oluyor ne bitiyor bilmeliyim, sen 1Hz ile atıyorum 1MHz arasındaki sinyalin RMS'ini hesaplamak istiyorsun.

Evet doğruluğu kanıtlanmış süper bir algoritma (!).
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 15:57:42
Bunu hiç dert etmeyin. MCU'ya elektriği verdiğiniz andan itibaren algoritma zaten hesap yapmaya başlıyor. Size efektif değer lazım olunca hesap falan yapmıyorsunuz sadece Veff değişkenindeki değeri okuyorsunuz.

Olayı şöyle düşünün.

ADC peryodik olarak int çakmakta. Algoritma hesap yapıp int rutinininden çıkılmakta.
ADC mesela her 50us de int çakıyor.

Sonuçta beklediğiniz doğruluk, efektif değeri alınan sinyalin frekansına göre ADC sample sürelerini ayarlarsınız.

Bu bir peryodik int rutini.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: muhittin_kaplan - 02 Kasım 2016, 16:09:30
ben 3-5-7-9-11 değerlerini verdim. 7,54 e 50000 (ellibin) iterasyonda ulaştı.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 16:14:55
Ne güzel işte. Amaç efektif değeri hesaplamak değilmiy di.

50000'inci interupt palsına kadar geçici rejim devam etmiş biraz daha devam edecek görünüyor. Demekki bundan sonra giriş sinyalini çok yakından takip etmeye başlayacak.

Aslında bu süreyi çok aşağılara çekebilirsiz. Fakat algoritmanın şu anki halinin kimseye zararı yok.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: muhittin_kaplan - 02 Kasım 2016, 16:19:09
10 değerini verdim, tam 10 değerine ulaşması 131949 (132 bin yaklaşık) iterasyonda oldu.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 16:26:08
Ya @Zoroaster şöyle güzel algoritma, böyle mükemmel matematik diyeceğine işin mantığını anlatsan.

Şimdi @muhittin_kaplan 50us'de int çaksa, ki bu demek oluyor ki en fazla 20kHz örnekleme demek. Eh en az 16 data alınsa 1kHz sinyali ölçebilirsin, adam 1kHz sinüsün RMS'ini hesaplamak için 50us*132bin=6.6saniye sonra sonuç alacak. Peki ya kritik bir sinyalse bu ne yapacağız şimdi. 6.6saniyede neler olur benden iyi biliyorsun, adamlar 100 metreyi koşuyor o sürelerde.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 16:28:37
Anlaşıldı beğendiremedik.

Peki AC 50Hz ile ark kaynağı yapan makinanın elektrod akımının efektif değerini ölçmek istiyorum. Hadi bakalım MCU ile efektif değeri ölçecek bir kod yazıverin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 16:33:40
@Zoroaster : Senin algoritmada hesaplayamıyor ki onu, elma/armut kıyaslaması yapma şimdi. Akım 0'ken bir anda 100A'e fırladığında hesaplaması 130bin cycle sürecek yine.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: muhittin_kaplan - 02 Kasım 2016, 16:38:39
Kaç basamağı kaale alacağız bu arada. 00.00 yaparsam 56bin de ulaşıyor

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 02 Kasım 2016, 16:43:25
20ms'de 64 sample alsak, bir sample zamanı yaklaşık 300us
cihaz açıldıktan veya adc okumaya başladıktan sonra

50000 * 300us = 15 000 000us = 15sn sonra doğru efektif değere ulaşıyor. Bu değer pek efektif değil ama sonrasında düzgün olduğunu farz edelim yani
response'ına bakalım.

Normal rms hesaplarken 16 sample'da sonuca erişebiliyoruz, sqrt'siz ise 50000 sample'da
sqrt'li(normal) rms için 17. sample'ı , sqrt'siz içinde 50001'yi hesaplayalım. Okunan adc değeri 50 olsun.


Ve= 7.34;  // eski rms değerini doğru kabul ettik ve 50001. sample 50 okundu
Ve= (((50 * 50 / Ve) + (Ve * 16383)) / 16384);

printf("NoSqrt Rms Value\t: %f\n" , Ve);


NoSqrt Rms Value: 7.36
Gerçek rms value : 14.035

Efektif hesaplıyor ama algoritmanın kendisi pek efektif değil gibi duruyor. Ve bu algoritmanın response inanılmaz yavaş.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 16:51:42
Elma armut kıyaslaması yok ortada. Elma nerde Armut nerde?

Alıntı YapEfektif hesaplıyor ama algoritmanın kendisi pek efektif değil gibi duruyor. Ve bu algoritmanın response inanılmaz yavaş.

Bu algoritmayı koda döker bir de display takarsanız cihaz son derece kıpraşmasız efektif değer gösterir. Bu algoritmada katsayıları bu amaçla yüksek tuttum. Panoya takarsınız ve panoda stabil bir değer görürsünüz. Amaç da buydu zaten.

Aslında algoritma RC filitre içeriyor ve response time RC değerinin yüksek olmasından kaynaklanıyor.

Ana mantığı 2 derece filitrelerle donatıp response time'ı inanılmaz küçültebilirim. Fakat o zaman algoritmayı burdaki gibi bedava veremem.

Ben sadece ufkunuzu genişletmek istedim.

Alıntı YapNormal rms hesaplarken 16 sample'da sonuca erişebiliyoruz, sqrt'siz ise 50000 sample'da
sqrt'li(normal) rms için 17. sample'ı , sqrt'siz içinde 50001'yi hesaplayalım. Okunan adc değeri 50 olsun....

Normal RMS hesabı diye bir şey yok. O bir matematik teknik. O bir aldatmaca.


Efektif değeri klasik formülle hesaplayan bir program yazın. ADC den ölçüm yapıp sonucu versin.

Deneme amaçlı olarak sin(x) sinyali kullanın.

Nasıl sonuç mükemmel değil mi.

Şimdi de sin(x)+3sin(3x) için aynı programı kullanın ve sonucu hesaplatın.

Sonuç nasıl?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 17:08:40
Alıntı yapılan: Zoroaster - 02 Kasım 2016, 16:28:37
...
Peki AC 50Hz ile ark kaynağı yapan makinanın elektrod akımının efektif değerini ölçmek istiyorum. Hadi bakalım MCU ile efektif değeri ölçecek bir kod yazıverin.

Cıks. Biz bu yukarıdakini yapanı bekliyoruz. Artık bedava olur olmaz bilemem.

Şimdi kaçaklara oynamayalım; tepki süresi bu kadar yavaş olursa aşağıdaki sinyalin RMS'ini nasıl hesaplayacağız? Bunları ben iddia etmedim iki şeyi de siz iddia ettiniz. Ben ikisini de yapmanızı bekliyorum. Yoksa boş beleş bir iddia der kaale almam bu formülü.

(http://i.hizliresim.com/yV7VnN.png)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 02 Kasım 2016, 17:10:24
Bu şekilde kimsenin ufku genişlemez...

RC filtreyi modelleyip Z dönüşümünü alarak mı algoritmayı çıkardın? eğer öyleyse bu işlemleri açıklayıp paylaşırsan forumun ruhuna daha uygun olur...
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 17:13:43
Kuyuya taşı attım. Benden bu kadar.

Birisi forumda bana şöyle demişti. "Her yiğidin bi yoğurt yiyişi vardır. Ben yoğurdu böyle yiyiyorum."

Ben de deneyim bakalım bu yiyiş tarzı iyimiymiş.

Bu arada,  algoritmanın nereden geldiğini bulacak adamı gerçekten tebrik ederim.


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 02 Kasım 2016, 17:22:37
Alıntı yapılan: Zoroaster - 02 Kasım 2016, 16:51:42

Ana mantığı 2 derece filitrelerle donatıp response time'ı inanılmaz küçültebilirim. Fakat o zaman algoritmayı burdaki gibi bedava veremem.


Bende bedavaya uğraşmam bununla :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 17:24:18
Uğraşmazsan ufkun genişlemez.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 02 Kasım 2016, 17:33:35
Verdiğin örnek mantıklı değil  , mesela elinde 1mhz'e(sin (x)) kadar ölçebilen bir frekans ölçer varken 3mhz'i (sin (3x)) doğru ölçsün istiyorsun.
 
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 17:40:28
Alıntı yapılan: CLR - 02 Kasım 2016, 17:33:35
Verdiğin örnek mantıklı değil  , mesela elinde 1mhz'e(sin (x)) kadar ölçebilen bir frekans ölçer varken 3mhz'i (sin (3x)) doğru ölçsün istiyorsun.


Hayır elimizde 3Mhz'e kadar ölçebilen frekansmetre var ve senden 3Mhz'e akadar olan sinyalleri ölçsün istiyorum.

Efektif değer hesaplayan rutinininle önce 3sin(3x) i hesapla sonra da sin(x) + 3sin(3x) i hesapla.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 17:41:11
Alıntı yapılan: FxDev - 02 Kasım 2016, 17:08:40
Yoksa boş beleş bir iddia der kaale almam bu formülü.

Umrumda değil.

Algoritmanın çıkış noktasını bulmaya çalışacaklar için bir kaç ip ucunu vereyim.

1) Bir sinyalin efektif değerini bulmak demek, bu sinyalin yapacağı işe eşdeğer iş yapan DC voltajınn değerini bulmak demektir.

2) Tamdalga doğrultucu dahi yapsanız AC sinyaller doğrultulduğunda rıpıl oluşur.

3) Bu rıpılın genliğini büyük değerli RC filitre ile çok küçültebilirsiniz.

4) Eğer RC filitreleme ile rıpıl genliğini düşürmek amacıyla RC çarpanını büyük tutarsanız RC filitrenin zaman sabiti basamak cevabını yavaşlatır.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 19:52:05
@Zoroaster hâlâ aşağıdaki gibi bir şeklin RMS'ini sizin algoritmanız nasıl oluyor da hızlı bir şekilde buluyor kavrayamadım? Klasik RMS'ten avantajının aşağıdaki şekildeki gibi hızlı tepkilere cevap vereceğini söylediniz, hatta ve hatta kaynak akımı dediniz, çözümünü bekliyoruz.

(http://i.hizliresim.com/yV7VnN.png)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 21:20:28
Neyi anlamadın mesela?  MCUnun ADC'si var. ADC girişine ıvır zıvır devre ekledin ve grafikteki sinyali girdin. Efektif değeri nasıl hesaplayacaksın?

Al işte algoritmayı verdim o algoritma ile hesapla.

Neresini anlamadın?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 21:32:29
İterasyonla çok vakit kaybı oluyor. Şebeke sinyalini düşünelim, 10ms yarım dalga olsun 1 ms çöküntü oluştu. 20us ADC int gelsin, iterasyon 100bin cycle sonra sonuç veriyor hızlı değil. Bunu anlamıyorum.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 21:46:56
Üç kağıtçı seni. Şebekenin dalga şekli sinüstür diyorsun en kötü ihtimalle  atıyorsun bir zero cross dedector

Sıfır noktasını yakalıyorsun bakıyorsun + alternasdasın örnek alıyorsun sonra bir sıfır daha geliyuor gene örnekler alıyorsun sonra bir sıfır daha geliyor tekrar + alternans oldu diyorsun sonra tamam 1 tam peryod için verileri topladım bunların karelerini alır toplar terim sayısına böler karekök alır ve efektif değeri hesaplarım diyorsun.

Yada zero cross kullanmadan sinyalin değerlerinin işaretine bakarak alternanslar burda başladı burda bitti diyorsun. PEryodu yakalıyorsun. Ama bak hep sinyalin sinüs olduğu varsayımı var.

Eeee bu ne perhiz ne lahana turşusu? Daha en baştan sinüs dalga için hesap yapmaya karar verdin. Bir alternansda iki sıfır vardır kabülü yaptın.  Peki dalga şeklin kargacık burgacık bir şeyse ne olacak? Sinyalin peryodu nerde başlıyor nerde bitiyor nasıl bileceksin?

Yada  DC üzerine binmiş bir sinüs sinyal hiç sıfırı kesmeyip salınıyorsa nasıl efektif değer hesaplayacaksın?

İşte bu durumda şöyle yaparsın.

Sinyalimin peryodunu bilmiyorsam efektif değeri sonsuza dek hesaplarsın yani 10 .. 20 terim gibi sample değerleri ile değil her aldığın sample'ı efektif değer hesabında kullanırsın.

Mesela True RMS voltmeter her türlü sinyalin efektif değerini ölçebiliyor bunu nasıl yapabiliyor?

Benim algritmaya çamur atmak yerine kağıt kalem alıp biraz kafa yorun.

Kubilay ne diyordu? Okulda hocalarınız sizi şartlandırıyor halbuki ben olaylara geniş alandan bakıyorum.

Aynı durum var. Efektif değer hesaplama için çok şartlanmışsınız.

Algoritma yavaş çalışıyor falan diyorsunuz da ben onu süper hızlı olsun cevabı çok hızlı olsun diye yazmadım.

Eğer gerçekten algorritma ilginizi çektiyse ve hızlı versiyonu lazım olursa mail atın yeter. Sözleşme metnini yollarım.

Yahu yapmayın etmeyin acaip basit bir algoritma. At gözlüklerinizi çıkarıp atın geniş açıdan bakın. Algoritmayı sizler de hızlandırabilirsiniz.

En azından algoritma neden sağır onun sebenini siz bulun. Aslında bir sürü ip ucu verdim.

Mesela kaynak akımı gibi iğrenç bir akımın efektif değerini nasıl hesaplayacaksın. Verdiğim algoritma tıkır tıkır hesaplar.
Güzel algolar istersen bende mevcut.

STM için acaip algoritmalarım var. Mis gibin asm kokuyor üstelik.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 02 Kasım 2016, 22:00:37
@Zoroaster maalesef ama maalesef tekrar yazıyorum maalesef benim RMS hesaplamalarımda zero cross detection yok. Hatta zero gelmese de hesaplayabiliyorum RMS'i. Algoritmana tek bir açıdan ilgimi çekmişti, hızlı dediğin için. İlgimi kaybetti. Kolay gelsin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 22:03:13
Bu arada algoritma yazmak için çakal olmak lazım. Ben de burda acaip bir çakallık yaptım.

Mesela çok sevdiğim bir 1/karekok(x) algoritması var demiştin. o algo da çok çakalca yazılmış. O algoritmayı anladın mı?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 22:06:07
Alıntı yapılan: FxDev - 02 Kasım 2016, 22:00:37
@Zoroaster maalesef ama maalesef tekrar yazıyorum maalesef benim RMS hesaplamalarımda zero cross detection yok. Hatta zero gelmese de hesaplayabiliyorum RMS'i. Algoritmana tek bir açıdan ilgimi çekmişti, hızlı dediğin için. İlgimi kaybetti. Kolay gelsin.

Eğer yazdığın algoritma ark kaynak makinesinde elektroddan akan akımın efektif değerini hesaplayabiliyorsa yada şebekede 50/60 Hz vs frekans ayrımı yapmıyorsa yada 100 + 10sin(wt) için efektif değeri hesaplıyabiliyorsan helal olsun. Aferim.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: seyityildirim - 02 Kasım 2016, 22:32:17
@Zoroaster hocam çalışmalarınızı takip ediyorum. Matematik ile farklı teknikler geliştiriyorsunuz. Bunları hiç ieee, sciencedirect gibi hakem onayı ile makale yayınlayan yerlere göndermeyi düşündünüz mü ? Hem literatüre katkı olur hem de burada tartışma konusu değil inceleme konusu olur diye düşünüyorum.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 22:33:44
Benim çalışmalar ne ki? Ciddi şeyler değil.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 02 Kasım 2016, 23:22:24
Forumda @fatih6761'den umutluyum. Görün bakın o yöntemin altındaki çakallığı çakacak.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 02 Kasım 2016, 23:43:48
@Zoroaster atış serbestse ben de atabilir miyim? Newton Raphson sqrt. Esitligi biraz kurcaladim ama emin değilim.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 03 Kasım 2016, 01:04:59
Alıntı yapılan: Zoroaster - 02 Kasım 2016, 17:40:28
Hayır elimizde 3Mhz'e kadar ölçebilen frekansmetre var ve senden 3Mhz'e akadar olan sinyalleri ölçsün istiyorum.

Efektif değer hesaplayan rutinininle önce 3sin(3x) i hesapla sonra da sin(x) + 3sin(3x) i hesapla.


Çok ilginç bir yaklaşım, Frekans Response'u çok yavaş algoritma ile yüksek frekans üzerinden hava atmaya çalışıyorsun. Algoritma yüksek frekansa karşı duyarsız yani algoritmayı rms hesaplıyor diyerek, yanlış anlatıp yanlış kullanıyorsun. Bu algoritma geçmişe bakıp rms'den çok büyük değerli samplelarda bile küçük değişimlerle azalıyor artıyor.

İspatlarım diyorsan, yaz bir program algoritmanın güzelliğini görelim, vay be güzelmiş diyelim. Program yazıp örneklendirmeyeceksen, uygulamaya dökmeyeceksen, benim açımdan bu topic'te harcayacak başka zamanım yok. 
   
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 01:12:45
Algoritmanın hızlandırılmış versiyonunu STM'ye yükleyip  video çekeyim tamam.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 03 Kasım 2016, 01:50:30
Uygulamasını yapacaksan stm'ye gerek yok, c'de veya c++'da bir program yaz, girdi olarak bir sinx veya istediğin fonksiyonu kullan, program çalışırken sample sayısını, çarpma bölme sayısını, rms değerini adım adım print et veya görelim, standart rms hesabi ile karşılaştıralım. Merak etme kendi adıma haklıysan hakkını veririm.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 02:30:31
Yok demo amaçlı panel metre yapacağım giriş gerilimini ayrı ayrı sinüs, yarımdalga sinüs, yapıp efektif değeri hem  usb'den PC ye atıp PC ekranından hem de true rms voltmetreden  kameraya alıp izleteceğim.

Bakalım bakalım kaç saniyede refresh edecek. Yoksa voltmetre kadar atik mi olacak?

Elin gavuru True RMS voltmeter yapıyor da Zoroaster mi yapamayacak. Hemi de STM32 ile.

Güldürmeyin ağalar. Elimde ASM gibi bir güç var.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 02:54:59
Algoritmada çok az oynayıp PC'de delphi ile sinüs fonksiyonunu 4300 çevrim bitiminde sonuç 0.707 olarak hiç oynamayacak şekilde hesaplıyorum.

50us aralıklarla sample alırsam yaklaşık 0.2 sn de ekranı refresh edebilirim demektir. Zaten panelmetrede 0.2 sn  refresh pek arzu edilmez yarım saniyede 1 refresh fena olmaz. Algoritmayı yavaşlatsam mı ne?

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 03 Kasım 2016, 08:42:12
@CLR şimdiden kolay gelsin. @X-Fi 'ye selamlar :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 03 Kasım 2016, 08:42:27
Hızlı algoritma bu mu? 10ms'de 64 veya 128 adc sample'ı gereken çıktı için

* 4300 adc okuması yapıp, 
* bu kadar işlem için işlemci clock hattını meşgul edip,
* 4300* X tane fazladan asm komutunun işlemesini sağlayıp,
* frekans response'nu 20 kat yavaşlatıp (200ms/10ms) ,

sqrt kullanmadım ve asm kullandım diye kendini avantajlı sayıyorsun.
Neyse, daha önce söylediğim gibi benden bu kadar. 
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 09:00:40
Hız görecelidir...
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 11:12:00
Yahu sanki MCU ile True RMS metre yapabiliyorlarda konuşuyorlar işte.

Alıntı YapHızlı algoritma bu mu? 10ms'de 64 veya 128 adc sample'ı gereken çıktı için

Adamın kafa 50Hz'e takılmış. Efektif değer diyince sadece şebeke geliyor aklına.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 03 Kasım 2016, 11:20:34
Z derdimiz true rms metre yapmak olsaydi 1us de bir data alir ornek sayisini da 262.144 adet yapar islemciye hesaplatir olayi cozerdik. Mis gibi de zerre oynamazdi. Hatta moving rms sekline donusturur her 1 us de o 262.144 adeti bir kere kaydirip RMS alirdik. F4 kullandik miydi da tadindan yenmezdi. Üstüne 1MIPS'te örnek aldığımı için bir de FFT çakardık, 3.8Hz çözünürlükte 500Khz'e kadar da FFT açılımı yapardın. Sonra ana frekansını girer THD'de hesaplardın amma derdimiz bu değil.

Derdimiz isin hizli olmasi, 0.2 saniye cooook uzun bir sure şebeke için 10 alternans gecisi demek örneğin. Şebeke için RMS derdimiz oluyor genelde çünkü millet buradan ekmek yiyor. Şimdi ben şebekede hata algılamak istesem bunu senin algoritmanla 1 alternansta nasıl yaparım hala cevap yok.

Sen hizli algoritma diyorsun ben hiz goremiyorum @CLR gibi.

Konuyla ilgili son mesajim olsun.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: CLR - 03 Kasım 2016, 12:50:55
0.707'ye 4300 sample'da eşitledim dediğin için onu örnek verdim, sen her sinyalde 0.707'yi  kullanıyorsan orasını bilmem 
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 14:22:55
@CLR

https://youtu.be/n6obTpAATzk

Umarım kafandaki soru işaretleri kalkar.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 15:04:57
Toplam sembolü ile verdiğin RMS hesabındaki N poryot anlamına gelmiyor ki orda peryodu bilmek te şart değil...
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 15:07:28
Nasıl aynı anlama gelmiyor? Toplamın önündeki N, bir peryod aralığında aldığınız sampların sayısı.

Eğer peryodu bilmek istersen Peryod=N x Delta T

Video çekerken dil sürtçmeleri olabiliyor.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 15:08:31
iyi de sinyalin peryodunu bilmek gerekiyor anlamına gelmiyor ki. Kaç adet örnekleme alırsan o sayıyı ifade ediyor örnekleme aralığı ile N'i çarparsan sinyala baktığın pencereyi bulursun bu pencereden de efektif değeri peryodu bilmeden hesaplarsın

RC filtreyi modelleyip s domeninden z domenine geçmişsin anladığım çok abartılacak bişey olmasa gerek.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 15:09:54
Sinyalin peryodunu bilmezsen kaç sample alacağını nasıl bileceksin?

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 15:13:43
Tamam 50 sample alacam diye yol çık.

Bu kez de sampla alma süren (Delta T) ne olacak? Elim mahkum gene peryodu bileceksin.

DT=Peryod/N

Peryod bilinmezse hiç bir şey hesaplayamazsın. Karelerin toplamından yola çıkıp hiç bir şey yapamazsın.

Çünkü efektif değer ifadesinde peryod var.


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 15:17:11
Alıntı yapılan: Zoroaster - 03 Kasım 2016, 15:13:43
Karelerin toplamından yola çıkıp hiç bir şey yapamazsın.

Başından beri demek istediğiniz bu muydu hocam? Karelerin toplamı değilse nedir?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 15:17:36
50uS de örnekleme alıyorum diyorsun belki 20Khz frekanslı sinüs dalgasıyla senkronize oldun sürekli 0 noktasındaki gerilimi ölçüyorsun senin yöntemde hatalı ölçer o zaman.

RMS almak için her zaman ölçülen sinyalin bileşenlerinden daha fazla frekansta örnekleme yapmak lazım.

yani ölçülen sinyal içindeki ana harmonik 50Hz ise 100'üncü harmoniği de hesaba katmanın anlamı yok yada 1000000'ci.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 03 Kasım 2016, 15:21:13
(http://i.hizliresim.com/byzmJZ.jpg)

@mihri  +1500

Zaten bu yolla ancak periyottan bağımsız RMS hesabı yapabiliyoruz/m. Pencereyi büyüttükçe de doğruluğun artar. İşin olayı da güzelliği de bu, böylelikle sinyalin frekansından bağımsız olursun. Örnekleme periyodunu ve pencereni arttırdıkça sonucunun doğruluğu artar.

Şebekede çalışırken böylelikle çok az örnek bile iş görür, bir de önceki örneklerle ortalama alınırsa atıyorum yeni örneğin %80'i eskinin %20si gibi low pass filtrede yaparsın.

Bak yukarıdaki kağıda iki dkda çizdim. Ben 1. alanın 2. alanın 3. alanın RMS'ini tık bu yolla hesaplarım.

Artı bir şey daha, benim algoritmam float işlemler barındırmıyor. Örnek sayımı ikinin katları seçerek basit kaydırma işlemleriyle olayı hallediyorum. 16324 gibi rakamlara bölmeye de gerek yok. Düşük güçteki işlemcilerde deneyin bir de bu işlemleri, bilgisayarda yapması bebek oyuncağı bilmemkaç bit float hesabı var.

Onun için diyorum işleminiz doğru sonuç veriyordur bu beni ilgilendirmez, benim ilgilendiğim konu hızlı olması.

Ayrıca birileri integral bilmiyor, 0-T aralığında integral demek, 0-T aralığındaki sinyalin fonksiyonunu işletmek demek. Yani RMS integralini o aralıkta işletiyorsun demek. Periyodun o demek değil. Biz şebekede işler daha iyi hesaplansın diye, RMS peryodu ile şebeke peryodunu birbirine eşitliyoruz ki RMS değerlerimizin hesaplama penceresi hep aynı olsun ve RMS değeri birbirine yakın çıksın.

Tekrar ediyorum, formüldeki 1/T sinyalin frekansı demek değil, türevin alınacağı aralık demek.

İntegralin tepesine yazıyorsun 0'dan T'ye kadar diyorsun. Bu ne demek 0 ile T aralığın, integral içerisindeki formülü işlet demek. Bir nevi alan hesaplama. Burada sinyalin frekansı yok ki, frekans bileşeni yok. Senin oraya yazdığın delta_T örnekleme periyodun, N'de örneğin. Yani bir pencereyi tanımlıyorsun yine.

Anlık RMS değeri olamaz, belirli bir sürenin RMS değeri olur olay bununla ilintili.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 15:32:52
20Khz sinyalin efektif değerini ölçmek istersem örnekleme peryodunu 50us alacak kadar enayimiyimki?

Piyasadaki efektif değer ölçen pano tipi voltmetereleri Amerikaya götür muhtemelen yanlış çalışır.

Efektif değeri 50Hz için hesaplayan algoritma yazarsan girişe de 50Hz uygulamak zorunda kalırsın frekansı değiştiremezsin.

Fakat o zaman buna sadece 50Hz de çalışan efektif değer ölçen ölçü aleti denir.

Verdiğim algoritmada frekansı istediğin gibi değiştir yanlış hesap yapmaz.

İstediğin gibi değiştir derken ustruplu değiştir tabiki.

Alıntı Yapyani ölçülen sinyal içindeki ana harmonik 50Hz ise 100'üncü harmoniği de hesaba katmanın anlamı yok yada 1000000'ci.

50 Hz den başka frekans bilmezmisiniz?

Peryodunu bilmediğin bir sinyal için 10000'inci harmonic varmıdır yokmudur bilemezsin.

Bu yüzden en azından benim algoritmam frekansını bilmediği bir sinyali çok kısa aralıklarla  örneklemek zorunda.




Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 15:41:31
Alıntı yapılan: Zoroaster - 03 Kasım 2016, 15:32:52
20Khz sinyalin efektif değerini ölçmek istersem örnekleme peryodunu 50us alacak kadar enayimiyimki?



Yani senin yöntemde de ölçülen sinyaldeki en yüksek frekansli bileşeni bilmek gerekiyor öyle mi? Ya da peryodu...
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 03 Kasım 2016, 15:42:47
z RMS formülü frekanstan bağımsızdır. Frekans bileşeni yok bir kere. Sadece formülün işletileceği alan tanımlı. Dolayısı ile RMS formülünün kendisi frekanstan bağımsız.

BU İŞLERE İLK BAŞLAYACAK ARKADAŞLAR. SÜPER YÖNTEM BULDUM DİYE BU OLAYA DİREK ATLAMAYIN. KOCAMAN BİR LOW PASS FİLTREDEN BAŞKA BİR ŞEY DEĞİL YÖNTEM.

Kolay gelsin.

Dip not: Forum yöneticlerinden isteğim mesaj onayının kaldırılması. Benim cevabım onaylanıncaya kadar olay soğuyor.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 15:50:49
Alıntı yapılan: Cemre. - 03 Kasım 2016, 15:17:11
Başından beri demek istediğiniz bu muydu hocam? Karelerin toplamı değilse nedir?

Artık laf olsun torba dolsun diye mesaj yazdığınıza inanacam nerdeyse.

Bak burada anlatmışım. http://www.cncdesigner.com/wordpress/?p=3189

Bu yazıyı yazan adam karelerin toplamından yola çıkıp bir şey yapamazsın derken ne demiş olabilir acaba?

Peryodu bilmiyorsan kare almakla bir şey yapamazsın diyorum.

Tamam okumuş mezun olmuş adamlar baz şeyleri unutmuştur da sen yapma.

Alıntı yapılan: mihri - 03 Kasım 2016, 15:41:31
Yani senin yöntemde de ölçülen sinyaldeki en yüksek frekansli bileşeni bilmek gerekiyor öyle mi? Ya da peryodu...

Onu mu anlamak istiyorsun?

Ben olsam şöyle sorardım.

Sample alma peryodumuz T ise;

Frekansı bilinmeyen bir sinyalin efektif değerini hesaplamak istiyorsak sinyalden  T aralıklarla alınan örneklerle efektif değer hesaplıyorsak %1 hata nın üstünde hata yapmaya başladıysak sinyalimizin frekansı nedir?

Bu soru daha güzel değil mi? Hem de biraz gıcık soru.

Fakat sizin sorular teknik anlamda gıcık değil de okuyanı gıcık ediyor.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 15:56:39
Yani bunu zaten biliyorumda senin iddan senin yönteminle frekans bilgisi olmadan da RMS hesaplanacağı yönündeydi...

Şimdi bu iddanı biraz modifiye edip örnekleme frekansı sinyal içindeki en yüksek frekanslı harmonikten daha fazla yapmak gerekir demen gerekir.

O zaman karelerinin toplamının ortalamasının karekökü de aynı şey olur.

Gıcık olma sen benim abimsin :) ufkumuzu genişletiyoruz.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 15:58:34
Algoritma orada merak eden inceler.

Evet benim algoya parametre olarak bak şu frekansı ölçecen diye bir baştan şey demiyoruz. 5 Hz veriyoruz ölçüyor. 20 Hz veriyoruz ölçüyor. 55 Hz veriyoruz gene ölçüyor.

Haa eğerki algoritma hata yapmaya başladı ise bilin ki örnekleme frekansınız  artık ölçmeye çalıştığınız sinyal için yetersiz kalmaya başlamıştır.

Her ölçü aletinin bir ölçüm sınırının olması çok doğal.

Algoritmada da 4. maddede ne demişim. Biraz bekleyin. İsterseniz hiç beklemeyin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 16:15:40
Orta noktayı bulucaz diye hissediyorum...

Aynı örnekleme frekansında aynı sayıda örneği kullanarak klasik yöntemle RMS hesaplarsak senin yöntemle aynı sonucu elde ederiz doğru mu?

Eğer doğruysa senin yöntemin +'si ne?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 16:23:09
Yahu hocam beni niye fırçaladın şimdi. Videoyu izlerken de ilk 7-8dk dayak yiyorum sandım. Hocam sinir kötü birşey, yapma etme.

Forumda bir süredir "tartışma"nın anlamı farklılaştı. İnsanlar birbirine kızıyor küsüyor, yahu konuştuğumuz şey 4 işlemden ibaret. Neyin kavgası bu? Neyse.

Hocam şimdi cümlemi yanlış anlamışsınız, aslında ben sizin dediğinizi yanlış anlamışım da o şekilde sormuşum hata bende, haklısınız.
Ben konuyu açtığınızdan beri RMS nasıl hesaplanır konusunda denemeler yapıyorum. MCU'yu programladım, 20kHz örnekleme ile 50Hz sinüs sinyali üretiyorum. Bunu 10k 100nF R-C filtreden geçirip ADC'ye giriyorum. ADC'yi de her pulse'te bir kez okuyorum. (Burası biraz tricky çünkü sinyalin peryodu ile ilgili bir ipucu gibi oluyor, sinyali ben ürettiğim için)

Nette bu hesabı yapan bir kod parçası buldum, bakalım becerebilecek miyim diye de bu deneyi yaptım, olmadı. Kod parçası aşağıda. Gerisi söylediğim gibi, belkide sinüs üretirken hata yaptım bilemiyorum scop yok şuanda.

Ben yazdığınız eşitliğin doğruluğunu tartışmıyorum, elbet doğrudur, zaten video'da 70,71'i görmek bana yetti. Ben altında yatan şeyi merak ediyorum.
Şimdi öyle cümleler kuruyorsunuz ki RMS değer sinyalin karelerinin ortalamasıdır amma ben öyle yapmıyorum der gibi. Benim de haliyle kafam karışıyor ve yukarıdaki soruyu soruyorum, bu adam ne demek istiyor diye, kızma yani.

Neyse kod aşağıda, belki biri incelemek ister;


#define INITIAL 1  /* Initial value of the filter memory. */
#define SAMPLES 400

uint16_t rms_filter(uint16_t sample)
{
    static uint16_t rms = INITIAL;
    static uint32_t sum_squares = 1UL * SAMPLES * INITIAL * INITIAL;

    sum_squares -= sum_squares / SAMPLES;
    sum_squares += (uint32_t) sample * sample;
    if (rms == 0) rms = 1;    /* do not divide by zero */
    rms = (rms + sum_squares / SAMPLES / rms) / 2;
    return rms;
}
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 16:30:12
Tamam işte algoritmanın özü yerine geçecek bir program bulmuşsun.

Verdiğim algoritmada sinyalin karesi görülmüyormu?

Benim iddia ettiğim tek ne var? Peryodu bilmem gerekmiyor. Fakat karelerin toplamından giderseniz bunu terim sayısına bölmeniz gerekir ve algoritmam o yüzden farklı diyorum.

Bu yüzden de örnek dalga şekli verdim kaynak akımını örnek verdim.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 16:33:51
@Zoroaster tamam hocam anlaştık. Karesi görülüyor, sunuş şekliniz beni aldatıyor :D
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 03 Kasım 2016, 16:37:01
Alıntı yapılan: mihri - 03 Kasım 2016, 16:15:40
Orta noktayı bulucaz diye hissediyorum...

Aynı örnekleme frekansında aynı sayıda örneği kullanarak klasik yöntemle RMS hesaplarsak senin yöntemle aynı sonucu elde ederiz doğru mu?

Eğer doğruysa senin yöntemin +'si ne?

+ yanıt bekliyoruz.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 16:37:49
Tamam anlaştıysak.

O zaman barışalım. 

Bu da barış sorusu olsun.

Sinyalin mutlak değerinin 1 peryod boyunca ortalaması ne anlama gelir?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 16:40:48
Tamamdır farklı birşey bulmuşsun benimle de anlaştın.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 16:42:47
Misal, sinüs sinyali. Koy 4 tane diyot, alsana mutlak değeri. Sonuç hep pozitif bölgede yani tam dalga doğrultulmuş sinüs.

1 Peryot boyunca ortalaması alacağım diyorsunuz. Eee, ortalama değer işte? Mutlak almasaydınız sinüs için 0'dı. Mutlak aldınız, yarım peryot sinüsün ortalama değerini buldunuz. Başka birşey mi sormaya çalışıyorsunuz? Çok mu basite indirgedim.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: seyityildirim - 03 Kasım 2016, 16:45:39
Alıntı yapılan: Zoroaster - 03 Kasım 2016, 16:37:49

Sinyalin mutlak değerinin 1 peryod boyunca ortalaması ne anlama gelir?

mutlak değer burada sinyalin karesini alıp tekrar karekök almaktan kurtarıyor sanırsam. Çünkü karesini alınca da pozitif oluyor mutlak değer alınca da. tek fark genliği büyük. @Zoroaster hocam doğru mu gidiyorum ?    :) doğru gidiyorsam aklımda gerisine dair tahminlerim var :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 16:58:11
Soruyu Cemreye barış sorusu niyetine sormuştum.

Mutlak değerden yola çıkıp efektif değere ulaşabilir misin?

Aklından ne geçiyor?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: seyityildirim - 03 Kasım 2016, 17:42:03
tahminimi kağıda döktüm birkaç işlem sonrasında çok da mantıklı bir sonuç çıkmadı. o yüzden ben iptal :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 18:27:00
KOCAMAN BİR LOW PASS FİLTREDEN BAŞKA BİR ŞEY DEĞİL YÖNTEM.

Demiş fxdev halklıda. Zoroasterin yaptığı en büyük hata ise bu filtrenin RMS değerini verdini iddia etmesi.

Bu filtre bazı durumlar haricinde RMS değerini vermez.

Bedavaya da bunu ıspatlamam🙂
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 18:37:18
Alıntı yapılan: mihri - 03 Kasım 2016, 18:27:00
KOCAMAN BİR LOW PASS FİLTREDEN BAŞKA BİR ŞEY DEĞİL YÖNTEM.

Demiş fxdev halklıda. Zoroasterin yaptığı en büyük hata ise bu filtrenin RMS değerini verdini iddia etmesi.

Bu filtre bazı durumlar haricinde RMS değerini vermez.

Bedavaya da bunu ıspatlamam🙂

Matematik asla yalan söylemez.

Verdiğim algoritma her durumda RMS değeri hesaplar. Yeterki sample alma frekansınız adam gibi olsun.

Verdiğim algoritmanın yanılacağı tek bir dalga formunu bile örnek gösteremezsiniz. İşkembeden sallamayın.

Bu arada günaydın. Sistemin RC filitre içerdiğinin ip uçlarını taa ne zaman vermiştim zaten.
Gözümüze soka soka RC filitre demenin alemi varmı?

https://www.picproje.org/index.php/topic,66113.msg515470.html#msg515470
https://www.picproje.org/index.php/topic,66113.msg515486.html#msg515486
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 18:58:20
Matematik yalan söylemezde sen hata yapabilirsin ki hatanın kaşı gözü yarılmış durumda :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 19:16:10
Tamam algoya hata yaptıracak örnek sinyalini görelim o zaman.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 19:19:22
MCU'da beceremeyince MATLAB ile deneyeyim dedim, yine beceremedim. Sizce ben mi hatalıyım yoksa kod mu?

MATLAB fonksiyonum

function rms_value = RMS_Calc(sample)
    INITIAL = 1;
    SAMPLES = 400;
   
    rms_value = INITIAL;
    sum_squares = 1*SAMPLES*INITIAL*INITIAL;
   
    sum_squares = sum_squares - (sum_squares/SAMPLES);
    sum_squares = sum_squares + sample*sample;
    if rms_value == 0
        rms_value = 1;
    end
rms_value = (rms_value + (sum_squares/SAMPLES)/rms_value) / 2;


Script'im

x = 0:0.00005:0.04;
for p = 1:1:801
    k(1,p) = sin(2*pi*50*x(1,p));
    m(1,p) = RMS_Calc(k(1,p));
end
        subplot(2,1,2), plot(m);
        subplot(2,1,1), plot(k);


Sonuç
(https://s11.postimg.cc/sznjvgh83/Ekran_Al_nt_s.jpg) (https://postimg.cc/image/khe3r4apb/)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 19:20:46
Matlab bilmiyorum.

Fonksiyonu matematiksel yazsan yeterli.

Haaa bir dakika. O algo benim algo değilki. Onu Cemre verdi. Benle alakası yok o algonun.

Ben sadece özü aynı dedim.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: mihri - 03 Kasım 2016, 19:51:28
Alıntı yapılan: Zoroaster - 03 Kasım 2016, 19:16:10
Tamam algoya hata yaptıracak örnek sinyalini görelim o zaman.

Daha önce de dediğim gibi... şimdi freelance bir tasarım yapıyorum iban göndereyim kabul edersen?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 20:27:58
İban ile birlikte banka giriş kodlarını da göndereceksen anlaştık.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 20:49:28
Tamam, matlab'da hesabı yaptım. Benim verdiğim kodda ufak bir değişiklik yapmam gerekti ama şuan çalışıyor.

@Zoroaster 'in tek satırlık kodu ile grafikleri karşılaştırdığımda (aynı verileri girerek iki ayrı grafiği kendim elde ettim) 50Hz sinus dalgasına verdikleri cevaplar çok yakın. Çok yakın olduğunda benim verdiğim kodun sample alma sayısı 9600 sample. 50us'de bir sample alıyorum. 480ms (24 tam peryot) boyunca sample alıp @Zoroaster 'in koduna yaklaşık dalgalılıkta bir sonuç elde edebiliyorum. Sample sayısını 400'e düşürdüğümde ise (1 tam peryot) 0.74 ile 0.68 arasında geziyor değer. (0.7071 olmalı)

Bir de MCU'da iki kodu koşturup hesabın kaç uS tuttuğuna bakılırsa bence güzel bir karşılaştırma olabilir.
Anlaşılır olmadıysa grafikleri de paylaşabilirim.

@Zoroaster hocam 50Hz sinüs 20kHz'de örneklenmiş sinyal için sample sayısı 400 olan halini paylaşabilirseniz onu da karşılaştırmak isterim.

(https://s17.postimg.cc/tb5gr96u7/Ekran_Al_nt_s.jpg)
İlk grafik sinüs.
İkinci grafik 400sample ile benim verdiğim kod.
Üçüncüsü @Zoroaster 'in kodu.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Yuunus - 03 Kasım 2016, 20:54:27
yahu @z sen ne ara ise gidiyon ne ara bu islerle ugrasmaya vakit buluyon vallahi performansina hayranim, ben seni takip etmekten yoruldum inan, bagamlilik gibi bisi oldun.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 03 Kasım 2016, 21:27:29
@Zoroaster , Hocam sample alma sıklığımı 5uS'ye düşürdüğümde verdiğim kod sizinkine kıyasla daha az salınımlı bir sonuç veriyor. Bu durumda sizin kodun tek avantajı (şuan görünen avantajı) daha az satırda işin halledilmiş olması. Verdiğim kod optimize edilirse sizinki gibi tek satıra indirilebilir mi? Bilmiyorum. MCU ne kadar vakit harcıyor her iki kodu koştururken bunu da bilmiyorum. Geriye birtek bunların karşılaştırılması kalıyor. Onun dışında @mihri hocamın dediği gibi bir durum varsa, yani spesifik bir sinyal bu hesabı delebiliyorsa zaten sorun çok daha büyük demektir.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 03 Kasım 2016, 21:59:21
Hiiç korkma.

O kadar sağlam taş gibi bir matematik alt yapısı varki asla ve asla sistemi göçertemeyiz.

Kullanacağınız filitreleme fonksiyonuna göre sistem tepkisi degişir, rıpıl değişir. Fakat her zaman sonuç eli mahkum efektif değere yakınsar.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 03 Kasım 2016, 22:11:43
Puf artık komik bile olmaktan çıktı.

Bari şu foruma yanlış bilgi verme, zavallının biri inanıp bunu kullanacak sonra saç baş yolacak gariban, insanlar bu yüzden ekmeklerinden bile olabilir. 100 kere tartmalıyız bir şeyi paylaşırken forumda bu yüzden.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: fatih6761 - 04 Kasım 2016, 01:40:29
Alıntı yapılan: Zoroaster - 03 Kasım 2016, 21:59:21
Hiiç korkma.

O kadar sağlam taş gibi bir matematik alt yapısı varki asla ve asla sistemi göçertemeyiz.

Kullanacağınız filitreleme fonksiyonuna göre sistem tepkisi degişir, rıpıl değişir. Fakat her zaman sonuç eli mahkum efektif değere yakınsar.

Hocam bence V nin katsayısı 16383 değil 16383.5 olmalı. Haksız mıyım?

Ayrıca bu metod sin(t) için de sin(3*t) içinde çalışmalı. Normal RMS formülünden bir farkı yok aslında.

Ve hatta sample edilen değer V ye bölünmek yerine 2*V ye bölünürse daha şık sonuçlar veriyor.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: ferdem - 04 Kasım 2016, 02:04:56
Hesap hatalı. Öncelikle, RMS hesabı için işaretin periyodik olması veya sıfır geçiş yakalanması gerekmiyor. Herhangi bir "waveform" un belirli bir süre boyunca harcadığı enerjiye karşı düşen enerjiyi harcatan bir DC voltaj bulunabilir. R=1 alınarak kolaylaştırılır.
Belirli bir zaman diliminde RMS bulmak için o zaman dilimindeki toplam enerjinin bulunması gerekir. Bulduğunuz toplam enerjiyi enerjinin harcandığı süreye bölüp ortalama güç bulursunuz. Pavg=Vrms^2 dir.

Elde bir Vrms ve yeni gelen bir V değeri var ise RMS şöyle bulunur: Toplam enerji nedir, T*Vrms^2 + dt*V^2 dir. Burada T mevcut Vrms in ne kadar süredir(10 saniyelik mesela) hesaplandığı dt de bir örnek için geçen süre. Bu enerjiyi T+dt ye bölerseniz Pavg bulursunuz, bunun da kökünü alırsanız doğru RMS değeri bulursunuz.
Yani şu ifadenin kökü: (T*Vrms^2 + dt*V^2)/(T+dt)

Sizin formül şu: Ve(n)*Ve(n-1)= [16383*Ve(n-1) *Ve(n-1) + V(n)*V(n)]/16384;
Diyorsunuz ki ben toplam enerjiyi bulurken geçmişe 16383 ağırlık yeni gelen enerji dilimine 1 ağırlık vererek ortalama gücü bulurum. Halbuki burada gerçek değerleri kullanmak gerekiyordu. Bu değerler(T ve (T+dt)) her örnekte değişir. Bu değerler ile tepki süresini ayarlıyorum diyemeyiz, RMS değeri geçmişin birikimi, bu ağırlıklandırmada oranlar geçen süre ve örnek süresidir. RMS değeri aynı seyreden bir "waveform" da, sinüs mesela, bu hata ortaya çıkmaz.
Toplam enerjiyi bulunca kök alınması gerekirken en son bulunan RMS e bölüp doğru RMSe yakın ancak hatalı bir RMS buluyorsunuz ki bu hata artarak doğru RMS den iyice uzaklaşabilirsiniz, aşağıda örneği var.

Yöntemin hata yapacağı "waveform" istiyorsak şu 16383 e 1 alınan orandan görebiliriz, örnek uzunluğu 16383 ün üzerinde mesela 50000 veya daha üzeri örnek olsun ve bu sürede genlik ramp fonksiyonuyla değişsin. Yöntemin doğru ve yanlış sonuç verdiği örnek:

(https://s15.postimg.cc/5wmg1i9dz/image.jpg) (https://postimg.cc/image/5wmg1i9dz/)

(https://s15.postimg.cc/eg5tz9hqf/image.jpg) (https://postimg.cc/image/eg5tz9hqf/)

close all
clc
per=20;
t=0:0.5e-3:per;
x=(linspace(1,100,length(t))).*sin(2*pi*t);
subplot(1,2,1)
plot(t,x);
ylim([-150 150])
xlabel('t(saniye)');
ylabel('Voltaj(V)');


% sum(abs(x))*1e-3
y=zeros(1,length(x));
%Ve(n)= [Ve(n-1) * 16383 + V(n)*V(n)/Ve(n-1)] /16384;
new_rms=1;
for k=1:length(x)
    new_rms=[new_rms*16383+x(k)*x(k)/new_rms]/16384;
    y(k)=new_rms;
end
new_rms
subplot(1,2,2)
plot(y,'b')
hold on

y2=zeros(1,length(x));
total_energy=0;
for k=1:length(x)
    total_energy=total_energy+x(k)*x(k)*t(2)-t(1);
    avg_power=total_energy/[t(k)-t(1)];
    vrms=sqrt(avg_power);
    y2(k)=vrms;
end
vrms
plot(y2,'r')
legend('ZoroasterRMS','TrueRMS')
xlabel('t(saniye)');
ylabel('Vrms(V)');
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: fatih6761 - 04 Kasım 2016, 02:14:44
@ferdem hocam şu an matlab erişim imkanım yok da bir zahmet şunu deneyebilir misiniz?
[latex]V \leftarrow \frac{1}{N} \left( \left( N - \frac{1}{2} \right) V + \frac{v_{in}^2[n]}{2V} \right)[/latex]

new_rms = (1.0/16384) * (16383.5*new_rms + 0.5*v[k]*v[k] / new_rms)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: ferdem - 04 Kasım 2016, 02:28:50
new_rms_2 yaptım, şu şekilde değil mi:
close all
clc
per=20;
t=0:0.5e-3:per;
x=(linspace(1,100,length(t))).*sin(2*pi*t);
subplot(1,2,1)
plot(t,x);
ylim([-150 150])
xlabel('t(saniye)');
ylabel('Voltaj(V)');


% sum(abs(x))*1e-3
y=zeros(1,length(x));
%Ve(n)= [Ve(n-1) * 16383 + V(n)*V(n)/Ve(n-1)] /16384;
new_rms=1;
new_rms_2=1;
for k=1:length(x)
    new_rms=[new_rms*16383+x(k)*x(k)/new_rms]/16384;
    new_rms_2 = (1.0/16384) * (16383.5*new_rms_2 + 0.5*x(k)*x(k) / new_rms_2);
    y(k)=new_rms;
    y2(k)=new_rms_2;
end
new_rms
subplot(1,2,2)
plot(y,'b')
hold on
plot(y2,'g')


y2=zeros(1,length(x));
total_energy=0;
for k=1:length(x)
    total_energy=total_energy+x(k)*x(k)*t(2)-t(1);
    avg_power=total_energy/[t(k)-t(1)];
    vrms=sqrt(avg_power);
    y2(k)=vrms;
end
vrms
plot(y2,'r')
legend('ZoroasterRMS','6761oneri','TrueRMS')
xlabel('t(saniye)');
ylabel('Vrms(V)');


(https://s15.postimg.cc/mchqf99o7/image.jpg) (https://postimg.cc/image/mchqf99o7/)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: fatih6761 - 04 Kasım 2016, 02:40:55
Alıntı yapılan: ferdem - 04 Kasım 2016, 02:28:50
new_rms_2 yaptım, şu şekilde değil mi:
close all
clc
per=20;
t=0:0.5e-3:per;
x=(linspace(1,100,length(t))).*sin(2*pi*t);
subplot(1,2,1)
plot(t,x);
ylim([-150 150])
xlabel('t(saniye)');
ylabel('Voltaj(V)');


% sum(abs(x))*1e-3
y=zeros(1,length(x));
%Ve(n)= [Ve(n-1) * 16383 + V(n)*V(n)/Ve(n-1)] /16384;
new_rms=1;
new_rms_2=1;
for k=1:length(x)
    new_rms=[new_rms*16383+x(k)*x(k)/new_rms]/16384;
    new_rms_2 = (1.0/16384) * (16383.5*new_rms_2 + 0.5*x(k)*x(k) / new_rms_2);
    y(k)=new_rms;
    y2(k)=new_rms_2;
end
new_rms
subplot(1,2,2)
plot(y,'b')
hold on
plot(y2,'g')


y2=zeros(1,length(x));
total_energy=0;
for k=1:length(x)
    total_energy=total_energy+x(k)*x(k)*t(2)-t(1);
    avg_power=total_energy/[t(k)-t(1)];
    vrms=sqrt(avg_power);
    y2(k)=vrms;
end
vrms
plot(y2,'r')
legend('ZoroasterRMS','6761oneri','TrueRMS')
xlabel('t(saniye)');
ylabel('Vrms(V)');


(https://s15.postimg.cc/mchqf99o7/image.jpg) (https://postimg.cc/image/mchqf99o7/)

Evet hocam doğru bu şekilde. İlginçtir ki pythonda küçük bir program yazıp denediğimde düşük frekanslarda hata yüksek çıkıyor. Yüksek frekanslarda daha yakın sonuçlar alıyorum. Araştırmaya değer bir konu.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 11:46:12
Alıntı yapılan: FxDev - 03 Kasım 2016, 22:11:43
Puf artık komik bile olmaktan çıktı.

Bari şu foruma yanlış bilgi verme, zavallının biri inanıp bunu kullanacak sonra saç baş yolacak gariban, insanlar bu yüzden ekmeklerinden bile olabilir. 100 kere tartmalıyız bir şeyi paylaşırken forumda bu yüzden.

Bak Fxdev böyle saçma sapan cevaplarla ancak beni sinirlendirmiş oluyorsun. Bu yaptığının teknik bir tartışma ile yakından alakası yok. Algoritmayı süper anladın prensibinin yanlış olduğunu da buldun sonra da millete hey aman ha bunu sakın kullanmayın diye nasihatta bulunuyorsun öylemi?

Lütfen kendine gel kendine çeki düzen ver.

Madem algoritmanın yanlış olduğundan bu kadar eminsin bunu saygın bir teknik adam olarak
matematiksel yöntemlerle açıkla.

A:  Bu efektif değer algoritmasını kullanmayalım.
B:  Neden?
A:  Fxdev öyle diyor

Git işine. Biraz matematik öğren gel.

Ben bu algoritmanın matematiksel temeli olduğunu kaç kez söyledim. Sadece özünde ne olduğunu söylemedim.

Bu durumda senin algoritmayı çürütebilmen için  matematiksel yaklaşman gerekir.
Fxdev ne ya?

Böyle yapmayın şöyle yapın ne bu matematiksellik mi? Bilimsellik mi?

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 04 Kasım 2016, 12:12:50
Z öyle diyoruz anlamıyorsun, böyle diyoruz hayır diyorsun. Whatssup üzerinden yazdım, buradan yazdım, bir önceki mesajımda belirttim. Bizim yazdıklarımızı okumuyor, bir şey bilmemekle itham ediyorsun (videodan bahsediyorum). Olay böyle olunca da kusura bakma kaçtığını hissediyorum. (Şimdi  hiddetlenme hemen). Artı diyorsun ki matematik ağzı ile konuş bana; videondaki hataları aşağıdaki mesajda belirttim. En basitinden 1/T gördüğünde "bu periyodun tersidir, öyleyse bu frekansla ilintili" dersen her gördüğün sakallı ile dede ile ilgili sözü hatırlatırım.

Aşağıda yazdığıma cevap verdin mi, hayır, demedin ki öyle değil böyle değil. Ha diyorsan ki seni sallamıyorum, o zaman sonraki mesajlarımı da sallama.

Alıntı yapılan: FxDev - 03 Kasım 2016, 15:21:13
(http://i.hizliresim.com/byzmJZ.jpg)

@mihri  +1500

Zaten bu yolla ancak periyottan bağımsız RMS hesabı yapabiliyoruz/m. Pencereyi büyüttükçe de doğruluğun artar. İşin olayı da güzelliği de bu, böylelikle sinyalin frekansından bağımsız olursun. Örnekleme periyodunu ve pencereni arttırdıkça sonucunun doğruluğu artar.

Şebekede çalışırken böylelikle çok az örnek bile iş görür, bir de önceki örneklerle ortalama alınırsa atıyorum yeni örneğin %80'i eskinin %20si gibi low pass filtrede yaparsın.

Bak yukarıdaki kağıda iki dkda çizdim. Ben 1. alanın 2. alanın 3. alanın RMS'ini tık bu yolla hesaplarım.

Artı bir şey daha, benim algoritmam float işlemler barındırmıyor. Örnek sayımı ikinin katları seçerek basit kaydırma işlemleriyle olayı hallediyorum. 16324 gibi rakamlara bölmeye de gerek yok. Düşük güçteki işlemcilerde deneyin bir de bu işlemleri, bilgisayarda yapması bebek oyuncağı bilmemkaç bit float hesabı var.

Onun için diyorum işleminiz doğru sonuç veriyordur bu beni ilgilendirmez, benim ilgilendiğim konu hızlı olması.

Ayrıca birileri integral bilmiyor, 0-T aralığında integral demek, 0-T aralığındaki sinyalin fonksiyonunu işletmek demek. Yani RMS integralini o aralıkta işletiyorsun demek. Periyodun o demek değil. Biz şebekede işler daha iyi hesaplansın diye, RMS peryodu ile şebeke peryodunu birbirine eşitliyoruz ki RMS değerlerimizin hesaplama penceresi hep aynı olsun ve RMS değeri birbirine yakın çıksın.

Tekrar ediyorum, formüldeki 1/T sinyalin frekansı demek değil, türevin alınacağı aralık demek.

İntegralin tepesine yazıyorsun 0'dan T'ye kadar diyorsun. Bu ne demek 0 ile T aralığın, integral içerisindeki formülü işlet demek. Bir nevi alan hesaplama. Burada sinyalin frekansı yok ki, frekans bileşeni yok. Senin oraya yazdığın delta_T örnekleme periyodun, N'de örneğin. Yani bir pencereyi tanımlıyorsun yine.

Anlık RMS değeri olamaz, belirli bir sürenin RMS değeri olur olay bununla ilintili.

Aşağıdaki mihri'nin sorusuna yanıtı bir türlü vermedin mesela. Güzelce tanımlıyoruz, cevap yok.

Alıntı yapılan: mihri - 03 Kasım 2016, 16:15:40
Orta noktayı bulucaz diye hissediyorum...

Aynı örnekleme frekansında aynı sayıda örneği kullanarak klasik yöntemle RMS hesaplarsak senin yöntemle aynı sonucu elde ederiz doğru mu?

Eğer doğruysa senin yöntemin +'si ne?

Bunun yanında terimlerin yanlış. Bak @ferdem ne demiş: "Hesap hatalı. Öncelikle, RMS hesabı için işaretin periyodik olması veya sıfır geçiş yakalanması gerekmiyor....." Hani buna cevabın nerede?

Tek söylediğin 3-4 gündür papağan gibi, bu yöntem kanıtlandı, öyle harika, böyle süper, şöyle hızlı, böyle manyak. Buradaki amatörleri kandırırsın ancak bu laflarla beni değil.

Sen dedin ki bu yöntem süper, frekanstan bağımsız vs. Biz de diyoruz ki ki RMS hesabının kendisinde frekansla ilintili bir şey yok. Baktık cevap vermiyorsun bunlara, gittin bu işe yeni başlamış arkadaşlara bir şeyler söyledin.
Sonra dedim ki haa öyle mi. Bari bu işe yeni yeni başlayan insanların kafası karışmasın, ben forum için görevimi yerine getireyim. En azından 2-3 sene sonra buraları okuyanlar, bu adam yöntem önermiş, birileri de yanlış olduğunu söylemiş, öyleyse körü körüne inanmayım desin. Gayem maksadım bu.

Yoksa sana önceki mesajlarımda da belirttim, ben de RMS hesaplıyorum, frekanstan bağımsız vs. Ama benim yöntemimde herhangi bir magic trick yok. Euler o muhteşemliği yıllar önce yapmış zaten bizim yerimize.

------------------------------------------------------------------------------------
Z aslında sen anlamıyorsun ama sana garezim yok, sana gıcıklığım yok, aynı alanda çalışan bir elin parmağı kadar adamız şurada. Birbirimizin ağzına bakmamız lazım. Sıkıntı seni büyüğü olarak görüp, her dediğine koşulsuz inanan, bir grup, bir zümre var forumda. Hatta o kadar ki alnına Z bandanası asıp gezebilecekleri tanıyorum. Olası yanlış bilgi vermende bu insanlar senin dediğini doğru kabul edip çok zaman kaybedecekler. O yüzden senin gibi bir adamın çok daha tartılı konuşması lazım, bir misyonun var bu forumda, bunun farkına var.

Ha bu arada alnına bandana asıp gezenler seni çok sevdiğinden sanma, her şey çıkar bu işlerde benden daha tecrübelisin bilirsin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 12:15:58
Alıntı YapHesap hatalı. Öncelikle, RMS hesabı için işaretin periyodik olması veya sıfır geçiş yakalanması gerekmiyor. Herhangi bir "waveform" un belirli bir süre boyunca harcadığı enerjiye karşı düşen enerjiyi harcatan bir DC voltaj bulunabilir. R=1 alınarak kolaylaştırılır.
Belirli bir zaman diliminde RMS bulmak için o zaman dilimindeki toplam enerjinin bulunması gerekir. Bulduğunuz toplam enerjiyi enerjinin harcandığı süreye bölüp ortalama güç bulursunuz. Pavg=Vrms^2 dir.

Ferdem çok haklısın. Fakat efektif değer ölçen ölçü aletleri için malesef ama malesef sinyalin peryodik olma şartı olmasa bile sürekli olma zorunluluğu var. Bu benim algoritmam için de geçerli.

Örneğin termik prensiple çalışan bir true RMS ampermetrenin doğru değer gösterebilmesi için, içinden akım akıtıp ısı oluşturmasını beklemek zorundasın. Her ölçü aletinin bir tepki süresi vardır. Öyle değil mi? İbreli bir ölçü aletinin doğru değeri gösterebilmesi ibrenin konum değiştirip sabit kaldığı ana kadar ölçü aletini sinyal uygulamak gerekir.

Böyle yapmadığımız için okuyacağımız yanlış değer ölçü alatinin hatası olarak değerlendirilemez.

*******************************************************

Kağıt kalemi alsaydın ve kağıda peryodik olmayan bir sinyal çizip bunun efektif değerini hesaplarmısın deseydim. Hiç sorunsuz hesaplardın.

Fakat MCU'lar bizim kadar akıllı değiller. Kağıda baktığın anda fonksiyonun peryodunu anında anlarsın değilmi?

(http://i.hizliresim.com/zndmNY.png) (http://hizliresim.com/zndmNY)

Resimdeki sinyale bakıp efektif değeri hesapla dersem nasıl hesaplarsın?

Peryod hakkında ne diyebilirsin?

Hiç bir şey diyemezsin.

Algoritmam matematikçi değil. Kağıda bakarak kağıdın en sağında binlerce sample sonra gelecek sinyal değişimini bilemez.

Algoritmaya yanlış yaptıracağım diye elektrik tekniğinde kullanılmayan çok absürt sinyaller gireceğinizi bilseydim algoritmadaki filitreyi absürt sinyalinize göre seçerdim.

Yani ne demek istiyorum?

Kontrol teoriden hatırlayın. 1. derece sistemin basamak cevabında hata sıfıra gider.
Fakat rampa sinyaline cevabında hata olur. Parabolik sinyal cevabında hata devamlı artar.

Olay aynı şey. Algoritmamım verdiğiniz sinyal için de doğru ölçüm yapmasını sağlayabilirim.

Ama ben olsam algoritmanın doğruluğunu ispatlamaya çalışırdım.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 12:29:08
Alıntı yapılan: fatih6761 - 04 Kasım 2016, 01:40:29
Hocam bence V nin katsayısı 16383 değil 16383.5 olmalı. Haksız mıyım?

Ayrıca bu metod sin(t) için de sin(3*t) içinde çalışmalı. Normal RMS formülünden bir farkı yok aslında.

Ve hatta sample edilen değer V ye bölünmek yerine 2*V ye bölünürse daha şık sonuçlar veriyor.

Buradaki 16383 sihirli bir sayı değil.

Bunun değeri şu olmalı daha iyi olur diyemezsiniz. Fakat çok şık sonuçlar vermesi için o rakam, sample alma süresi ve ölçüm yapılacak sinyal frekensına göre çok titiz hesaplanabilir.

Genel amaçlı olsun çarpma ve bölme işlemi basitçe shift ile yapılabilsin diye 16383 ve 16384 rakamlarını verdim. 8181 ve 8182 de yazabilirdim.

Algoritmamım bu kadar tartışılacağını inanın bilemezdim.

Eninde sonunda algoritmayı çözeceğiz. Zaten çözemezseniz ben sabredemem algoritmanın alt yapısını anlatırım.

Şu anda bilmece sormuş bir çocuğun gelen yanlış cevaplar üzerine ne zor bilmece sormuşum sevincini yaşıyorum.

Kafaları zorlayıp düşünmeye sevk ettiğim için de mutluyum.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 04 Kasım 2016, 12:37:19
@Zoroaster: Ayrıldığımız noktayı son mesajında anladım. Buradaki bir çok arkadaş gibi özel sektörde çalışıyoruz ve sonuç odaklı iş yapma durumunda kalıyoruz; bazı günler günü kurtarıyoruz. Sen ise bunu hobi olarak yapıyorsun, işin zevkine varmak istiyorsun. Kısacası ben özelde çalışan bir mühendis, sen okulda çalışan bir hoca kıvamındasın.

Kendi içimnde senin müdahil olduğun konulardan uzakta kalacağım.

Kolay gelsin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 12:41:26
@FxDev

Şimdi alogoritmam iyi mi kötümü?

Algoritma doğru mu çalışıyor, yanlış mı?

Endüstriyel bir cihazda kullanılabilirmi kullanılamazmı?

Bu algoritmayı foruma Zoroaster değil de ünlü bir çip üreticisinin mühendisi firmanın çıkarttığı bir uygulama notunda yazsaydı aşağıdaki cevabı yazarmıydın yazmaymıydın?

Alıntı yapılan: FxDev - 03 Kasım 2016, 22:11:43
Puf artık komik bile olmaktan çıktı.

Bari şu foruma yanlış bilgi verme, zavallının biri inanıp bunu kullanacak sonra saç baş yolacak gariban, insanlar bu yüzden ekmeklerinden bile olabilir. 100 kere tartmalıyız bir şeyi paylaşırken forumda bu yüzden.

Bana bu 4 sorunun cevabını dürüst şekilde vermeni bekliyorum.

Aslında alıntı yaptığım kısımın anlamı gayet açık. Yalan yanlış aptal bir algoritma bu bunu kullanmayın. İşinizden bile olursunuz.

Haksızmıyım?

Demekki bu algoritmayı matematiksel olarak çürüttün ve milleti uyarıyorsun.

Ben de diyorum ki lütfen matematiksel ispatını istiyorum. Benim algoritmama bu şekilde mesnetsiz saldıramazsın aşağılayamazsın.



Alıntı yapılan: FxDev - 04 Kasım 2016, 12:12:50
Z öyle diyoruz anlamıyorsun, böyle diyoruz hayır diyorsun. Whatssup üzerinden yazdım, buradan yazdım, bir önceki mesajımda belirttim. Bizim yazdıklarımızı okumuyor, bir şey bilmemekle itham ediyorsun (videodan bahsediyorum). Olay böyle olunca da kusura bakma kaçtığını hissediyorum. (Şimdi  hiddetlenme hemen). Artı diyorsun ki matematik ağzı ile konuş bana; videondaki hataları aşağıdaki mesajda belirttim. En basitinden 1/T gördüğünde "bu periyodun tersidir, öyleyse bu frekansla ilintili" dersen her gördüğün sakallı ile dede ile ilgili sözü hatırlatırım.

Aşağıda yazdığıma cevap verdin mi, hayır, demedin ki öyle değil böyle değil. Ha diyorsan ki seni sallamıyorum, o zaman sonraki mesajlarımı da sallama.

Aşağıdaki mihri'nin sorusuna yanıtı bir türlü vermedin mesela. Güzelce tanımlıyoruz, cevap yok.

Bunun yanında terimlerin yanlış. Bak @ferdem ne demiş: "Hesap hatalı. Öncelikle, RMS hesabı için işaretin periyodik olması veya sıfır geçiş yakalanması gerekmiyor....." Hani buna cevabın nerede?

Tek söylediğin 3-4 gündür papağan gibi, bu yöntem kanıtlandı, öyle harika, böyle süper, şöyle hızlı, böyle manyak. Buradaki amatörleri kandırırsın ancak bu laflarla beni değil.

Sen dedin ki bu yöntem süper, frekanstan bağımsız vs. Biz de diyoruz ki ki RMS hesabının kendisinde frekansla ilintili bir şey yok. Baktık cevap vermiyorsun bunlara, gittin bu işe yeni başlamış arkadaşlara bir şeyler söyledin.
Sonra dedim ki haa öyle mi. Bari bu işe yeni yeni başlayan insanların kafası karışmasın, ben forum için görevimi yerine getireyim. En azından 2-3 sene sonra buraları okuyanlar, bu adam yöntem önermiş, birileri de yanlış olduğunu söylemiş, öyleyse körü körüne inanmayım desin. Gayem maksadım bu.

Yoksa sana önceki mesajlarımda da belirttim, ben de RMS hesaplıyorum, frekanstan bağımsız vs. Ama benim yöntemimde herhangi bir magic trick yok. Euler o muhteşemliği yıllar önce yapmış zaten bizim yerimize.

------------------------------------------------------------------------------------
Z aslında sen anlamıyorsun ama sana garezim yok, sana gıcıklığım yok, aynı alanda çalışan bir elin parmağı kadar adamız şurada. Birbirimizin ağzına bakmamız lazım. Sıkıntı seni büyüğü olarak görüp, her dediğine koşulsuz inanan, bir grup, bir zümre var forumda. Hatta o kadar ki alnına Z bandanası asıp gezebilecekleri tanıyorum. Olası yanlış bilgi vermende bu insanlar senin dediğini doğru kabul edip çok zaman kaybedecekler. O yüzden senin gibi bir adamın çok daha tartılı konuşması lazım, bir misyonun var bu forumda, bunun farkına var.

Ha bu arada alnına bandana asıp gezenler seni çok sevdiğinden sanma, her şey çıkar bu işlerde benden daha tecrübelisin bilirsin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: fatih6761 - 04 Kasım 2016, 13:57:03
Alıntı yapılan: Zoroaster - 04 Kasım 2016, 12:29:08
Buradaki 16383 sihirli bir sayı değil.

Bunun değeri şu olmalı daha iyi olur diyemezsiniz. Fakat çok şık sonuçlar vermesi için o rakam, sample alma süresi ve ölçüm yapılacak sinyal frekensına göre çok titiz hesaplanabilir.

Genel amaçlı olsun çarpma ve bölme işlemi basitçe shift ile yapılabilsin diye 16383 ve 16384 rakamlarını verdim. 8181 ve 8182 de yazabilirdim.

Algoritmamım bu kadar tartışılacağını inanın bilemezdim.

Eninde sonunda algoritmayı çözeceğiz. Zaten çözemezseniz ben sabredemem algoritmanın alt yapısını anlatırım.

Şu anda bilmece sormuş bir çocuğun gelen yanlış cevaplar üzerine ne zor bilmece sormuşum sevincini yaşıyorum.

Kafaları zorlayıp düşünmeye sevk ettiğim için de mutluyum.

@Zoroaster hocam eğer 16383.5 sizin için bir önem ifade etmediyse ben sizin bulduğunuzdan farklı bir metod üretmişim demektir.
Kendim nasıl yaptığımı özetleyeyim kısaca:

- 0-T integralin alınacağı aralık olmak üzere Veff değerini T nin bir fonksiyonu gibi düşündüm.

- Veff(T) fonksiyonunu T ye göre türevleyerek Veff(T) ve Vin(T) ye bağlı bir ifade elde ettim.

- Sonra dT yi sampling time yani 1 kabul edip dVeff / dT nin yerine delta Veff = Vnew - Vold deyip Vold'u karşıya attım.

- N şu anda bulunduğumuz sample numarası olmak üzere [latex]V_{new} \leftarrow V_{old} + \frac{1}{N} \left(\frac{v_{in}^2[N]}{2V_{old}} - \frac{V_{old}}{2} \right)[/latex] oldu.

- Bu formülü sık karşılaşılan periyodik sinyallerle (sin, square, sawtooth, white noise etc.) besleyince bir miktar oturma zamanı sonra RMS değerlerine yakın (bazen %1 den küçük hatayla) sonuçlar elde ettim.

Zaten farklı bir şey olduğunu sezmiştim, metodunuzda RC filtreden bahsetmişsiniz, ben sadece matematiksel türetme yaptım.
Benim yaptığım işlemlerden de kullanışlı bir şeyler çıkarmı çıkmazmı merak ediyorum.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 04 Kasım 2016, 14:04:07
@Zoroaster.

Sorularına yanıt vermeden yaptığım uygulamayı anlatayım. UPS tasarlıyorum, PFC kısmındayız, 3 faz şebeke ile çalışıyorum, şebekede bir sorun olduğunu 1ms altında anlayıp, aküye geçiyorum. Ve klasik UPS'lerdeki gibi PFC DC barasına akülerim asılı değil, akü sayım az. Bu yüzden algılama yapıp, hızla akülerden boost işlemi yapmam çok mühim. Hatta interleaved falan çalışmam lazım karmaşıklığı düşünebilirsin. Güç değerim 120kW.

Şimdi sorularına gelelim:

1) Algoritman kötü. Neden mi, hızlı dedin algoritman için, söylediğinle yaptığı birbirini tutmadığı için kötü. RMS hesaplamaya bir katkısı yok, response time çok yavaş. Tek bir avantajı olabilirdi, o da sqrt'den kurtarmak, ama binlerce iterasyondan sonra sonuç alacaksam bunun da bir artısı kalmıyor.
2) Algoritman doğru sonuç veriyor olabilir yalnız mikrodenetleyiciler için çok da uygun değil. Floating point işleme ve bölme işlemleri hiç kullanmıyorum ben RMS işlemlerimde. Dahası öncede söyledim, RMS'in genel kullanıldığı yer, hepimiz de biliyoruz, şebeke ile çalışmalardır. Senin algoritmanın düzgün çalışabilmesi için çok fazla iterasyona ihtiyacın var. Oysa benim şebekeyi örnekleyip hemen hesaplama yapmam lazım.
3) Endüstriyel bir cihazda kullanmam, yaptığım cihaz endüstriyel zaten. Dediğim gibi tepki süresi benim için çok yavaş.
4) Benim için kişi fark etmiyor yukarıda da dediğim gibi yine, yazardım, yazıyorum hatta yüz yüze tartışıyorum da zaten. Her gün ST/Microchip/Fairchild (Şimdi ON Semi oldu)/NXP/Mitsubishi/Semikron/Vincotech/Fuji/Nichicon vs vs vs (daha sayayım mı) firmaların FAE'leri ile, bazı durumlarında yöneticileri ile tartışıyorum, tartışıyoruz. Sen hiç hayatında silikon die tasarlattın mı? Ya da Nichicon gibi bir firmayla kafa kafaya verip kapasite tasarlattın mı. Bunları söyleyince kızarsın, bana böyle gelme diye. Her neyse, ben üretici taraftayım, gerçek olaylara dokunuyorum, sen bunu görmezden gel.

Matematiksel ispatını arkadaşlar yaptı daha önceki mesajlarda bu kadar mesaim olsa ücretimi senden almam lazım. Artı daha önceki mesajlarımda da söyledim, ben hız olayına takmıştım, baktım, benim klasik RMS hesabım bile bundan daha iyi sonuç veriyor, hem de STM8S003 gibi dünyanın en ucuz işlemcisinde. Şimdi diyeceksin ki yaptığım RMS ölçümün doğruluğuna nereden emin olacağız. Arçelik'te yapılan onlarca testten biliyorum. Şimdi @Zoroaster'in ne üdü belirsiz formülüne mi güveneyim; bir çok testten geçmiş kendi koduma mı? Sen olsan ne yaparsın, başkasının test edilmemiş koduna mı güvenirsin.

Eğer binde bir doğrulukta RMS doğruluğu verecek bir cihaz yapacak olsam, daha önceki mesajlarımda yine belirttim ne yapabileceğimi. Hatta sana ekstra FFT, THD falan da çıkarttım, es geçtin.
Ama olay hızlı, %1 keskinlikte RMS hesabı ise senin algoritman yavaş. Bu kadar NET!

Ben senin sorularını yanıtladım, şimdide sen aşağıdaki soruyu bir yanıtla bakalım.

"Aynı örnekleme frekansında aynı sayıda örneği kullanarak klasik yöntemle RMS hesaplarsak senin yöntemle aynı sonucu elde ederiz doğru mu?
Eğer doğruysa senin yöntemin +'si ne?"


Başka sorun var mı?

Ayrıca yöneticilerden istihramım, şu mesaj onaylama olayını kaldırabilirler mi? Eğer kaldırılmayacaksa tekrar yazı yazma olayım askıya alınabilir.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 15:15:31
@FxDev.

Forumun  değiştirilmeden önce ekranın en tepesinde hani chat yapma ekranımız vardı.
Orda RMS değer hesaplamak için yöntem varmı diye soruyordun. Ben de RMS için karekök almak zorundasın dediğimde o klasik yöntemi biliyorum onu istemiyorum diyordun.

Unuttunmu?

Sırf senin için bu gece video hazırlayacağım.

Matematiksel ispat için mesai ücretini bendenmi talep ediyorsun?

Geç bunları. Sen kim matematiksel ispat kim? Forumda matematiksel tek bir ispat verdiğin konu verdin mi ki? Hep hazır formül. Hep hazır formül.

Acaba mesele mesai parası değil de matematiğin 3 numara büyük gelmesi olabilir mi?

Bu tartışma bitsin, algoritmanın özünü açıklayayım Fxdev bile cihazlarında bu algoritmayı kullanacak emin olabilirsiniz.


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 04 Kasım 2016, 15:33:52
Video falan uğraşma, çektiğin her videoda onlarca hakaret yemek zorunda değilim ben, aşağıdakine adam akıllı cevap ver ben sana helal olsun diyeceğim.

"Aynı örnekleme frekansında aynı sayıda örneği kullanarak klasik yöntemle RMS hesaplarsak senin yöntemle aynı sonucu elde ederiz doğru mu?
Eğer doğruysa senin yöntemin +'si ne?"
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 17:28:45
@FxDev

Seni altetmek gibi amacım yok. Sadece algoritmamı kötülüyorsan matematiksel ispat yaparak kötüle diyorum. Algoritmaya saldırdığın şiddet ölçüsünde ben de savunurum.
Amatör dediğin adamlar sırf bu işten para kazanmıyor diye senden bilgisiz mi oluyor? Yok amatöleri kandırabilirmişim de sen kanmazmışsın? Dur yahu. Sen kimsin?
Çen çen çen laf yetiştiren fakat tek bir matematiksel ifade yazıp da düşüncesini matematiksel olarak savunamayan bir üyesin sadece. Bu yüzden benzeri sözel saldırılara kızıyorum.

Öncelikle bu algoritmayı RMS değer ölçen bir ölçü aletinde kullanılacak diye düşünürsen belki algoritmayı seversin.

1) Algoritma sağır bu yüzden kullanılamaz deniyor.

Algoritmaya çok ham bir filitre gömdüm. Neden sağır olduğunu defalarca yazdım dilimde tüy bitti bir daha yazayım ama bir daha yazdırmayın. Algoritmanın özüne ulaştığınızda algoritmayı çok hızlandırabilirsiniz dedim. Nitekim 100 küsür bin iterasyondan sonra ikibinli rakamlara inmiş bir algoritma ile video çektim yayınladım. Hala nasıl sağırlığı bahane edebiliyorsun anlamıyorum.

Kaldıki algoritmayı iyileştirip iterasyon sayısını daha da azaltabilirsiniz de dedim.

Bu algoyu (ister verdiğim haliyle ister modifiye ettiğiniz haliyle) interrupt rutinine yerleştirin demiştim. Böylece işlemci çalıştığı için zaten her ADC ölçümünden sonra bir kere bu hesap yapılmış olacak da demiştim. Herdefasında yüzbin iterasyon yapmayacaksın. Sadece sen  her interrupt geldiğinde tek satırlık bir C kodu işleteceksin. hepsi bu kadar.

Eskiden lambalı radyoları/TVleri çalıştırır çalıştırmaz ses vermez bir kaç saniye zaman geçerdi. Evet işlemcinin elektriğini verdiğinde aynı durum var. Ama işlemcinin lambaları bir ısındımı artık tıkır tıkır efektif değeri hesaplar.

Algoritma çok yoğun ağırlık ortalaması almaktadır. Sağırlığın ana nedeni budur. Fakat bu sayede nasıl bir multimetre sabit değer gösteriyorsa (+/- bir kaç değer değiştirmiyorsa) bu algoritma da sabit değer gösterir. Algoritmanın filitreleme yeteneğinden dolayı (moving average) sistemin sağır olması  algoritmanın kötü olduğuna gelmez. Filitrelemede sağırlığı çok kaldırırsanız yada filitreyi kötüleştirirseniz çok hızlanır fakat bu kez de efektif değer salınır.

2) "Aynı örnekleme frekansında aynı sayıda örneği kullanarak klasik yöntemle RMS hesaplarsak senin yöntemle aynı sonucu elde ederiz doğru mu?
Eğer doğruysa senin yöntemin +'si ne?"


Hayır. Benim böyle bir iddiam yok. Ben sadece efektif değer hesaplayabilmek için peryodu bilmeniz gerektiğini iddia ediyorum.

Her ne kadar siz aksini iddia etseniz de, bu soruyu cevapladan önce efektif değer hesabında neden peryodu bilmek gerekiyor sorusuna cevap vermem lazım. Bunun için video çekmek istiyordum aslında. Eğer bu mesajım yeterince açıklayıcı olmadıysa gene video çekebilirim.

Bir f(t) fonksiyonun herhangi bir zaman aralığında kalan bölgesi için efektif değer hesaplayabiliriz tabiki.  t1....t2 aralığında efektif değer hesaplarsak

$$Veff=\sqrt{\frac{1}{t_2-t_1}\int_{t1}^{t2}f(t)^2dt}$$

Şimdi burada $$\frac{1}{t2-t1}=\frac{1}{T}$$ yazarsam buradaki T ye Peryod demeyeceğimden emin olabilirsin. Yani her sakallıya dede demem okey mi?

Eğer bir sinyalin peryodunu bilmeden efektif değer hesaplamaya kalkarsan yanlış yaparız. Neden yaparız? Çünkü aldığımız aralık için efektif değer hesaplamış oluruz ve frekansını bilmediğin bir sinyalde kaç tane örnek alacağını bilemezsin de ondan. Diyorsunuz ya peyodu bilmeye gerek yok efektif değer frekansdan bağımsızdır.

İyi güzel de şeker kardeşlerim;

Tutup ta sinüs sinyalden 0...Pi/8 aralığında istersen 1000 tane sample  al efektif değeri hesaplayamazsın ki.

Çünkü bütün dünya bilirki sinüs sinyal, efektif ölçen aletle ölçüllürse efektif değeri budur. $$\frac{V_m}{\sqrt{2}}$$

Şimdi frekans hakkında hiç bilgin yoksa ve  0...Pi/8 aralığında aldığın örneklerle bana efektif değeri klasik yöntemle $$\frac{V_m}{\sqrt{2}}$$ olarak nasıl hesaplayacağını söylermisin?

Benim yöntemin + sı ne mi? İşte peryod yada frekans  hakkında bilgimiz olması gerekmiyor? Algoritma sürekli olarak sample alıyor sadece.

Fakat bazı limitler var. Onlara şu anda girmek istemiyorum.

Senin bana sadece yukarıda kalınca yazdığım soruya cevap vermen yeterli.


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 18:45:41
Alıntı yapılan: fatih6761 - 04 Kasım 2016, 13:57:03
@Zoroaster hocam eğer 16383.5 sizin için bir önem ifade etmediyse ben sizin bulduğunuzdan farklı bir metod üretmişim demektir.
Kendim nasıl yaptığımı özetleyeyim kısaca:

- 0-T integralin alınacağı aralık olmak üzere Veff değerini T nin bir fonksiyonu gibi düşündüm.

- Veff(T) fonksiyonunu T ye göre türevleyerek Veff(T) ve Vin(T) ye bağlı bir ifade elde ettim.

- Sonra dT yi sampling time yani 1 kabul edip dVeff / dT nin yerine delta Veff = Vnew - Vold deyip Vold'u karşıya attım.

- N şu anda bulunduğumuz sample numarası olmak üzere [latex]V_{new} \leftarrow V_{old} + \frac{1}{N} \left(\frac{v_{in}^2[N]}{2V_{old}} - \frac{V_{old}}{2} \right)[/latex] oldu.

- Bu formülü sık karşılaşılan periyodik sinyallerle (sin, square, sawtooth, white noise etc.) besleyince bir miktar oturma zamanı sonra RMS değerlerine yakın (bazen %1 den küçük hatayla) sonuçlar elde ettim.

Zaten farklı bir şey olduğunu sezmiştim, metodunuzda RC filtreden bahsetmişsiniz, ben sadece matematiksel türetme yaptım.
Benim yaptığım işlemlerden de kullanışlı bir şeyler çıkarmı çıkmazmı merak ediyorum.

Hocam y=((a-1)y+ v) / a bağıntısı birinci dereceden bir filitredir.

v sinyalini low pass filitreden geçirip y sinyalini üretir.

a-1 ve a bağıntılarını kafana göre değiştirirsen hala sistem filitre özelliği gösterir fakat köşe frekansı ve filitre kazancı daha doğrusu zayıflatması değişir.

Fakat filitrenin yapısı/özü çok değişmez. Yani hala bir low pass filitredir. Daha iyi değerler alıyorum demenin sebebi köşe frekansı kaymış ve filitre edilen sinyaldeki rıpıl azalmıştır. İncelemek lazım.

Benim verdiğim ham algoritmada a=16384 Bu da 50uS sample lar altında RC=0.8 sabitine denk gelir. Yani bir hayli alçak frekansda bir alçak geçiren filitre ekledim ve dediğim gibi bu değeri öylesine verdim. Pek ala a=8192 de iş görür. Bu durumda sadece köşe frekansı kayar.

Arkadaşların gözlemlediği hantallığın sebebi RC=0.8 dir.    $$\frac{1}{2\pi{0.8}}=0.2Hz$$

Eee hantal olması çok doğal.  Fakat sistemi hızlandırmak için önlerinde şöyle bir engel var. Köşe frekansını ileri iterlerse sistem hızlanır bu kez rıpıl artar.

Sadece saksıyı iyi kullanmak gerekiyor.

Eğer hem fikir isek bir sonraki yazımda özünü yazayım artık.





Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 04 Kasım 2016, 19:41:19
(https://s22.postimg.cc/yhhjhhps1/Ekran_Al_nt_s.jpg)

@Zoroaster hocam en alttaki sinyal sizce response time kötü diyenlerin işini görür mü? Öyleyse ben de iban vereyim :P
Şaka bir yana, bahsettiğim kodu sadece basit bir birinci derece low pass filtre'den geçirip elde ettim ben de. Galiba aynı şeyi yapıyoruz sizinle.
Haksız mıyım?
İki gündür işi gücü bıraktım RMS hesabı yapıyorum :( Vizelerde anahtarlı relüktans makinası soracak hocaya da RMS hesabı anlatacağım :(
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: JOKERAS - 04 Kasım 2016, 19:44:45
Yav Zoro Usta,yazda bitsin bu çile:)
Hala seni ve FxDev'i bekliyoruz.Hani Şu Flayback,bobin,smps konulu odada.
Odadaki arkadaşlar sizi beklemekten sıkıldı,Tavla oynuyorlar dersi kaynatıyorlar.
Bende kızıyorum onlara,Tavla oynayacağınıza Satranç oynayında Kafanız çalışsın diye.
Ama dinleyen kim?:)

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 20:00:24
$$\frac{v^2}{vef}$$ değerini low pass filitreye girip, filitreden çıkan sinyale veff deyip bunu iterasyon haline getirirseniz efektif değeri hesaplamış olursunuz.

Response time kötü diyenlere, aman kullanmayın işinizden olursunuz, sizi kandırıyor, ben kül yutmam diyenlere belki sen beğendirirsin.

Fakat bütün dünya bu algoritmayı çok beğeniyor biliyormuydunuz? Bi bizim forumda bir iki kişi beğenemedi hatta birisi RobinHood'luğa soyunup
aman ha bu adam sizi kandırıyor ben sizi uyarıyorum diye geleceğe mesaj bile bıraktı.

Evet arkadaşlar bu algoritmayı çok çok çok ünlü bir lineer çip üreticisinin üretimini yaptığı analog efektif değer ölçen çipin çalışma presibinden ortaya çıkarttım. Yani Zoroasterin
işkembeden salladığı bir algoritma değil.


Benim yaptığım tek şey,  çipin analog devrelerinin yaptığı işi ayrıklaştırıp web sitemde ve forum sayfamızda yayınlamak sadece.

Kim bu çok çok çok ünlü firma derseniz Lineer Technology.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: frederic - 04 Kasım 2016, 20:16:12
Olaya bak.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: JOKERAS - 04 Kasım 2016, 20:30:46
Ters köşe olmak,Top kaleye giderken olduğun yerde çakılıp kalmak bu.
Bu algoritmayı Linear Tecnology geliştirmişse laf yok,çok çok iyidir.Ama Zoro geliştirmişse
Berbattır Nokta:)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: X-Fi - 04 Kasım 2016, 20:39:51
Hiç şaşırmadım zaten Bülent hoca böyle bir algoritmayı kendi başına bulup geliştiremezdi.

Olay tamamen kişiselleşmiş bende kötü polis olayım o zaman :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: fatih6761 - 04 Kasım 2016, 20:42:03
@Cemre. hocam uniform random data ve linear increasing amplitude ( t*sin(t) ) de yanıt nasıl sizin metodun?

[latex]V_{eff}[n+1] = \frac{1}{2n} \left( (2n-1) \cdot V_{eff}[n] + \frac{v_{in}^2[n]}{V_{eff}[n]} \right)[/latex]
şeklinde bir metodla deneyebildiğim bütün dalga şekilleri ve frekanslarda truerms le neredeyse aynı yanıtı aldım.

Yani settling time olarak normal kareli köklü rms hesabından farksız çıkıyor sonuç.

Daha da ötesi @ferdem hocamın matlab testine de bu formülü koyunca trueRMS hesabıyla birebir aynı sonucu aldım.

Hatta öyle ki trueRMS ile bu hesabın grafiği üst üste bindiğinden tek çizgi gibi gözüküyor.

@Zoroaster hocam pratikte kullanımı olur mu sizce bu formülün performans açısından ?  :)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 20:50:41
Zoroaster ne yaptı biliyormusunuz Lineer Technology'nin analog olarak yapamayacağı bir filitreyi RC filitre yerine yerine koymak oldu.

Hala Zoroasterin  yayınlamayıp şu anda kendine sakladığı filitreleme algoritması ile ilgilenen varmı?

Dünya devi analog firmaları, analog devrelerle benim bu filitremi yapamaz.

Bu iddiamı tartışmak isteyen varmı?

@fatih6761 pratikte çok güvenerek kullanabilirsin tabiki.

Yapılan iş gene efektif değer hesabı.

Tabiki bu yöntem filitre esasına dayandığından ve çok uzun moving averaj yaptığından sinyaldeki ani değişimin çıkışa yansıması zaman alır. Bu ölçü aletleri için güzel bir özelik olmasına rağmen sinyalin bir sonraki peryodunda efektif değerdeki değişime bakarak ne bileyim tristörün faz açısını belirleyecekseniz bu yöntem bu uygulamada işinize yaramaz tabiki.

Fakat bu, yöntemin efektif değer ölçmediği anlamına gelmez.

@fatih6761 Bir benzerlik görebiliyormusun?   http://www.cncdesigner.com/wordpress/?p=3591


Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 04 Kasım 2016, 20:51:38
@fatih6761 Hocam uniform random data için matlab'da bir kısayol var mı? Ben daha o kadar takla attıramıyorum bu merete :D

Lineer artış için bir sorun yok gibi gözüküyor.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 04 Kasım 2016, 21:24:27
@Zoroaster Hocam. Üşengeçliği bırakıp verdiğim kodu formülize ettim. Bir de ne göreyim. Sizin formülün birebir aynısı  :o

[latex]V_{RMS}(n)=\frac {V_{RMS}(n-1)\times(2\times Sample-1)}{2\times Sample}+\frac{V^2(n)}{2\times Sample \times V_{RMS}(n-1)}[/latex]

Bunu bir de birinci dereceden RC filtreden geçirdikmiydi, fişek gibi oluyor. Onun formülasyonunu da @Zoroaster hocam verdi zaten.

Sample değeri için örnek isterseniz,
50Hz sinus için 20kHz örnekleme aldığımızı varsayalım. Sinyalin her bir tam peryodundan 400 sample alacağız demektir. Sample = 400 diyip 50hz sinüs'ü hesaba sokunca ikinci 400'de şak diye veriyor sonucu. Tabi bunlarında hepsi hata yapmadığım koşullarda geçerlidir.

Konu benim açımdan faydalı bir hale dönüştü.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: fatih6761 - 04 Kasım 2016, 21:29:30
@Zoroaster hocam sizin moving average algoritmasını siz yazmadan 5dk önce hatırlayıp bakmıştım ancak anlamadığım tek nokta var.
Moving average da (n-1) ile çarpıp eski toplamı elde ediyoruz ve yeni değeri toplama ekleyip n e bölüyoruz.
Ancak burada n-1 yerine n-1/2 ile çarpıyor olup hatasız değerler elde etmem kafama takıldı.

@Cemre. hocam rand(1000, 1) derseniz [0, 1] aralığında 1000 elemanlı random bir vektör verir. Bunu periodicity ve response time için sormuştum özellikle.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Cemre. - 04 Kasım 2016, 21:38:26
@fatih6761 cevap şu şekilde.


(https://s18.postimg.cc/ldg1tao7p/Ekran_Al_nt_s.jpg) (https://postimg.cc/image/ldg1tao7p/)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 04 Kasım 2016, 21:44:01
Alıntı yapılan: fatih6761 - 04 Kasım 2016, 21:29:30
@Zoroaster hocam sizin moving average algoritmasını siz yazmadan 5dk önce hatırlayıp bakmıştım ancak anlamadığım tek nokta var.
Moving average da (n-1) ile çarpıp eski toplamı elde ediyoruz ve yeni değeri toplama ekleyip n e bölüyoruz.
Ancak burada n-1 yerine n-1/2 ile çarpıyor olup hatasız değerler elde etmem kafama takıldı.

Moving average demissem çok aldırma onun da türevleri var. Aslen yaptığımız şey 1 dereceden filitrenin parametreleriyle oynamak.

Bizi ilgilendiren öyle ya da böyle filitreye uygulanan sinyal nereye gidiyor?

Tabiki efektif değere.

Çünkü $$Vef=\frac{V^2}{Vef}$$ eşitliğini yakalamaya çalışıyoruz.

Öyle bir V DC sinyali arıyoruz ki bunun karesi giriş sinyalimizin efektif değerinin karesi olsun.

Bunu bulduğumuzda Giriş sinyalinin efektif değerine eşit DC geriimi bulmuş oluyoruz. İşte bu arayışın tanımı da zaten efektif değer tanımın ta kendisi.

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: FxDev - 04 Kasım 2016, 23:59:31
En sonunda baklayı çıkardın Z!Öncelikle geç yazdığım için kusura bakma, sansürlerden anca kurtulabildim.

Çok uzatmaya gerek yok benim açımdan olayı özetleyeyim:

1) Algoritmanın anlık değişikliklere çok uygun olmadığını kabul edildi en sonunda!
2) LTC'nin RMS to DC entegrelerinin formülüzasyonlarına benziyor yapılar, bu konuda bir ara ilgili araştırmayı özel olarak yapacağım. O yüzden alkışı Lineer'e gönderiyorum. Robin Hood'luğu bırakıyorum. Dolayısı ile Lineer'den uyarladığın algoritman düzgün sonuç veriyor! Bu konuda da yiğidin hakkını yiğide veriyoruz! @Zoroaster 'i tebrik ediyoruz.
3) Hız olayı benim için çok önemli olduğundan bu algoritma maalesef hala işime yaramıyor.
4) Bunun yanında kaydırmalı ve çok fazla örnekli (0,5saniyede, 50us'de bir örnekli) RMS değeri hesabının da yaklaşık sonuçlar verebileceğini düşünüyorum, hesaplamadım, boş zamanımda deneyip sonucu karşılaştırmalı vermeye çalışırım.
5) Formülün en büyük problemi hala bölmeler olarak gözüküyor. Bu şekilde küçük işlemcilerde kullanılması zor.
6) Bu formülü @Zoroaster'in dediği gibi ölçümcülere öneririm, endüstride çoğu uygulamada formül yavaş kalır. Yavaş kalmasının altında nedenler var, yavaş olmazsa bu sefer değerler çok oynayacaktır dediği gibi.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 05 Kasım 2016, 01:13:30
En azından şu iddianın da kanıtını bekliyorum.

Birileri efektif değer hesabında frekansı ya da peryodu bilmeye gerek yok diyordu?

İspat lütfen.

Şebekenin saf sinüs olduğu varsayımı ile efektif değerinin Vm/Kök2 olduğunu gösterilmesini bekliyorum.

Yalnız bu ispatın peryodun bilinmeden yapılmasını istiyorum.

Genel konuştum fakat sorunun sahibi kendisini çok biliyor.

Bakalım üstüne alınacak mı?
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: ferdem - 05 Kasım 2016, 17:33:39
Benim ters düştüğüm nokta şurası oldu:
RMS değer hesabı için, kavramın tanımı uyarınca gözlem süresi boyunca alınan tüm örnek(V^2) değerlerinin ortalaması alınmalıdır, "cumulative average".
Sizin öneri V^2 lerin ortalamasını almak yerine bu değerleri bir "lowpass" filtreye sokuyor. Burada "lowpass"(LP) filtreyi "recursive" gerçeklemenin pratikliği ve karekök içermemesi avantaj olarak görülüyor ancak "settling time","ripple" gibi dezavantajlar da beraberinde geliyor. Doğru seçilmiş bir köşe frekansı ile çok kullanışlı olduğu yerler olabilir, o kısma yorumum yok.

Alıntı YapŞebekenin saf sinüs olduğu varsayımı ile efektif değerinin Vm/Kök2 olduğunu gösterilmesini bekliyorum.

Yalnız bu ispatın peryodun bilinmeden yapılmasını istiyorum.
Frekansı bilmeyeceğiz ancak yeterince sık ve yeterince uzun(>10xperiyot süresi gibi) örnek alma garantisi vermelisin. Böylece yeterince uzun örnek alındığında sinüzoidal bir işaretin RMS değerinin Vp/kok(2) ye yakınsadığını gösterebiliriz.
V=A*cos(2pi*x*t) olsun, x bilmediğimiz frekans.
Vrms^2=(1/T) integral (0 dan T ye) A^2*cos^2(2*pi*x*t)
            =(1/T) integral (0 dan T ye) A^2*(0.5+0.5*cos(4*pi*x*t))
=(1/T)*A^2*T/2 + (1/T) integral (0 dan T ye) 0.5*cos(4*pi*x*t)
T arttıkça sağdaki integralin 0 a gittiği görülür ve geriye (1/T)*A^2*T/2 den A^2/2 kalır. Buradan da sinüzoidal bir işaretin RMS değerinin A^2/kok(2) ye yakınsadığı görülür.

Başlık bana faydalı oldu, teşekkür ediyorum.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 05 Kasım 2016, 17:44:57
Elbette peryottan çok daha uzun sürede toplanan örneklerle efektif değere ulaşabiliriz. Fakat bunu yapabilmek için bile halâ peryodu bilmemiz gerekiyor? ((>10xperiyot süresi gibi demek peryod hakkında fikir sahibi olmak demek)

Sinüs sinyalinde biraz sihir var ve bu sihir kabaca 0..pi/8 aralığında bozuluyor. Dolayısı ile 0.. (2pi+pi/8) aralığında da de de işler bozuluyor. bu aralığı genişletirsek tekrardan v/kök2 ye yaklaşıyoruz.

Bu arada o kendini bilir dediğim kişi sen değildin.
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: quarko - 06 Kasım 2016, 23:52:59
Tartışılan algoritmadan, 11 sene önce microchip forumlarında "jspaarg" isimli üye bahsetmiş. Araştırma yaparken denk geldim.  :)

http://www.microchip.com/forums/FindPost/108983 (http://www.microchip.com/forums/FindPost/108983)

Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: Zoroaster - 07 Kasım 2016, 10:19:48
Yalnız orda low pass filitre tartışılmış. Bizim burdaki filitreye giren sinyale biraz dikkat etmen gerekiyor. Fark burada.

Digital Low pass filterer 1947lere kadar gider.

(https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Ragazzini.PNG/150px-Ragazzini.PNG)   (https://upload.wikimedia.org/wikipedia/commons/a/a3/Zadeh-barcelona-1997%4092x115.gif)
Başlık: Ynt: Efektif değer hesaplamanın basit yolu
Gönderen: seyityildirim - 10 Şubat 2017, 16:25:22
Alıntı yapılan: Zoroaster - 03 Kasım 2016, 16:58:11

Mutlak değerden yola çıkıp efektif değere ulaşabilir misin?

Aklından ne geçiyor?

Konuyu azıcık hortlatayım :) @Zoroaster  hocam konu içinde mutlak değer ile rms hesabı konusu geçmişti. bugün bir kitabı karıştırırken ADE çiplerinin kullandığı yöntem ile karşılaştım. Görseller aşağıda

(http://i.hizliresim.com/BvlVpG.png) (http://hizliresim.com/BvlVpG)

(http://i.hizliresim.com/VP4Zqq.png) (http://hizliresim.com/VP4Zqq)

Sinyalin mutlak değerinin ortalaması rms değeri ile doğru orantılı. 2*kök(2)/pi oranı var arada.