## Question

Hello,
I am a graduate student at the University of New Mexico doing research
into the ionosphere. I am an Electrical Engineer and so I have never
worked with RINEX files before. I was directed to your toolbox suite and I
have been looking over that. I want to find the absolute slant TEC from
the observation files. I have learned that the ambiguities and biases of
the carrier phase and pseudorange play a huge role. when your tool solves for the TEC does
it ignore this? I was wondering if there is someone I might discuss this
with? It may be easier over the phone? I have spent a lot of time pouring
over the different Kalman filters and such and I would like to know if
there is an easy fix to this problem so I can get on with the rest of my
research.

Cassandra Mendonca

--

CassandraMendonca - 19 Feb 2009

## Answer

**If you answer a question - or have a question you asked answered by someone - please remember to edit the page and set the status to answered. The status is in a drop-down list below the edit box.**
Dear Ms. Mendonca,

I am going to provide you with a short background for how the slant TEC can be obtained from GPS measurements and a discussion of the different biases that are involved. I will explain what GPStk does and does not do in calculating the TEC, and explain why it does not do what it does not do. Because there are a few different ways to calculate the slant TEC in GPStk, I may not address your specific question. If you have a question about a specific process, I will need to know the details of your processing. Please excuse the introductory primer if you are familiar with the physics behind the GPS TEC measurement, but it helps me to define all of the possible errors in the measurement.

As the GPS signal passes through the ionospheric plasma, it is refracted and slowed. This bending and time delay is minuscule, but the GPS system is designed to be sensitive to tenths of nanoseconds. Typical ionospheric delays are in the tens of nanoseconds. Plasma is a dispersive medium, and delays the two GPS frequencies differently. GPS receivers are able to distinguish two separate observables at each frequency. These are the carrier phase and the psuedorange. The carrier phase is just the count of the number of waves that the receiver sees after it has acquired a lock on a given satellite. The second measurement is the psuedorange, which is a speed of light in a vacuum times the difference in the clock time from the decoded GPS message and the receivers clock time. Basically it is the time difference between when the signal left the satellite and when it gets to the receiver. However, there is no way to ensure that the clocks on the satellites and the receivers all start at the same time. So every satellite and receiver has an unknown clock bias. Similarly, the phase lock loops (PLL) used to count the carrier phase all begin counting with a random integer which is the phase ambiguity.

The slant ionospheric TEC can be obtained by differencing either the psuedoranges between the frequencies or the product of the wavelength and the carrier phase. The psuedorange difference is the most direct measurement of the TEC in that it is just the TEC (expressed in meters) plus the interfrequency bias in the satellite and the receiver and the differences between psuedorange noise terms between the channels. The phase difference is the negative of the TEC (in meters) plus the interfrequency biases, the phase noise difference and the difference in the phase ambiguities on each channel. The interfrequency biases are the time delays within the hardware caused by different path lengths from the receiver through the PLLs to the computer. They can also be viewed as the difference between the clock biases in L1 and L2. All total there are 2 equations for the slant TEC and 5 unknowns (the TEC, the differences in the interfrequency biases, the 2 noise difference and the phase ambiguity differences). Thus, the true absolute slant TEC cannot be known from a single slant measurement, and some form of solver is needed to calculate all of the unknowns.

The phase ambiguities have two problems. The first is discontinuities in the phase caused by cycle slips (where the PLL skips a few cycles) and short loss-of-lock events (where the PLL restarts counting the cycles from a new random number). These discontinuities are fixed in a linear continuity of the phase and psuedorange measurements that removes the ionospheric term. The second problem is that the magnitude of the phase ambiguities tends to be millions of cycles. The phase ambiguities can be removed by debiasing the phase, which is a process of subtracting the mean of the phase from the phase and adding the mean psuedorange. In GPStk, the phase discontinuity correction and phase debiasing are performed in the program DISCFIX.

The noise in phase in at least two orders of magnitude less than the noise in the psuedorange. So a more precise slant TEC is obtained from the debiased phase. However, this measurement will still contain the satellite and receiver interfrequency biases. The navigation message contains Tgd values, which are the official estimates of the satellite interfrequency biases. The GPStk program RESCOR will calculate the ionospheric TEC. There is a flag in RESCOR that removes the Tgd reported in the navigation message. The errors on the satellite interfrequency biases tend to less than 0.5 nanoseconds. However, there is not an easy way in which to remove the receivers interfrequency bias. They need treated by a solver and the GPStk does not have a method for estimating the receiver bias.

So the short answer to your question is:

- Run DISCFIX to correct for phase discontinuities and ambiguities.
- Run RESCOR to calculate the slant TEC and remove the satellite interfrequency bias.
- Create your own solver to calculate the receiver bias.

Please let me know if this does not answer your question.

--

TrevorGarner - 20 Feb 2009

An uncommonly clear explanation! Very helpful thanks

--

DominicFuller - 15 Mar 2009

Hello again,
Thank you so much for the explanation. I want to ask some more questions. I have installed and tested the build which has gone well and I also ran some the first two example codes which went well. I am now trying to run the DISCFIX and the RESCOR. Do I need to read and write the file first and then the DISCFIX? I ran just the Discfix by itself and gave it an obs file but I am not sure what myprn is. I followed the instructions and just gave myprn 1. when I compile I don't get any errors but when I ./example it says the actual file name on the next line pie12440.070.new and when I look at this it is just like a RINEX file. Would you be able to give instructions on how I run the discfix and rescor and then how do I output the files to look at?

Thanks again,

Cassandra Mendonca
action_save=1

--

CassandraMendonca - 30 Mar 2009

Dear

TrevorGarner!

First, thanks for your great explaination about ionospheric . I'm interest in

SlantTec these days, and here is a question for you.

I calculate

SlantTec with a PPP strategy. That mean I estimate

SlantTEC along with receiver position, clock, tropospheric and ambiguities from "P1 P2 L1 and L2". the receiver bias and satellite interfrequency are remove by the DCB file from CODE. My question is how can I know the estimated

SlantTEC is right? Some one check it with zero baseline, and do you know any better way to check it?

Thank you in advance.

Wei Yan

--

YanWei - 23 Mar 2010

Dear GPSTK,
Thanks for providing full sophisticated programmes to compute somany gps applications, we have been trying to retrieve TEC from gps reciver data, we could not get output file of

ResCor?, we have followed following syntax, please kindly help to get Slant TEC and its spatial maps.

DiscFix? --inputfile bela1500.14o --smooth --dt 30.0 --forceCA --Rinexfile dfbela150.14o

ResCor? --IF dfbela150.14o --OF iono150.14o --nav igs17424.sp3 --DSR --RxXYZ 1919020.1485 5511052.6614 2565510.704 --Callow --IonoHt 450.0 Rescor:Getcommandline caught an unkown exception end

ResCOr?
So please kindly help us to run both

DiscFIx? and

ResCor? successfully and get TEC values
regards c.p.simha,Scientist

--

CPrasannaSimhaSimha - 30 Dec 2014

--

PanagiotisElias - 26 Jan 2015

No such template def TMPL:DEF{PROMPT:supportquery}