NumPy 1.14 - numpy.fft.ifft()

numpy.fft.ifft




numpy

numpy.fft.ifft

numpy.fft.ifft(a, n=None, axis=-1, norm=None) [source]

एक आयामी व्युत्क्रम असतत फूरियर ट्रांसफॉर्म की गणना करें।

यह फ़ंक्शन एक आयामी एन -पॉइंट असतत फूरियर रूपांतरण के व्युत्क्रम की गणना करता है। दूसरे शब्दों में, ifft(fft(a)) == a से संख्यात्मक सटीकता के भीतर। एल्गोरिथ्म और परिभाषाओं के सामान्य विवरण के लिए, numpy.fft देखें।

इनपुट को उसी तरह से आदेश दिया जाना चाहिए, जैसे कि fft द्वारा लौटाया जाता है,

  • a[0] में शून्य आवृत्ति शब्द होना चाहिए,
  • a[1:n//2] में सकारात्मक-आवृत्ति शब्द शामिल होने चाहिए,
  • a[n//2 + 1:] में नकारात्मक-आवृत्ति की शर्तें शामिल होनी चाहिए, सबसे नकारात्मक आवृत्ति से शुरू होने वाले बढ़ते क्रम में।

इनपुट बिंदुओं की सम संख्या के लिए, A[n//2] सकारात्मक और नकारात्मक Nyquist आवृत्तियों पर मूल्यों के योग को दर्शाता है, क्योंकि दोनों एक साथ अलियास किए जाते हैं। जानकारी के लिए numpy.fft देखें।

पैरामीटर:

a : array_like

इनपुट सरणी, जटिल हो सकती है।

n : int, वैकल्पिक

आउटपुट के रूपांतरित अक्ष की लंबाई। यदि n इनपुट की लंबाई से छोटा है, तो इनपुट क्रॉप किया जाता है। यदि यह बड़ा है, तो इनपुट शून्य के साथ गद्देदार है। यदि n नहीं दिया गया है, तो अक्ष द्वारा निर्दिष्ट अक्ष के साथ इनपुट की लंबाई का उपयोग किया जाता है। पैडिंग मुद्दों के बारे में नोट्स देखें।

अक्ष : int, वैकल्पिक

एक्सिस जिस पर उलटा डीएफटी की गणना करना है। यदि नहीं दिया जाता है, तो अंतिम अक्ष का उपयोग किया जाता है।

मानदंड : {कोई नहीं, “ओर्थो”}, वैकल्पिक

संस्करण 1.10.0 में नया।

सामान्यीकरण मोड ( numpy.fft देखें)। डिफ़ॉल्ट कोई भी नहीं है।

यह दिखाता है:

बाहर : जटिल ndarray

कुंडली या शून्य-गद्देदार इनपुट, धुरी द्वारा इंगित अक्ष के साथ बदल दिया जाता axis , या यदि axis निर्दिष्ट नहीं किया जाता है, तो पिछले एक।

जन्म देती है:

IndexError

यदि axes पिछले अक्ष की तुलना में बड़ा है।

यह भी देखें

numpy.fft
एक परिचय, परिभाषाओं और सामान्य स्पष्टीकरण के साथ।
fft
एक आयामी (आगे) एफएफटी, जिनमें से ifft प्रतिलोम है
ifft2
द्वि-आयामी व्युत्क्रम एफएफटी।
ifftn
एन-आयामी उलटा एफएफटी।

टिप्पणियाँ

यदि इनपुट पैरामीटर n इनपुट के आकार से बड़ा है, तो इनपुट अंत में शून्य जोड़कर गद्देदार है। भले ही यह सामान्य दृष्टिकोण है, लेकिन इससे आश्चर्यजनक परिणाम सामने आ सकते हैं। यदि एक अलग गद्दी वांछित है, तो इसे ifft बुलाने से पहले किया जाना चाहिए।

उदाहरण

>>> np.fft.ifft([0, 4, 0, 0])
array([ 1.+0.j,  0.+1.j, -1.+0.j,  0.-1.j])

यादृच्छिक चरणों के साथ एक बैंड-सीमित सिग्नल बनाएं और प्लॉट करें:

>>> import matplotlib.pyplot as plt
>>> t = np.arange(400)
>>> n = np.zeros((400,), dtype=complex)
>>> n[40:60] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20,)))
>>> s = np.fft.ifft(n)
>>> plt.plot(t, s.real, 'b-', t, s.imag, 'r--')
...
>>> plt.legend(('real', 'imaginary'))
...
>>> plt.show()
../../_images/numpy-fft-ifft-1.png