क्या सिग्नल को सुचारू करने की इस सरल विधि के लिए एक तकनीकी शब्द है?


26

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

मेरे पास समस्या यह थी कि अगर मैं सीधे एफएफटी मूल्यों को सीधे मैप करता तो ऑडियो सिग्नल वैल्यू बहुत तेजी से बदलकर एक मनभावन दृश्य आउटपुट उत्पन्न करता:

यहाँ छवि विवरण दर्ज करें

इसलिए मैं परिणाम को "सुचारू" करने के लिए मूल्यों पर एक साधारण फ़ंक्शन लागू करता हूं:

// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2; 
// 0.2 is arbitrary - the lower the number, the more "smoothing"

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

यहाँ छवि विवरण दर्ज करें

तो मेरा सवाल है:

  1. क्या यह एक अच्छी तरह से स्थापित पैटर्न या कार्य है जिसके लिए एक शब्द पहले से ही समाप्त हो गया है? क्या ऐसा है, क्या शब्द है? मैं ऊपर "स्मूथिंग" का उपयोग करता हूं लेकिन मुझे पता है कि इसका मतलब डीएसपी में बहुत विशिष्ट है और यह सही नहीं हो सकता है। इसके अलावा, यह लग रहा था कि शायद एक वॉल्यूम लिफाफे से संबंधित है, लेकिन यह भी एक ही बात नहीं है।

  2. क्या इसके समाधान पर बेहतर दृष्टिकोण या आगे का अध्ययन है जिसे मुझे देखना चाहिए?

अपने समय के लिए धन्यवाद और माफी माँगता हूँ अगर यह एक मूर्खतापूर्ण सवाल है (अन्य चर्चाओं को यहाँ पढ़ते हुए, मुझे पता है कि मेरा ज्ञान औसत से कम है जितना लगता है)।


1
अब मैं सोच रहा हूं कि अगर आप स्मूथ एफएफटी और उलटा एफएफटी लेते हैं तो आपको क्या मिलेगा।
user253751

क्या एक अलग क्रम में पहला उत्तर देना अधिक सरल होगा? current_value = current_value * क्षय; if (new_value> current_value) {current_value = new_value; }
रिचर्ड फोर्स्टर

@ मेरीइबिस यह मेरी समझ से एक श्रद्धा होनी चाहिए। यदि मैं गलत हूं तो मुझे सही करों।
एंड्रियास

ज़रूर, और एक अनुकूलन कंपाइलर एक ही कार्यान्वयन का उत्पादन करेगा। मुख्य बिंदु तब सही परिणाम प्राप्त करना था जब (करंट_वल्यू * क्षय) <new_value <current_value।
रिचर्ड फोर्स्टर

2
मुझे वास्तव में यह सवाल पसंद है। यह उन लोगों में से एक है, जहां कोई व्यक्ति कुछ चीजों की कोशिश कर रहा है, गलती से खुद को ज्ञान के विशाल पेड़ (विशेष रूप से अनन्त आवेग प्रतिक्रिया फिल्टर) के तल पर खुद को पता चलता है। इस बीच, जो लोग पहले से ही पेड़ पर चढ़ रहे हैं, वे उन सभी शांत चीजों का वर्णन कर सकते हैं, जिन्हें उन्होंने पहले ही शाखाओं के बीच खोजा है ...
DrCcCleod

जवाबों:


37

आपने जो लागू किया है, वह एकल-पोल लोर्ज़ फ़िल्टर है, जिसे कभी-कभी एक लीक इंटीग्रेटर कहा जाता है । आपके संकेत में अंतर समीकरण है:

y[n]=0.8y[n-1]+0.2एक्स[n]

जहाँ इनपुट है (अनम्यूट बिन वैल्यू) और स्मूथ बिन वैल्यू है। यह एक सरल, कम-कॉम्प्लेक्सिटी वाले लोपास फ़िल्टर को लागू करने का एक सामान्य तरीका है। मैंने पिछले उत्तरों में पहले भी कई बार उनके बारे में लिखा है; देखें [१] [२] [३]एक्स[n]y[n]


4
इसके लिए बहुत - बहुत धन्यवाद। तो, इतना मददगार। अपने दम पर गुगली करना समुद्र में खो जाने जैसा है जब डीएसपी के सामान की बात आती है। बस खोज करने के लिए कुछ शब्द होने से मुझे कुछ समझ में आता है।
माइकल ब्रॉमली

