Location : Home > Languages > Perl > Package
Title : Math::FresnelZone
Toolbox Logo

名称

 Math::FresnelZone - 所与の距離と周波数におけるフレネル帯半径(Fresnel Zone Radius)を計算


概要

use Math::FresnelZone;
use Math::FresnelZone qw(fresnel fresnelMi fresnelKm);

説明

引数は以下の通り:

  1. キロメートルまたはマイルで距離を与える。(デフォルトは 1)
  2. ギガヘルツ(GHz)で周波数を与える。(デフォルトは 2.4)
  3. マイルで入力しを行いフィートで結果を得るために True を設定する。(デフォルトは 0 、すなわちキロメートル/メートル)

fresnel()

my $fresnel_zone_radius_in_meters = fresnel(); # 周波数 2.4 GHz で1kmの距離におけるフレネル帯半径
my $fzr_in_meters = fresnel(5); # 周波数 2.4 GHz で5kmの距離におけるフレネル帯半径[m]
my $fzr_in_meters = fresnel(5,4.8); # 周波数 4.8 GHz で5kmの距離におけるフレネル帯半径[m]
my $fzr_in_feet = fresnel(3,9.6,1); # 周波数 9.6 GHz で3マイルの距離におけるフレネル帯半径[ft]

 キロメートルで入力した場合、結果はメートルで返す。(以下の3つの呼び出しは独立の結果を返す。)

fresnel($Km,$GHz);
fresnelKm($Km,$GHz); # fresnelKm() に関する情報を参照のこと。
fresnel($Km,$GHz,0);

 マイルで入力した場合(3つめの引数がTrueの場合)、結果はフィートで返す。(以下の2つの呼び出しは独立の結果を返す。)

fresnel($Mi,$GHz,1);
fresnelMi($Mi,$GHz); # fresnelMi() に関する情報を参照のこと。

fresnelKm()

 キロメートル/メートルで処理したいときに簡単にする関数。最初の2つの引数のみでよい:距離はキロメートル、周波数はギガヘルツ。

my $fzr_in_meters = fresnelKm($Km,$GHz);

fresnelMi()

 マイル/フィートで処理したいときに簡単にする関数。最初の2つの引数のみでよい:距離はマイル、周波数はギガヘルツ。

my $fzr_in_feet = fresnelMi($Mi,$GHz);

EXPORT

 デフォルトではない。概要で述べた3関数はエキスポート可能である。

VARIABLES

 以下の変数は、公式の入力及びユーザへの出力を変更するためにキロメートル/メートルの代わりにマイル/フィートを用いることができる。

$Math::FresnelZone::KILOMETERS_IN_A_MILE  (デフォルトは 1.609344)
$Math::FresnelZone::FEET_IN_A_METER (デフォルトは 3.280839)

 必要であれば、精度を変更してもよい。


参考資料

 フレネル帯(fresnel zone)についてさらに詳しく知りたければ Augustin Jean Fresnel という名前の後に formula/zone をつけてググればよい。
 フレネル氏(1788-1827)は光の波動理論を研究したフランスの物理学者で、灯台で用いられる偏光レンズ(すなわちフレネルレンズ "Fresnel lens")を発明した。
 "Fresnel Zone" というフレーズでググれば、フレネル帯とは何かについての興味深い用語解説を見つけることができるだろう。
 以下に記すリンクはフレネル帯とその公式を図示したものである。http://drmuey.com/images/fresnelzone.jpg


著者

 Daniel Muey, http://drmuey.com/cpan_contact.pl


著作権とライセンス

 Copyright 2004 by Daniel Muey

 本ライブラリはフリーソフトであり、Perl 本体と同条件で修正/再配布してもよい。

Toolbox Logo
Updated : 2006/07/02