কম্পিউটার টিউটোরিয়াল

পাইথনে SciPy ব্যবহার করে ডিসক্রিট ফুরিয়ে ট্রান্সফর্ম (DFT) কীভাবে করবেন?


ডিসক্রিট ফুরিয়ে ট্রান্সফর্ম (Discrete Fourier Transform - DFT) একটি গাণিতিক কৌশল যা স্পেশিয়াল ডেটাকে ফ্রিকোয়েন্সি ডেটায় রূপান্তর করতে সাহায্য করে। ফাস্ট ফুরিয়ে ট্রান্সফরমেশন (Fast Fourier Transformation - FFT) একটি অ্যালগরিদম যা স্পেশিয়াল ডেটার ডিসক্রিট ফুরিয়ে ট্রান্সফরমেশন কম্পিউট করার জন্য ডিজাইন করা হয়েছে।

স্পেশিয়াল ডেটা সাধারণত মাল্টিডাইমেনশনাল অ্যারے আকারে থাকে। ফ্রিকোয়েন্সি ডেটা বলতে olyan ডেটাকে বোঝায় যাতে নির্দিষ্ট সময়ে সিগন্যাল বা ওয়েভলেথের সংখ্যা সম্পর্কে তথ্য থাকে। নিচে 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()

আউটপুট

পাইথনে SciPy ব্যবহার করে ডিসক্রিট ফুরিয়ে ট্রান্সফর্ম (DFT) কীভাবে করবেন?

ব্যাখ্যা

  • প্রয়োজনীয় প্যাকেজগুলো ইম্পোর্ট করা হয়েছে।
  • Numpy লাইব্রেরির সাহায্যে ডেটা জেনারেট করা হয়েছে।
  • Matplotlib লাইব্রেরির সাহায্যে এই ডেটা সাইন ভেভ হিসেবে কনসোলে প্লট করা হয়েছে।
  • পরবর্তীতে fftpack প্যাকেজ ব্যবহার করে জেনারেট করা ডেটার ফাস্ট ফুরিয়ে ট্রান্সফর্ম বের করা হয়েছে।
  • এই ডেটা আবার গ্রাফে প্লট করা হয়েছে।
  1. পাইথনে Seaborn-র despine ফাংশন দিয়ে ব্যাকগ্রাউন্ড এক্সিস স্পাইন রিমুভ করার পদ্ধতি

  2. পাইথনে Seaborn লাইব্রেরি দিয়ে ডেটা ভিজ্যুয়াল রিপ্রেজেন্টেশনের পদ্ধতি

  3. পাইথনে নন-লিনিয়ার ডেটাকে মডেলে ফিট করার পদ্ধতি

  4. পাইথনে SciPy ব্যবহার করে ডিসক্রিট ফুরিয়ে ট্রান্সফর্ম (DFT) কীভাবে করবেন?