'\" t .\" Title: gpsprof .\" Author: Eric S. Raymond .\" Generator: Asciidoctor 2.0.26 .\" Date: 2025-12-11 .\" Manual: GPSD Documentation .\" Source: GPSD, Version 3.27.5 .\" Language: Persian .\" .TH "GPSPROF" "1" "2025-12-11" "GPSD, Version 3.27.5" "GPSD Documentation" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" gpsprof \- تحلیل و پروفایل کارایی GPS و gpsd و رسم نمودار اطلاعات تاخیر .SH "خلاصه دستور (SYNOPSIS)" .sp \fBgpsprof\fP [OPTIONS] [server[:port[:device]]] .sp \fBgpsprof\fP \-h .sp \fBgpsprof\fP \-V .SH "توضیحات (DESCRIPTION)" .sp دستور \fBgpsprof\fP مشخصات دقت، تاخیر، نمای آسمان (skyview) و انحراف زمانی (time drift) یک GPS را پروفایل و ارزیابی می‌کند. این ابزار برنامه‌ای برای GNUPLOT را در خروجی استاندارد تولید می‌کند که یکی از چندین نمودار توصیفی را رسم می‌نماید. همچنین می‌توان آن را طوری تنظیم کرد که داده‌های خام پروفایل را ارسال کند. .sp اطلاعات ارائه‌شده توسط نمودار مکانی پیش‌فرض می‌تواند برای تعیین مشخصات و سنجش دقت موقعیت‌یابی GPS مفید باشد. .sp دستور \fBgpsprof\fP از ابزارسنجی‌های (instrumentation) تعبیه‌شده در gpsd استفاده می‌کند. این ابزار می‌تواند داده‌ها را از یک نسخهٔ در حال اجرای gpsd به‌صورت محلی یا از راه دور بخواند؛ یا اینکه داده‌ها را از یک فایل لاگ (logfile) ذخیره‌شده بازیابی کند. .sp دستور \fBgpsprof\fP سبک طراحی شده است و حداقل منابع میزبان را مصرف می‌کند. نیازی به نصب زیرسیستم گرافیکی بر روی میزبان اجراکنندهٔ \fBgpsprof\fP نیست. کافی است فایل نمودار حاصل را به میزبان دیگری منتقل کرده تا با \fBgnuplot(1)\fP رندر و رسم شود. .sp دستور \fBgpsprof\fP نیازی به مجوزهای دسترسی ریشه (root) ندارد، اما با دسترسی ریشه نیز بدون مشکل اجرا می‌شود. .SH "گزینه‌ها (OPTIONS)" .sp گزینهٔ \fB\-f, \-\-formatter\fP نوع نمودار را تعیین می‌کند. در حال حاضر انواع نمودار زیر تعریف شده‌اند: .sp \fBspace\fP .RS 4 تولید یک نمودار پراکندگی (scatterplot) از موقعیت‌های تثبیت‌شده (fixes) و رسم دایره‌های خطای احتمالی. این داده‌ها تنها زمانی معنادار هستند که GPS در حین اجرای \fBgpsprof\fP کاملاً ثابت نگه داشته شود. آمارهای گوناگونی دربارهٔ تثبیت‌ها در پایین نمودار فهرست می‌شوند. این نوع نمودار پیش‌فرض است. .RE .sp \fBpolar\fP .RS 4 تولید یک نقشهٔ حرارتی (heat map) از نسبت سیگنال به نویز (SNR) گزارش‌شده توسط ماهواره‌ها با استفاده از مختصات قطبی. برای هر ماهواره‌ای که توسط GPS دیده می‌شود، یک نقطهٔ رنگی رسم می‌گردد. رنگ نقطه با SNR ماهواره مطابقت دارد. نقاط بر اساس زاویهٔ سمت (azimuth) و زاویهٔ فراز (elevation) ترسیم می‌شوند. شمال با زاویهٔ سمت ۰ درجه در بالای نمودار قرار دارد. درست در بالای سر (سمت‌الرأس) با زاویهٔ فراز ۹۰ درجه، در مرکز رسم می‌شود. برای تحلیل کیفیت نمای آسمان مشاهده‌شده توسط GPS مفید است. .RE .sp \fBpolarunused\fP .RS 4 مشابه نمودار polar، اما فقط ماهواره‌های استفاده‌نشده رسم می‌شوند. برای مشاهدهٔ بخش‌هایی از نمای آسمان آنتن که مسدود، تضعیف‌شده، زیر ماسک زاویهٔ فراز GPS بوده، یا به هر دلیلی رد شده‌اند کاربرد دارد. .RE .sp \fBpolarused\fP .RS 4 مشابه نمودار polar، اما فقط ماهواره‌هایی که برای محاسبهٔ تثبیت موقعیت به کار رفته‌اند رسم می‌شوند. برای مشاهدهٔ اینکه کدام بخش‌ها از نمای آسمان آنتن در تثبیت موقعیت استفاده می‌شوند مفید است. .RE .sp \fBtime\fP .RS 4 رسم اختلاف (دلتا) ساعت سیستم (زمان تصحیح‌شده با NTP) در برابر زمان GPS گزارش‌شده در پیام‌های PPS. محور افقی (X) زمان نمونه‌برداری بر حسب ثانیه از ابتدای رسم است. محور عمودی (Y) اختلاف ساعت سیستم نسبت به زمان GPS است. .RE .sp \fBinstrumented\fP .RS 4 رسم پروفایل ابزارسنجی‌شده. مؤلفه‌های گوناگون تاخیر کل بین زمان تثبیت موقعیت توسط GPS و زمانی که کلاینت تثبیت را دریافت می‌کند را رسم می‌نماید. .RE .sp به منظور توضیحات زیر، مفهوم «آغاز چرخهٔ گزارش» یا SORC (سرنام start\-of\-reporting\-cycle) زمانی است که چرخهٔ گزارش‌دهی یک دستگاه آغاز می‌شود. این زمان با زیر نظر گرفتن در دسترس بودن داده پس از یک دورهٔ سکوت به اندازهٔ کافی طولانی تشخیص داده می‌شود، به طوری که بتوان اطمینان حاصل کرد شکاف پایان چرخهٔ ارسال گزارش قبلی حسگر مشاهده شده است. تشخیص این شکاف نیازمند دستگاهی است که با نرخ 9600bps یا سریع‌تر کار کند. .sp به همین ترتیب، EORC یا «پایان چرخهٔ گزارش» (سرنام end\-of\-reporting\-cycle) زمانی است که دیمن آخرین جملهٔ مورد نیازش در چرخهٔ گزارش را مشاهده کرده و آمادهٔ ارسال تثبیت به کلاینت است. .sp مؤلفه‌های نمودار ابزارسنجی‌شده به شرح زیر هستند: .sp \fBFix latency\fP (تاخیر تثبیت) .RS 4 اختلاف زمانی (دلتا) میان زمان GPS و SORC. .RE .sp \fBRS232 time\fP (زمان RS232) .RS 4 زمان انتقال RS232 برای داده‌های ارسال‌شده در طول چرخه (محاسبه‌شده بر اساس حجم نویسه‌ها و نرخ باود). .RE .sp \fBAnalysis time\fP (زمان تحلیل) .RS 4 مقدار EORC منهای SORC منهای زمان RS232. مقدار زمان واقعی که دیمن به جای ورودی/خروجی (I/O) صرف محاسبات کرده است. .RE .sp \fBReception time\fP (زمان دریافت) .RS 4 زمان ارسال از دیمن تا لحظه‌ای که توسط \fBgpsprof\fP دریافت می‌شود. .RE .sp به دلیل اثرات بافرینگ RS232، گاهی اوقات پروفایلر درست در ابتدای نشست گزارش‌هایی با تاخیرهای بسیار بالا و غیرعادی تولید می‌کند. گزینهٔ \-m به شما امکان می‌دهد آستانه‌ای برای تاخیر (به عنوان مضربی از زمان چرخه) تعیین کنید که گزارش‌های بالاتر از آن نادیده گرفته شوند. .sp \fBuninstrumented\fP .RS 4 رسم تاخیر کل بدون ابزارسنجی. این حالت عمدتاً برای بررسی این که ابزارسنجی اعوجاج قابل‌توجهی ایجاد نکرده باشد مفید است. محور X زمان نمونه‌برداری به ثانیه از آغاز رسم است. محور Y تاخیر بر حسب ثانیه است. این حالت فقط زمان گزارش‌هایی را رسم می‌کند که حاوی تثبیت موقعیت باشند؛ مصنوعات و ناهماهنگی‌های پله‌ای‌شکل در نمودار زمانی به وجود می‌آیند که زمان سپری‌شده از گزارش‌های فاقد تثبیت با هم تجمیع شوند. .RE .sp \fB\-?\fP, \fB\-h\fP, \fB\-\-help\fP .RS 4 نمایش پیام راهنمای استفاده و خروج. .RE .sp \fB\-d FILE\fP, \fB\-\-dumpfile FILE\fP .RS 4 تخلیهٔ داده‌های نمودار بدون کدهای پیوست‌شدهٔ \fBgnuplot(1)\fP به یک فایل مشخص برای تحلیل‌های بعدی. .RE .sp \fB\-d LVL\fP, \fB\-\-debug LVL\fP .RS 4 تنظیم سطح اشکال‌زدایی (debug). .RE .sp \fB\-l FILE\fP, \fB\-\-logfile FILE\fP .RS 4 تخلیهٔ گزارش‌های خام JSON جمع‌آوری‌شده از دستگاه در FILE مشخص‌شده. .RE.sp \fB\-n SEC\fP, \fB\-\-wait SEC\fP .RS 4 تعداد ثانیه‌ها را برای نمونه‌برداری تنظیم می‌کند. مقدار پیش‌فرض ۱۰۰ است. بیشتر GPSها طوری پیکربندی شده‌اند که در هر ثانیه یک موقعیت (fix) بفرستند، بنابراین ۱۰۰ نمونه طی ۱۰۰ ثانیه ثبت خواهد شد. .RE .sp \fB\-r\fP, \fB\-\-redo\fP .RS 4 رسم دوباره نمودار از روی یک فایل گزارش JSON (مانند خروجی \fB\-l, logfile\fP) از ورودی استاندارد. با انتخاب این گزینه، هر دو گزینهٔ \fB\-n, \-\-wait\fP و \fB\-l, \-\-logfile\fP نادیده گرفته می‌شوند. .RE .sp \fB\-S STR\fP, \fB\-\-subtitle STR\fP .RS 4 یک رشتهٔ متنی را برای قرار گرفتن به عنوان زیرعنوان در نمودار تعیین می‌کند. این متن زیر عنوان اصلی قرار خواهد گرفت. .RE .sp \fB\-t STR\fP, \fB\-\-title STR\fP .RS 4 یک رشتهٔ متنی را به عنوان عنوان نمودار تعیین می‌کند. این متن جایگزین عنوان پیش‌فرض می‌شود. .RE .sp \fB\-T TERM\fP, \fB\-\-terminal TERM\fP .RS 4 تنظیم نوع ترمینال (terminal) را در کد \fBgnuplot(1)\fP مشخص می‌کند. کاربرد متداول آن "\fB\-T png\fP" یا "\fB\-T pngcairo\fP" است که به \fBgnuplot(1)\fP اعلام می‌کند یک فایل PNG بنویسد. ترمینال پیش‌فرض "x11" است. .sp نصب‌های مختلف \fBgnuplot(1)\fP از انواع متفاوتی از ترمینال پشتیبانی می‌کنند. ممکن است انواع ترمینال‌های مختلف برای شما بهتر از بقیه کار کنند. "\fB\-T png\fP" تصاویر PNG تولید می‌کند. از "\fB\-T jpeg\fP" برای تولید تصاویر JPEG استفاده کنید. "\fB\-T pngcairo\fP" اغلب بهترین کارایی را دارد، اما در برخی توزیع‌ها پشتیبانی نمی‌شود. یک نوع ترمینال یکسان ممکن است در توزیع‌های مختلف عملکردهای بسیار متفاوتی داشته باشد. .sp برای دیدن این‌که کدام انواع ترمینال توسط نسخهٔ \fBgnuplot(1)\fP شما پشتیبانی می‌شوند: .RE .sp .if n .RS 4 .nf .fam C gnuplot \-e "set terminal" .fam .fi .if n .RE .SH "آرگومان‌ها (ARGUMENTS)" .sp به‌طور پیش‌فرض، کلاینت‌ها داده‌ها را از دیمن محلی \fBgpsd\fP که روی localhost و با درگاه پیش‌فرض GPSD یعنی 2947 اجرا می‌شود جمع‌آوری می‌کنند. آرگومان اختیاری برای هر کلاینت می‌تواند این رفتار را بازنویسی کند: \fB[server[:port[:device]]]\fP .sp برای توضیحات و مثال‌های بیشتر، بخش \fBARGUMENTS\fP را در صفحهٔ راهنمای \fBgps\fP(1) ببینید. .SH "سیگنال‌ها (SIGNALS)" .sp ارسال SIGUSR1 به یک نمونهٔ در حال اجرا باعث می‌شود یک پیام اتمام در خروجی خطای استاندارد بنویسد و پردازش را ادامه دهد. اولین عدد در پیام راه‌اندازی، شناسه فرآیند (process ID) برای ارسال سیگنال است. .SH "مثال‌ها (EXAMPLES)" .sp برای نمایش نمودار، از \fBgnuplot(1)\fP استفاده کنید. بنابراین، به عنوان مثال برای نمایش نمودار پراکندگی فضایی پیش‌فرض روی نمایشگر x11 خود، این دستور را اجرا کنید: .sp .if n .RS 4 .nf .fam C gpsprof | gnuplot \-p .fam .fi .if n .RE .sp برای تولید یک فایل تصویری: .sp .if n .RS 4 .nf .fam C gpsprof \-T png | gnuplot > image.png .fam .fi .if n .RE .sp برای تولید یک نمودار قطبی، و ذخیرهٔ داده‌های GPS برای نمودارهای بعدی: .sp .if n .RS 4 .nf .fam C gpsprof \-f polar \-T jpeg \-l polar.json | gnuplot > polar.png .fam .fi .if n .RE .sp سپس برای ساخت نمودارها و تصاویر PNG متناظر polarused و polarunused از داده‌های GPS که به‌تازگی ذخیره شده‌اند: .sp .if n .RS 4 .nf .fam C gpsprof \-f polarused \-T jpeg \-r < polar.json > polarused.plot gnuplot < polarused.plot > polarused.png gpsprof \-f polarunused \-T jpeg \-r < polar.json > polarunused.plot gnuplot < polarunused.plot\& > polarunused.png .fam .fi .if n .RE .sp می‌توانید مراحل را تفکیک کنید، تا نیازی به اجرای کل زنجیره به صورت هم‌زمان نباشد. برای اینکه بتوانید بدون نیاز به جمع‌آوری مجدد تمام داده‌ها تنظیمات را تغییر دهید. به این صورت: .sp .if n .RS 4 .nf .fam C gpspipe \-w \-x 3600 ::/dev/ttyS0 > MY.raw gpsdecode\& < MY.raw > MY.json gpsprof \-r \-T pngcairo \-t "MY Title" < MY.json > MY.plt gnuplot MY.plt > MY.png display MY.png .fam .fi .if n .RE .sp دستور \fBgpspipe\fP یک ساعت از داده‌های خام دستگاه محلی \fBgpsd\fP در مسیر /dev/ttyS0 را در MY.raw ذخیره می‌کند. تکمیل آن یک ساعت زمان خواهد برد. .sp دستور \fBgpsdecode\fP داده‌های خام موجود در MY.raw را به یک فایل JSON متعلق به \fBgpsd\fP به نام MY.json تبدیل می‌کند. .sp دستور \fBgpsprof\fP فایل MY.json را می‌خواند و یک برنامهٔ \fBgnuplot\fP در MY.plt ایجاد می‌کند. .sp دستور \fBgnuplot\fP برنامهٔ موجود در MY.plt را اجرا کرده و فایل تصویری MY.png را تولید می‌کند. .sp برنامهٔ \fBdisplay\fP فایل MY.png را روی میزکار شما نمایش می‌دهد..SH "مقادیر بازگشتی (RETURN VALUES)" .sp \fB0\fP .RS 4 در صورت موفقیت. .RE .sp \fB1\fP .RS 4 در صورت شکست. .RE .SH "همچنین ببینید (SEE ALSO)" .sp \fBgpsd\fP(8), \fBdisplay\fP(1), \fBgnuplot\fP(1), \fBgpsctl\fP(1), \fBgps\fP(1), \fBlibgps\fP(3), \fBlibgpsmm\fP(3), \fBgpsprof\fP(1), \fBgpsfake\fP(1). .SH "منابع (RESOURCES)" .sp \fBوبگاه پروژه:\fP \c .URL "https://gpsd.io" "" "" .SH "کپی‌رایت و تکثیر (COPYING)" .sp حق نشر این فایل در سال 2013 متعلق به پروژهٔ GPSD است .br SPDX\-License\-Identifier: BSD\-2\-clause .SH "نویسنده (AUTHOR)" .sp Eric S. Raymond