چارچوب اندروید دسترسی به اندازهگیریهای خام GNSS را در چندین دستگاه اندروید فراهم میکند.
میتوانید این ابزارها را در مخزن ابزارهای اندازهگیری GPS در GitHub پیدا کنید، که شامل کد منبع نسخه اولیه GnssLogger و فایلهای اجرایی برای برنامه دسکتاپ GNSS Analysis برای لینوکس ، ویندوز و macOS است. راهنمای نصب و کاربر .
چالش دسیمتر گوشیهای هوشمند گوگل
گوگل، بخش ماهوارهای موسسه ناوبری و Kaggle حامی سومین چالش دسیمتر گوشیهای هوشمند در ION GNSS+ هستند. این رقابت از ۱۲ سپتامبر ۲۰۲۳ آغاز میشود و در ۲۳ مه ۲۰۲۴ به پایان میرسد. بیش از ۱۵۰ مسیر جدید حاوی اندازهگیریهای خام GNSS، دادههای حسگر و دادههای دقیق زمینی در دسترس عموم قرار خواهد گرفت. شرکت در این رقابت برای همه آزاد است. از شرکتکنندگان دعوت میشود چکیدهای از خود را برای جلسهای با عنوان "چالش دسیمتر گوشیهای هوشمند" که در ION GNSS+ 2024 برگزار میشود، ارسال کنند.
برای اطلاعات بیشتر، از جمله قوانین و مقررات، به صفحه مسابقه در Kaggle مراجعه کنید که در تاریخ ۱۲ سپتامبر ۲۰۲۳ ساعت ۳:۳۰ بعد از ظهر به وقت MDT منتشر خواهد شد.
دستگاههای اندرویدی که از اندازهگیریهای خام GNSS پشتیبانی میکنند
پشتیبانی از اندازهگیریهای خام GNSS در دستگاههایی که اندروید ۱۰ (سطح API ۲۹) یا بالاتر را اجرا میکنند، الزامی است. در اندروید ۹ (سطح API ۲۸) و پایینتر، پشتیبانی از اندازهگیریهای خام GNSS در تمام دستگاههای اندرویدی که شامل سختافزار سال ۲۰۱۶ یا جدیدتر هستند، الزامی است. در حال حاضر، بیش از ۹۰٪ از گوشیهای اندرویدی موجود دارای اندازهگیریهای خام هستند.
پشتیبانی از برخی از فیلدهای اندازهگیری خام GNSS اختیاری است و میتواند بسته به چیپست GNSS مورد استفاده متفاوت باشد. نمونههایی از این فیلدها شامل موارد زیر است:
- نرخ شبهرنج و شبهرنج.
- پیام ناوبری.
- مقدار کنترلکننده خودکار بهره (AGC).
- محدوده دلتای انباشته (ADR) یا فاز حامل.
- پشتیبانی از چند فرکانس
اکثر گوشیهای پرچمدار پیکسل، موتورولا، سامسونگ، شیائومی، وانپلاس و سایر تولیدکنندگان بزرگ تلفن همراه، از فرکانسهای L1 و L5 پشتیبانی میکنند. گوشیهای پرچمدار پیکسل و همچنین سایر گوشیهای پرچمدار از تولیدکنندگان بزرگ تلفن همراه که از چیپستهای کوالکام اسنپدراگون استفاده نمیکنند، ADR (فاز حامل) را به عنوان بخشی از اندازهگیریهای خام ارائه میدهند.
یک پایگاه داده از قابلیتهای GNSS دستگاههای مختلف اندروید که توسط جامعه ارائه شده است، در مقاله «ویژگیهای GNSS دستگاههای اندروید از طریق جمعسپاری» مورد اشاره قرار گرفته است.
برای اطلاعات بیشتر در مورد تعاریف فیلدهای اندازهگیری خام ارائه شده توسط دستگاههای اندروید، به سیستمهای ماهوارهای ناوبری جهانی مراجعه کنید.
تولیدکنندگان تجهیزات اصلی (OEMها)، توسعهدهندگان و محققان میتوانند از ابزارهای موجود در این صفحه برای آزمایش طرحهای جدید تلفن، اعتبارسنجی عملکرد، توسعه الگوریتمهای جدید، ارزیابی بهبودهای پیادهسازی سیستم GNSS و همچنین ساخت برنامههای ارزش افزوده استفاده کنند.
نمونه کد کلاینت SUPL
Suplclient یک کد نمونه است که برای دریافت تقویم نجومی (ephemeris) در زمان واقعی به supl.google.com دسترسی پیدا میکند. کلاس SuplTester مثالی از نحوه استفاده از پروژه کلاینت SUPL ارائه میدهد. SuplTester مشخصات اتصال TCP SUPL را تنظیم میکند، سپس در یک عرض و طول جغرافیایی مشخص، یک درخواست LPP SUPL ارسال میکند و پاسخ سرور SUPL را چاپ میکند.
اطلاعات کالیبراسیون آنتن
از اندروید ۱۱ (سطح API 30)، میتوانید از کلاس GnssAntennaInfo برای دسترسی به ویژگیهای آنتن، مانند: مختصات آفست مرکز فاز (PCO)، اصلاحات تغییر مرکز فاز (PCV) و اصلاحات بهره سیگنال استفاده کنید. این اصلاحات را میتوان برای بهبود دقت، روی اندازهگیریهای خام اعمال کرد.
هنگام استفاده از GnssAntennaInfo ، رفتارهای سیستمی زیر را در نظر داشته باشید. این رفتارها برای افزایش حریم خصوصی کاربر طراحی شدهاند.
- ویژگیهای ارائه شده توسط این API فقط مختص مدل دستگاه است، نه یک دستگاه خاص.
ثبت اندازهگیریهای خام
شما میتوانید از اندروید استودیو برای ساخت برنامهای استفاده کنید که اندازهگیریهای خام GNSS و سایر دادههای مکانی را ثبت کرده و آنها را در یک فایل ذخیره کند. برای مثال، کد منبع چنین برنامهای، به ابزارهای اندازهگیری GPS مراجعه کنید.
Google GNSSLogger یک برنامه نمونه است که با این قابلیت توسعه داده شده است. برای دریافت خروجی GNSS با برنامه نمونه، دستگاه شما باید از اندازهگیریهای خام GNSS پشتیبانی کند.
پس از ثبت گزارش GNSS با استفاده از GNSS Logger، میتوانید فایلهای گزارش را از دستگاه به رایانه خود کپی کنید تا بیشتر تجزیه و تحلیل شوند. از درون GNSS Logger میتوانید فایلها را از طریق ایمیل برای خود ارسال کنید یا آنها را در Google Drive ذخیره کنید. همچنین میتوانید فایلها را با استفاده از برنامه مدیریت فایل روی دستگاه ذخیره کنید، یا میتوانید از Android Debug Bridge (ADB) همانطور که در بخش کپی فایلها به/از یک دستگاه توضیح داده شده است، استفاده کنید.
تحلیل اندازهگیریهای خام
برنامه GNSS Analysis اندازهگیریهای خام GPS/GNSS جمعآوریشده توسط GNSS Logger را میخواند و از آنها برای تجزیه و تحلیل رفتار گیرنده GNSS، همانطور که در شکل ۱ نشان داده شده است، استفاده میکند.
میتوانید این برنامه را برای سیستمهای لینوکس ، ویندوز و macOS دانلود کنید.

شکل ۱. GNSS Logger اندازهگیریهایی را که میتوانند توسط GNSS Analysis مصرف شوند، جمعآوری میکند.
برنامه GNSS Analysis بر اساس MATLAB ساخته شده است، اما برای اجرای آن نیازی به MATLAB ندارید. این برنامه به یک فایل اجرایی کامپایل میشود که یک کپی از MATLAB Runtime را نصب میکند.
پنل کنترل تحلیل GNSS
پنل کنترل GNSS Analysis، که در شکل ۲ نشان داده شده است، به شما امکان میدهد ویژگیهای برنامه، مانند موارد زیر را مدیریت کنید:
- انتخاب کنید کدام ماهوارهها نمایش داده شوند.
- کنترل موقعیت، سرعت و زمان مرجع (PVT) مورد استفاده برای محاسبه خطاهای اندازهگیری.
- گزارشهای تحلیلی تولید کنید.
- یک پنجره در دادهها بین زمانهای شروع و پایان تعریف کنید.
)
شکل ۲. پنل کنترل آنالیز GNSS
نمودارهای تعاملی تحلیل GNSS
برنامه GNSS Analysis نمودارهای تعاملی را ارائه میدهد که در ستونهای فرکانس رادیویی (RF)، ساعتها و اندازهگیریها سازماندهی شدهاند، همانطور که در شکل ۳ نشان داده شده است.
)
شکل ۳. اپلیکیشن GNSS Analysis که نمودارهای تعاملی را نمایش میدهد.
ستون RF دادههای زیر را نشان میدهد:
- برای هر صورت فلکی، چهار ماهواره با قویترین سیگنالها.
- برای هر ماهواره، نمودار زمانی چگالی سیگنال حامل به نویز (C/No).
- اسکایپلات موقعیت ماهوارهها.
ستون ساعت دادههای زیر را نشان میدهد:
- شبهفاصلهها.
فرکانس انحراف ساعت گیرنده، که با استفاده از یکی از موقعیتهای مرجع زیر محاسبه میشود:
- محاسبه خودکار موقعیت میانگین.
- طول، عرض و ارتفاع جغرافیایی وارد شده توسط کاربر.
- فایل انجمن ملی الکترونیک دریایی (NMEA) با مرجع صحیح PVT.
انحراف ساعت آماده به کار که زمان را هنگامی که گیرنده چرخه کار نوسانگر اولیه را بازنشانی میکند، نگه میدارد.
ستون اندازهگیریها دادههای زیر را نشان میدهد:
- نتایج موقعیت حداقل مربعات وزنی حاصل از شبهفاصلههای خام. وزندهی با استفاده از عدم قطعیت گزارششده برای هر اندازهگیری انجام میشود که بخشی از مشخصات API اندازهگیری خام است.
- خطاهای هر شبهفاصله برای هر اندازهگیری.
خطاهای هر نرخ شبهفاصله برای هر اندازهگیری.
گزارش آزمایش تحلیل GNSS
GNSS Analysis میتواند یک گزارش آزمایشی، همانطور که در شکل ۴ نشان داده شده است، ایجاد کند که پیادهسازی API، سیگنال دریافتی، رفتار ساعت و دقت اندازهگیری را ارزیابی میکند. برای هر مورد، برنامه بر اساس عملکرد اندازهگیری شده در مقایسه با معیارهای شناخته شده، گزارش میدهد که آیا گیرنده در آزمایش قبول شده یا رد شده است. گزارش آزمایشی برای تولیدکنندگان دستگاه مفید است که میتوانند از آن در طول طراحی و پیادهسازی دستگاههای جدید استفاده کنند. برای ایجاد گزارش آزمایشی، روی «ایجاد گزارش» کلیک کنید.

شکل ۴. گزارش آزمایش تحلیل GNSS
تب مقایسه، مقایسهای پهلو به پهلو، همانطور که در شکل ۵ نشان داده شده است، از C/No از چندین فایل لاگ GNSS ارائه میدهد که هنگام مقایسه عملکرد RF چندین دستگاه مفید است.

شکل ۵. مقایسهی پهلو به پهلو دادههای C/No از چندین فایل لاگ
به کد منبع علاقهمند هستید؟ پروژه ابزار اندازهگیری GPS یک مثال متنباز MATLAB ارائه میدهد که میتوانید از آن برای انجام اقدامات زیر با استفاده از سیگنالهای صورت فلکی GPS استفاده کنید:
- دادههای جمعآوریشده با برنامه نمونه GNSS Logger را بخوانید.
- محاسبه و تجسم شبهفاصلهها
- محاسبه موقعیت و سرعت با روش حداقل مربعات وزنی.
- مشاهده و تحلیل فاز حامل.
یادداشتهای انتشار برنامه تجزیه و تحلیل GNSS نسخه ۴.۶.۰.۱
نسخه ۴.۶.۰.۱ اپلیکیشن GNSS Analysis شامل بهروزرسانیهای زیر است:
- ابزار GnssAnalysisTool بر روی Matlab R2022a ساخته شده است و به ویژگیهای جدید دسترسی میدهد:
- پیمایش خودکار پنجره وضعیت: آخرین پیام وضعیت همیشه قابل مشاهده است.
- جدولی از مقایسه C/N0، بر اساس صورت فلکی، و مقایسه L1 تا L5 اضافه شد.
- نمودار باقیمانده نرخ شبهفاصله اضافه شد.
- تبهای جداگانه برای مرجع PVT ثابت یا متحرک حذف شده است، که مشاهده نوع مرجع PVT انتخاب شده را آسانتر میکند.
- نتایج «ایجاد گزارش» از HTML به پنجره وضعیت منتقل شد.
- تب Mission Planner حذف شد. لطفاً از gnssmissionplanning.com/ یا www.gnssplanning.com/ استفاده کنید.
- اصلاحات مربوط به تجزیه فایل مشاهدات RINEX.
- وقتی BKG کار نمیکند، برای GPS و GLO به منبع نجومی NASA CDDIS رجوع کنید.
- از igs.bkg.bund.de به igs-ftp.bkg.bund.de منتقل شوید
- اگر دانلود نمودارهای GAL، QZSS یا BDS با شکست مواجه شد، از تحلیل خارج نشوید.
- حتی اگر چیپست از BaseBandCNo پشتیبانی نکند، تجزیه و تحلیل آنتن CNo را ایجاد کنید
ارائه بازخورد
ما میخواهیم پشتیبانی از GNSS در اندروید را بهبود بخشیم. هرگونه مشکل در پشتیبانی GNSS در اندروید را با استفاده از ردیاب مشکلات GNSS به ما اطلاع دهید. لطفاً قبل از ارسال پست، بررسی کنید که آیا مشکل شما قبلاً در بخش سوالات متداول بررسی شده است یا خیر.
اگر از ابزارهای تحلیل GNSS استفاده کردهاید، لطفاً با پاسخ دادن به یک نظرسنجی کوتاه، بازخورد خود را ارائه دهید. اگر سؤال دیگری دارید یا درخواست پشتیبانی دارید، به منابع پشتیبانی توسعهدهندگان مراجعه کنید.
شما میتوانید پاسخ سوالات متداول را در بخش سوالات متداول ابزارهای تحلیل GNSS بیابید.