FFT_interpolate プログラム仕様
FFTを用いた周期関数の補間およびデータ処理を行うモジュール。
- 概要:
入力データに対してFFTを適用し、周波数領域でゼロパディングを行うことでデータ解像度を向上させます。 逆FFTにより、滑らかな周期関数の補間を実現します。
- 詳細説明:
Excelファイルまたは内部生成関数から離散データ(k, E(k))を取得します。
反転対称性(鏡像)が必要な場合、k < 0 の領域を自動生成して結合します。
FFTを実行し、高周波成分にゼロを挿入(ゼロパディング)して逆FFTを行うことで、 データ点数を増やした高解像度なプロファイルを生成します。
結果を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) のデータリスト。