A method for performing a correction of an ionospheric error affecting pseudo-range measurements in a global navigation satellite system (GNSS) receiver receiving a plurality of satellite signals from a plurality of satellites of a constellation of satellites, comprising, in a navigation processing procedure performed at a GNSS receiver:
- receiving pseudo-range measurements previously calculated by the GNSS receiver obtained from a first carrier signal and a second carrier signal in the satellite signals in global positioning system (GPS) bands L1 and L5;
- performing a correction procedure of the pseudo-range measurements including:
- compensating the pseudo-range measurements for predictable errors obtaining corrected pseudo-ranges;
- and
- applying to the corrected pseudo-range measurements a further calculation to obtain further ionospheric error correction values;
- performing a position calculation operation processing the corrected pseudo-range measurements and the ionospheric error correction values and outputting position, velocity and time information of the GNSS receiver;
- wherein the applying to the corrected pseudo-ranges a further ionospheric error correction calculation to obtain further ionospheric error correction values includes:
- performing one or more checking operations enabling performing an ionosphere free linear combination on the pseudo-range measurements obtaining ionospheric free linear combination pseudo-range measurements and supplying the ionospheric free linear combination to the position calculation operation only;
- otherwise performing a standard ionospheric error correction derived from GNSS navigation data by Klobuchar/Nequick models and/or satellite-based augmentation system (SBAS), supplying the correspondingly standard ionospheric corrected pseudo-range measurements to the position calculation operation;
- and
- the performing one or more checking operations including evaluating a solar activity and enabling performing the ionospheric free linear combination if the solar activity is above a given threshold;
- the performing one or more checking operations includes checking if the GNSS receiver is in an urban environment including inputting the standard pseudo-range measurements to a least square regression operation to calculate raw user position data from pseudo-ranges data, supplying residual errors for each pseudo-range measurement derived from the least square calculation, picking the maximum error value among such residual errors, performing a low pass filtering, in particular infinite impulse response filtering, on the maximum residual error value obtaining a urban environment indication value checking if the urban environment indication value is greater than a respective threshold in the affirmative detecting and signaling that the receiver is in an urban condition, otherwise an open sky condition is detected and signaled.