fullseye

sam_frequency_tradeoff — ACOUSTICS ultrasonic op

使い方

Optimal SAM frequency for a void of given size at a buried interface: lateral fill (1 - 2^-(a/w)^2, w = k_reslambda_wF#) against two-way attenuation; closed form when all losses go as f^2 (table).

信号 S(f) = η(f) · exp(−L(f))、η = 1 − 2^{−(a/w)²} はボイド(直径 a)の中心に ガウスの往復 PSF(半値全幅 w = k/f、k = k_res c_w F#)が当たったときの充填率、 L(f) = 2 α_w(f) z_w + 2 Σ_{j<interface} α_j(f) d_j(水の経路と上の層の往復減衰 [Np])。 減衰がすべて f²(L = β f²)なら dlnS/df = 0 から f* = (k/a) · sqrt(log2(1 + a² ln2 / (β k²)))(小さなボイドの極限で 1/√β)。 それ以外は対数格子で探して有界の 1-D 最適化で詰める。 返り: freqs fwhm fill loss_np loss_db signal f_opt(数値) f_opt_closed(閉形式が立つときだけ、そうでなければ None)beta k fwhm_at_opt f_number_min(臨界角の上限)。 時間の分解能の下限も返す: 表面エコーと界面のエコーの間隔 t_sep(積層の往復時間)が パルスの包絡線の n_sigma_gate σ_t(ゲートの半幅 2σ_t + 裾 3σ_t)より短いと、表面エコーの 裾がゲートに入る。σ_t = FWHM_PER_SIGMA / (2π · bandwidth · f) なので f_min_time = n_sigma_gate · 2.3548 / (2π · bandwidth · t_sep)、 f_opt_usable = max(f_opt, f_min_time)(表面の界面(interface=0)なら下限 0)。 ★ボイドの反射 |R| は周波数によらず 1 とみなす(薄い空気の層では ~1)。 Raises ValueError: 印の無い積層、直径 ≤ 0、f_min ≥ f_max、F# が臨界角の上限より小さい、減衰が 0 (最適周波数が存在しない — 上へ行くほど良い)。

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

istft · acoustic_interface_coefficients · pulse_echo_ascan · sam_cscan · echo_phase_polarity

同カテゴリ(ultrasonic)

acoustic_material_table · acoustic_layer_stack · acoustic_interface_coefficients · pulse_echo_ascan · sam_cscan · echo_phase_polarity


Provenance: ultrasound.py — ACOUSTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.