GeoscienceAustralia/ginan

Real time PPP example does not work well

whu-dyf opened this issue · 1 comments

Dear Ginan team

I run single-GPS real-time PPP by Ginan using the template of ex202.yaml, and the positioning results perform not well, is about dm level. Considering some table files seem unnecessary, I make some changes for ex202.yaml. I cannot solve this problem, could you provide me some advice? Thank you in advance!

image

Here are my configs for your information.

my_ex202.yaml

inputs:
    include_yamls:
        - input_metadata.yaml
        - input_streams_rover.yaml
        - processing_rover.yaml
        - mongo_outputs.yaml
        - debug_trace.yaml
    
outputs:
    metadata:
        config_description:     "my_ex202"

input_metadata.yaml

inputs:

    root_directory: /home/dyf/.vs/src/data/tmp-dwn/
    snx_files:  [ IGS0OPSSNX_20231830000_01D_01D_CRD.SNX ]
    atx_files:  [ igs20.atx                           ]  
    blq_files:  [ OLOAD_GO.BLQ                      ]  
    erp_files:  [ finals.data.iau2000.txt    ]

input_streams_rover.yaml

station_options:    # metadata from May 2023
    ALIC:
        receiver_type:  "SEPT POLARX5"                 # (string)
        antenna_type:   "LEIAR25.R3      NONE"       # (string)
        eccentricity:   [0.0000,   0.0000,   0.0015] # [floats]
        apriori_position:   [-4052052.8799, 4212835.96745,-2545104.4015] # [floats]
inputs:

    gnss_observations:
        inputs_root:    "https://<>:<>@ntrip.data.gnss.ga.gov.au/"

        rtcm_inputs:       
            -   "ALIC00AUS0"
        
    satellite_data:
        inputs_root:   "https://<>:<>@ntrip.data.gnss.ga.gov.au/"
        rtcm_inputs:
            - "BCEP00BKG0"
            - "SSRA00CNE0"
            
processing_options:
    ssr_inputs:
        ssr_antenna_offset: APC
    epoch_control:
        epoch_interval:         1
        wait_all_stations:      1
    gnss_general:   
        error_model:        elevation_dependent
        code_measurements:
            sigmas:         [0.3]
        phase_measurements:
            sigmas:         [0.003]


processing_rover.yaml

outputs:

    root_directory:                 outputs/<CONFIG>/
    ppp_sol:                              
        output:                     true         
        filename:                   <STATION><YYYY><DDD><HH>_<CONFIG>.POS
    gpx:
        output:                     true
        filename:                   <STATION><YYYY><DDD><HH>_<CONFIG>.GPX

estimation_parameters:
    stations:
        global:
            pos:
                estimated:          [true]
                sigma:              [100]
                proc_noise:         [100] 
            clk:
                estimated:          [true]
                sigma:              [1000]
                proc_noise:         [100]
            amb:
                estimated:          [true]
                sigma:              [1000]
                proc_noise:         [0]
            trop:
                estimated:          [true]
                sigma:              [0.3]
                proc_noise:         [0.0001]
            trop_grads:
                estimated:          [true]
                sigma:              [0.03]
                proc_noise:         [1.0E-6]
            ion_stec:
                estimated:          [true]
                sigma:              [200]
                proc_noise:         [10]
            code_bias:
                estimated:          [true]
                sigma:              [20]
                proc_noise:         [0]
            phase_bias:
                estimated:          [true]
                sigma:              [10]
                proc_noise:         [0]

processing_options:
    process_modes:
        ppp:                 true
    gnss_general:
        elevation_mask:                 10  #degrees
        rec_reference_system:           GPS
        sys_options:
            gps:
                process:                true
                reject_eclipse:         false
                zero_receiver_dcb:      true
                code_priorities:        [ L1C, L2W ]
            gal:
                process:                false
                reject_eclipse:         false
                zero_receiver_dcb:      true
                code_priorities:        [ L1C, L5Q, L1X, L5X ]
    gnss_models:
        troposphere:
            model:              gpt2
        ionospheric_component2:
            enable:             true
        ionospheric_component3:
            enable:             true
    filter_options:
        outlier_screening:
            max_filter_iterations:      5 
            max_prefit_removals:        3 
        station_chunking:
            enable:                     true
    model_error_checking:
        deweighting:
            deweight_factor:            1000
        ambiguities:
            outage_reset_limit:         5
            phase_reject_limit:         2
            reinit_on_all_slips:        true

station_options:
    global:
        phase_bias:
            enable:         true
            
satellite_options:
    global:
        phase_bias:
            enable:         true

I have successfully resolved this issue by making the following modifications: The source of "satpos" should be changed to SSR, and for IGS stations, "proc_noise" should be set to zero.

satellite_options:
    GPS:
        pos:
            sources:        [KALMAN, SSR, BROADCAST]
estimation_parameters:
    stations:
        global:
            pos:
                estimated:          [true]
                sigma:              [100]
                proc_noise:         [0]