Efektif değer hesaplamanın basit yolu

Başlatan Zoroaster, 31 Ekim 2016, 20:53:49

Zoroaster

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.
Seytan deliginden kacti.

mihri

#76
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.
"Eppur si muove!"

Zoroaster

#77
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.
Seytan deliginden kacti.

mihri

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?
"Eppur si muove!"

Cemre.

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;
}

Zoroaster

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.
Seytan deliginden kacti.

Cemre.

@Zoroaster tamam hocam anlaştık. Karesi görülüyor, sunuş şekliniz beni aldatıyor :D

FxDev

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.
Forumda bazı bağnaz kişiler tarafından engellenip, atıldım. Tüm bu bağnaz kişilere rağmen Atatürkçülüğü sonuna kadar savunacağım; onlar da bağnazlıklarında boğulacaklar. Haberleşme için: info[at]firatdeveci.com / ©firatdeveci.com - ße Different Everytime!

Zoroaster

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?
Seytan deliginden kacti.

mihri

Tamamdır farklı birşey bulmuşsun benimle de anlaştın.
"Eppur si muove!"

Cemre.

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.

seyityildirim

#86
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 :)

Zoroaster

Soruyu Cemreye barış sorusu niyetine sormuştum.

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

Aklından ne geçiyor?
Seytan deliginden kacti.

seyityildirim

tahminimi kağıda döktüm birkaç işlem sonrasında çok da mantıklı bir sonuç çıkmadı. o yüzden ben iptal :)

mihri

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🙂
"Eppur si muove!"