मैंने गुग्लिंग और विकिपीडिया-आईएनजी की कोशिश की है, लेकिन मैंने 'इसके कारण से परे कोई जवाब नहीं दिया है क्योंकि इनपुट सिग्नल की आवृत्ति दो डिब्बे के बीच बैठी है।'
मैं समझता हूं कि यह कारण है, लेकिन जो मैं समझ नहीं पा रहा हूं वह यह है कि रिसाव केवल एक आसन्न बिन के बजाय कई आसन्न डिब्बे तक विस्तारित होता है।
यह समझने के लिए कि मैं किस बारे में बात कर रहा हूं, यहां कुछ सिम्युलेटेड डेटा (पोस्ट के अंत में कोड):
ऊपर FFT स्पेक्ट्रम है (आवृत्ति के साइन लहर के एक लॉग पैमाने पर प्लॉट किया गया) 10. नमूना दर एक है, और नमूनों की संख्या 100 है। ग्राफ एफएफटी-शिफ्ट किया गया है। बिन 10 पर स्पष्ट रूप से केवल एक चोटी है, और बाकी संख्यात्मक त्रुटि के आदेश पर है, या इसके बारे में है।
यह 10.1 की उत्पन्न आवृत्ति पर आवृत्ति स्पेक्ट्रम है। स्पष्ट रूप से सिर्फ निकटवर्ती बिन की तुलना में अधिक डिब्बे में 'रिसाव' है।
यह 10.5 की आवृत्ति के लिए प्लॉट है।
प्रश्न: यह रिसाव क्यों है, और यह तत्काल बगल के बिन के बजाय अन्य सभी डिब्बे तक क्यों फैलता है?
कोड, रुचि रखने वाले किसी के लिए (पायथन कोड)
import numpy as np
import matplotlib.pyplot as plt
xFreq = 10.5
xSize = 100.0
xPeriod = xSize/xFreq
x = np.linspace(1,xSize,xSize)
data = np.sin(2*np.pi*x/xPeriod)
fft = np.fft.fft(data)
fft = np.fft.fftshift(fft)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(abs(fft), "o")
ax.set_yscale('log')
plt.show()
मैंने xFreq
मान 10.0
को 10.5
आदि से बदल दिया ।