Tham chiếu cấu trúc GnssClock

Tham chiếu cấu trúc GnssClock

#include < gps.h >

Trường dữ liệu

size_t  size
 
GnssClockFlags   cờ
 
int16_t  leap_second
 
int64_t  time_ns
 
double  time_uncertainty_ns
 
int64_t  full_bias_ns
 
double  bias_ns
 
double  bias_uncertainty_ns
 
double  drift_nsps
 
double  drift_uncertainty_nsps
 
uint32_t  hw_clock_discontinuity_count
 

Nội dung mô tả chi tiết

Biểu thị thời gian ước tính của đồng hồ GPS.

Định nghĩa tại dòng 1455 của tệp gps.h .

Tài liệu về trường

bias_ns kép

Độ lệch dưới nano giây. Giá trị ước tính sai số cho tổng của giá trị này và full_bias_ns là bias_uncertainty_ns

Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_BIAS. Nếu GPS đã tính toán một thông tin sửa lỗi vị trí. Giá trị này là bắt buộc nếu bộ thu có thời gian GPS ước tính.

Định nghĩa tại dòng 1534 của tệp gps.h .

double bias_uncertainty_ns

Độ không chắc chắn 1-Sigma liên quan đến thời gian GPS ước tính cục bộ (sai số đồng hồ) tính bằng nano giây. Độ không chắc chắn được biểu thị dưới dạng một giá trị tuyệt đối (một bên).

Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_BIAS_UNCERTAINTY. Giá trị này là bắt buộc nếu bộ thu có thời gian GPS ước tính.

Định nghĩa tại dòng 1545 của tệp gps.h .

drift_nsps đôi

Độ lệch của đồng hồ tính bằng nano giây (mỗi giây).

Giá trị dương có nghĩa là tần số cao hơn tần số danh nghĩa và (full_bias_ns + bias_ns) đang tăng lên theo thời gian.

Giá trị này chứa "mức độ không chắc chắn về độ lệch". Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_DRIFT.

Giá trị này là bắt buộc nếu bộ thu có thời gian GNSS ước tính

Định nghĩa tại dòng 1559 của tệp gps.h .

double drift_uncertainty_nsps

Độ không chắc chắn 1-Sigma liên quan đến độ trễ của đồng hồ tính bằng nano giây (mỗi giây). Độ không chắc chắn được biểu thị dưới dạng một giá trị tuyệt đối (một bên).

Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY. Nếu GPS đã tính toán một thông tin sửa lỗi vị trí, thì trường này là bắt buộc và phải được điền sẵn.

Định nghĩa tại dòng 1569 của tệp gps.h .

Một tập hợp cờ cho biết tính hợp lệ của các trường trong cấu trúc dữ liệu này.

Định nghĩa tại dòng 1463 của tệp gps.h .

int64_t full_bias_ns

Sự khác biệt giữa đồng hồ phần cứng (trường "time") bên trong bộ thu GPS và thời gian GPS thực kể từ 00:00Z ngày 6 tháng 1 năm 1980, tính bằng nano giây.

Dấu của giá trị được xác định bằng phương trình sau: thời gian GPS ước tính cục bộ = time_ns - (full_bias_ns + bias_ns)

Giá trị này là bắt buộc nếu bộ thu có thời gian GPS ước tính. Nếu thời gian được tính toán là cho một chòm sao không phải GPS, thì bạn phải áp dụng độ lệch thời gian của chòm sao đó so với GPS để điền giá trị này. Ước tính lỗi cho tổng của giá trị này và bias_ns là bias_uncertainty_ns và phương thức gọi chịu trách nhiệm sử dụng độ không chắc chắn này (giá trị này có thể rất lớn trước khi thời gian GPS được giải quyết). Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_FULL_BIAS.

Định nghĩa tại dòng 1523 của tệp gps.h .

uint32_t hw_clock_discontinuity_count

Trường này là bắt buộc khi có bất kỳ giá trị gián đoạn nào trong đồng hồ phần cứng.

"Đứt đoạn" dùng để chỉ trường hợp chuyển đổi từ nguồn xung nhịp này sang nguồn xung nhịp khác. Một bộ dao động tinh thể chạy tự do (XO) thường không được có bất kỳ giá trị gián đoạn nào và bạn có thể đặt và để giá trị này ở mức 0.

