Skip to content
This repository has been archived by the owner on Mar 30, 2020. It is now read-only.

πŸ›°οΈ CLI app for analyzing a sum signal generated by GPS satellites

License

Notifications You must be signed in to change notification settings

robin-hartmann/analyze-gps-sum-signal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›°οΈ analyze-gps-sum-signal

CLI app for analyzing a sum signal generated by GPS satellites

Usage

⚑ Deployment

These instructions will get you a release of this project up and running on your local machine, so that you can start using it.

πŸ“‹ Prerequisites

  • Node.js - JavaScript run-time environment

πŸš€ Getting Started

This package is not available on the npm registry, because it was developed as an educational project and is not suited for general use due to its limitations. So you will need to clone this repository and then use the following commands to set the project up and run it:

# in general you need run these commands
# in the root directory of the repository

# 1. install dependencies
npm i

## variant A
# 2. run via npm script
npm start --silent <args>

## variant B
# 2. make executable available globally
npm link

# 3. run via global executable
# can be called from any directory
analyze-gps-sum-signal <args>

πŸ›‘ Limitations

πŸ›°οΈ GPS Sequence

Format

  • list of numbers separated by spaces

Content

  • exactly 1023 signal sums
  • each satellite has a chip sequence length of 1023
  • satellite signals "wrap around"
    • this ensures that the signal sums always contain a satellite's complete signal sequence, even if it doesn't start at index 0 of the signal sums
    • e.g. if a satellite's signal sequence starts at index 42 of the signal sums, instead of just cutting off the last 42 chips (due to the length limitation), those chips are just place at the beginning of the signal sums
  • each satellite's signal sequence is encoded using a chip sequence generated by a Gold code generator with the following configuration
    • mother sequence 1 uses the bits on the indexes 2, 9 (zero-based) when rotating
    • mother sequence 2 uses the bits on the indexes 1, 2, 5, 7, 8, 9 (zero-based) when rotating
    • for each satellite a different register sum is used according to the following table:
satellite id register sum (zero based index)
1 1βŠ•5
2 2βŠ•6
3 3βŠ•7
4 4βŠ•8
5 0βŠ•8
6 1βŠ•9
7 0βŠ•7
8 1βŠ•8
9 2βŠ•9
10 1βŠ•2
11 2βŠ•3
12 4βŠ•5
13 5βŠ•6
14 6βŠ•7
15 7βŠ•8
16 8βŠ•9
17 0βŠ•3
18 1βŠ•4
19 2βŠ•5
20 3βŠ•6
21 4βŠ•7
22 5βŠ•8
23 0βŠ•2
24 3βŠ•5

This means the Gold code generator for satellite 1 looks like this:

Gold code generator for satellite 1

πŸ› οΈ Development

These instructions will get you a copy of this project up and running on your local machine for development and testing purposes.

πŸ“‹ Prerequisites

Software

  • Node.js - JavaScript run-time environment

VS Code Extensions

This project is intended to be used with Visual Studio Code and the following extensions are recommended:

  • ESLint - Integrates ESLint JavaScript into VS Code

🧰 Built With

  • meow - CLI app helper

πŸ‘¨β€πŸ’» Authors

  • Robin Hartmann - Project realization - robin-hartmann
  • Dirk Hoffmann - Project idea, configurations, examples and Gold code generator graphic - dirkwhoffmann

πŸ“ƒ License

This project is licensed under the MIT License - see the LICENSE file for details.

Releases

No releases published

Packages

No packages published