@@ -746,50 +746,35 @@ float cn0_est(cn0_est_state_t *s, float I, float Q)
746746}
747747
748748void calc_navigation_measurement (u8 n_channels , channel_measurement_t meas [],
749- navigation_measurement_t nav_meas [], double nav_time ,
750- ephemeris_t ephemerides [])
751- {
752- channel_measurement_t * meas_ptrs [n_channels ];
753- navigation_measurement_t * nav_meas_ptrs [n_channels ];
754- ephemeris_t * ephemerides_ptrs [n_channels ];
755-
756- for (u8 i = 0 ; i < n_channels ; i ++ ) {
757- meas_ptrs [i ] = & meas [i ];
758- nav_meas_ptrs [i ] = & nav_meas [i ];
759- ephemerides_ptrs [i ] = & ephemerides [meas [i ].sid .sat ];
760- }
761-
762- calc_navigation_measurement_ (n_channels , meas_ptrs , nav_meas_ptrs , nav_time , ephemerides_ptrs );
763- }
764-
765- void calc_navigation_measurement_ (u8 n_channels , channel_measurement_t * meas [], navigation_measurement_t * nav_meas [], double nav_time , ephemeris_t * ephemerides [])
749+ navigation_measurement_t nav_meas [],
750+ double nav_time , const ephemeris_t * e [])
766751{
767752 double TOTs [n_channels ];
768753 double min_TOF = - DBL_MAX ;
769754 double clock_err [n_channels ], clock_rate_err [n_channels ];
770755
771756 for (u8 i = 0 ; i < n_channels ; i ++ ) {
772- TOTs [i ] = 1e-3 * meas [i ]-> time_of_week_ms ;
773- TOTs [i ] += meas [i ]-> code_phase_chips / 1.023e6 ;
774- TOTs [i ] += (nav_time - meas [i ]-> receiver_time ) * meas [i ]-> code_phase_rate / 1.023e6 ;
757+ TOTs [i ] = 1e-3 * meas [i ]. time_of_week_ms ;
758+ TOTs [i ] += meas [i ]. code_phase_chips / 1.023e6 ;
759+ TOTs [i ] += (nav_time - meas [i ]. receiver_time ) * meas [i ]. code_phase_rate / 1.023e6 ;
775760
776761 /** \todo Maybe keep track of week number in tracking channel
777762 state or derive it from system time. */
778- nav_meas [i ]-> tot .tow = TOTs [i ];
779- gps_time_match_weeks (& nav_meas [i ]-> tot , & ephemerides [i ]-> toe );
763+ nav_meas [i ]. tot .tow = TOTs [i ];
764+ gps_time_match_weeks (& nav_meas [i ]. tot , & e [i ]-> toe );
780765
781- nav_meas [i ]-> raw_doppler = meas [i ]-> carrier_freq ;
782- nav_meas [i ]-> snr = meas [i ]-> snr ;
783- nav_meas [i ]-> sid . sat = meas [i ]-> sid . sat ;
766+ nav_meas [i ]. raw_doppler = meas [i ]. carrier_freq ;
767+ nav_meas [i ]. snr = meas [i ]. snr ;
768+ nav_meas [i ]. sid = meas [i ]. sid ;
784769
785- nav_meas [i ]-> carrier_phase = meas [i ]-> carrier_phase ;
786- nav_meas [i ]-> carrier_phase += (nav_time - meas [i ]-> receiver_time ) * meas [i ]-> carrier_freq ;
770+ nav_meas [i ]. carrier_phase = meas [i ]. carrier_phase ;
771+ nav_meas [i ]. carrier_phase += (nav_time - meas [i ]. receiver_time ) * meas [i ]. carrier_freq ;
787772
788- nav_meas [i ]-> lock_counter = meas [i ]-> lock_counter ;
773+ nav_meas [i ]. lock_counter = meas [i ]. lock_counter ;
789774
790775 /* calc sat clock error */
791- calc_sat_state (ephemerides [i ], nav_meas [i ]-> tot ,
792- nav_meas [i ]-> sat_pos , nav_meas [i ]-> sat_vel ,
776+ calc_sat_state (e [i ], nav_meas [i ]. tot ,
777+ nav_meas [i ]. sat_pos , nav_meas [i ]. sat_vel ,
793778 & clock_err [i ], & clock_rate_err [i ]);
794779
795780 /* remove clock error to put all tots within the same time window */
@@ -798,14 +783,14 @@ void calc_navigation_measurement_(u8 n_channels, channel_measurement_t* meas[],
798783 }
799784
800785 for (u8 i = 0 ; i < n_channels ; i ++ ) {
801- nav_meas [i ]-> raw_pseudorange = (min_TOF - TOTs [i ])* GPS_C + GPS_NOMINAL_RANGE ;
786+ nav_meas [i ]. raw_pseudorange = (min_TOF - TOTs [i ])* GPS_C + GPS_NOMINAL_RANGE ;
802787
803- nav_meas [i ]-> pseudorange = nav_meas [i ]-> raw_pseudorange \
788+ nav_meas [i ]. pseudorange = nav_meas [i ]. raw_pseudorange \
804789 + clock_err [i ]* GPS_C ;
805- nav_meas [i ]-> doppler = nav_meas [i ]-> raw_doppler + clock_rate_err [i ]* GPS_L1_HZ ;
790+ nav_meas [i ]. doppler = nav_meas [i ]. raw_doppler + clock_rate_err [i ]* GPS_L1_HZ ;
806791
807- nav_meas [i ]-> tot .tow -= clock_err [i ];
808- nav_meas [i ]-> tot = normalize_gps_time (nav_meas [i ]-> tot );
792+ nav_meas [i ]. tot .tow -= clock_err [i ];
793+ nav_meas [i ]. tot = normalize_gps_time (nav_meas [i ]. tot );
809794 }
810795}
811796
0 commit comments