1 คะแนน โดย GN⁺ 2024-07-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • การคำนวณตำแหน่งด้วย GPS เป็นปัญหาที่ต้องแก้ pseudorange ไปพร้อมกับ ephemeris และความคลาดเคลื่อนของนาฬิกาตัวรับ โดยบทความนี้ประมวลผลข้อมูลดิบด้วย Matlab จนถึงขั้นประมาณตำแหน่งจริง
  • สำหรับการคำนวณ ระบบพิกัด WGS 84 ECEF เหมาะสมกว่าละติจูด·ลองจิจูด และสำหรับการวิเคราะห์มุมอะซิมัท มุมเงย และความคลาดเคลื่อนตามมุมมองของผู้ใช้ จะใช้ระบบพิกัดท้องถิ่น ENU ร่วมกัน
  • ตำแหน่งดาวเทียมคำนวณจากขั้นตอนใน GPS Interface Specification และพารามิเตอร์วงโคจร และเนื่องจากโลกระหว่างการเดินทางของสัญญาณมีการหมุน จึงต้องปรับแก้พิกัด ณ เวลาส่งให้ตรงกับกรอบ ECEF ณ เวลารับ
  • ตำแหน่งผู้ใช้และอคตินาฬิกาของตัวรับประมาณด้วย iterative least squares จาก pseudorange ที่ปรับแก้แล้วของดาวเทียมอย่างน้อย 4 ดวง และในการวิเคราะห์ตัวอย่างนี้ไม่รวมการหน่วงจากไอโอโนสเฟียร์·โทรโพสเฟียร์
  • ในการทดลองกับตัวรับแบบหยุดนิ่งโดยใช้ u-blox NEO-M8T/6T, RTKLib STRSVR, RTCM 1002/1019 และ goGPS ส่วนเบี่ยงเบนมาตรฐานของตำแหน่งคือ East 14.00m, North 39.88m, Up 47.35m และอคตินาฬิกา drift เชิงเส้นที่ 4.27e-7sec/sec

ปัญหาพื้นฐานของการคำนวณตำแหน่ง GPS

  • งานหลักของ GPS คือการคำนวณ ตำแหน่ง ของผู้ใช้
  • ละติจูด·ลองจิจูด·ความสูงคุ้นเคยสำหรับการแสดงตำแหน่งบนพื้นผิวโลก แต่ความต่าง 1 องศาของละติจูดหรือลองจิจูดไม่ได้หมายถึงระยะทางกายภาพที่เท่ากันเสมอ จึงไม่สะดวกต่อการคำนวณทางคณิตศาสตร์
    • ระยะของความต่างลองจิจูด 1 องศามากที่สุดที่เส้นศูนย์สูตร และเข้าใกล้ 0 แถวขั้วโลก
  • สำหรับการคำนวณจำเป็นต้องใช้ระบบพิกัดฉากที่ความต่างของพิกัดหนึ่งหน่วยแทนระยะทางกายภาพที่คงที่
  • GPS หาตำแหน่งผู้ใช้จากระยะถึงดาวเทียมหลายดวงและตำแหน่งของดาวเทียม
    • ดังนั้นต้องคำนวณทั้งระยะถึงดาวเทียมและตำแหน่งของดาวเทียมแต่ละดวงก่อน

ระบบพิกัด: ECEF, WGS 84, ENU

  • ระบบพิกัดฉากที่ยึดกับโลกและหมุนไปพร้อมกันเรียกว่า ECEF(Earth Centered, Earth Fixed)
    • เพราะพิกัดของผู้ใช้ที่อยู่นิ่งบนพื้นผิวโลกคงที่ตามเวลา จึงเหมาะสำหรับการแสดงตำแหน่งผู้ใช้
  • ระบบพิกัด ECEF ที่ใช้กันมากที่สุดคือ WGS 84 ซึ่งพัฒนาโดยกระทรวงกลาโหมสหรัฐฯ
    • จุดกำเนิดอยู่ที่จุดศูนย์กลางมวลของโลก
    • แกน z ผ่าน CTP(Conventional Terrestrial Pole)
    • CTP คือค่าเฉลี่ยของตำแหน่งขั้วโลกในช่วงปี 1900~1905 และตำแหน่งขั้วจริงเคลื่อนที่อยู่ภายในวงรัศมีประมาณ 15m
    • แกน x ผ่านจุดตัดของระนาบเส้นศูนย์สูตรของ CTP กับเส้นเมริเดียนอ้างอิง Mean Greenwich Meridian
  • การเคลื่อนที่ของดาวเทียมตามธรรมชาติควรอธิบายในกรอบพิกัดเฉื่อยตามกลศาสตร์นิวตัน แต่ GPS Interface Specification ให้ขั้นตอนสำหรับคำนวณตำแหน่งดาวเทียม ณ ช่วงเวลาหนึ่งใน กรอบ ECEF
  • ในงานประยุกต์ระดับท้องถิ่น ระบบพิกัด ENU(East-North-Up) ที่มีผู้ใช้เป็นจุดกำเนิดสะดวกกว่า
    • พิกัด ECEF สามารถแปลงเป็นพิกัด ENU ได้ด้วยการคูณเมทริกซ์โดยใช้ละติจูด·ลองจิจูดของผู้ใช้
    • การแปลงเป็น ENU ใช้ในการคำนวณมุมอะซิมัทและมุมเงยของดาวเทียม

