FFT_interpolate プログラム仕様

FFTを用いた周期関数の補間およびデータ処理を行うモジュール。

概要:

入力データに対してFFTを適用し、周波数領域でゼロパディングを行うことでデータ解像度を向上させます。 逆FFTにより、滑らかな周期関数の補間を実現します。

詳細説明:
  1. Excelファイルまたは内部生成関数から離散データ(k, E(k))を取得します。

  2. 反転対称性(鏡像)が必要な場合、k < 0 の領域を自動生成して結合します。

  3. FFTを実行し、高周波成分にゼロを挿入(ゼロパディング)して逆FFTを行うことで、 データ点数を増やした高解像度なプロファイルを生成します。

  4. 結果をExcelファイルに出力し、元データ、補間結果、および厳密解を比較プロットします。

関連リンク: FFT_interpolate.py 技術ドキュメント

spectrum_.FFT_interpolate.main()

メインの実行ルーチン。データの読み込み、FFT処理、補間、保存、プロットを制御します。

spectrum_.FFT_interpolate.periodic_function(k)

テスト用のサンプル周期関数。 :param k: float or numpy.ndarray: 入力値。 :returns: 対応する関数の値。

spectrum_.FFT_interpolate.read_data(infile, do_mirror=False)

Excelファイルからバンド構造データ(k, E(k))を読み込み、必要に応じて鏡像処理を行います。

パラメータ:
  • infile -- str: 入力ファイルパス。

  • do_mirror -- bool: 反転対称データ E(-k) を追加するかどうか。

戻り値:

tuple: (x, y, xe, ye) のデータリスト。