Tuy nhiên, nếu giá trị time_ns (đồng hồ phần cứng) bắt nguồn từ một tổ hợp các nguồn không mượt mà như XO thông thường hoặc bị dừng và khởi động lại, thì giá trị này sẽ được tăng lên mỗi khi xảy ra sự gián đoạn. (Ví dụ: giá trị này có thể bắt đầu từ 0 khi khởi động thiết bị và tăng lên mỗi khi có sự thay đổi về tính liên tục của xung nhịp. Trong trường hợp hiếm gặp giá trị này đạt đến toàn bộ thang đo, bạn phải thực hiện tính năng chuyển tiếp (không phải kẹp) để giá trị này tiếp tục thay đổi trong các sự kiện không liên tục tiếp theo.)

Mặc dù con số này không thay đổi giữa các báo cáo GnssClock , nhưng bạn có thể giả định rằng giá trị time_ns đã chạy liên tục, ví dụ: bắt nguồn từ một đồng hồ chất lượng cao (tương tự như XO hoặc tốt hơn, thường được dùng trong quá trình lấy mẫu tín hiệu GNSS liên tục).

Theo dự kiến, đặc biệt là trong những khoảng thời gian có ít tín hiệu GNSS, đồng hồ phần cứng sẽ không bị gián đoạn càng lâu càng tốt, vì điều này giúp tránh việc sử dụng (lãng phí) một phép đo GNSS để giải quyết lại hoàn toàn độ lệch và độ trễ của đồng hồ GPS, khi sử dụng các phép đo đi kèm, từ các báo cáo GnssData liên tiếp.

Định nghĩa tại dòng 1600 của tệp gps.h .

int16_t leap_second

Dữ liệu về giây nhuận. Dấu của giá trị được xác định bằng phương trình sau: utc_time_ns = time_ns - (full_bias_ns + bias_ns) - leap_second * 1.000.000.000

Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_LEAP_SECOND.

Định nghĩa tại dòng 1473 của tệp gps.h .

size_t size

đặt thành sizeof(GnssClock)

Định nghĩa tại dòng 1457 của tệp gps.h .

int64_t time_ns

Giá trị đồng hồ nội bộ của bộ thu GNSS. Đây là giá trị đồng hồ phần cứng cục bộ.

Đối với đồng hồ phần cứng cục bộ, giá trị này dự kiến sẽ tăng dần trong khi đồng hồ phần cứng vẫn bật nguồn. (Đối với trường hợp đồng hồ phần cứng không bật liên tục, hãy xem trường hw_clock_discontinuity_count). Bạn có thể lấy giá trị ước tính thời gian GPS của bộ thu bằng cách trừ tổng full_bias_ns và bias_ns (nếu có) khỏi giá trị này.

Thời gian GPS này dự kiến là thời gian GPS hiện tại được ước tính chính xác nhất mà bộ thu GNSS có thể đạt được.

Bạn có thể cung cấp độ chính xác dưới nano giây thông qua trường "bias_ns". Giá trị này chứa "mức độ không chắc chắn về thời gian".

Đây là trường bắt buộc.

Định nghĩa tại dòng 1494 của tệp gps.h .

double time_uncertainty_ns

Độ không chắc chắn 1-Sigma liên kết với thời gian của đồng hồ tính bằng nano giây. Độ không chắc chắn được biểu thị dưới dạng một giá trị tuyệt đối (một bên).

Nếu có dữ liệu, "cờ" phải chứa GNSS_CLOCK_HAS_TIME_UNCERTAINTY. Giá trị này thực tế bằng 0 (đây là đồng hồ cục bộ tham chiếu, theo đó tất cả các thời gian khác và độ không chắc chắn về thời gian được đo lường). (Do đó, trường này có thể không được cung cấp, theo cờ GNSS_CLOCK_HAS_TIME_UNCERTAINTY hoặc được cung cấp và đặt thành 0.)

Định nghĩa tại dòng 1506 của tệp gps.h .


Tài liệu cho cấu trúc này được tạo từ tệp sau:
  • hardware/libhardware/include/hardware/ gps.h