MCP के माध्यम से कनेक्ट करें →

गणना दर्ज करें

सूत्र (फॉर्मूला)

विज्ञापन

परिणाम

सर्कुलर कन्वोल्यूशन

31, 31, 28

पहला अनुक्रम 1,2,3
दूसरा अनुक्रम 4,5,6
अधिकतम मान 31
न्यूनतम मान 28

यह कैलकुलेटर क्या करता है

सर्कुलर कन्वोल्यूशन कैलकुलेटर दो डिस्क्रीट-टाइम अनुक्रमों का सर्कुलर (साइक्लिक) कन्वोल्यूशन निकालता है — यह डिजिटल सिग्नल प्रोसेसिंग (DSP) की एक मूलभूत क्रिया है। लीनियर कन्वोल्यूशन के विपरीत, सर्कुलर कन्वोल्यूशन अनुक्रमों को एक निश्चित पीरियड N के चारों ओर लपेटता है — ठीक वैसा ही जैसा तब होता है जब आप दो सिग्नलों के डिस्क्रीट फूरियर ट्रांसफॉर्म (DFT) को गुणा करके वापस ट्रांसफॉर्म करते हैं। अपने अनुक्रम दर्ज करें और यह टूल तुरंत परिणामी आउटपुट अनुक्रम लौटा देगा, साथ ही त्वरित विश्लेषण के लिए उसके अधिकतम और न्यूनतम मान भी।

इनपुट क्या हैं

  • पहला अनुक्रम: आपका इनपुट सिग्नल x, कॉमा से अलग की गई संख्याओं के रूप में (उदाहरण: 1, 2, 3, 4)।
  • दूसरा अनुक्रम: दूसरा सिग्नल h, यह भी कॉमा से अलग (उदाहरण: 1, 1, 1)।

यदि दोनों अनुक्रमों की लंबाई अलग-अलग हो, तो कैलकुलेटर छोटे अनुक्रम में N = लंबे अनुक्रम की लंबाई तक शून्य जोड़ देता है (ज़ीरो-पैडिंग)। फिर दोनों को पीरियड N के साथ पीरियॉडिक माना जाता है।

फॉर्मूला

सर्कुलर कन्वोल्यूशन की परिभाषा इस प्रकार है:

$$y[n] = \sum_{k=0}^{N-1} x[k] \cdot h\big[(n - k)\bmod N\big]$$

लीनियर कन्वोल्यूशन से मुख्य अंतर है modulo N इंडेक्स। जब \((n - k)\) ऋणात्मक हो जाता है, तो वह शून्य देने के बजाय अनुक्रम के अंत की ओर लपेट जाता है। इसी कारण परिणाम में हमेशा ठीक N सैंपल होते हैं — लंबे इनपुट के बराबर लंबाई।

विज्ञापन
वृत्तीय कन्वोल्यूशन के लिए नमूनों को संरेखित करते हुए वृत्तों पर व्यवस्थित दो अनुक्रम
वृत्तीय कन्वोल्यूशन सूचकांक को मॉड्यूलो N से लपेटता है, नमूनों को एक वलय पर संरेखित करता है।

हल किया हुआ उदाहरण

मान लीजिए x = [1, 2, 3, 4] और h = [1, 1, 1, 1] (दोनों की लंबाई N = 4)। हर आउटपुट की गणना:

  • $$y[0] = 1\cdot 1 + 2\cdot 1 + 3\cdot 1 + 4\cdot 1 = 10$$
  • $$y[1] = 1\cdot 1 + 2\cdot 1 + 3\cdot 1 + 4\cdot 1 = 10$$
  • \(y[2] = 10\), \(y[3] = 10\)

परिणाम: [10, 10, 10, 10], जिसमें अधिकतम 10 और न्यूनतम 10। चूँकि h में सभी मान एक (1) हैं, इसलिए हर आउटपुट x के योग के बराबर होता है — यह एक उपयोगी जाँच (सैनिटी चेक) है।

वृत्तीय कन्वोल्यूशन के लिए नमूना-दर-नमूना गुणा और योग दर्शाने वाला चरण-दर-चरण ग्रिड
प्रत्येक आउटपुट y[i] संरेखित नमूनों के गुणनफलों का योग है, जो रैप-अराउंड सूचकांकन से गणना किया जाता है।

अक्सर पूछे जाने वाले प्रश्न

यह लीनियर कन्वोल्यूशन से कैसे अलग है? लीनियर कन्वोल्यूशन (len(x) + len(h) − 1) लंबाई का अनुक्रम बनाता है, जिसमें कोई रैप-अराउंड नहीं होता। सर्कुलर कन्वोल्यूशन लंबाई को N पर ही रखता है और अतिरिक्त भाग को शुरुआत की ओर मोड़ देता है, जो DFT-आधारित फ़िल्टरिंग से मेल खाता है।

अगर मेरे अनुक्रमों की लंबाई अलग-अलग हो तो क्या होगा? छोटे अनुक्रम को लंबे अनुक्रम की लंबाई N तक शून्य से पैड कर दिया जाता है, ताकि कन्वोल्यूशन से पहले दोनों संरेखित (अलाइन) हो जाएँ।

क्या मैं ऋणात्मक या दशमलव संख्याएँ इस्तेमाल कर सकता हूँ? हाँ। इनपुट को दशमलव के रूप में पढ़ा जाता है, इसलिए -1.5, 0.25, 3 जैसे मान बिल्कुल ठीक काम करते हैं।

अंतिम अपडेट: