A method of calculating ionospheric scintillation, comprising: measuring one or more radio signals received by an antenna of a monitoring device, each radio signal from a corresponding orbital navigation satellite located beyond an ionosphere to the monitoring device located near the Earth's surface; the method characterised in that it further comprises: calculating a perturbation of the radio signal that is corrected of motion of the monitoring device wherein the calculating the perturbation comprises: reading, within a 50 to 100 seconds time window, high rate integrated carrier phase and low rate or high rate pseudorange and status flag; interpolating the phase, pseudorange and status flat data of the radio signal in the window of time onto a common high rate timestamp; calculating an average offset between the pseudorange and the phase for each of the orbital navigation satellites corresponding to each radio signal; adding the calculated offset to the high rate phase for each of the orbital navigation satellites corresponding to each radio signal as corrected high rate phase data; and calculating a high rate position of the monitoring device using the corrected high rate phase data; calculating the distance between the monitoring device and the orbital navigation satellite for each of the orbital navigation satellites corresponding to each radio signal using the calculated high rate navigation solution position; calculating a change of a distance between the monitoring device and each of the orbital navigation satellites using the calculated high rate navigation solution position for each time in the window of time by subtracting an initial reference distance; converting the change of the distance from units of metres to units of cycles with reference to a wavelength of the radio signal; adjusting the high rate phase data by subtracting the converted change of the distance as adjusted high rate phase data; and calculating the phase of the perturbation using the adjusted high rate phase data. reading, within a 50 to 100 seconds time window, high rate integrated carrier phase and low rate or high rate pseudorange and status flag; interpolating the phase, pseudorange and status flat data of the radio signal in the window of time onto a common high rate timestamp; calculating an average offset between the pseudorange and the phase for each of the orbital navigation satellites corresponding to each radio signal; adding the calculated offset to the high rate phase for each of the orbital navigation satellites corresponding to each radio signal as corrected high rate phase data; and calculating a high rate position of the monitoring device using the corrected high rate phase data; calculating the distance between the monitoring device and the orbital navigation satellite for each of the orbital navigation satellites corresponding to each radio signal using the calculated high rate navigation solution position; calculating a change of a distance between the monitoring device and each of the orbital navigation satellites using the calculated high rate navigation solution position for each time in the window of time by subtracting an initial reference distance; converting the change of the distance from units of metres to units of cycles with reference to a wavelength of the radio signal; adjusting the high rate phase data by subtracting the converted change of the distance as adjusted high rate phase data; and calculating the phase of the perturbation using the adjusted high rate phase data.