นิยามความสูง: ellipsoid อ้างอิงและ geoid

  • ก่อนนิยามความสูง ต้องกำหนดก่อนว่า “อ้างอิงกับอะไร”
  • reference ellipsoid คือแบบจำลองนามธรรมของโลกในรูปทรงรีแบน
    • อยู่ที่ศูนย์กลางโลก และแกนการหมุนตรงกับแกน z ของ ECEF
    • รัศมี 6371km ที่มักใช้เมื่อมองโลกเป็นทรงกลม เป็นค่าระหว่างกึ่งแกนยาวกับกึ่งแกนสั้น
    • จุดหนึ่งบนพื้นผิวจริงของโลกอาจอยู่เหนือหรือใต้ ellipsoid อ้างอิงได้
  • geoid คือเซตของจุดที่มีค่าศักย์โน้มถ่วงเท่ากัน จึงเป็นพื้นผิวที่มีความหมายทางกายภาพ
    • ความสูงอ้างอิง geoid เรียกว่า orthometric height หรือความสูงเหนือระดับน้ำทะเลปานกลาง(MSL)
    • โดยทั่วไป geoid กำหนดเป็นชุดของค่าความสูงเหนือ ellipsoid อ้างอิง
  • ละติจูด·ลองจิจูด·ความสูงนิยามอยู่ในพิกัด ellipsoid
    • ละติจูดเชิงภูมิศาสตร์คือมุมระหว่างเส้นที่ตั้งฉากกับผิว ellipsoid ที่จุด P กับระนาบเส้นศูนย์สูตร
    • มุมของเส้นที่เชื่อมจุดศูนย์กลางโลกกับจุด P คือ geocentric latitude และจะตรงกับละติจูดเชิงภูมิศาสตร์หากโลกเป็นทรงกลมสมบูรณ์
  • การแปลงจากพิกัด ellipsoid ไปเป็นพิกัดฉากทำได้ในขั้นตอนเดียว แต่การแปลงจาก ECEF กลับไปเป็นพิกัด ellipsoid ต้องใช้ขั้นตอนวนซ้ำที่ลู่เข้าได้รวดเร็ว

การคำนวณตำแหน่งดาวเทียม

  • วงโคจรดาวเทียมในอุดมคติคือวงโคจรวงรีที่อธิบายด้วย องค์ประกอบวงโคจรแบบเคปเลอร์ 6 ค่า
    • 5 ค่ากำหนดขนาด·รูปร่างของวงรีและทิศทางของระนาบวงโคจร
    • ค่าที่ 6 กำหนดตำแหน่งของดาวเทียมที่ epoch ใด epoch หนึ่ง
  • วงโคจรจริงของดาวเทียมไม่ใช่วงรีสมบูรณ์ เพราะความไม่สม่ำเสมอขององค์ประกอบโลกและแรงโน้มถ่วงจากดวงอาทิตย์กับดวงจันทร์
  • GPS ออกอากาศ พารามิเตอร์วงโคจร 16 ค่า เพื่อชดเชยการรบกวนเหล่านี้
    • ใน table 20-IV ของ GPS Interface Specification มีขั้นตอนคำนวณตำแหน่งดาวเทียมที่รวมการแก้ไขวงโคจรไว้
  • ตำแหน่งผู้ใช้คำนวณที่เวลารับ t แต่สัญญาณ GPS ออกจากดาวเทียมที่เวลา t-τ
    • ดังนั้นตำแหน่งดาวเทียมต้องคำนวณที่เวลาส่งสัญญาณ t-τ
    • ระหว่างที่สัญญาณใช้เวลา τ เดินทาง โลกยังคงหมุนอยู่ จึงต้องหมุนเวกเตอร์ตำแหน่งดาวเทียมตามมุมหมุนของโลกเพื่อให้ตรงกับกรอบ ECEF ของผู้ใช้ ณ เวลารับ t
    • สิ่งนี้ไม่เท่ากับการคำนวณตำแหน่งดาวเทียมที่เวลา t แบบตรง ๆ