3
मैं सोचता हूं। मुझे लगता है कि ओपी इस फ़िल्टर को आवृत्ति डोमेन में व्यक्तिगत डिब्बे में मूल्यों की श्रृंखला पर लागू करता है। समय डोमेन में नमूनों की श्रृंखला पर एक सामान्य कम-पास लागू किया जाता है। क्या प्रभाव समान है (मुझे ऐसा नहीं लगता, क्योंकि उच्च आवृत्ति वाले हिस्से अभी भी सिग्नल में हैं, लेकिन ... उनकी तीव्रता अधिक धीरे-धीरे बदल जाती है?) यदि नहीं, तो क्या आप इस बात पर विस्तार से बता सकते हैं कि फ़िल्टर वास्तव में टाइम डोमेन में सिग्नल के लिए क्या करता है?
जोनास शॉफर

3
@JonasWielicki मुझे लगता है कि उद्देश्य प्रत्येक व्यक्ति के बिन मूल्य को सुचारू कर रहा है, ताकि यह बहुत तेज़ी से न बदले। निम्न पास फ़िल्टर भी (जैसा कि उत्तर में बताया गया है) अपने डोमेन (समय या आवृत्ति या कुछ और) के बावजूद किसी भी समय श्रृंखला पर लागू होता है।
अर्पित जैन

@arpitjain मैं समझता हूँ कि। मैं बस यह जानना चाहूंगा कि क्या कोई समझ है (जरूरी नहीं कि आपके द्वारा, ओपी या उत्तरदाता) यह उस समय डोमेन को कैसे प्रभावित करता है जब आप ऐसा करते हैं।
जोनास स्चफर

@JonasWielicki ऑपरेशन फ़्रीक्वेंसी डोमेन में एक कनविक्शन है, इसलिए यह टाइम डोमेन में गुणा (संबंधित (उलटा) फूरियर ट्रांसफॉर्म का) में बदल जाता है।
एमबीजे

17

चेतावनी: कुछ इतिहास, पुराने कागजात (मैं उन्हें प्यार करता हूं) और पंच कार्ड शामिल करता हूं!

a=0.2

y(n)=y(n1)+a[x(n)y(n1)],
y(n)=एक्स(n)+(1-)y(n-1)

पहला उपर्युक्त संस्करण कम प्राकृतिक है, लेकिन यह एक गुणा से बचता है, और किसी तरह अधिक कुशल है। दोनों सूत्र एक रैखिक , कारण और अनंत आवेग प्रतिक्रिया फिल्टर देते हैं । स्टोरी पोइसन , कोलमोगोरोव-ज़र्बेंको एडेप्टिव फ़िल्टर्स , ब्राउन (इन्वेंटरी कंट्रोल के लिए सांख्यिकीय पूर्वानुमान) के माध्यम से वापस जाती है । मैकग्रा-हिल, 1959), होल्ट (1957) और विंटर्स (1960)। इसे एक पुनरावर्ती फ़िल्टरिंग योजना के रूप में लागू किया जाता है, जिसे साहित्य के विभिन्न नामों के तहत जाना जाता है:

  • लो-पास फिल्टर के पहले क्रम घातीय औसत ,
  • घातीय औसतन,
  • घातीय चौरसाई ,
  • घातीय मूविंग एवरेज (EMA),
  • घातीय रूप से भारित चलती औसत (EWMA),
  • ब्राउन की सरल (रैखिक) घातीय चौरसाई (जिसे कभी-कभी SES कहा जाता है),
  • ARIMA (0,1,1) मॉडल।

नाम में "घातीय" ज्यामितीय प्रगति के साथ आवेग प्रतिक्रिया से संबंधित है, जो एक घातीय क्षय का नमूना देता है: ।[n]=(1-)यू[n]n

एक ऐतिहासिक नोट के लिए, रॉबर्ट जी। ब्राउन और आर्थर डी। लिटिल ने 1956 में एक्सपोनेंशियल स्मूथिंग में मांग की भविष्यवाणी के लिए स्पष्ट रूप से तंबाकू उद्योग के लिए इस विधि का इस्तेमाल किया । थोड़ा और इतिहास और स्पष्टीकरण हॉल्म-विंटर्स फॉर डुमिज़ (या डेवलपर्स) - भाग I के पूर्वानुमान में पाया जा सकता है । पीटर ज़हना ने एक्सपोनेंशियल स्मूथिंग , 1966 में कुछ टिप्पणियों में एक महत्वपूर्ण समीक्षा प्रदान की है। ऑपरेशन्स रिसर्च एंड मैनेजमेंट साइंस (गूगल की किताबों) के एनसाइक्लोपीडिया में आर। ब्राउन द्वारा एक अध्याय 1944 के इतिहास को फिर से पढ़ा जा सकता है, पढ़ने योग्य पृष्ठों को यहां पुन: प्रस्तुत किया गया है:

