NumPy 1.14 - numpy.fft.hfft()

numpy.fft.hfft




numpy

numpy.fft.hfft

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

एक सिग्नल के FFT की गणना करें जिसमें हेर्मिटियन समरूपता है, अर्थात, एक वास्तविक स्पेक्ट्रम।

पैरामीटर:

a : array_like

इनपुट सरणी।

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

आउटपुट के रूपांतरित अक्ष की लंबाई। n आउटपुट पॉइंट्स के लिए, n//2 + 1 इनपुट पॉइंट्स आवश्यक हैं। यदि इनपुट इससे अधिक है, तो इसे क्रॉप किया जाता है। यदि यह इससे छोटा है, तो यह शून्य से गद्देदार है। यदि n नहीं दिया गया है, तो यह अक्ष द्वारा निर्दिष्ट अक्ष के साथ इनपुट की लंबाई से निर्धारित axis

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

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

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

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

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

यह दिखाता है:

बाहर : ndarray

कुंडली या शून्य-गद्देदार इनपुट, धुरी द्वारा इंगित अक्ष के साथ बदल दिया जाता axis , या यदि axis निर्दिष्ट नहीं किया जाता है, तो पिछले एक। रूपांतरित अक्ष की लंबाई n , या, यदि n नहीं दिया गया है, तो 2*m - 2 जहां m इनपुट के परिवर्तित अक्ष की लंबाई है। एक विषम संख्या में आउटपुट पॉइंट प्राप्त करने के लिए, n को निर्दिष्ट किया जाना चाहिए, उदाहरण के लिए, विशिष्ट मामले में 2*m - 1 में,

जन्म देती है:

IndexError

यदि axis a के अंतिम अक्ष से बड़ा हो।

यह भी देखें

rfft
वास्तविक इनपुट के लिए एक आयामी एफएफटी की गणना करें।
ihfft
hfft का hfft

टिप्पणियाँ

hfft / ihfft hfft / ihfft अनुरूप एक जोड़ी है, लेकिन इसके विपरीत मामले के लिए: यहाँ संकेत में समय क्षेत्र में हरमिटियन समरूपता है और आवृत्ति डोमेन में वास्तविक है। तो यहाँ यह hfft है जिसके लिए आपको परिणाम की लंबाई की आपूर्ति करनी चाहिए अगर यह विषम होना है।

  • सम: ihfft(hfft(a, 2*len(a) - 2) == a , roundoff त्रुटि के भीतर,
  • विषम: ihfft(hfft(a, 2*len(a) - 1) == a , roundoff त्रुटि के भीतर।

उदाहरण

>>> signal = np.array([1, 2, 3, 4, 3, 2])
>>> np.fft.fft(signal)
array([ 15.+0.j,  -4.+0.j,   0.+0.j,  -1.-0.j,   0.+0.j,  -4.+0.j])
>>> np.fft.hfft(signal[:4]) # Input first half of signal
array([ 15.,  -4.,   0.,  -1.,   0.,  -4.])
>>> np.fft.hfft(signal, 6)  # Input entire signal and truncate
array([ 15.,  -4.,   0.,  -1.,   0.,  -4.])
>>> signal = np.array([[1, 1.j], [-1.j, 2]])
>>> np.conj(signal.T) - signal   # check Hermitian symmetry
array([[ 0.-0.j,  0.+0.j],
       [ 0.+0.j,  0.-0.j]])
>>> freq_spectrum = np.fft.hfft(signal)
>>> freq_spectrum
array([[ 1.,  1.],
       [ 2., -2.]])