Python
 Computer >> コンピューター >  >> プログラミング >> Python

SciPy Pythonで離散フーリエ変換をどのように実行できますか?


離散フーリエ変換(DFT)は、空間データを周波数データに変換するのに役立つ数学的手法です。

高速フーリエ変換(FTT)は、空間データの離散フーリエ変換を計算するために設計されたアルゴリズムです。

空間データは通常、多次元配列の形式です。周波数データとは、特定の期間における信号または波長の数に関する情報を含むデータを指します。

「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 Pythonで離散フーリエ変換をどのように実行できますか?

説明

  • 必要なパッケージがインポートされます。
  • データはNumpyライブラリを使用して生成されます。
  • このデータは、matplotlibライブラリを使用してコンソールに正弦波としてプロットされます。
  • 次に、「fftpack」パッケージを使用して、生成されたデータの高速フーリエ変換を見つけます。
  • このデータは再びグラフにプロットされます。

  1. 非線形データをPythonのモデルにどのように適合させることができますか?

    データの視覚化に役立つSeabornライブラリを使用します。回帰モデルを作成するときに、多重共線性がチェックされます。これは、連続変数のすべての異なる組み合わせの間に存在する相関関係を理解する必要があるためです。変数間に多重共線性が存在する場合は、それがデータから削除されていることを確認する必要があります。通常、実世界のデータは非線形です。 このような非線形データをモデルに適合させるメカニズムを見つける必要があります。このデータを視覚化するために、Anscombeのデータセットを使用します。 「implot」関数は、この非線形データで使用されます。 これが例です- 例 import pan

  2. SciPy Pythonで離散フーリエ変換をどのように実行できますか?

    離散フーリエ変換(DFT)は、空間データを周波数データに変換するのに役立つ数学的手法です。 高速フーリエ変換(FTT)は、空間データの離散フーリエ変換を計算するために設計されたアルゴリズムです。 空間データは通常、多次元配列の形式です。周波数データとは、特定の期間における信号または波長の数に関する情報を含むデータを指します。 「SciPy」ライブラリを使用してこのDFTを実現する方法を見てみましょう。 グラフはmatplotlibライブラリを使用して作成され、データはNumpyライブラリを使用して生成されます- 例 From matplotlib import pyplot as pl