"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Python/SciPy में सटीक पीक पहचान के लिए find_peaks फ़ंक्शन का प्रभावी ढंग से उपयोग कैसे करें?

Python/SciPy में सटीक पीक पहचान के लिए find_peaks फ़ंक्शन का प्रभावी ढंग से उपयोग कैसे करें?

2024-11-09 को प्रकाशित
ब्राउज़ करें:785

How to Effectively Utilize the find_peaks Function for Accurate Peak Identification in Python/SciPy?

पायथन/SciPy के लिए पीक-फाइंडिंग एल्गोरिदम

समस्या विवरण

चोटों की पहचान करने का कार्य विभिन्न अनुप्रयोगों में उठता है, जिसमें फूरियर में शिखर खोजने से लेकर (एफएफटी) को 2डी सरणियों से शिखर निकालने में परिवर्तित करता है। एक आम चुनौती वास्तविक चोटियों को शोर-प्रेरित उतार-चढ़ाव से अलग करना है। .signal.find_peaks फ़ंक्शन। यह फ़ंक्शन विशिष्ट मानदंडों के आधार पर चोटियों को फ़िल्टर करने और पहचानने के विकल्प प्रदान करता है।

find_peaks पैरामीटर्स को समझना

find_peaks की शक्ति का प्रभावी ढंग से उपयोग करने के लिए, इसके मापदंडों को समझना महत्वपूर्ण है:

चौड़ाई

: एक चोटी की न्यूनतम चौड़ाई।
  • दहलीज: चोटी और उसके पड़ोसियों के बीच न्यूनतम अंतर।
  • दूरी : लगातार चोटियों के बीच न्यूनतम दूरी।
  • प्रमुखता: ऊंचे भूभाग तक पहुंचने के लिए एक चोटी से उतरने के लिए आवश्यक न्यूनतम ऊंचाई।
  • प्रमुखता पर जोर
  • सभी मापदंडों में से,
प्रमुखता

वास्तविक चोटियों को शोर से अलग करने में सबसे प्रभावी है। इसकी परिभाषा में उच्च शिखर तक पहुंचने के लिए आवश्यक न्यूनतम ऊर्ध्वाधर वंश शामिल है। आदर्श समाधान नकली शोर शिखरों के आगे झुके बिना सटीक रूप से चोटियों की पहचान करेगा।

np के रूप में सुन्न आयात करें matplotlib.pyplot को plt के रूप में आयात करें scipy.signal से आयात find_peaks # सिग्नल उत्पन्न करें x = np.sin(2*np.pi*(2**np.linspace(2,10,1000))*np.arange(1000)/48000) np.random.सामान्य(0, 1, 1000) * 0.15 # विभिन्न मापदंडों का उपयोग करके शिखर खोजें चोटियाँ, _ = खोजें_चोटियाँ(x, दूरी=20) चोटियाँ2, _ = खोजें_चोटियाँ(x, प्रमुखता=1) चोटियाँ3, _ = खोजें_चोटियाँ(x, चौड़ाई=20) चोटियाँ4, _ = खोजें_चोटियाँ(x, सीमा=0.4) # प्लॉट परिणाम पीएलटी.सबप्लॉट(2, 2, 1) plt.plot(चोटियाँ, x[चोटियाँ], "xr"); plt.प्लॉट(x); plt.legend(['दूरी']) पीएलटी.सबप्लॉट(2, 2, 2) plt.plot(peaks2, x[peaks2], "ob"); plt.प्लॉट(x); plt.legend(['प्रमुखता']) पीएलटी.सबप्लॉट(2, 2, 3) plt.plot(peaks3, x[peaks3], "vg"); plt.प्लॉट(x); plt.legend(['चौड़ाई']) पीएलटी.सबप्लॉट(2, 2, 4) plt.plot(peaks4, x[peaks4], "xk"); plt.प्लॉट(x); plt.legend(['सीमा']) plt.show()

जैसा कि परिणामों से देखा गया है, प्रमुखता (दूसरे सबप्लॉट में नीली रेखा) का उपयोग प्रभावी ढंग से वास्तविक चोटियों को अलग करता है, जबकि दूरी, चौड़ाई और सीमा शोर की उपस्थिति में निम्न प्रदर्शन प्रदान करती है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729588640 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3