Electronics > Beginners
User position from GPS Satellite position ?
(1/2) > >>
ammjy:

Hello, EEVblog peoples ! always thanks you for your kind help.

I have a question about define user position from GPS Satellite positions.

Now, I have following data.

GDOP
1st  Satellite X, Y, Z coordinates and Pseudo Range of 1st Satellite.
2nd Satellite X, Y, Z coordinates and Pseudo Range of 2nd Satellite.
3rd  Satellite X, Y, Z coordinates and Pseudo Range of 3rd Satellite.
4th  Satellite X, Y, Z coordinates and Pseudo Range of 4th Satellite.

I have tried already for one week. but, Still I couldn't define and calculate the user position.
I have used following information to calculate.
pr = sqrt( (x-X)^2 + (y-Y)^2 + (z-Z)^2 )
(https://www.math.tamu.edu/~dallen/physics/gps/gps.htm)

might be, only with these information, define user position is impossible ?

Please, let me know !
hamster_nz:
Yes, it is possible.

How did you go from the time of transmission.to pseudoranges if you don't know your location (or at least a rough approximation).

Have a look at....

https://github.com/hamsternz/Full_Stack_GPS_Receiver

And instant message me!
ammjy:
Hello, Mr. Hamster_nz !

Thanks you for your time. and I really appreciate it for your kind, Open help !

Mr. Hamster_nz, If you don't mind, Could you explain it to me in more detail ?
"How did you go from the time of transmission.to pseudoranges if you don't know your location (or at least a rough approximation)."

I have recorded at a fixed position.
Again, Thanks you for your time and kind help, Mr. Hamster_nz.

hamster_nz:

--- Quote from: ammjy on June 24, 2019, 10:12:10 am ---Hello, Mr. Hamster_nz !

Thanks you for your time. and I really appreciate it for your kind, Open help !

Mr. Hamster_nz, If you don't mind, Would you describe it in more detail ?
"How did you go from the time of transmission.to pseudoranges if you don't know your location (or at least a rough approximation)."

I have recorded at a fixed position.
Again, Thanks you for your time and kind help, Mr. Hamster_nz.

--- End quote ---

If you haven't been handed the data from somebody else, when you are tracking the Space Vehicle (SVs) you will end up with their orbital elements (ephemeris), and be able to compute the time on the SV.

Using the time, you can calculate the Earth Centered, Earth Fixed (ECEF) position of each of the SVs, at the time of transmission.

You can treat these as a set of linear equations, and work out approximately where you are.

Only then can you calculate your pseudoranges - (and yes, it is the XYZ of the SV less the XYZ at the approximate position). This should be within about 100m of the position.  And yes, you can verify them by checking that the distance between the SV and position divided by the speed of light is close to the difference in time from the fix and the space vehicle.


--- Code: ---Location is (  10796441.72686,  -11059550.95575,   21468769.87626) @ 466786.68844515
Location is (  25624920.03297,    5493913.05874,    6376813.14970) @ 466786.68314817
Location is (  17562608.84385,   17600783.06751,    9306656.31975) @ 466786.68228779
Location is (  12436678.35329,    8851464.38357,   21813028.15234) @ 466786.68876178
Location is (  18466438.20510,    6615544.19174,   17512994.82941) @ 466786.69042944
Location is (  20893698.98803,   -8968194.45015,   14090804.00502) @ 466786.68741330

Solved is  (      3851785.003462,        -78309.097013,       5066312.772752) @             0.003504 (alt       6364739.204313)
Lat/Lon/Alt :            52.934773,            -1.164697,                176.8

--- End code ---

You can then tweak the pseudoranges to make up for ionosphere delays and other known errors, as you now can calculate how high the SVs are in the sky, so the distance that the GPS signal has traveled through the ionosphere and troposphere (that slow the GPS signals down a small amount).

You can then solve again to get the more accurate fix.
hamster_nz:
I've made a Google Sheet that verifies the data in the repo's  README file (and I corrected the formatting of the data in the README too - opps!).

It uses exactly the method you suggest. Sadly the time numbers in the README are only shown to 4 decimal places (or about 30km at the speed of light), but shows the method works. If really important to you, I can run some more data through it and change the formatting.

https://docs.google.com/spreadsheets/d/1-Zr-zA_fjM5zkbI52VVZSKTwKG9y_nBK9lxuGVhszeQ/edit?usp=sharing
Navigation
Message Index
Next page
There was an error while thanking
Thanking...

Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod