光ファイバーケーブルに約1.5ミリのずれ。
それで、1億分の7秒の遅れ。
これは、1万分の7ミリ秒の遅れ。
つまり、100分の7マイクロ秒の遅れ。
それが、70ナノ秒の遅れ。
(1ナノ秒は1/10億分の1秒)
ちなみに、1GHzのCPUが1命令1ナノ秒と見做せる(命令によって差はある)。2.5GHzだと1命令400ピコ秒になる。するとCPUの命令にして70ステップくらいの実行時間になる。
光速C=299,792,458,000 mm / s だから、1mm長を進むのに3000億分の1=0.3兆分の1秒=3ピコ秒。1億分の7秒=70ナノ秒とは桁が違う。
光速1秒:地球を7.5周(299792km=30万km)
1ミリ秒:300km(300000m)
1マイクロ秒:300m(300000mm)
1ナノ秒:30cm(300mm)
1ピコ秒:0.3mm(300マイクロm=300ミクロン)
1フェトム秒:0.3マイクロm(300ナノメートル)
距離換算は3.3倍。
1m:3.3ナノ秒
1cm:0.3ナノ秒
1mm:3.3ピコ秒
1ミクロン:3.3フェトム秒
と言う事は、別の要因もある訳だ。
GPSの仕組みはそう難しくない。
- 衛星から電波を受信する
- 受信した電波には衛星の軌道情報と送出した時間が格納されている(almanac/ephemeris, アルマナックデータ/エフェメリスデータ)
- 衛星は楕円軌道(ケプラーの法則)から、軌道情報を計算して持っている
- 衛生は時間を含む四次元の楕円情報、緯度、経度、高度を持ち、時計は正確な原子時計を使い、誤差数メートル
- 地上での受信時刻と衛星の発信時間から、送信から受信までの時間を算出
- 時間と速度(C)から距離を計算する。
- 距離は、衛星と自分、衛星と地球との垂線(緯度経度)から直角三角形を形成
- 直角三角形からピタゴラスの定理により、垂線からの距離を算出
ここで算出できた距離は、ある点からの距離であり方向ではない。よってこの距離が示すものはひとつの点から同じ距離にある点の集合、即ち一つの球である(または円でもよい)。
- ひとつの衛星でひとつの円が作れる
- 衛星の位置は複数の衛星を使えば複数の円が作れる
- 円を二つ作れば、交差は0,1,2点のいずれかである
- 3つの円が同時に交差するのは、0,1点のどちらかである
- 球であれば、地球という円を加えて4つの球の交点が作れる(三点交差法)
これで3つの衛星があれば一点を算出できる事が分かる。これは、緯度、経度、高さの3つの変数を持つ式と考えてよい。3つの変数があるので、これを解くためには3つの連立方程式を組み立てる、つまり衛星が3つあればいい。
yamada-kuebiko.cocolog-nifty.com
所で送信側のデータが幾ら正確であっても受信側のデータが出鱈目では正確な時間は求められない。車に搭載されているカーナビが高価な原子時計を搭載しているとは思えない。しかし精度の悪い時計を使えば、送信時間が正確でも受信時間が不正確になる。
これでは正しい距離を求める事はできそうにない。
しかしGPS受信器は、最初に受け取った時計を使う事ができる。この時刻は相当に正確である。時計の誤差はごく僅かであるという前提に立てば、適当に標準的な補正値で訂正した上で、何度か繰り返せば相当に正しそうな時間が、つまり補正計算してもほぼ訂正の必要がなくなる程度の時間は得られそうである。
これを異なる複数の衛星相手にやれば、より正確な時刻がえられ、それで計算すればかなりの制度が期待できると思われる。少なくとも10cm単位くらいの信頼性は偉ると思われる。
4つの衛星を使えば、3つから算出できた領域と、他の3つから算出した領域とを重ね合わせれば更に小さな点が求められそうである。こうやって求めた自分の位置であるが、それでも誤差は含まれるであろう。
この誤差は高さ(地球の直径)や電波状況、湿度、雲、温度などでも影響しそうである。4つ5つと衛星が増えれば、また天頂衛星を加えれば誤差はより小さくなる、誤差を含んだ連立方程式でも沢山解けるから。
GPSの飛行速度は地上よりも早い。そのため、地上と衛星では速度による時間の進み方と重力の違いによる時間の進み方に違いが生まれる。これはアインシュタインのTheory Of Relativeの応用例であり、この式に従って補正を行う。確か1億分の1秒くらい遅くなる。
電波は光速であるが大気よる遅延が発生する。だからGPSによる完全に正確な位置情報の算出は大気のパラメータも含める必要があって原理的に難しい。そこで地上機器と連動する事で精度向上する取り組みがある。
トロコイドは見ていて面白い。