डीसी को अस्वीकार करने के लिए एक अच्छा एफएफटी विंडो फ़ंक्शन क्या है?


9

मैं विश्लेषण करने के लिए एक एफएफटी का उपयोग कर रहा हूं, जो अनिवार्य रूप से एक सिग्नल का पावर लिफाफा है ( यहां देखें जिसमें प्रोजेक्ट पर जानकारी के लिए देखें ), और, चूंकि पावर नंबर हमेशा सकारात्मक होते हैं, डीसी घटक को खत्म करने के लिए मैं एक विंडो का उपयोग करना चाहता हूं। फ़ंक्शन जो कि 50/50 सकारात्मक और नकारात्मक है, सामान्य सभी सकारात्मक फ़ंक्शन बनाम।

मैंने " फ्लैट टॉप " फ़ंक्शन लिया है, a0पूर्वाग्रह को हटा दिया है और इसे कॉज़नेस से साइन में परिवर्तित किया है, लेकिन मुझे यकीन नहीं है कि यह इष्टतम (या यहां तक ​​कि सार्थक) है।

कोई उपाय?


9
बस खिड़की से पहले मतलब घटाना?
endolith

जवाबों:


2

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


2
हालांकि यह प्रतिक्रिया मुख्य रूप से सही है, यह एक टिप्पणी की अधिक है, इसलिए इस पर विस्तार करना बहुत उपयोगी होगा।
फ़ोनॉन

हालाँकि, यह मेरे प्रश्न को एक हद तक संबोधित करता है।
डेनियल आर हिक्स

1
क्या ऐसा करने का एक कारण यह है कि खिड़की खोलने से पहले उसका मतलब घटाया जाए?
15'12

यदि जेसन का जवाब सही है, तो विंडो फ़ंक्शन (और अभी भी एक अच्छा वर्णक्रमीय अनुमान प्राप्त करना) के माध्यम से डीसी को अस्वीकार करने का यह विचार काम नहीं करेगा।
nibot