घातीय चौरसाई, पी।  205, संचालन अनुसंधान और प्रबंधन विज्ञान के विश्वकोश

घातीय चौरसाई, पी।  206, संचालन अनुसंधान और प्रबंधन विज्ञान का विश्वकोश

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

आप यह भी देख सकते हैं: यह "सरल फ़िल्टर" कैसे काम करता है?


1
धन्यवाद, यह उत्कृष्ट है। जैसा कि उल्लेख किया गया है, मैं इसके लिए पूरी तरह से नया हूं, इसलिए आपके कुछ उत्तर पूरी तरह से सराहना के लिए मेरे लिए और शोध करेंगे, लेकिन यह निश्चित रूप से मेरे प्रश्न का उत्तर देता है और फिर कुछ। यदि दूसरे के लिए नहीं है, तो पहले उत्तर दें, यह भी निश्चित रूप से उत्तर के रूप में स्वीकृति के योग्य है ।
माइकल ब्रॉमली

1
लघु सुधार, विंटर्स 1 (960) सर्दियां होनी चाहिए (1960) मेरा मानना ​​है
एसजीआर

9

क्या इसके समाधान पर बेहतर दृष्टिकोण या आगे का अध्ययन है जिसे मुझे देखना चाहिए?

ऑडियो मीटर के लिए सामान्य दृष्टिकोण "हानिपूर्ण शिखर डिटेक्टर" है।

if new_value > current_value
  current_value = new_value;
else
 current_value = current_value * decay;  

यह संकेत में किसी भी नए या शिखर या क्षणिक के लिए तुरंत प्रतिक्रिया करता है लेकिन यह थोड़ी देर के लिए टिका रहता है इसलिए यह बहुत कम ऊंचाई वाली तस्वीर बनाता है। क्षय 0 और 1 के बीच एक स्थिर होना चाहिए। यह नियंत्रित करता है कि 0 कितनी तात्कालिक रूप से बार के साथ आते हैं और 1 कभी नहीं किया जा रहा है।


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

मुझे लगता है कि new_valueअगर आप इसे अधिक से अधिक रखना चाहते हैंcurrent_value * decay
user276648

6

यूएस DoD ठेकेदार सर्किलों के आसपास, इस विशेष फिल्टर को अक्सर "अल्फा फिल्टर" कहा जाता है, क्योंकि इसे एक पैरामीटर के साथ विशेषता दी जा सकती है जिसे पारंपरिक रूप से "अल्फा" नाम दिया गया है।

यह सीधे एक एनालॉग एनालॉग आरसी कम-पास फिल्टर के अनुरूप है।

वे बहुत सरल हैं, गंभीर सीमाएं हैं, लेकिन उन्हें अधिक जटिल (और जटिल!) फिल्टर पर निर्विवाद लाभ होता है, यदि आप उनकी समस्या क्षेत्रों के स्पष्ट रूप से साफ करते हैं, तो उन्हें काम मिलता है।


3

जैसा कि अन्य उत्तरों में बताया गया है, यह एक एकल ध्रुव पुनरावर्ती फ़िल्टर है, एक प्रकार का अनंत आवेग प्रतिक्रिया (IIR) फ़िल्टर है।

इस और अन्य डीएसपी विशेषताओं के बारे में जानकारी के लिए एक महान संसाधन स्टीवन डब्ल्यू स्मिथ की द साइंटिस्ट एंड इंजीनियर गाइड टू डिजिटल सिग्नल प्रोसेसिंग है : अनंत आवेग प्रतिक्रिया (IIR)

... आउटपुट सिग्नल के प्रत्येक बिंदु को "a" गुणांक द्वारा इनपुट संकेत से मानों को गुणा करके, "b" गुणांक द्वारा आउटपुट सिग्नल से पहले की गणना की गई मानों को गुणा करके और उत्पादों को एक साथ जोड़कर पाया जाता है .. सूचना यह b0 के लिए कोई मान नहीं है, क्योंकि यह नमूने की गणना के अनुरूप है। समीकरण 19-1 को पुनरावर्तन समीकरण कहा जाता है, और इसका उपयोग करने वाले फ़िल्टर को पुनरावर्ती फ़िल्टर कहा जाता है। फ़िल्टर को परिभाषित करने वाले "a" और "b" मान को पुनरावर्तन गुणांक कहा जाता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.