ओवरलैप सेव मेथड

संकेत आगे बढ़ाना में, ओवरलैप-सेव एक बहुत लंबे सिग्नल के बीच कन्वोल्यूशन # असतत कनवल्शन का मूल्यांकन करने के एक कुशल तरीके का पारंपरिक नाम है $$x[n]$$ और एक परिमित आवेग प्रतिक्रिया (एफआईआर) फ़िल्टर $$h[n]$$:

कहाँ h[m] = 0 क्षेत्र के बाहर एम के लिए [1, M]. यह आलेख सामान्य अमूर्त नोटेशन का उपयोग करता है, जैसे $y(t) = x(t) * h(t),$ या $y(t) = \mathcal{H}\{x(t)\},$  जिसमें यह समझा जाता है कि कार्यों के बारे में विशिष्ट क्षणों के बजाय उनकी समग्रता में सोचा जाना चाहिए $t$  (कन्वोल्यूशन#नोटेशन देखें)।

अवधारणा एक मनमानी लंबाई L के y[n] के छोटे खंडों की गणना करना और खंडों को एक साथ जोड़ना है। किसी भी पूर्णांक k के लिए n = kL + M से शुरू होने वाले खंड पर विचार करें और 'परिभाषित करें:'


 * $$x_k[n] \ \triangleq

\begin{cases} x[n+kL], & 1 \le n \le L+M-1\\ 0, & \textrm{otherwise}. \end{cases} $$
 * $$y_k[n] \ \triangleq \ x_k[n]*h[n] = \sum_{m=1}^{M} h[m] \cdot x_k[n-m].$$

फिर, के लिए $$kL+M+1 \le n \le kL+L+M$$, और समकक्ष $$M+1 \le n-kL \le L+M$$, हम लिख सकते हैं:


 * $$y[n] = \sum_{m=1}^{M} h[m] \cdot x_k[n-kL-m] \ \ \triangleq \ \ y_k[n-kL].$$

प्रतिस्थापन के साथ $$j = n-kL$$, कार्य कंप्यूटिंग तक कम हो गया है $$y_k[j]$$ के लिए $$M+1 \le j \le L+M$$. इन चरणों को चित्र 1 के पहले 3 ट्रेस में दर्शाया गया है, सिवाय इसके कि आउटपुट का वांछित भाग (तीसरा ट्रेस) 1 से मेल खाता है। $$ ≤ एल.

यदि हम समय-समय पर x का विस्तार करते हैंk[n] अवधि N ≥ L + M − 1 के साथ,' के अनुसार:'


 * $$x_{k,N}[n] \ \triangleq \ \sum_{\ell=-\infty}^{\infty} x_k[n - \ell N],$$

संकल्प$$(x_{k,N})*h\,$$और$$x_k*h\,$$क्षेत्र में समतुल्य हैं $$ M+1 \le n \le L+M $$. इसलिए यह एन-पॉइंट गोलाकार घुमाव | सर्कुलर (या चक्रीय) कनवल्शन की गणना करने के लिए पर्याप्त है $$x_k[n]\,$$ साथ $$h[n]\,$$क्षेत्र में [1, एन]। उपक्षेत्र [M + 1, L + M] को आउटपुट स्ट्रीम में जोड़ा जाता है, और अन्य मान खारिज कर दिए जाते हैं । लाभ यह है कि डिस्क्रीट फूरियर ट्रांसफॉर्म#सर्कुलर कनवल्शन प्रमेय और क्रॉस-सहसंबंध प्रमेय के अनुसार, गोलाकार कनवल्शन की गणना रैखिक कनवल्शन की तुलना में अधिक कुशलता से की जा सकती है:'

कहाँ:
 * डीएफटीN और आईडीएफटीN असतत फूरियर रूपांतरण और इसके व्युत्क्रम का संदर्भ लें, जिसका मूल्यांकन एन असतत बिंदुओं पर किया गया है, और
 * $L$ को प्रथागत रूप से ऐसे चुना जाता है $N = L+M-1$ एक पूर्णांक पावर-ऑफ़-2 है, और दक्षता के लिए परिवर्तनों को फास्ट फूरियर ट्रांसफॉर्म एल्गोरिदम के साथ कार्यान्वित किया जाता है।
 * वृत्ताकार कनवल्शन के अग्रणी और अनुगामी किनारे-प्रभावों को ओवरलैप किया जाता है और जोड़ा जाता है, और बाद में त्याग दिया गया।

छद्मकोड
<स्पैन स्टाइल=रंग:हरा; >(रैखिक कनवल्शन के लिए ओवरलैप-सेव एल्गोरिदम) एच = एफआईआर_आवेग_प्रतिक्रिया एम = लंबाई(एच) ओवरलैप = एम - 1 एन = 8 × ओवरलैप <स्पैन शैली = रंग: हरा; >(बेहतर विकल्प के लिए अगला भाग देखें) चरण_आकार = एन - ओवरलैप एच = डीएफटी(एच, एन) स्थिति = 0 'जबकि' स्थिति + एन ≤ लंबाई (एक्स) yt = IDFT(DFT(x(स्थिति+(1:N))) × H)    y(स्थिति+(1:step_size)) = yt(M : N) (M−1 y-मान त्यागें) स्थिति = स्थिति + चरण_आकार 'अंत'

दक्षता संबंधी विचार
जब डीएफटी और आईडीएफटी को एफएफटी एल्गोरिदम द्वारा कार्यान्वित किया जाता है, तो उपरोक्त छद्मकोड की आवश्यकता होती है N (log2(N) + 1) एफएफटी, सरणियों के उत्पाद और आईएफएफटी के लिए जटिल गुणन। प्रत्येक पुनरावृत्ति उत्पन्न करती है N-M+1 आउटपुट नमूने, इसलिए प्रति आउटपुट नमूने में जटिल गुणन की संख्या लगभग है:

उदाहरण के लिए, जब M=201 और N=1024, $j$ 13.67 के बराबर है, जबकि प्रत्यक्ष मूल्यांकन $$ प्रत्येक आउटपुट नमूने के लिए 201 तक जटिल गुणन की आवश्यकता होगी, सबसे खराब स्थिति तब होगी जब x और h दोनों जटिल-मूल्यवान हों। यह भी ध्यान दें कि किसी दिए गए एम के लिए, $$ में N के संबंध में न्यूनतम है। चित्र 2 N के मानों का एक ग्राफ है जो न्यूनतम करता है $$ फ़िल्टर लंबाई (एम) की एक श्रृंखला के लिए।

के बजाय $$, हम आवेदन करने पर भी विचार कर सकते हैं $$ लंबाई के एक लंबे क्रम के लिए $$N_x$$ नमूने. जटिल गुणन की कुल संख्या होगी:


 * $$N_x\cdot (\log_2(N_x) + 1).$$

तुलनात्मक रूप से, स्यूडोकोड एल्गोरिदम द्वारा आवश्यक जटिल गुणन की संख्या है:


 * $$N_x\cdot (\log_2(N) + 1)\cdot \frac{N}{N-M+1}.$$

इसलिए ओवरलैप-सेव पद्धति की लागत लगभग समान है $$O\left(N_x\log_2 N\right)$$ जबकि एक एकल, बड़े गोलाकार कनवल्शन की लागत लगभग है $$O\left(N_x\log_2 N_x \right)$$.

ओवरलैप–त्यागें
ओवरलैप-त्यागें और ओवरलैप-स्क्रैप यहां वर्णित समान विधि के लिए आमतौर पर कम उपयोग किए जाने वाले लेबल हैं। हालाँकि, ये लेबल वास्तव में ओवरलैप-ऐड विधि|ओवरलैप-ऐड से अलग करने के लिए बेहतर (ओवरलैप-सेव से) हैं, क्योंकि दोनों विधियां सहेजती हैं, लेकिन केवल एक को हटा देती हैं। सेव केवल इस तथ्य को संदर्भित करता है कि खंड k से M - 1 इनपुट (या आउटपुट) नमूने खंड k + 1 को संसाधित करने के लिए आवश्यक हैं।

ओवरलैप का विस्तार-सहेजें
ओवरलैप-सेव एल्गोरिदम को सिस्टम के अन्य सामान्य संचालन को शामिल करने के लिए बढ़ाया जा सकता है:


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

यह भी देखें

 * ओवरलैप-जोड़ने की विधि

संदर्भ

 * , also available at https://patentimages.storage.googleapis.com/4d/39/2a/cec2ae6f33c1e7/US6898235.pdf
 * , also available at https://patentimages.storage.googleapis.com/4d/39/2a/cec2ae6f33c1e7/US6898235.pdf

बाहरी संबंध

 * Dr. Deepa Kundur, Overlap Add and Overlap Save, University of Toronto