Pseudorange และอคตินาฬิกา

  • ตัวรับ GPS เปรียบเทียบ timestamp เวลาส่งในสัญญาณจากดาวเทียมกับเวลาของตัวรับ แล้วคูณส่วนต่างด้วยความเร็วแสงเพื่อประมาณระยะถึงดาวเทียม
  • ค่าที่วัดได้นี้คือ pseudorange
    • ถ้านาฬิกาดาวเทียมและนาฬิกาตัวรับซิงก์กันสมบูรณ์ และสัญญาณเดินทางเป็นเส้นตรงในสุญญากาศด้วยความเร็วแสง ก็จะเท่ากับระยะจริง
    • แต่ในความเป็นจริงจะต่างจากระยะจริงเพราะ clock offset และการหน่วงในชั้นบรรยากาศ
  • อคตินาฬิกาของดาวเทียมต้องแก้ไขเสมอ เพราะอาจทำให้เกิดความคลาดเคลื่อนของตำแหน่งระดับหลายพันเมตร
    • คำนวณจากพหุนามโดยใช้ค่าสัมประสิทธิ์ในข้อความ ephemeris ของ GPS และเทอมสัมพัทธภาพ
    • พหุนามให้การแก้ไขเป็นส่วนใหญ่ ส่วนผลสัมพัทธภาพมีส่วนประมาณ 1~10m ตามตำแหน่งดาวเทียม
  • อคตินาฬิกาของตัวรับเป็นตัวไม่ทราบค่าที่ต้องประมาณพร้อมกับตำแหน่งผู้ใช้
    • ในอัลกอริทึมจะคูณอคตินาฬิกาด้วยความเร็วแสงเพื่อจัดการในหน่วยระยะทาง
  • การหน่วงในบรรยากาศแบ่งเป็นไอโอโนสเฟียร์และโทรโพสเฟียร์
    • การหน่วงจากไอโอโนสเฟียร์โดยทั่วไปทำให้เกิดความคลาดเคลื่อนของตำแหน่งประมาณ 25m
    • การหน่วงจากโทรโพสเฟียร์โดยทั่วไปทำให้เกิดความคลาดเคลื่อนของตำแหน่งประมาณ 2m
    • ในการวิเคราะห์การทดลองในบทความนี้ละเลยการหน่วงเหล่านี้

อัลกอริทึมประมาณตำแหน่งผู้ใช้และอคตินาฬิกา

  • ค่าการวัด pseudorange ที่ปรับแก้แล้วสามารถเขียนเป็นผลรวมของระยะจริงระหว่างผู้ใช้กับดาวเทียม อคตินาฬิกาของตัวรับ และความคลาดเคลื่อนที่ไม่ได้จำลอง
  • ตำแหน่งผู้ใช้และอคตินาฬิกาจะหาเป็นค่าที่ทำให้ความต่างระหว่าง pseudorange ที่วัดได้กับ pseudorange ที่คาดการณ์มีค่าน้อยที่สุด
  • วิธีแก้คือขั้นตอน iterative least squares
    • ค่าเริ่มต้นของตำแหน่งผู้ใช้คือ [0 0 0]
    • ค่าเริ่มต้นของอคตินาฬิกาผู้ใช้คือ 0
    • ในแต่ละรอบ จะสร้างเมทริกซ์ G โดยเรียงเวกเตอร์หน่วยทิศทางดาวเทียมตามค่าประมาณตำแหน่งปัจจุบัน
    • แก้หาค่าปรับแก้ตำแหน่งและค่าปรับแก้อคตินาฬิกา แล้วทำซ้ำจนการเปลี่ยนแปลงเล็กกว่าค่าขีดจำกัด
  • หากมีดาวเทียมครบ 4 ดวงพอดีและการจัดวางไม่เสื่อมสภาพ ก็สามารถหาคำตอบได้โดยตรง
    • ถ้าท้องฟ้าไม่ถูกบังมักจะมองเห็นดาวเทียมมากกว่านั้น และโดยทั่วไปจะใช้คำตอบแบบ least squares
  • ขั้นตอนการทำงานเป็นไปตามลำดับดังนี้
    • รับ pseudorange ดิบและ ephemeris ของดาวเทียมเป็นอินพุต
    • คำนวณอคตินาฬิกาของดาวเทียมแต่ละดวงและแก้ไข pseudorange
    • หากทำได้ ให้ใช้การแก้ไขไอโอโนสเฟียร์·โทรโพสเฟียร์
    • แก้ไข pseudorange ด้วยอคตินาฬิกาของตัวรับปัจจุบัน
    • หาร pseudorange ด้วยความเร็วแสงเพื่อหาเวลาส่งผ่านสัญญาณ τ
    • คำนวณตำแหน่งดาวเทียมที่เวลา t-τ
    • ปรับตำแหน่งดาวเทียมให้เข้ากับกรอบ ECEF ของผู้ใช้โดยสะท้อนการหมุนของโลกระหว่างเวลา τ
    • สร้างเมทริกซ์ G และความต่างของ pseudorange แล้วคำนวณค่าปรับแก้ตำแหน่งกับอคตินาฬิกา

