public double ComputePRerrorOneSV(int svPRN, double svTOW, double svPseudoRange, double ionoErr, double clkBias, string RinexFileName, string IMUFileName, out string strPRtrue_ClkBiasRange_txTOW) { double num6; double num7; double num = 0.0; strPRtrue_ClkBiasRange_txTOW = "-1.0,-1.0,-1.0"; this.m_SV_PRN = svPRN; this.m_SV_TOW = svTOW; double num2 = svPseudoRange / 299792458.0; this.m_SV_TxTOW = (this.m_SV_TOW - num2) - clkBias; double ionoError = 0.0; double svClkBias = 0.0; XYZCoord svVel = new XYZCoord(); XYZCoord a = this.GetRinexSVPos(RinexFileName, this.m_SV_PRN, this.m_SV_TxTOW, out ionoError, out svClkBias, out svVel); XYZCoord iMUTruePos = this.GetIMUTruePos(IMUFileName, svTOW); XYZCoord coord4 = new XYZCoord(); if ((a == coord4) || (iMUTruePos == coord4)) { return(-1.0); } double num5 = XYZCoord.getDistance(a, iMUTruePos); double[] svPos = new double[] { a.X, a.Y, a.Z }; double[] navPos = new double[] { iMUTruePos.X, iMUTruePos.Y, iMUTruePos.Z }; double[] numArray3 = new double[] { svVel.X, svVel.Y, svVel.Z }; computeTropo tropo = new computeTropo(); GPSUtilsClass.ComputeAzEl(navPos, svPos, out num6, out num7); double alt = GPSUtilsClass.ComputeApproxAltitude(navPos); double num9 = tropo.NL_ComputeTropo(alt, num7); double num10 = computeEarthRotation.earthRotationCorrection(svPos, navPos, numArray3); double num11 = num5 - num10; double num12 = (svPseudoRange - (clkBias * 299792458.0)) + (svClkBias * 299792458.0); strPRtrue_ClkBiasRange_txTOW = string.Format("{0}, {1}, {2}", num5, num12, this.m_SV_TxTOW); num = num5 - num12; return(((num - ionoErr) - num9) - num11); }
public double ComputePRerrorOneSV(int svPRN, double svTOW, double svPseudoRange, double ionoErr, double clkBias, string RinexFileName, string IMUFileName, out string strPRtrue_ClkBiasRange_txTOW) { double num6; double num7; double num = 0.0; strPRtrue_ClkBiasRange_txTOW = "-1.0,-1.0,-1.0"; this.m_SV_PRN = svPRN; this.m_SV_TOW = svTOW; double num2 = svPseudoRange / 299792458.0; this.m_SV_TxTOW = (this.m_SV_TOW - num2) - clkBias; double ionoError = 0.0; double svClkBias = 0.0; XYZCoord svVel = new XYZCoord(); XYZCoord a = this.GetRinexSVPos(RinexFileName, this.m_SV_PRN, this.m_SV_TxTOW, out ionoError, out svClkBias, out svVel); XYZCoord iMUTruePos = this.GetIMUTruePos(IMUFileName, svTOW); XYZCoord coord4 = new XYZCoord(); if ((a == coord4) || (iMUTruePos == coord4)) { return -1.0; } double num5 = XYZCoord.getDistance(a, iMUTruePos); double[] svPos = new double[] { a.X, a.Y, a.Z }; double[] navPos = new double[] { iMUTruePos.X, iMUTruePos.Y, iMUTruePos.Z }; double[] numArray3 = new double[] { svVel.X, svVel.Y, svVel.Z }; computeTropo tropo = new computeTropo(); GPSUtilsClass.ComputeAzEl(navPos, svPos, out num6, out num7); double alt = GPSUtilsClass.ComputeApproxAltitude(navPos); double num9 = tropo.NL_ComputeTropo(alt, num7); double num10 = computeEarthRotation.earthRotationCorrection(svPos, navPos, numArray3); double num11 = num5 - num10; double num12 = (svPseudoRange - (clkBias * 299792458.0)) + (svClkBias * 299792458.0); strPRtrue_ClkBiasRange_txTOW = string.Format("{0}, {1}, {2}", num5, num12, this.m_SV_TxTOW); num = num5 - num12; return (((num - ionoErr) - num9) - num11); }