डिस्क्रीट फूरियर ट्रांसफॉर्म, या DFT एक गणितीय तकनीक है जो स्थानिक डेटा को आवृत्ति डेटा में बदलने में मदद करती है।
फास्ट फूरियर ट्रांसफॉर्मेशन, या FFT एक एल्गोरिदम है जिसे स्थानिक डेटा के डिस्क्रीट फूरियर ट्रांसफॉर्मेशन की गणना के लिए डिज़ाइन किया गया है।
स्थानिक डेटा आमतौर पर एक बहुआयामी ऐरे के रूप में होता है। आवृत्ति डेटा उस डेटा को संदर्भित करता है जिसमें एक विशिष्ट अवधि में संकेतों या तरंगदैर्ध्य की संख्या के बारे में जानकारी होती है।
आइए देखते हैं कि 'SciPy' लाइब्रेरी का उपयोग करके इस DFT को कैसे प्राप्त किया जा सकता है।
ग्राफ़ matplotlib लाइब्रेरी का उपयोग करके बनाया गया है और डेटा Numpy लाइब्रेरी का उपयोग करके उत्पन्न किया गया है -
उदाहरण
from matplotlib import pyplot as plt
import numpy as np
my_freq = 6
freq_samp = 70
time_val = np.linspace(0, 3, 3 * freq_samp, endpoint=False)
amp_val = np.sin(my_freq * 3 * np.pi * time_val)
figure, axis = plt.subplots()
axis.plot(time_val, amp_val)
axis.set_xlabel('Time (in seconds)')
axis.set_ylabel('Amplitude of signal')
plt.show()
from scipy import fftpack
A = fftpack.fft(amp_val)
frequency = fftpack.fftfreq(len(amp_val)) * freq_samp
figure, axis = plt.subplots()
axis.stem(frequency, np.abs(A))
axis.set_xlabel('Frequency in Hz')
axis.set_ylabel('Frequency Spectrum Magnitude')
axis.set_xlim(-freq_samp / 2, freq_samp / 2)
axis.set_ylim(-7, 125)
plt.show()आउटपुट

व्याख्या
- आवश्यक पैकेज आयात किए गए हैं।
- Numpy लाइब्रेरी की मदद से डेटा उत्पन्न किया गया है।
- इस डेटा को matplotlib लाइब्रेरी की मदद से कंसोल पर साइन वेव के रूप में प्लॉट किया गया है।
- अगला, उत्पन्न डेटा के फास्ट फूरियर ट्रांसफॉर्म को खोजने के लिए 'fftpack' पैकेज का उपयोग किया जाता है।
- यह डेटा फिर से ग्राफ पर प्लॉट किया जाता है।