รายละเอียดในการ implement ด้วย Matlab

  • โค้ด Matlab ส่วนใหญ่มีลักษณะประเมินค่าตัวไม่ทราบทางซ้ายจากค่าที่ทราบทางขวาได้ในครั้งเดียว
  • การคำนวณบางอย่างไม่มีคำตอบแบบปิดเชิงวิเคราะห์ จึงต้องใช้ solver
    • ตัวอย่างคือขั้นตอนหาค่า eccentric anomaly E จาก mean anomaly M ระหว่างการคำนวณตำแหน่งดาวเทียม
    • ความสัมพันธ์ E - e*sin(E) == M ไม่มีคำตอบแบบปิด จึงใช้ vpasolve
  • โค้ดภาคผนวกมีฟังก์ชันดังนี้
    • คำนวณตำแหน่งผู้ใช้และอคตินาฬิกา
    • คำนวณตำแหน่งดาวเทียม
    • คำนวณคำตอบ least squares ของตำแหน่งผู้ใช้และอคตินาฬิกา
    • คำนวณอคตินาฬิกาของดาวเทียม
    • แปลงพิกัด ECEF WGS84 เป็นพิกัด ellipsoid
    • แปลงรูปแบบข้อมูล ephemeris

การตั้งค่าการเก็บข้อมูล GPS ดิบ

  • หากต้องการข้อมูล GPS ดิบ ต้องใช้ตัวรับที่ส่งออก ข้อมูล timing เช่น pseudorange ดิบและ ephemeris ของดาวเทียม ไม่ใช่อุปกรณ์ GPS ทั่วไปที่คำนวณเฉพาะตำแหน่งภายในแล้วส่งออกผลลัพธ์
  • ชิป u-blox NEO-M8T และ 6T ตรงตามข้อกำหนดนี้
    • สามารถซื้อชุดฮาร์ดแวร์ที่มี GPS unit, เสาอากาศ และพอร์ตส่งออกแบบอนุกรมได้จาก Amazon ในราคาประมาณ 40 ดอลลาร์
  • ใช้ยูทิลิตี STRSVR ของ RTKLib สำหรับรับและบันทึกสัญญาณ GPS ดิบ
    • RTKLib เป็นแพ็กเกจซอฟต์แวร์โอเพนซอร์สที่รองรับการหาตำแหน่งแบบมาตรฐานและแบบความแม่นยำสูงของ GNSS เช่น GPS, Glonass, Galileo, Baidu
    • STRSVR แปลงเอาต์พุตฟอร์แมตกำหนดเองของตัวรับ u-blox ให้เป็นฟอร์แมตมาตรฐาน RTCM
  • ข้อมูลที่ต้องใช้มีอยู่ในข้อความ RTCM 1002 และ 1019
    • 1002 เก็บข้อมูล pseudorange ดิบ
    • 1019 เก็บข้อมูล ephemeris ของดาวเทียม
  • STRSVR ถูกตั้งค่าให้รับข้อมูลผ่านพอร์ตอนุกรมที่ 9600 Baud และบันทึกเป็นไฟล์รูปแบบ RTCM 3
  • การเก็บข้อมูลทำบนดาดฟ้าของอาคารอพาร์ตเมนต์
    • วางตัวรับ GPS ในตำแหน่งที่มองเห็นท้องฟ้าได้โล่ง
    • ใช้ซอฟต์แวร์ u-blox u-center ตรวจสอบว่ามองเห็นดาวเทียมเพียงพอและได้ position fix ที่ดี
    • เก็บข้อมูล GPS ดิบประมาณ 1 ชั่วโมง