@nibot: एक संभावित कारण यह हो सकता है कि एक योग प्लस घटाव संभव नहीं है (उदाहरण के लिए, कुछ निश्चित हार्डवेयर पाइपलाइन या
लैट

7

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

यह समझने के लिए कि, आपको यह सोचने की जरूरत है कि प्रत्येक डीएफटी आउटपुट की आवृत्ति प्रतिक्रिया के लिए विंडो फ़ंक्शन क्या लागू करता है। DFT के रूप में परिभाषित किया गया है:

X[k]=n=0N1x[n]ej2πnkN

DFT कैसे काम करता है, इसकी एक व्याख्या समान रूप से-समान और बीच फ़िल्टर की एक बैंक है । ऊपर दिए गए योग को इस प्रकार समझो:Nfs2fs2

X[k]=n=0N1xk[n]

कहाँ पे:

xk[n]=x[n]ej2πnkN

तो, -th DFT आउटपुट पहले इनपुट सिग्नल ले कर उत्पन्न होता है और इसे एक जटिल घातांक से आवृत्ति परिवर्तित एक संकेत । परिणामी संकेत को फिर डीएफटी आउटपुट उत्पादन के लिए सैंपल विंडो पर अभिव्यक्त किया गया है । यह प्रभावी रूप से एक चलती औसत फिल्टर (कभी-कभी एक बॉक्सकार फिल्टर कहा जाता है), जिसका आवेग प्रतिक्रिया के रूप में वर्णित किया जा सकता है:kx[n]2πkNxk[n]NX[k]

b[n]={1, x=0,1,,N10, otherwise

बॉक्सर फिल्टर की परिमाण प्रतिक्रिया उस आवेग प्रतिक्रिया के असतत समय फूरियर रूपांतरण (DTFT) को ले कर पाई जा सकती है :

|H(f)|=|sin(Nπffs)sin(πffs)|

यह एक Dirichlet कर्नेल है , और कभी-कभी इसे "आवधिक sinc" के रूप में संदर्भित किया जाता है क्योंकि यह एक sinc फ़ंक्शन की तरह दिखता है, लेकिन समय-समय पर दोहराता है, जो एक sinc नहीं करता है। यह अभिव्यक्ति प्रत्येक डीएफटी आउटपुट की परिमाण प्रतिक्रिया देती है, जहां को संबंधित आउटपुट बिन के केंद्र आवृत्ति से आवृत्ति ऑफसेट के रूप में मापा जाता है। यह वर्णक्रमीय रिसाव प्रभाव दिखाता है; प्रत्येक DFT आउटपुट में एक आवृत्ति प्रतिक्रिया होती है जो इनपुट सिग्नल के स्पेक्ट्रम के कुछ निरंतर स्वाथ को कवर करती है, न कि प्रत्येक आउटपुट की असतत केंद्र आवृत्ति।f

अब विचार करें कि यदि आप DFT करने से पहले इनपुट सिग्नल विंडो फ़ंक्शन लागू करते हैं तो चीजें कैसे बदलती हैं :x[n]

X[k]=n=0N1w[n]x[n]ej2πnkN=n=0N1w[n]xk[n]

जगह में खिड़की के कार्य के साथ, नीचे दिया गया प्रभावी ढंग से एक एफआईआर फिल्टर से गुजर रहा है, जिसमें विंडो फ़ंक्शन द्वारा वर्णित आवेग प्रतिक्रिया है। तो, DFT की प्रति-आउटपुट परिमाण प्रतिक्रिया है:xk[n]

|H(f)|=|W(f)|

जहां विंडो फ़ंक्शन का DTFT है । अब ध्यान दें कि यदि आपने एक विंडो फ़ंक्शन चुना है जो डीसी में एक शून्य था और इसका उपयोग डीएफटी से पहले लिए किया था, तो आप वास्तव में परिणामी स्पेक्ट्रम में न केवल डीसी को बाहर निकालने के अनपेक्षित प्रभाव का कारण बनेंगे, लेकिन केंद्र आवृत्तियों डीएफटी आउटपुट में से हर एक का। यह शायद वह नहीं है जो आप चाहते हैं।W(f)w[n]x[n]

इसलिए, यदि आप वास्तव में सिग्नल के डीसी घटक को रद्द करना चाहते हैं, तो इसे कुछ अन्य प्रकार के पूर्व-प्रसंस्करण के माध्यम से हटाकर, समय-डोमेन विंडोिंग नहीं, जाने का रास्ता है। आप एक बहुत कम कटऑफ आवृत्ति के साथ एक रैखिक हाईपास फिल्टर का उपयोग कर सकते हैं या पहले संकेत से अनुमानित साधन को घटा सकते हैं, उदाहरण के लिए। इन विधियों के बीच चयन इस बात पर आधारित होना चाहिए कि आपके सिस्टम में अन्य क्या-क्या बाधाएँ हैं।


3

मुझे नहीं लगता कि डीसी को हटाने के लिए एक विंडो फ़ंक्शन का उपयोग करना एक अच्छा तरीका है। जैसा कि एंडोलिथ ने उल्लेख किया है, एक सामान्य तरीका सिर्फ विंडोिंग से पहले माध्य को घटाना है। लगभग 10 हर्ट्ज की कटऑफ आवृत्ति के साथ, विश्लेषण से पहले अपने संकेत के लिए एक उच्च-पास फिल्टर लागू करने के लिए एक और विकल्प होगा।


यदि सिग्नल एनालॉग रूप में मौजूद नहीं है, तो एक उच्च-पास फ़िल्टर लागू करना एक विकल्प नहीं है। लेकिन मेरा मानना ​​है कि आप (और एंडोलिथ) सही हैं कि मीन घटाना काम करना चाहिए, खासकर अगर एक खिड़की का उपयोग किया जाता है जो समापन बिंदु को शून्य तक खींचता है। (और एक उच्च पास फिल्टर को एक कम कटऑफ की आवश्यकता होगी, यह देखते हुए कि मैं सिग्नल का विश्लेषण कर रहा हूं शायद 0.01 हर्ट्ज तक।)
डैनियल आर हिक्स

2
आपको क्या लगता है कि आपको हाईपास फिल्टर लगाने के लिए एनालॉग सिग्नल की आवश्यकता है? डिजिटल HPF बनाना निश्चित रूप से संभव है।
जेसन आर

@JasonR - मैं मानता हूँ कि मैं इस तरह की चीजों से बहुत अनभिज्ञ हूँ (मेरे संकेत पाठ्यक्रम 40 साल पहले थे, एफएफटी, एट अल से बहुत पहले), लेकिन यह मुझे लगता है कि डिजिटल हाई-पास फ़िल्टर बनाने के लिए मैं पहले संकेत के फूरियर रूपांतरण का उत्पादन करना होगा।
डैनियल आर हिक्स

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

1
मुझे यकीन नहीं है कि जहां आपको यह धारणा मिली है कि हाईपास फ़िल्टर लागू करने के लिए भेदभाव की आवश्यकता होती है। भेदभाव एक हाईपास ऑपरेशन है, लेकिन हाईपास फ़िल्टर के लिए उपयुक्त कार्यान्वयन नहीं है (चूंकि इसकी आवृत्ति प्रतिक्रिया एक रैंप है, जिससे यह उच्च आवृत्तियों को बढ़ाता है जहां शोर अक्सर मौजूद होता है)। विकिपीडिया लेख सबकुछ पार फिल्टर पर एक अच्छी शुरुआत होगी।
जेसन आर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.