スカラーフィールド信号処理 (ScalarField Signal Processing)
このチュートリアルでは、ScalarField クラスを使用した高度な信号処理手法について解説します。特に、空間ドメインと波数(K)ドメインの変換、および特定地点でのデータ抽出に焦点を当てます。
1. 空間FFT (Spatial FFT)
ScalarField は、時間軸(軸0)だけでなく、空間軸(軸1, 2, 3)に対しても FFT を適用できます。これにより、物理場の波連やモード構造を解析できます。
# 空間全軸を FFT して Kドメイン(波数空間)に変換
field_k = field.fft_space()
print(f"Space domains: {field_k.space_domains}") # ('k', 'k', 'k') と表示されます
2. 波長と波数の解析
Kドメインでは、各軸の波数を取得したり、特定の波数に対応する波長を計算したりできます。
# 指定した空間軸の波長を取得
wavelengths = field_k.wavelength("kx")
3. 特定座標での時系列抽出 (Point Extraction)
4次元の場から、任意の空間座標 \((x, y, z)\) における時系列データを抽出できます。指定した座標がグリッド上にない場合は、自動的に補間(Interpolation)が行われます。
# 座標 (0.5, 0.5, 0.5) での時系列を抽出
ts_at_point = field.extract_points(x=0.5, y=0.5, z=0.5)
ts_at_point.plot()
4. 2次元平面の抽出 (Slice extraction)
特定の軸を固定して、2次元の断面(Plane2D)を抽出することも容易です。
# z=0 の平面を抽出
plane_z0 = field.sel(z=0)
plane_z0.plot()
より詳細な使い方は、ScalarField 入門 も参照してください。