groops-devs / groops

A software toolkit for gravity field recovery and GNSS processing
GNU General Public License v3.0
185 stars 107 forks source link

Clock Parametrization #67

Closed chilk-gnss closed 2 years ago

chilk-gnss commented 2 years ago

Description

Dear GROOPS Developers,

I wanted to estimate the clock biases using a network of receivers. I have the following:

1). coreStations.txt : to use for processing the clock biases 2). stationList.txt: specific receivers to use in the zero mean condition 3). satellitePRNs.txt: specific transmitters to use in the zero mean condition

Note: 1, 2, and 3 are to be input as a file string tables.

Question 1 In case I only need the clocks and position solutions, would you advise how I can go about it. NB: When I try deploy PPP with more stations like those mentioned above, sometimes the software fails due to something to do with cholesky decomposition. This happens for all constellations except GPS only processing.

Question 2 I have carefully reviewed the GROOPS processing steps. However, I cannot find how I can get clock solution for each satellite system. When I processed the example scenario, I got a single solution.

=== Example solution for GRAZ station: receiverClock_2020-01-01.graz.txt

I, therefore, wonder if you could assist on how I can output either receiver or satellite clock biases for different systems.

Thanks in advance.

Chilk.

GROOPS version

main (latest commit)

Operating systems

Log output

No response

zhedumi commented 2 years ago

Hi,

I need some additional info before I can give an answer to your question. What kind of Parametrization do you have in mind? Because different parametrizations might requiere a Network estimation instead of PPP approach.

What data are you specifically using for observations, satellites, troposphere etc.? Do you use any satellite orbit products, code/phase biases and satellite clock product? Or do you just want to do PPP and generate the receiver clock errors?

To your second question: I do not understand what you mean with you want the receiver clock bias in different systems? A receiver always has only 1 bias since it usually only has 1 receiver clock which is used to track the signals within the receiver hardware. Changing the aligned time system would only lead to a linear addition (GPS-Galileo Time Offset) to the receiver clock biases. Or is your intend to investigate these time offsets?

For your information when we estimate a gnssNetworkEstimation we use a zero-mean constraint over all GPS systems to align the reference time to GPS time. Which is just done by selecting GPS satellites only within Clocks in the selectTransmittersZeroMean by Wildcard and using name = G*. See Strasser 2022 chapter 6.3 for more info regarding this if interested.

Best regards,

Patrick

chilk-gnss commented 2 years ago

Hi Patrick,

Many thanks for your response.

Sorry that I did not explain better what I am trying to do.

Firstly, I would like to compute the inter-frequency clock biases using a network of receivers. This should be done in a network estimation other than PPP. Could you provide advice on this matter?

Secondly, I need to check the impact of the estimated IFCB on PPP and this should be performed in a PPP scenario. This will be a normal PPP test using the .CLK, .SP3, .OBX, and .BIA products. During this, receiver clock errors will be generated (I know how to estimate the receiver clocks). However, I am not sure to incorporate the IFCB into the PPP script to test their impact. Could you provide advice on this matter?

Thirdly, yes each receiver should have one receiver clock bias. Rather, the bias which was being referred to was the ISB or the time offset between GPS and any other system such as Galileo, GLO, etc. Therefore, could you advise how I can estimate these biases. You may give an example script for this.

I will go through the Strasser 2022 chapter 6.3 as advised. I will come back to you after checking. While I plan to accomplish the issues regarding the zero-mean condition, could please assist with the issues raised above.

Kind regards,

Chilk.

Galatiy commented 2 years ago

This is similar to my question.

I am not sure if the IFCBs are completely eliminated by the carrier phase time-variant observable specific biases in GROOPS.

Looking forward to hearing from you, Patrick.

Thanks

zhedumi commented 2 years ago

Yeah now I understand the question/problem. Within our parametrization we do the following Within groops we only have 1 timesystem and all clock biases are aligned towards that. All satelites/receivers only have 1 clock and everything else will be estimated into the signal biases.

So in my knowledge I do not think it is possible to compute IFCB with groops due to the above mentioned parametrization. The parametrization for IFCBs is fully absorbed by our code/phase biases estimations. I will look into it if there is some way to parametrize it differnt but I do not think it is possible.

Within Strasser 2022 the parametrization explained within the chapter 5.

Best Regards,

Patrick

chilk-gnss commented 2 years ago

Hi Patrick,

Many thanks for the clarification.

I have gone through the recommended resource https://openlib.tugraz.at/reprocessing-multiple-gnss-constellations-and-a-global-station-network-from-1994-to-2020-with-the-raw-observation-approach-2022 you provided.

Regards,

Chilk.