การประมวลผล RTCM และการใช้ goGPS

  • STRSVR บันทึกข้อมูล GPS ดิบในฟอร์แมตไบนารี RTCM3
  • หากจะประมวลผลใน Matlab ต้องถอดรหัสข้อมูล RTCM3 แล้วแปลงเป็นโครงสร้างข้อมูลของ Matlab
  • แทนที่จะเขียนตัวถอดรหัส RTCM เอง บทความนี้ใช้ฟังก์ชัน load_stream ของไลบรารี Matlab ชื่อ goGPS
    • มันอ่านไฟล์ฟอร์แมต RTCM และดึงข้อความ RTCM ออกมา
    • จากนั้นบันทึกข้อมูลที่ดึงได้เป็นไฟล์ .mat เพื่อใช้เป็นอินพุตของอัลกอริทึมคำนวณตำแหน่ง
  • มีไฟล์ rtcm_data ให้ด้วย
    • เนื่องจากข้อจำกัดด้านความปลอดภัยของ WordPress จึงให้มาในนามสกุล .txt แทน .mat
    • หลังดาวน์โหลดต้องเปลี่ยนชื่อกลับเป็น .mat

ผลการทดลอง: การเปลี่ยนแปลงตำแหน่งและ clock drift

  • เนื่องจากตัวรับอยู่นิ่งระหว่างการเก็บข้อมูล การเปลี่ยนแปลงตามเวลาของตำแหน่งที่คำนวณได้จึงสะท้อนประสิทธิภาพจริงของอัลกอริทึมคำนวณตำแหน่ง
  • ส่วนเบี่ยงเบนมาตรฐานขององค์ประกอบตำแหน่งในกรอบ ENU ที่มีผู้ใช้เป็นศูนย์กลางมีดังนี้
    • East: 14.00m
    • North: 39.88m
    • Up: 47.35m
  • การเปลี่ยนแปลงตำแหน่งอยู่ที่ระดับประมาณ 30m ในทิศ East และ North ส่วนทิศ Up มากกว่า
  • อคตินาฬิกาของตัวรับไม่ใช่ค่าคงที่ แต่ drift เชิงเส้นตามเวลา
    • ในอัลกอริทึม อคตินาฬิกาถูกจัดการในหน่วยระยะทาง
    • ในกราฟผลลัพธ์จะแปลงกลับเป็นหน่วยเวลาด้วยการหารด้วยความเร็วแสง
    • ปริมาณ drift คือ 4.27e-7sec/sec

การคำนวณมุมอะซิมัทและมุมเงยของดาวเทียม

  • มุมอะซิมัทและมุมเงยของดาวเทียมนิยามจากมุมมองของผู้ใช้ จึงคำนวณใน กรอบ ENU ที่มีผู้ใช้เป็นศูนย์กลาง
  • ขั้นตอนคำนวณเป็นดังนี้
    • คำนวณเวกเตอร์ตำแหน่งจากผู้ใช้ไปยังดาวเทียมในกรอบ ECEF
    • แปลงตำแหน่งผู้ใช้เป็นพิกัด ellipsoid คือ ละติจูด·ลองจิจูด
    • หมุนเวกเตอร์ตำแหน่งดังกล่าวไปยังกรอบ ENU ของผู้ใช้
    • คำนวณมุมอะซิมัทและมุมเงยจากพิกัด ENU
  • ที่ epoch ตัวอย่าง มุมเงยของดาวเทียมทั้ง 8 ดวงที่คำนวณได้เป็นค่าบวกทั้งหมด
    • มุมอะซิมัทอาจเป็นได้ทั้งค่าบวกและค่าลบ
    • เนื่องจากผู้ใช้มองไม่เห็นดาวเทียมใต้ขอบฟ้า จึงเป็นธรรมดาที่มุมเงยจะเป็นค่าบวก
  • หากคำนวณตำแหน่งดาวเทียมด้วยวิธีเดียวกันในหลาย epoch ก็สามารถสร้าง satellite track chart แบบที่ซอฟต์แวร์ประมวลผล GPS แสดงได้

