नमूनों के बीच में स्थानीय चोटियों का पता लगाना


10

मेरे पास है n एक भूकंपीय संकेत के असतत नमूने y[n]: यहाँ छवि विवरण दर्ज करें

मैं संकेत में स्थानीय मैक्सिमा ढूंढना चाहता हूं।

के लिए एक भोली परीक्षा y[n] एक अधिकतम होगा:

y[n]:एक्समैं अगर y[n]>y[n-1] तथा y[n]>y[n+1]

हालांकि मैक्सिमा संभवत: नमूनों के बीच स्थित हैं, उदाहरण के लिए अधिकतम हो सकता है मैं=4.25

नमूनों के बीच मैक्सिमा खोजने के लिए मेरा मानना ​​है कि मुझे प्रक्षेप करने की आवश्यकता है y[n]

  • मैं प्रक्षेप का उपयोग करके अधिकतम कैसे प्राप्त करूं?
  • मुझे किस प्रकार के प्रक्षेप का उपयोग करना चाहिए?

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

मेरी सबसे बड़ी समस्या हालांकि नमूनों के बीच की चोटियों को खोजने की है। यह करने के लिए एक अच्छा तरीका के लिए कोई सुझाव?

किसी भी जवाब के लिए अग्रिम धन्यवाद!



आवृत्ति स्पेक्ट्रा के लिए कई तरीके: dspguru.com/dsp/howtos/how-to-interpolate-fft-peak
endolith

उस दूसरे के पास @Geerten ;-)
Ivo Flipse

1
ओह..हा, अच्छी बात है। वैसे मैं इस प्रश्न पर उस संदर्भ का संदर्भ देता हूं;)
जेरेटन

जवाबों:


7

एक उप-नमूना समाधान प्राप्त करना

एक बहुत सस्ता (कोड आकार के मामले में) समाधान सिर्फ आपके संकेत को नष्ट करने के लिए है। मतलाब में, यह किया जा सकता है interp(y ,ratio)। एक और अधिक जटिल समाधान में भोलेपन से चोटियों का पता लगाना शामिल है; और प्रत्येक चोटी के लिए, y [चोटी - 1], y [चोटी], y [चोटी + 1] के माध्यम से एक परबोला फिटिंग; तब उस बिंदु का उपयोग करना, जिस पर यह परबोला वास्तविक शिखर स्थिति के रूप में अधिकतम है।

चोटी का पता लगाने के संबंध में

तकनीकों का एक समूह जो मदद करता है:

  • जैसा कि हिलमार द्वारा सुझाया गया है, एक गाऊसी या हन्न खिड़की द्वारा संकेत का समाधान करना, जिसकी चौड़ाई लगभग न्यूनतम अंतराल के बराबर है जो आप का पता लगाया चोटियों के बीच देखना चाहते हैं। चूंकि अस्थायी सटीकता आपके आवेदन के लिए आवश्यक लगती है, इसलिए सुनिश्चित करें कि आप फ़िल्टरिंग द्वारा शुरू किए गए समय की देरी को ध्यान में रखते हैं, हालांकि!
  • अपने सिग्नल को अपने आप में एक औसत दर्जे का फ़िल्टर किया गया संस्करण (काफी बड़ी अवलोकन खिड़की के साथ) घटाएँ; और स्वयं के मानक-विचलन फ़िल्टर्ड संस्करण द्वारा परिणाम को विभाजित करें। यह रुझानों से छुटकारा दिलाता है और थ्रेसहोल्ड को मानक विचलन की इकाइयों में व्यक्त करने की अनुमति देता है।
  • चोटी-पिकिंग के लिए, मैं एक "टॉप-हैट" फिल्टर का उपयोग करता हूं। Yt [n] = मैक्स (y [n - W], y [n - W + 1], ..., y [n + W - 1], y [n + डब्ल्यू]); और बिंदुओं के रूप में उपयोग करें जहां y [n] == yt [n] और y [n]> दहलीज।

यह सब बहुत कुशलता से मतलाब के कुछ पास के साथ लागू किया जा सकता है।


अपसंस्कृति प्लस पैराबोलिक प्रक्षेप का संयोजन या तो अकेले की तुलना में बेहतर काम कर सकता है।
hotpaw2

3

एक हानिपूर्ण चोटी डिटेक्टर का प्रयास करें:

y[n] = max(abs(x[n]),a*y[n-1]);

जहां "ए" 1 से छोटी संख्या है जो यह नियंत्रित करती है कि डिटेक्टर कितनी तेजी से घटता है। यह निर्धारित करता है कि एक ही एक में स्मोशिंग के बिना पड़ोसी की चोटियां कैसे हो सकती हैं। फिर एक दहलीज का पता लगाने।


आपके पास अपने समीकरण में कुल्हाड़ी [n] और y [n] दोनों हैं। क्या यह सही है या यह सिर्फ y [n] होना चाहिए?
एंडी

x [n] इनपुट है, y [n] आउटपुट है। बुरा जवाब कुल मिलाकर, एक टाइपो है (अभी तय है) और मैंने सवाल गलत समझा। माफी
हिलमार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.