ओवरलैप सेव मेथड: Difference between revisions

From Vigyanwiki
(Created page with "संकेत आगे बढ़ाना में, ''ओवरलैप-सेव'' एक बहुत लंबे सिग्नल के बीच कन्...")
 
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[ संकेत आगे बढ़ाना ]] में, ''ओवरलैप-सेव'' एक बहुत लंबे सिग्नल के बीच कन्वोल्यूशन # असतत कनवल्शन का मूल्यांकन करने के एक कुशल तरीके का पारंपरिक नाम है <math>x[n]</math> और एक [[परिमित आवेग प्रतिक्रिया]] (एफआईआर) फ़िल्टर <math>h[n]</math>:
[[ संकेत आगे बढ़ाना |संकेत संसाधन]] में, '''ओवरलैप-सेव''' एक बहुत लंबे सिग्नल <math>x[n]</math> और एक [[परिमित आवेग प्रतिक्रिया|परिमित आवेगी प्रतिवेदन]] (एफआईआर) निस्यन्दक <math>h[n]</math> के बीच असतत संवलन का मूल्यांकन करने के एक कुशल तरीके का पारंपरिक नाम है:
{{NumBlk|:|<math>
{{NumBlk|:|<math>
   y[n] = x[n] * h[n]
   y[n] = x[n] * h[n]
Line 5: Line 5:
       = \sum_{m=1}^{M} h[m] \cdot x[n - m],
       = \sum_{m=1}^{M} h[m] \cdot x[n - m],
</math>|{{EquationRef|Eq.1}}}}
</math>|{{EquationRef|Eq.1}}}}
कहाँ {{nowrap|''h''[''m''] {{=}} 0}} क्षेत्र के बाहर एम के लिए {{nowrap|[1, ''M'']}}.
जहां क्षेत्र {{nowrap|[1, ''M'']}} के बाहर m के लिए {{nowrap|''h''[''m''] {{=}} 0}} है।
यह आलेख सामान्य अमूर्त नोटेशन का उपयोग करता है, जैसे <math display="inline">y(t) = x(t) * h(t),</math> या <math display="inline">y(t) = \mathcal{H}\{x(t)\},</math> जिसमें यह समझा जाता है कि कार्यों के बारे में विशिष्ट क्षणों के बजाय उनकी समग्रता में सोचा जाना चाहिए <math display="inline">t</math> (कन्वोल्यूशन#नोटेशन देखें)।


[[Image:Overlap-save algorithm.svg|thumb|right|500px|चित्र 1: चार प्लॉटों का अनुक्रम ओवरलैप-सेव कनवल्शन एल्गोरिदम के एक चक्र को दर्शाता है। पहला प्लॉट लोपास एफआईआर फिल्टर के साथ संसाधित होने वाले डेटा का एक लंबा अनुक्रम है। दूसरा प्लॉट डेटा का एक खंड है जिसे टुकड़ों में संसाधित किया जाना है। तीसरा प्लॉट फ़िल्टर किया गया खंड है, जिसमें प्रयोग करने योग्य भाग लाल रंग का है। चौथा प्लॉट आउटपुट स्ट्रीम से जुड़े फ़िल्टर किए गए सेगमेंट को दिखाता है।{{efn-ua|[[#refRabiner|Rabiner and Gold]], Fig 2.35, fourth trace.}} एफआईआर फिल्टर एम=16 नमूनों वाला एक बॉक्सकार लोपास है, खंडों की लंबाई एल=100 नमूने हैं और ओवरलैप 15 नमूने हैं।]]अवधारणा एक मनमानी लंबाई L के y[n] के छोटे खंडों की गणना करना और खंडों को एक साथ जोड़ना है। किसी भी पूर्णांक k के लिए n = kL + M से शुरू होने वाले खंड पर विचार करें और 'परिभाषित करें:'
यह आलेख सामान्य अमूर्त संकेतन का उपयोग करता है, जैसे <math display="inline">y(t) = x(t) * h(t),</math> या <math display="inline">y(t) = \mathcal{H}\{x(t)\},</math> जिसमें यह समझा जाता है कि कार्यों के बारे में विशिष्ट क्षणों के स्थान पर उनकी समग्रता <math display="inline">t</math> (कन्वोल्यूशन देखें) में सोचा जाना चाहिए।
 
[[Image:Overlap-save algorithm.svg|thumb|right|500px|चित्र 1: चार क्षेत्र का अनुक्रम ओवरलैप-सेव संवलन कलन विधि के एक चक्र को दर्शाता है। पहला क्षेत्र लोपास एफआईआर निस्यन्दक के साथ संसाधित होने वाले आँकड़े का एक लंबा अनुक्रम है। दूसरा क्षेत्र आँकड़े का एक खंड है जिसे टुकड़ों में संसाधित किया जाना है। तीसरा क्षेत्र निस्यन्दक किया गया खंड है, जिसमें प्रयोग करने योग्य भाग लाल रंग का है। चौथा क्षेत्र प्रक्षेपण वर्ग से जुड़े निस्यन्दक किए गए परिच्छेद को दिखाता है। {{efn-ua|[[#refRabiner|Rabiner and Gold]], Fig 2.35, fourth trace.}} एफआईआर निस्यन्दक एम=16 प्रतिरूप वाला एक बक्सकार लोपास है, खंडों की लंबाई एल=100 प्रतिरूप हैं और ओवरलैप 15 प्रतिरूप हैं।]]अवधारणा एक स्वेच्छाचारी लंबाई L के y[n] के छोटे खंडों की गणना करना और खंडों को एक साथ जोड़ना है। किसी भी पूर्णांक k के लिए n = kL + M से प्रारम्भ होने वाले खंड पर विचार करें और 'परिभाषित करें:'


:<math>x_k[n]  \ \triangleq
:<math>x_k[n]  \ \triangleq
Line 17: Line 18:
</math>
</math>
:<math>y_k[n] \ \triangleq \ x_k[n]*h[n] = \sum_{m=1}^{M} h[m] \cdot x_k[n-m].</math>
:<math>y_k[n] \ \triangleq \ x_k[n]*h[n] = \sum_{m=1}^{M} h[m] \cdot x_k[n-m].</math>
फिर, के लिए <math>kL+M+1 \le n \le kL+L+M</math>, और समकक्ष <math>M+1 \le n-kL \le L+M</math>, हम लिख सकते हैं:
फिर, <math>kL+M+1 \le n \le kL+L+M</math>, और समकक्ष <math>M+1 \le n-kL \le L+M</math> के लिए, हम लिख सकते हैं:


:<math>y[n] = \sum_{m=1}^{M} h[m] \cdot x_k[n-kL-m] \ \ \triangleq \ \ y_k[n-kL].</math>
:<math>y[n] = \sum_{m=1}^{M} h[m] \cdot x_k[n-kL-m] \ \ \triangleq \ \ y_k[n-kL].</math>
प्रतिस्थापन के साथ <math>j = n-kL</math>, कार्य कंप्यूटिंग तक कम हो गया है <math>y_k[j]</math> के लिए <math>M+1 \le j \le L+M</math>. इन चरणों को चित्र 1 के पहले 3 ट्रेस में दर्शाया गया है, सिवाय इसके कि आउटपुट का वांछित भाग (तीसरा ट्रेस) ''1'' से मेल खाता है। {{mvar|j}} ≤ ''एल''.{{efn-ua
प्रतिस्थापन के साथ <math>j = n-kL</math>, कार्य <math>M+1 \le j \le L+M</math> के लिए कंप्यूटिंग <math>y_k[j]</math> तक कम हो गया है। इन चरणों को चित्र 1 के पहले 3 अनुरेख में दर्शाया गया है, सिवाय इसके कि प्रक्षेपण का वांछित भाग (तीसरा ट्रेस) ''1{{mvar|j}} ≤ '''L''''' से मेल खाता है। {{efn-ua
|Shifting the undesirable edge effects to the last M-1 outputs is a potential run-time convenience, because the IDFT can be computed in the <math>y[n]</math> buffer, instead of being computed and copied.  Then the edge effects can be overwritten by the next IDFT.&nbsp; A subsequent footnote explains how the shift is done, by a time-shift of the impulse response.}}
|Shifting the undesirable edge effects to the last M-1 outputs is a potential run-time convenience, because the IDFT can be computed in the <math>y[n]</math> buffer, instead of being computed and copied.  Then the edge effects can be overwritten by the next IDFT.&nbsp; A subsequent footnote explains how the shift is done, by a time-shift of the impulse response.}}


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


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


{{NumBlk|:|<math>y_k[n]\ =\ \scriptstyle \text{IDFT}_N \displaystyle (\ \scriptstyle \text{DFT}_N \displaystyle (x_k[n])\cdot\ \scriptstyle \text{DFT}_N \displaystyle (h[n])\ ),</math>|{{EquationRef|Eq.2}}}}
{{NumBlk|:|<math>y_k[n]\ =\ \scriptstyle \text{IDFT}_N \displaystyle (\ \scriptstyle \text{DFT}_N \displaystyle (x_k[n])\cdot\ \scriptstyle \text{DFT}_N \displaystyle (h[n])\ ),</math>|{{EquationRef|Eq.2}}}}


कहाँ:
जहाँ:
*डीएफटी<sub>N</sub> और आईडीएफटी<sub>N</sub> [[असतत फूरियर रूपांतरण]] और इसके व्युत्क्रम का संदर्भ लें, जिसका मूल्यांकन एन असतत बिंदुओं पर किया गया है, और
*डीएफटी<sub>एन</sub> और आईडीएफटी<sub>एन</sub> [[असतत फूरियर रूपांतरण]] और इसके व्युत्क्रम का संदर्भ लें, जिसका मूल्यांकन एन असतत बिंदुओं पर किया गया है, और
*{{math|L}} को प्रथागत रूप से ऐसे चुना जाता है {{math|N {{=}} L+M-1}} एक पूर्णांक पावर-ऑफ़-2 है, और दक्षता के लिए परिवर्तनों को [[फास्ट फूरियर ट्रांसफॉर्म]] एल्गोरिदम के साथ कार्यान्वित किया जाता है।
*{{math|L}} को प्रथागत रूप से ऐसे चुना जाता है कि {{math|N {{=}} L+M-1}} एक पूर्णांक शक्ति-2 है, और दक्षता के लिए परिवर्तनों को एफएफटी कलन विधि के साथ कार्यान्वित किया जाता है।
*वृत्ताकार कनवल्शन के अग्रणी और अनुगामी किनारे-प्रभावों को ओवरलैप किया जाता है और जोड़ा जाता है,{{efn-ua
*वृत्ताकार संवलन के अग्रणी और अनुगामी किनारे-प्रभावों को अतिछादित किया जाता है और जोड़ा जाता है, {{efn-ua
|Not to be confused with the [[Overlap-add method]], which preserves separate leading and trailing edge-effects.
|Not to be confused with the [[Overlap-add method]], which preserves separate leading and trailing edge-effects.
}} और बाद में त्याग दिया गया।{{efn-ua
}} और बाद में त्याग दिया जाता है। {{efn-ua
|1=The edge effects can be moved from the front to the back of the IDFT output by replacing <math>\scriptstyle \text{DFT}_N \displaystyle (h[n])</math> with <math>\scriptstyle \text{DFT}_N  \displaystyle (h[n+M-1]) =\ \scriptstyle \text{DFT}_N  \displaystyle (h[n+M-1-N]),</math> meaning that the N-length buffer is ''circularly-shifted'' (rotated) by M-1 samples.  Thus the h(M) element is at n=1.  The h(M-1) element is at n=N.  h(M-2) is at n=N-1. Etc.}}
|1=The edge effects can be moved from the front to the back of the IDFT output by replacing <math>\scriptstyle \text{DFT}_N \displaystyle (h[n])</math> with <math>\scriptstyle \text{DFT}_N  \displaystyle (h[n+M-1]) =\ \scriptstyle \text{DFT}_N  \displaystyle (h[n+M-1-N]),</math> meaning that the N-length buffer is ''circularly-shifted'' (rotated) by M-1 samples.  Thus the h(M) element is at n=1.  The h(M-1) element is at n=N.  h(M-2) is at n=N-1. Etc.}}


==छद्मकोड==
==छद्मकोड==
  <स्पैन स्टाइल=रंग:हरा; >(रैखिक कनवल्शन के लिए ओवरलैप-सेव एल्गोरिदम)</span>
  (''Overlap-save algorithm for linear convolution'')
  एच = एफआईआर_आवेग_प्रतिक्रिया
  h = FIR_impulse_response
  एम = लंबाई(एच)
  M = length(h)
  ओवरलैप = एम - 1
  overlap = M − 1
  एन = 8 × ओवरलैप <स्पैन शैली = रंग: हरा; >(बेहतर विकल्प के लिए अगला भाग देखें)</span>
  N = 8 × overlap    (see next section for a better choice)
  चरण_आकार = एन - ओवरलैप
  step_size = N − overlap
  एच = डीएफटी(एच, एन)
  H = DFT(h, N)
  स्थिति = 0
  position = 0
   
   
  'जबकि' स्थिति + एन लंबाई (एक्स)
  '''while''' position + N length(x)
     yt = IDFT(DFT(x(स्थिति+(1:N))) × H)
     yt = IDFT(DFT(x(position+(1:N))) × H)
     y(स्थिति+(1:step_size)) = yt(M : N) <span style= color:green; >(M−1 y-मान त्यागें)</span>
     y(position+(1:step_size)) = yt(: N)   (discard M−1 y-values)
     स्थिति = स्थिति + चरण_आकार
     position = position + step_size
  'अंत'
  '''end'''


==दक्षता संबंधी विचार==
==दक्षता संबंधी विचार==
[[Image:FFT_size_vs_filter_length_for_Overlap-add_convolution.svg|thumb|400px|चित्र 2: एन (2 की पूर्णांक घात) के मानों का एक ग्राफ जो लागत फ़ंक्शन को न्यूनतम करता है <math>\tfrac{N\left(\log_2 N + 1\right)}{N - M + 1}</math>]]जब डीएफटी और आईडीएफटी को एफएफटी एल्गोरिदम द्वारा कार्यान्वित किया जाता है, तो उपरोक्त छद्मकोड की आवश्यकता होती है {{nowrap|'''N (log<sub>2</sub>(N) + 1)'''}} एफएफटी, सरणियों के उत्पाद और आईएफएफटी के लिए जटिल गुणन।{{efn-ua
[[Image:FFT_size_vs_filter_length_for_Overlap-add_convolution.svg|thumb|400px|चित्र 2: एन (2 की पूर्णांक घात) के मानों का एक आरेख जो लागत फलन <math>\tfrac{N\left(\log_2 N + 1\right)}{N - M + 1}</math> को न्यूनतम करता है ]]जब डीएफटी और आईडीएफटी को एफएफटी कलन विधि द्वारा कार्यान्वित किया जाता है, तो उपरोक्त छद्मकोड को एफएफटी, सरणियों के उत्पाद और आईएफएफटी के लिए {{nowrap|'''N (log<sub>2</sub>(N) + 1)'''}} जटिल गुणन की आवश्यकता होती है। {{efn-ua
|1=Cooley–Tukey FFT algorithm for N=2<sup>k</sup> needs (N/2) log<sub>2</sub>(N) – see [[Fast Fourier transform#Definition|FFT – Definition and speed]]
|1=Cooley–Tukey FFT algorithm for N=2<sup>k</sup> needs (N/2) log<sub>2</sub>(N) – see [[Fast Fourier transform#Definition|FFT – Definition and speed]]
}} प्रत्येक पुनरावृत्ति उत्पन्न करती है {{nowrap|'''N-M+1'''}} आउटपुट नमूने, इसलिए प्रति आउटपुट नमूने में जटिल गुणन की संख्या लगभग है:
}} प्रत्येक पुनरावृत्ति {{nowrap|'''N-M+1'''}} प्रक्षेपण प्रतिरूप उत्पन्न करती है, इसलिए प्रति प्रक्षेपण प्रतिरूप में जटिल गुणन की संख्या लगभग है:


{{NumBlk|:|<math>\frac{N (\log_2(N) + 1)}{N-M+1}.\,</math>|{{EquationRef|Eq.3}}}}
{{NumBlk|:|<math>\frac{N (\log_2(N) + 1)}{N-M+1}.\,</math>|{{EquationRef|Eq.3}}}}


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


के बजाय {{EquationNote|Eq.1}}, हम आवेदन करने पर भी विचार कर सकते हैं {{EquationNote|Eq.2}} लंबाई के एक लंबे क्रम के लिए <math>N_x</math> नमूने. जटिल गुणन की कुल संख्या होगी:
के स्थान पर {{EquationNote|Eq.1}}, हम आवेदन करने पर भी विचार कर सकते हैं {{EquationNote|Eq.2}} लंबाई के एक लंबे क्रम के लिए <math>N_x</math> प्रतिरूप. जटिल गुणन की कुल संख्या होगी:


:<math>N_x\cdot (\log_2(N_x) + 1).</math>
:<math>N_x\cdot (\log_2(N_x) + 1).</math>
तुलनात्मक रूप से, स्यूडोकोड एल्गोरिदम द्वारा आवश्यक जटिल गुणन की संख्या है:
तुलनात्मक रूप से, स्यूडोकोड कलन विधि द्वारा आवश्यक जटिल गुणन की संख्या है:


:<math>N_x\cdot (\log_2(N) + 1)\cdot \frac{N}{N-M+1}.</math>
:<math>N_x\cdot (\log_2(N) + 1)\cdot \frac{N}{N-M+1}.</math>
इसलिए ओवरलैप-सेव पद्धति की लागत लगभग समान है <math>O\left(N_x\log_2 N\right)</math> जबकि एक एकल, बड़े गोलाकार कनवल्शन की लागत लगभग है <math>O\left(N_x\log_2 N_x \right)</math>.
इसलिए ओवरलैप-सेव पद्धति की लागत लगभग <math>O\left(N_x\log_2 N\right)</math> के समान है जबकि एक एकल, बड़े गोलाकार संवलन की लागत लगभग <math>O\left(N_x\log_2 N_x \right)</math> है।


==ओवरलैप–त्यागें==
==ओवरलैप–पृथक्करण==
ओवरलैप-त्यागें<ref name=f.harris/>और ओवरलैप-स्क्रैप<ref name=Frerking/>यहां वर्णित समान विधि के लिए आमतौर पर कम उपयोग किए जाने वाले लेबल हैं। हालाँकि, ये लेबल वास्तव में ओवरलैप-ऐड विधि|ओवरलैप-ऐड से अलग करने के लिए बेहतर (ओवरलैप-सेव से) हैं, क्योंकि <u>दोनों</u> विधियां सहेजती हैं, लेकिन केवल एक को हटा देती हैं। सेव केवल इस तथ्य को संदर्भित करता है कि खंड k से M - 1 इनपुट (या आउटपुट) नमूने खंड k + 1 को संसाधित करने के लिए आवश्यक हैं।
ओवरलैप-पृथक्करण <ref name=f.harris/>और ओवरलैप-उच्छिष्ट <ref name=Frerking/> यहां वर्णित समान विधि के लिए सामान्यतः कम उपयोग किए जाने वाले लेबल हैं। हालाँकि, ये लेबल वास्तव में ओवरलैप-जोड़ विधि से अलग करने के लिए बेहतर (ओवरलैप-सेव से) हैं, क्योंकि <u>दोनों</u> विधियां सहेजती हैं, लेकिन केवल एक को हटा देती हैं। सेव केवल इस तथ्य को संदर्भित करता है कि खंड k से M - 1 इनपुट (या प्रक्षेपण) प्रतिरूप खंड k + 1 को संसाधित करने के लिए आवश्यक हैं।


===ओवरलैप का विस्तार-सहेजें===
===ओवरलैप का विस्तार-सेव===
ओवरलैप-सेव एल्गोरिदम को सिस्टम के अन्य सामान्य संचालन को शामिल करने के लिए बढ़ाया जा सकता है:{{efn-ua
ओवरलैप-सेव कलन विधि को प्रणाली के अन्य सामान्य संचालन को सम्मिलित करने के लिए बढ़ाया जा सकता है: {{efn-ua
|[[#refCarlin|Carlin et al. 1999]], p 31, col 20.
|[[#refCarlin|Carlin et al. 1999]], p 31, col 20.
}}<ref name=Borgerding/>
}}<ref name=Borgerding/>


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


== यह भी देखें ==
== यह भी देखें ==
Line 150: Line 151:
[[Category: Machine Translated Page]]
[[Category: Machine Translated Page]]
[[Category:Created On 14/08/2023]]
[[Category:Created On 14/08/2023]]
[[Category:Vigyan Ready]]

Latest revision as of 07:08, 16 October 2023

संकेत संसाधन में, ओवरलैप-सेव एक बहुत लंबे सिग्नल और एक परिमित आवेगी प्रतिवेदन (एफआईआर) निस्यन्दक के बीच असतत संवलन का मूल्यांकन करने के एक कुशल तरीके का पारंपरिक नाम है:

 

 

 

 

(Eq.1)

जहां क्षेत्र [1, M] के बाहर m के लिए h[m] = 0 है।

यह आलेख सामान्य अमूर्त संकेतन का उपयोग करता है, जैसे या जिसमें यह समझा जाता है कि कार्यों के बारे में विशिष्ट क्षणों के स्थान पर उनकी समग्रता (कन्वोल्यूशन देखें) में सोचा जाना चाहिए।

चित्र 1: चार क्षेत्र का अनुक्रम ओवरलैप-सेव संवलन कलन विधि के एक चक्र को दर्शाता है। पहला क्षेत्र लोपास एफआईआर निस्यन्दक के साथ संसाधित होने वाले आँकड़े का एक लंबा अनुक्रम है। दूसरा क्षेत्र आँकड़े का एक खंड है जिसे टुकड़ों में संसाधित किया जाना है। तीसरा क्षेत्र निस्यन्दक किया गया खंड है, जिसमें प्रयोग करने योग्य भाग लाल रंग का है। चौथा क्षेत्र प्रक्षेपण वर्ग से जुड़े निस्यन्दक किए गए परिच्छेद को दिखाता है। [upper-alpha 1] एफआईआर निस्यन्दक एम=16 प्रतिरूप वाला एक बक्सकार लोपास है, खंडों की लंबाई एल=100 प्रतिरूप हैं और ओवरलैप 15 प्रतिरूप हैं।

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

फिर, , और समकक्ष के लिए, हम लिख सकते हैं:

प्रतिस्थापन के साथ , कार्य के लिए कंप्यूटिंग तक कम हो गया है। इन चरणों को चित्र 1 के पहले 3 अनुरेख में दर्शाया गया है, सिवाय इसके कि प्रक्षेपण का वांछित भाग (तीसरा ट्रेस) 1jL से मेल खाता है। [upper-alpha 2]

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

संवलन और क्षेत्र में समतुल्य हैं इसलिए यह क्षेत्र [1, n] में के साथ के एन-बिंदु परिपत्र (या चक्रीय) कनवल्शन की गणना करने के लिए पर्याप्त है। उपक्षेत्र [M + 1, L + M] को प्रक्षेपण स्ट्रीम में जोड़ा जाता है, और अन्य मान खारिज कर दिए जाते हैं। लाभ यह है कि डिस्क्रीट फूरियर वृत्तीय संवलन प्रमेय और संकरण-सहसंबंध प्रमेय के अनुसार, गोलाकार संवलन की गणना रैखिक संवलन की तुलना में अधिक कुशलता से की जा सकती है:'

 

 

 

 

(Eq.2)

जहाँ:

  • डीएफटीएन और आईडीएफटीएन असतत फूरियर रूपांतरण और इसके व्युत्क्रम का संदर्भ लें, जिसका मूल्यांकन एन असतत बिंदुओं पर किया गया है, और
  • L को प्रथागत रूप से ऐसे चुना जाता है कि N = L+M-1 एक पूर्णांक शक्ति-2 है, और दक्षता के लिए परिवर्तनों को एफएफटी कलन विधि के साथ कार्यान्वित किया जाता है।
  • वृत्ताकार संवलन के अग्रणी और अनुगामी किनारे-प्रभावों को अतिछादित किया जाता है और जोड़ा जाता है, [upper-alpha 3] और बाद में त्याग दिया जाता है। [upper-alpha 4]

छद्मकोड

(Overlap-save algorithm for linear convolution)
h = FIR_impulse_response
M = length(h)
overlap = M − 1
N = 8 × overlap    (see next section for a better choice)
step_size = N − overlap
H = DFT(h, N)
position = 0

while position + N ≤ length(x)
    yt = IDFT(DFT(x(position+(1:N))) × H)
    y(position+(1:step_size)) = yt(M : N)    (discard M−1 y-values)
    position = position + step_size
end

दक्षता संबंधी विचार

चित्र 2: एन (2 की पूर्णांक घात) के मानों का एक आरेख जो लागत फलन को न्यूनतम करता है

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

 

 

 

 

(Eq.3)

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

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

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

इसलिए ओवरलैप-सेव पद्धति की लागत लगभग के समान है जबकि एक एकल, बड़े गोलाकार संवलन की लागत लगभग है।

ओवरलैप–पृथक्करण

ओवरलैप-पृथक्करण [1]और ओवरलैप-उच्छिष्ट [2] यहां वर्णित समान विधि के लिए सामान्यतः कम उपयोग किए जाने वाले लेबल हैं। हालाँकि, ये लेबल वास्तव में ओवरलैप-जोड़ विधि से अलग करने के लिए बेहतर (ओवरलैप-सेव से) हैं, क्योंकि दोनों विधियां सहेजती हैं, लेकिन केवल एक को हटा देती हैं। सेव केवल इस तथ्य को संदर्भित करता है कि खंड k से M - 1 इनपुट (या प्रक्षेपण) प्रतिरूप खंड k + 1 को संसाधित करने के लिए आवश्यक हैं।

ओवरलैप का विस्तार-सेव

ओवरलैप-सेव कलन विधि को प्रणाली के अन्य सामान्य संचालन को सम्मिलित करने के लिए बढ़ाया जा सकता है: [upper-alpha 6][3]

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

यह भी देखें

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

टिप्पणियाँ

  1. Rabiner and Gold, Fig 2.35, fourth trace.
  2. Shifting the undesirable edge effects to the last M-1 outputs is a potential run-time convenience, because the IDFT can be computed in the buffer, instead of being computed and copied. Then the edge effects can be overwritten by the next IDFT.  A subsequent footnote explains how the shift is done, by a time-shift of the impulse response.
  3. Not to be confused with the Overlap-add method, which preserves separate leading and trailing edge-effects.
  4. The edge effects can be moved from the front to the back of the IDFT output by replacing with meaning that the N-length buffer is circularly-shifted (rotated) by M-1 samples. Thus the h(M) element is at n=1. The h(M-1) element is at n=N. h(M-2) is at n=N-1. Etc.
  5. Cooley–Tukey FFT algorithm for N=2k needs (N/2) log2(N) – see FFT – Definition and speed
  6. Carlin et al. 1999, p 31, col 20.


संदर्भ

  1. Harris, F.J. (1987). D.F.Elliot (ed.). Handbook of Digital Signal Processing. San Diego: Academic Press. pp. 633–699. ISBN 0122370759.
  2. Frerking, Marvin (1994). Digital Signal Processing in Communication Systems. New York: Van Nostrand Reinhold. ISBN 0442016166.
  3. Borgerding, Mark (2006). "Turning Overlap–Save into a Multiband Mixing, Downsampling Filter Bank". IEEE Signal Processing Magazine. 23 (March 2006): 158–161. doi:10.1109/MSP.2006.1598092.
  1. Rabiner, Lawrence R.; Gold, Bernard (1975). "2.25". Theory and application of digital signal processing. Englewood Cliffs, N.J.: Prentice-Hall. pp. 63–67. ISBN 0-13-914101-4.
  2. US patent 6898235, Carlin,Joe; Collins,Terry & Hays,Peter et al., "Wideband communication intercept and direction finding device using hyperchannelization", published 1999-12-10, issued 2005-05-24 , also available at https://patentimages.storage.googleapis.com/4d/39/2a/cec2ae6f33c1e7/US6898235.pdf


बाहरी संबंध