DOP: ปัจจัยเชิงเรขาคณิตของคุณภาพการประมาณตำแหน่ง

  • DOP(Dilution of Precision) เป็นตัวชี้วัดว่าการประมาณตำแหน่งดีเพียงใด
  • ความคลาดเคลื่อนของตำแหน่งไม่ได้ขึ้นกับ noise ของการวัดเท่านั้น แต่ยังขึ้นกับ เรขาคณิต ระหว่างผู้ใช้กับดาวเทียมด้วย
    • ยิ่งการวัด pseudorange และตำแหน่งดาวเทียมมี noise มาก ความคลาดเคลื่อนของตำแหน่งก็ยิ่งมาก
    • ยิ่งดาวเทียมกระจายกว้างในมุมอะซิมัทและมุมเงย เรขาคณิตก็ยิ่งเอื้อและ DOP ยิ่งต่ำ
  • covariance ของความคลาดเคลื่อนของตำแหน่งและอคตินาฬิกาสามารถแยกเป็นฟังก์ชันของความคลาดเคลื่อนระยะทางฝั่งผู้ใช้กับเมทริกซ์ G
    • เมทริกซ์ G ประกอบด้วยเวกเตอร์หน่วยจากผู้ใช้ไปยังดาวเทียม
    • เมทริกซ์ G ในกรอบ ECEF จะถูกหมุนไปยังกรอบ ENU เพื่อความสะดวกในการคำนวณ DOP
  • องค์ประกอบ DOP นิยามตามทิศ East, North, Up
    • HDOP คือ DOP แนวนอนที่รวมองค์ประกอบ East และ North
    • VDOP คือ DOP แนวตั้งขององค์ประกอบ Up
  • ในข้อมูลจริง HDOP และ VDOP โดยมาก ต่ำกว่า 2.5
    • ค่านี้ถือว่าอยู่ในระดับที่เพียงพอ
    • VDOP มีค่ามากกว่า HDOP
    • ผู้ใช้บนพื้นโลกไม่สามารถสังเกตดาวเทียมใต้ขอบฟ้า และสัญญาณจากดาวเทียมที่อยู่ต่ำกว่า 10 องศาเหนือขอบฟ้ามักมี noise สูงเกินไปจึงมักไม่ถูกใช้ ส่งผลให้ VDOP สูงกว่า

ขนาดของโครงสร้างพื้นฐาน GPS

  • การสร้างกลุ่มดาว GPS ใช้งบประมาณราว 3 หมื่นล้านดอลลาร์ และรัฐบาลสหรัฐฯ ใช้งบประมาณดูแลรักษาปีละประมาณ 1 พันล้านดอลลาร์
  • มีการกล่าวถึงว่ามูลค่าของ Uber ซึ่งคงไม่อาจมีอยู่ได้หากไม่มี GPS สูงกว่า 7 หมื่นล้านดอลลาร์
  • หากรวมแอปพลิเคชันต่าง ๆ ที่ GPS ทำให้เกิดขึ้น ก็ถือได้ว่าการลงทุนภาครัฐใน GPS เป็นกรณีตัวอย่างของผลกระทบทางเศรษฐกิจและเทคโนโลยีที่ใหญ่มาก

