विषयसूची:

अधिक विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के लिए एफआईआर फ़िल्टरिंग: 5 चरण
अधिक विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के लिए एफआईआर फ़िल्टरिंग: 5 चरण

वीडियो: अधिक विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के लिए एफआईआर फ़िल्टरिंग: 5 चरण

वीडियो: अधिक विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के लिए एफआईआर फ़िल्टरिंग: 5 चरण
वीडियो: Top 5 best ac in india 2021 | best split ac in india 2021 | Best ac brand in india 2024, नवंबर
Anonim
अधिक विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के लिए प्राथमिकी फ़िल्टरिंग
अधिक विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के लिए प्राथमिकी फ़िल्टरिंग

मैं डीएसपी तकनीकों का उपयोग करके विश्वसनीय फ़्रीक्वेंसी डिटेक्शन के बारे में अकेलियर के निर्देशयोग्य का वास्तव में बहुत बड़ा प्रशंसक हूं, लेकिन कभी-कभी वह जिस तकनीक का उपयोग करता है वह पर्याप्त नहीं होती है यदि आपके पास शोर माप है।

फ़्रीक्वेंसी डिटेक्टर के लिए क्लीनर इनपुट प्राप्त करने का एक आसान तरीका यह है कि आप जिस फ़्रीक्वेंसी का पता लगाना चाहते हैं, उसके आसपास किसी प्रकार का फ़िल्टर लागू करें।

दुर्भाग्य से, डिजिटल फ़िल्टर बनाना आसान नहीं है और इसमें बहुत सारा गणित शामिल है। इसलिए मैंने इस तरह के फिल्टर के निर्माण को आसान बनाने के लिए किसी तरह का प्रोग्राम बनाने के बारे में सोचा, ताकि कोई भी विवरण में खुदाई किए बिना उन्हें अपनी परियोजनाओं में उपयोग कर सके।

इस निर्देशयोग्य में, मैं एक Arduino Uno (Arduino वास्तव में आवश्यक नहीं है) के साथ एक शोर माप में 50Hz साइन लहर का पता लगाने जा रहा हूं।

चरण 1: समस्या

समस्या
समस्या

कल्पना कीजिए कि मापा गया इनपुट डेटा ऊपर के वक्र जैसा दिखता है - बहुत शोर।

यदि हम एक साधारण फ़्रीक्वेंसी डिटेक्टर का निर्माण करते हैं, जैसे कि एकेलियर्ल के इंस्ट्रक्शनल में, तो परिणाम "-inf" या नीचे दिए गए कोड के मामले में होता है: "हाँ, बहुत अधिक शोर …"

नोट: मैंने बहुत सारे एकेलीरिल के कोड का उपयोग किया है, लेकिन शीर्ष पर एक रॉडाटा सरणी जोड़ा है जिसमें शोर माप है।

नीचे आप "unfiltered.ino" नामक फ़ाइल में पूरा कोड पा सकते हैं।

चरण 2: समाधान

समाधान
समाधान

चूंकि इनपुट डेटा शोर है, लेकिन हम उस आवृत्ति को जानते हैं जिसकी हम तलाश कर रहे हैं, हम बैंडपास फ़िल्टर बनाने और इसे इनपुट डेटा पर लागू करने के लिए ईज़ीएफआईआर नामक एक उपकरण का उपयोग कर सकते हैं, जिसके परिणामस्वरूप फ़्रीक्वेंसी डिटेक्टर के लिए बहुत अधिक क्लीनर इनपुट होता है (ऊपर की छवि)।

चरण 3: EasyFIR

आसान एफआईआर
आसान एफआईआर

EasyFIR टूल का उपयोग करना बहुत आसान है, बस GitHub रिपॉजिटरी डाउनलोड करें और अपने माप के एक नमूने (CSV प्रारूप में) के साथ easyFIR.py फ़ाइल चलाएँ।

यदि आप easyFIR.py फ़ाइल खोलते हैं, तो आपको 5 पैरामीटर मिलेंगे (उपरोक्त छवि देखें) जो आप प्राप्त करना चाहते हैं उसके आधार पर आप बदल सकते हैं और बदलना चाहिए। आपके द्वारा 5 मापदंडों को बदलने और पायथन फ़ाइल को निष्पादित करने के बाद, आप अपने टर्मिनल में परिकलित गुणांक देखेंगे। ये गुणांक अगले चरण के लिए महत्वपूर्ण हैं!

सटीक उपयोग के बारे में अधिक जानकारी यहां पाई जा सकती है:

चरण 4: फ़िल्टरिंग

छनन
छनन

अब यदि आपने आवश्यक फ़िल्टर गुणांकों की गणना कर ली है, तो वास्तविक फ़ाइलर को फ़्रीक्वेंसी डिटेक्टर पर लागू करना बहुत आसान है।

जैसा कि आप ऊपर की छवि में देख सकते हैं, आपको केवल गुणांक जोड़ने की जरूरत है, लागूफिल्टर फ़ंक्शन और फिर इनपुट माप को फ़िल्टर करें।

नीचे आप "filtered.ino" नामक फ़ाइल में पूरा कोड पा सकते हैं।

नोट: महान फ़िल्टर एप्लिकेशन एल्गोरिदम के लिए इस स्टैक ओवरफ़्लो पोस्ट के लिए बहुत धन्यवाद!

चरण 5: आनंद लें

आनंद लेना
आनंद लेना

जैसा कि आप देख सकते हैं, अब हम शोर वाले वातावरण में भी 50Hz सिग्नल का पता लगाने में सक्षम हैं?

कृपया मेरे विचार और कोड को अपनी आवश्यकताओं के अनुसार अनुकूलित करने के लिए स्वतंत्र महसूस करें। मैं आपके सुधारों को शामिल करने के लिए बहुत आभारी रहूंगा!

यदि आप मेरा काम पसंद करते हैं, तो मैं वास्तव में सराहना करूंगा यदि आप गिटहब पर स्टार के साथ मेरे काम का समर्थन करते हैं!

आपके समर्थन के लिए धन्यवाद!:)

सिफारिश की: