İçindekiler:
Video: Daha Güvenilir Frekans Tespiti için FIR Filtreleme: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Akelliirl'in DSP Tekniklerini Kullanarak Güvenilir Frekans Tespiti hakkındaki talimatlarının gerçekten büyük bir hayranıyım, ancak bazen kullandığı teknik, gürültülü ölçümleriniz varsa yeterince iyi değildir.
Frekans dedektörü için daha temiz bir girdi elde etmek için kolay bir çözüm, algılamak istediğiniz frekansın etrafına bir tür filtre uygulamaktır.
Ne yazık ki, bir dijital filtre oluşturmak kolay değil ve işin içinde oldukça fazla matematik var. Bu yüzden, bu tür filtrelerin oluşturulmasını basitleştirmek için, herhangi birinin projelerinde ayrıntılara girmeden kullanmasına izin vermek için bir tür program oluşturmayı düşündüm.
Bu Eğitilebilir Kitapta, bir Arduino Uno ile gürültülü bir ölçümde 50Hz'lik bir sinüs dalgası tespit edeceğim (Arduino gerçekten gerekli değil).
Adım 1: Sorun
Ölçülen girdi verilerinin yukarıdaki eğriye benzediğini hayal edin - oldukça gürültülü.
Akelliirl'in Instructable'ındaki gibi basit bir frekans detektörü oluşturursak, sonuç "-inf" veya aşağıdaki kod durumunda: "Evet, çok fazla gürültü …"
Not: Akellyirl'in kodunun hemen hemen tamamını kullandım ancak en üste gürültülü ölçümleri içeren bir rawData dizisi ekledim.
Aşağıda tüm kodu "unfiltered.ino" adlı bir dosyada bulabilirsiniz.
2. Adım: Çözüm
Giriş verileri gürültülü olduğundan ancak aradığımız frekansı bildiğimiz için, bir Bandpass filtresi oluşturmak ve bunu giriş verilerine uygulamak için easyFIR adlı oluşturduğum bir araç kullanabiliriz ve bu da frekans dedektörü için çok daha temiz bir girişle sonuçlanır (yukarıdaki resim).
Adım 3: EasyFIR
easyFIR aracının kullanımı oldukça kolaydır, sadece GitHub deposunu indirin ve ölçümlerinizin bir örneğiyle (CSV formatında) easyFIR.py dosyasını çalıştırın.
easyFIR.py dosyasını açarsanız, elde etmek istediğiniz sonuca bağlı olarak değiştirebileceğiniz ve değiştirmeniz gereken 5 parametre (yukarıdaki resme bakın) bulacaksınız. 5 parametreyi değiştirdikten ve python dosyasını çalıştırdıktan sonra, terminalinizde hesaplanan katsayıları göreceksiniz. Bu katsayılar bir sonraki adım için çok önemlidir!
Kesin kullanım hakkında daha fazla bilgiyi burada bulabilirsiniz:
4. Adım: Filtreleme
Şimdi, gerekli filtre katsayılarını hesapladıysanız, gerçek filtreyi frekans dedektörüne uygulamak oldukça kolaydır.
Yukarıdaki resimde de görebileceğiniz gibi, sadece katsayıları, applicationFilter işlevini eklemeniz ve ardından giriş ölçümlerini filtrelemeniz yeterlidir.
Aşağıda tüm kodu "filtered.ino" adlı bir dosyada bulabilirsiniz.
Not: Harika filtre uygulama algoritması için bu Yığın Taşması Postasına çok teşekkürler!
Adım 5: Keyfini çıkarın
Gördüğünüz gibi artık gürültülü bir ortamda bile 50Hz sinyali algılayabiliyor muyuz?
Lütfen fikrimi ve kodumu ihtiyaçlarınıza uyarlamaktan çekinmeyin. Geliştirmelerinizi eklemekten çok memnun olurum!
Çalışmamı beğendiyseniz, çalışmamı GitHub'da star ile desteklerseniz gerçekten minnettar olurum!
Desteğin için teşekkürler!:)
Önerilen:
Daha Az Alanda Daha Fazla Marul Yetiştirmek Veya Uzayda Marul Yetiştirmek, (Daha Fazla veya Daha Az).: 10 Adım
Daha Az Alanda Daha Fazla Marul Yetiştirmek Veya… Uzayda Büyüyen Marul, (Daha Fazla veya Daha Az).: Bu, Instructables aracılığıyla gönderilen Growing Beyond Earth, Maker Yarışması'na profesyonel bir başvurudur. Uzay mahsulü üretimi için tasarım yapmaktan ve ilk Instructable'ımı göndermekten daha fazla heyecanlanamazdım. Başlamak için yarışma bizden
Sadece 3 Parçalı Kolay, Ucuz ve Güvenilir Dokunmatik Sensör: 3 Adım
Sadece 3 Parça ile Kolay, Ucuz ve Güvenilir Dokunmatik Sensör: Her türlü elektronik cihazı parmağınızın dokunuşuyla kontrol etmek oldukça faydalı olabilir. Bu talimatta size kusursuz çalışan kolay ama güçlü bir dokunmatik sensörün nasıl oluşturulacağını göstereceğim. Tek ihtiyacınız olan standart bir transistör ve iki
Daha Güvenli Daha Güvenli: Tren İstasyonlarını Daha Güvenli Hale Getirmek: 7 Adım
Daha Güvenli Daha İyi: Tren İstasyonlarını Daha Güvenli Hale Getirmek: Bugün birçok tren istasyonu, güvenlik eksikliği, bariyerler ve gelen trenin uyarısı nedeniyle güvensizdir. Bunun düzeltilmesi gerektiğini gördük. Bu sorunu çözmek için Safer Better'ı yarattık. Titreşim sensörleri, hareket sensörleri kullandık ve
Daha Soğuk Hava! Daha Az Para için! Klima Süper Şarjı!!: 14 Adım (Resimlerle)
Daha Soğuk Hava! Daha Az Para için! Klima Süper Şarjı!!: Bu yöntemle daha iyi soğutma elde edebilir ve güç maliyetlerini düşürebilirsiniz. Bir klima, gaz halindeki bir soğutucuyu dış taraftaki (tahmin ettiğiniz) kondenserde yoğunlaşana kadar sıkıştırarak çalışır. Bu, dışarıdaki ısıyı serbest bırakır. Sonra ne zaman
Yüksek Hızlarda Daha İyi Yol tutuşu için RC Arabalarınızın Şoklarını Daha Kısa Hale Getirin: 5 Adım
Yüksek Hızlarda Daha İyi Yol tutuş için RC Arabalarınızın Amortisörlerini Daha Kısa Yapın: Bu Eğitilebilir Kitapta, amortisörlerinizi nasıl kısaltacağınızı göstereceğim, böylece arabanızı yere yaklaştırırsınız, böylece kanat çırpmadan daha yüksek hızlı dönüşler yapabilirsiniz. Diğer Arabalarınızın amortisörlerinde bakımın nasıl yapılacağına dair Talimatlar, yani