1 ความคิดเห็น

 
GN⁺ 2024-07-16
ความคิดเห็นบน Hacker News
  • Android เปิดให้เข้าถึงแนวทาง carrier phase (เฟสของคลื่นพาหะ) มานานพอสมควรแล้ว และด้วยวิธีนี้สามารถหาตำแหน่งสัมพัทธ์ระหว่างอุปกรณ์ที่อยู่ละแวกเดียวกันได้แม่นยำถึงระดับที่ต้องคำนึงว่าเสาอากาศ GNSS ซ่อนอยู่ตรงไหนในตัวเครื่อง
    แค่นี้อย่างเดียวอาจไม่ได้ยอดเยี่ยมมาก แต่จะดีขึ้นเมื่อรวมเข้ากับ accelerometer และ gyroscope ของแต่ละอุปกรณ์
    เพราะการเปลี่ยนแปลงของค่าการวัด pseudorange ของ GNSS สามารถคาดการณ์ได้แม้ไม่ได้อยู่นิ่ง จึงทำงานแบบเรียลไทม์ได้โดยประสิทธิภาพลดลงเพียงเล็กน้อย
    เช่น ทำให้เครื่องบินจำลองที่ไม่มีล้อลงจอดแบบ อัตโนมัติ บนกระบะท้ายรถบรรทุกได้ และหลีกเลี่ยงรอยขีดข่วนหรือการพึ่งพารันเวย์หญ้า
    ถ้าการใช้พลังงานไม่ได้สำคัญมาก ตัวรับ GNSS ที่ค่อนข้างดีก็ไม่จำเป็นต้องทำให้แพง ผมไม่เข้าใจว่าทำไมถึงซื้อเป็นคู่ในราคา 100 ดอลลาร์ไม่ได้เฉย ๆ

    • https://www.bestbuy.com/site/tracfone-blu-view-5-64gb-prepai...
      นี่คือตัวรับ GNSS ราคา 30 ดอลลาร์ แถมมีของจุกจิกที่ไม่จำเป็นติดมาด้วยนิดหน่อย
    • ก็ซื้อได้ไม่ใช่หรือ? https://www.mouser.de/ProductDetail/u-blox/ZED-F9P-02B?qs=DP...
    • น่าสนใจ! อยากรู้ว่าแนวทางนี้ทำงานใน สภาพแวดล้อมในอาคาร ได้ไหม มีลิงก์หรือเปเปอร์ที่เกี่ยวข้องเพิ่มเติมไหม?
  • สำหรับคนที่อยากสร้างตัวรับ GPS เอง มีโปรเจกต์ โอเพนซอร์ส เต็มรูปแบบที่อธิบายทฤษฎีไว้มากด้วย: http://www.aholme.co.uk/GPS/Main.htm

    • โปรเจกต์ที่เขาลิงก์ถึงและยอมรับว่าเป็นแรงบันดาลใจนั้นน่าประทับใจกว่า:
      https://lea.hamradio.si/~s53mv/navsats/theory.html
    • ต้องจำไว้ด้วยว่าจำเป็นต้องจงใจลดสมรรถนะลงเพื่อไม่ให้ละเมิด ข้อจำกัด ITAR
  • บทความที่มักถูกโพสต์ในคอมเมนต์เกี่ยวกับ GPS แต่ก็มีเหตุผลที่สมควร: https://ciechanow.ski/gps/

  • เป็นคำอธิบายอีกแบบ และน่าจะ โต้ตอบได้ มากกว่า:
    https://ciechanow.ski/gps/

  • ยังมี การใช้งานโอเพนซอร์ส อีกตัวที่ดี:
    https://m.youtube.com/watch?v=dVD1Yws__v0

  • เคยเห็นนักวิจัยที่เก็บ ข้อมูล GPS ของสิ่งมีชีวิตน้ำ ซึ่งโผล่ขึ้นสู่ผิวน้ำเพียงเป็นครั้งคราว และครั้งละสั้นมาก
    หากบันทึกข้อมูลดิบแล้วนำไปประมวลผลภายหลัง จะลดทั้งการใช้พลังงานและเวลาขั้นต่ำที่ต้องเปิดรับสัญญาณดาวเทียมลงได้มาก โดยเวลารับสัญญาณลดลงได้ต่ำกว่า 1 วินาที

  • พอเห็นส่วนที่ว่า “ภาพด้านล่างแสดงให้เห็นว่าเรขาคณิตระหว่างผู้ใช้กับแหล่งสัญญาณส่งผลต่อความไม่แน่นอนของตำแหน่งผู้ใช้อย่างไร” ก็ทำให้คิดว่าอยากให้มีการตั้งค่าในแอปแผนที่บนมือถือที่เปลี่ยนรูปแบบความไม่แน่นอนของตำแหน่งจากวงกลมเป็น ลักษณะเส้นโค้งตัดกัน แบบนี้

  • เคยได้ยินว่า GPS เป็นหนึ่งในแอปพลิเคชันไม่กี่อย่างในชีวิตประจำวันที่ต้องคำนึงถึง ผลเชิงสัมพัทธภาพ ถ้าอย่างนั้นข้อมูลที่สร้างขึ้นก็น่าจะถูกลบผลเชิงสัมพัทธภาพเหล่านี้ออกไปแล้วใช่ไหม?

    • “ข้อมูลที่สร้างขึ้น” ที่พูดถึงนี่หมายถึงอะไรแน่ และหมายถึงข้อมูลที่ใครสร้าง?
      ถ้าหมายถึงเอาต์พุตจากอุปกรณ์ GPS เชิงพาณิชย์ ก็ใช่ ในการประมวลผลหลังการรับสัญญาณเพื่อสร้างเอาต์พุต จะมีการแก้ผลสารพัดอย่างที่ก่อให้เกิดความผิดพลาด
      บทความนี้พูดถึง ข้อมูล GPS ดิบ ที่สตรีมมาจากดาวเทียมหลายดวง ซึ่งต้องผ่านการประมวลผลเพื่อสร้างค่าเอาต์พุต และบ่อยครั้งก็มีอินพุตเพิ่มเติม เช่น สถานีภาคพื้นดินหรือการแก้ไขทางทะเล เพื่อเพิ่มความแม่นยำ
      ผู้จำหน่ายอุปกรณ์ GPS หลายรายโดยรวมทำสิ่งคล้าย ๆ กัน แต่รายละเอียดคือหัวใจสำคัญ
      https://ciechanow.ski/gps/ ที่คอมเมนต์อื่น ๆ ลิงก์ไว้ก็อ่านดีเช่นกัน
    • เวลาไหลต่างกันตามความแรงของ “แรง” โน้มถ่วง หรือพูดให้แม่นยำกว่าคืออัตราที่วัตถุตกลงไปใน ความบิดโค้งของกาลอวกาศ ที่เกิดจากมวลของโลก
      เวลาก็ไหลช้าลงในวัตถุที่เคลื่อนที่เร็วกว่าผู้สังเกต และดาวเทียมก็เคลื่อนที่ค่อนข้างเร็ว
      GPS ต้องทำให้เวลาระหว่างผู้สังเกตกับดาวเทียมซิงก์กัน ดังนั้นการไหลของเวลาจึงถูกปรับแก้ให้สะท้อนผลของทฤษฎีสัมพัทธภาพพิเศษและทฤษฎีสัมพัทธภาพทั่วไป
    • ใน งบประมาณความคลาดเคลื่อนของ pseudorange ไปยังดาวเทียม มีหลายปัจจัยที่เกิดจากสัมพัทธภาพ แต่ภายในปัญหา least squares ที่แก้เพื่อให้ได้ค่าประมาณตำแหน่ง มันก็ถูกรวมเข้าไปในพจน์ความคลาดเคลื่อนเท่านั้น
      ดังนั้นสัมพัทธภาพจึงสำคัญ แต่ไม่จำเป็นต้องรู้สัมพัทธภาพมากนักเพื่อแก้หาตำแหน่งของตัวเอง
      อย่างไรก็ตาม long-baseline/network RTK หลายรูปแบบอาจต้องใช้การสร้างแบบจำลองที่ซับซ้อนกว่า
    • “ผลเชิงสัมพัทธภาพ” เองเป็นส่วนหนึ่งของ วิธีการทำงานของ GPS
  • ขั้นต่อไปคือ PPP หรือ RTK โลกของ GNSS เป็นโพรงกระต่ายแห่งความเป็นไปได้ที่สนุกมาก

  • แบบฝึกหัดสำหรับคนเชื่อว่าโลกแบน: จงอธิบายว่า แผนที่ GPS บนมือถือทำงานอย่างไรโดยไม่มีดาวเทียมโคจรรอบโลกทรงกลม แสดงวิธีทำด้วย

    • หากคุณเชื่ออย่างแรงกล้าพอว่ารัฐบาลกำลังหลอกคุณ คุณก็อาจคิดได้ว่าวิชาฟิสิกส์ดาวเทียมที่เราเรียนมาเป็น parallel construction (https://en.m.wikipedia.org/wiki/Parallel_construction) และจริง ๆ แล้วมันสอดคล้องกับโลกแบนด้วยการเสริม epicycle จำนวนมากเข้าไป
    • อาจบอกได้ว่าโทรศัพท์ใช้ “เวทมนตร์” แบบสุ่ม หรือก็คือเทคโนโลยี เพื่อให้ได้ตำแหน่งที่แม่นยำ
      ก่อนอื่นต้องมีข้อโต้แย้งที่ค่อนข้างซับซ้อนว่าโทรศัพท์ไม่สามารถทำอย่างนั้นได้หากไม่มีดาวเทียม
      ตัวอย่างที่ง่ายกว่านิดหน่อยและยากที่คนเชื่อว่าโลกแบนจะปัดตกคือ ISS แทบจะมองเห็นได้ด้วยตาเปล่า และมองเห็นได้แน่นอนด้วยกล้องโทรทรรศน์หลังบ้าน ดาวเทียม Starlink ก็คล้ายกัน
    • จากประสบการณ์ของผม คนเชื่อว่าโลกแบนไม่มี การสืบค้นอย่างเคร่งครัด มากพอที่จะพยายามตอบคำถามนี้
      ความเชื่อว่าโลกแบนไม่ใช่จุดยืนที่ได้มาด้วยเหตุผล แต่แทบทุกครั้งมาจากความสับสน หรือเป็นผลลัพธ์ที่หลีกเลี่ยงไม่ได้ของความเชื่อแกนกลางที่ไม่สั่นคลอน โดยปกติมาจากการอ่านพระคัมภีร์แบบตีความตามตัวอักษรอย่างสุดโต่ง หรือจากความหวาดระแวงเชิงหลงผิดว่า “ทุกอย่างที่เป็นทางการล้วนเป็นเท็จ”