NumPy 1.14 - numpy.fft.ifftn()

numpy.fft.ifftn




numpy

numpy.fft.ifftn

numpy.fft.ifftn(a, s=None, axes=None, norm=None) [source]

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

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

इनपुट, ifft अनुरूप, उसी तरह से fftn दिया जाना चाहिए जैसे कि fftn द्वारा लौटाया जाता है, अर्थात इसमें लो-ऑर्डर कॉर्नर में सभी अक्षों में शून्य आवृत्ति के लिए शब्द होना चाहिए, सभी fftn की पहली छमाही में सकारात्मक आवृत्ति शब्द , सभी कुल्हाड़ियों के बीच में Nyquist आवृत्ति के लिए शब्द और नकारात्मक अक्ष आवृत्ति के क्रम में सभी कुल्हाड़ियों की दूसरी छमाही में नकारात्मक आवृत्ति की शर्तें।

पैरामीटर:

a : array_like

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

एस : ints का अनुक्रम, वैकल्पिक

आउटपुट के आकार (प्रत्येक परिवर्तित अक्ष की लंबाई) ( s[0] अक्ष 0, s[1] से अक्ष 1, आदि को संदर्भित करता है)। यह ifft(x, n) लिए n मेल खाती है। किसी भी अक्ष के साथ, यदि दी गई आकृति इनपुट की तुलना में छोटी है, तो इनपुट क्रॉप किया जाता है। यदि यह बड़ा है, तो इनपुट शून्य के साथ गद्देदार है। यदि s नहीं दिया गया है, तो अक्षों द्वारा निर्दिष्ट अक्षों के साथ इनपुट के आकार का उपयोग किया जाता है। ifft शून्य पैडिंग पर समस्या के लिए नोट देखें।

कुल्हाड़ियों : ints के अनुक्रम, वैकल्पिक

जिस पर IFFT गणना करने के लिए अक्ष। यदि नहीं दिया जाता है, तो अंतिम len(s) कुल्हाड़ियों का उपयोग किया जाता है, या यदि सभी s को भी निर्दिष्ट नहीं किया जाता है। axes में बार-बार आने वाले सूचकांकों का मतलब है कि उस अक्ष पर उलटा परिवर्तन कई बार किया जाता है।

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

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

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

यह दिखाता है:

बाहर : जटिल ndarray

कुंडली या शून्य-गद्देदार इनपुट, कुल्हाड़ियों द्वारा संकेतित axes , या s या a संयोजन के साथ बदल दिया, जैसा कि ऊपर दिए गए पैरामीटर अनुभाग में बताया गया है।

जन्म देती है:

ValueError

यदि s और axes लंबाई अलग-अलग है।

IndexError

यदि axes का एक तत्व axes की संख्या से बड़ा है।

यह भी देखें

numpy.fft
असतत फूरियर रूपांतरण के समग्र दृष्टिकोण, परिभाषाओं और सम्मेलनों के साथ प्रयोग किया जाता है।
fftn
आगे n -dimensional FFT, जिसमें से ifftn प्रतिलोम है।
ifft
एक आयामी उलटा एफएफटी।
ifft2
द्वि-आयामी व्युत्क्रम एफएफटी।
ifftshift
Undf fftshift , शून्य-आवृत्ति शब्दों को सरणी की शुरुआत में बदल देता है।

टिप्पणियाँ

उपयोग की गई परिभाषाओं और सम्मेलनों के लिए numpy.fft देखें।

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

उदाहरण

>>> a = np.eye(4)
>>> np.fft.ifftn(np.fft.fftn(a, axes=(0,)), axes=(1,))
array([[ 1.+0.j,  0.+0.j,  0.+0.j,  0.+0.j],
       [ 0.+0.j,  1.+0.j,  0.+0.j,  0.+0.j],
       [ 0.+0.j,  0.+0.j,  1.+0.j,  0.+0.j],
       [ 0.+0.j,  0.+0.j,  0.+0.j,  1.+0.j]])

बैंड-सीमित आवृत्ति सामग्री के साथ एक छवि बनाएं और प्लॉट करें:

>>> import matplotlib.pyplot as plt
>>> n = np.zeros((200,200), dtype=complex)
>>> n[60:80, 20:40] = np.exp(1j*np.random.uniform(0, 2*np.pi, (20, 20)))
>>> im = np.fft.ifftn(n).real
>>> plt.imshow(im)
<matplotlib.image.AxesImage object at 0x...>
>>> plt.show()
../../_images/numpy-fft-ifftn-1.png