{
  "id": 323855,
  "title": "GPS in a nutshell",
  "url": "/competitions/smartphone-decimeter-2022/discussion/323855",
  "author_name": "",
  "post_date": "2022-05-08T20:56:38.332706700Z",
  "votes": 11,
  "comment_count": 5,
  "views": 0,
  "content": "<p>I hope this is useful for someone who is not very familiar with how GPS works (like me). In this challenge, we are trying to improve the reliability of GPS ( to decimeters) using a lot of information we can get from an Android mobile.</p>\n<p>How GPS works:</p>\n<ul>\n<li>By processing signals received from multiple satellites moving around the Earth.</li>\n<li>If you know the transmission speed ( v ) ( which is light speed ) and the duration time (t), you can calculate the distance (D) between your mobile and the satellite ( D = V x t)</li>\n<li>Then the mobile stays in a sphere with a radius D. </li>\n<li>If we can get signals from multiple satellites, we can draw multiple spheres that the mobile can stay on. With 4 satellites, the intersection of 4 spheres is one exact point -&gt; we can calculate the position of the mobile</li>\n</ul>\n<p>You can check out this link for more information.<br>\n<a href=\"https://www.reseau-teria.com/language/en/2021/12/20/positioning-by-gnss-gps-galileo-satellites-how-does-it-work/\" target=\"_blank\">https://www.reseau-teria.com/language/en/2021/12/20/positioning-by-gnss-gps-galileo-satellites-how-does-it-work/</a></p>\n<p><img src=\"https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png\" alt=\"\"></p>\n<p>For example, as below is the information of 1 mobile at one timestamp:</p>\n<p><img src=\"https://ibb.co/JB3QQ44\" alt=\"\"></p>\n<p>However, there is one thing that I don't understand. At one TimeStamp I can have multiple signals gotten from the same satellites. How it is possible? Is it the direct signal and the scattered one? How we are supposed to deal with this case? </p>\n<p>P/s: Why the embed image link doesn't work in this discussion. For example, I try: <code>![](https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png)</code></p>",
  "messages": [
    {
      "id": "1781702",
      "postDate": "05/08/2022 20:56:38",
      "content": "<p>I hope this is useful for someone who is not very familiar with how GPS works (like me). In this challenge, we are trying to improve the reliability of GPS ( to decimeters) using a lot of information we can get from an Android mobile.</p>\n<p>How GPS works:</p>\n<ul>\n<li>By processing signals received from multiple satellites moving around the Earth.</li>\n<li>If you know the transmission speed ( v ) ( which is light speed ) and the duration time (t), you can calculate the distance (D) between your mobile and the satellite ( D = V x t)</li>\n<li>Then the mobile stays in a sphere with a radius D. </li>\n<li>If we can get signals from multiple satellites, we can draw multiple spheres that the mobile can stay on. With 4 satellites, the intersection of 4 spheres is one exact point -&gt; we can calculate the position of the mobile</li>\n</ul>\n<p>You can check out this link for more information.<br>\n<a href=\"https://www.reseau-teria.com/language/en/2021/12/20/positioning-by-gnss-gps-galileo-satellites-how-does-it-work/\" target=\"_blank\">https://www.reseau-teria.com/language/en/2021/12/20/positioning-by-gnss-gps-galileo-satellites-how-does-it-work/</a></p>\n<p><img src=\"https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png\" alt=\"\"></p>\n<p>For example, as below is the information of 1 mobile at one timestamp:</p>\n<p><img src=\"https://ibb.co/JB3QQ44\" alt=\"\"></p>\n<p>However, there is one thing that I don't understand. At one TimeStamp I can have multiple signals gotten from the same satellites. How it is possible? Is it the direct signal and the scattered one? How we are supposed to deal with this case? </p>\n<p>P/s: Why the embed image link doesn't work in this discussion. For example, I try: <code>![](https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png)</code></p>",
      "rawMarkdown": "I hope this is useful for someone who is not very familiar with how GPS works (like me). In this challenge, we are trying to improve the reliability of GPS ( to decimeters) using a lot of information we can get from an Android mobile.\n\nHow GPS works:\n \n- By processing signals received from multiple satellites moving around the Earth.\n- If you know the transmission speed ( v ) ( which is light speed ) and the duration time (t), you can calculate the distance (D) between your mobile and the satellite ( D = V x t)\n- Then the mobile stays in a sphere with a radius D. \n- If we can get signals from multiple satellites, we can draw multiple spheres that the mobile can stay on. With 4 satellites, the intersection of 4 spheres is one exact point -> we can calculate the position of the mobile\n\nYou can check out this link for more information.\nhttps://www.reseau-teria.com/language/en/2021/12/20/positioning-by-gnss-gps-galileo-satellites-how-does-it-work/\n\n![](https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png)\n\nFor example, as below is the information of 1 mobile at one timestamp:\n\n![](https://ibb.co/JB3QQ44)\n\nHowever, there is one thing that I don't understand. At one TimeStamp I can have multiple signals gotten from the same satellites. How it is possible? Is it the direct signal and the scattered one? How we are supposed to deal with this case? \n\nP/s: Why the embed image link doesn't work in this discussion. For example, I try: `![](https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png)`",
      "votes": null
    },
    {
      "id": "1782654",
      "postDate": "05/09/2022 18:39:40",
      "content": "<p>You bring up a great point- it is indeed confusing why you would get multiple signals from the same satellite at one timestamp. I think it has to do with the fact that GPS uses both direct and scattered signals in order to triangulate position, so you end up getting information from the same satellite at different times as each signal reaches your mobile phone.</p>",
      "rawMarkdown": "You bring up a great point- it is indeed confusing why you would get multiple signals from the same satellite at one timestamp. I think it has to do with the fact that GPS uses both direct and scattered signals in order to triangulate position, so you end up getting information from the same satellite at different times as each signal reaches your mobile phone.",
      "votes": null
    },
    {
      "id": "1782676",
      "postDate": "05/09/2022 19:03:37",
      "content": "<p>When you're seeing the two readings in one timestamp, are you grouping by just satellite number? If so, you'll see that (some) single satellites will send readings at two frequencies, example: GPS has L1 and L5 - they are different messages on different frequencies, so should be treated as different (even though they come from the same satellite)</p>",
      "rawMarkdown": "When you're seeing the two readings in one timestamp, are you grouping by just satellite number? If so, you'll see that (some) single satellites will send readings at two frequencies, example: GPS has L1 and L5 - they are different messages on different frequencies, so should be treated as different (even though they come from the same satellite)",
      "votes": null
    },
    {
      "id": "1782721",
      "postDate": "05/09/2022 20:03:47",
      "content": "<p>You're right <a href=\"https://www.kaggle.com/chris62\" target=\"_blank\">@chris62</a>. They have different <code>SignalType</code>. For example, one from GPS_L1 and the other from  GAL_E1. </p>\n<p>Hmm from my limited knowledge of GPS, I'm wondering what is the point to send 2 signals. Because anyway, the 2 signals will arrive at the same time (I might be wrong because I see the difference in <code>ReceivedSvTimeNanosSinceGpsEpoch</code>).</p>\n<p>Thanks a lot</p>",
      "rawMarkdown": "You're right @chris62. They have different `SignalType`. For example, one from GPS_L1 and the other from  GAL_E1. \n\nHmm from my limited knowledge of GPS, I'm wondering what is the point to send 2 signals. Because anyway, the 2 signals will arrive at the same time (I might be wrong because I see the difference in `ReceivedSvTimeNanosSinceGpsEpoch`).\n\nThanks a lot",
      "votes": null
    },
    {
      "id": "1782747",
      "postDate": "05/09/2022 20:32:21",
      "content": "<p>Ah, if you're looking at GPS_L1 and GAL_E1, then those are actually totally different satellites - one is from the GPS constellation (US), and the other is from the Galileo (EU), so if you look, the satellite positions will be totally different, but they just happen to have the same \"number\".</p>\n<p>What I was talking about is eg GPS_L1 and GPS_L5, which is the same satellite, but different frequencies. One reason for doing it is that when you have multiple frequencies come from the same spot in the sky, you can cancel out the ionospheric error.</p>\n<p>Here's a lot more info on using multiple frequencies if you're interested <a href=\"https://www.youtube.com/watch?v=8LLLYI89mA0&amp;list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo\" target=\"_blank\">https://www.youtube.com/watch?v=8LLLYI89mA0&amp;list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo</a></p>",
      "rawMarkdown": "Ah, if you're looking at GPS_L1 and GAL_E1, then those are actually totally different satellites - one is from the GPS constellation (US), and the other is from the Galileo (EU), so if you look, the satellite positions will be totally different, but they just happen to have the same \"number\".\n\nWhat I was talking about is eg GPS_L1 and GPS_L5, which is the same satellite, but different frequencies. One reason for doing it is that when you have multiple frequencies come from the same spot in the sky, you can cancel out the ionospheric error.\n\nHere's a lot more info on using multiple frequencies if you're interested https://www.youtube.com/watch?v=8LLLYI89mA0&list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo",
      "votes": null
    },
    {
      "id": "1782751",
      "postDate": "05/09/2022 20:35:57",
      "content": "<p>Great! Thanks a lot for your reply. It's very interesting</p>",
      "rawMarkdown": "Great! Thanks a lot for your reply. It's very interesting",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 1782654,
      "author_name": "",
      "author_url": "",
      "post_date": "05/09/2022 18:39:40",
      "content": "<p>You bring up a great point- it is indeed confusing why you would get multiple signals from the same satellite at one timestamp. I think it has to do with the fact that GPS uses both direct and scattered signals in order to triangulate position, so you end up getting information from the same satellite at different times as each signal reaches your mobile phone.</p>",
      "votes": null,
      "replies": [
        {
          "id": 1782676,
          "author_name": "chris62",
          "author_url": "",
          "post_date": "05/09/2022 19:03:37",
          "content": "<p>When you're seeing the two readings in one timestamp, are you grouping by just satellite number? If so, you'll see that (some) single satellites will send readings at two frequencies, example: GPS has L1 and L5 - they are different messages on different frequencies, so should be treated as different (even though they come from the same satellite)</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1782721,
          "author_name": "dienhoa",
          "author_url": "",
          "post_date": "05/09/2022 20:03:47",
          "content": "<p>You're right <a href=\"https://www.kaggle.com/chris62\" target=\"_blank\">@chris62</a>. They have different <code>SignalType</code>. For example, one from GPS_L1 and the other from  GAL_E1. </p>\n<p>Hmm from my limited knowledge of GPS, I'm wondering what is the point to send 2 signals. Because anyway, the 2 signals will arrive at the same time (I might be wrong because I see the difference in <code>ReceivedSvTimeNanosSinceGpsEpoch</code>).</p>\n<p>Thanks a lot</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1782747,
          "author_name": "chris62",
          "author_url": "",
          "post_date": "05/09/2022 20:32:21",
          "content": "<p>Ah, if you're looking at GPS_L1 and GAL_E1, then those are actually totally different satellites - one is from the GPS constellation (US), and the other is from the Galileo (EU), so if you look, the satellite positions will be totally different, but they just happen to have the same \"number\".</p>\n<p>What I was talking about is eg GPS_L1 and GPS_L5, which is the same satellite, but different frequencies. One reason for doing it is that when you have multiple frequencies come from the same spot in the sky, you can cancel out the ionospheric error.</p>\n<p>Here's a lot more info on using multiple frequencies if you're interested <a href=\"https://www.youtube.com/watch?v=8LLLYI89mA0&amp;list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo\" target=\"_blank\">https://www.youtube.com/watch?v=8LLLYI89mA0&amp;list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo</a></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 1782751,
          "author_name": "dienhoa",
          "author_url": "",
          "post_date": "05/09/2022 20:35:57",
          "content": "<p>Great! Thanks a lot for your reply. It's very interesting</p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "1781702": "I hope this is useful for someone who is not very familiar with how GPS works (like me). In this challenge, we are trying to improve the reliability of GPS ( to decimeters) using a lot of information we can get from an Android mobile.\n\nHow GPS works:\n \n- By processing signals received from multiple satellites moving around the Earth.\n- If you know the transmission speed ( v ) ( which is light speed ) and the duration time (t), you can calculate the distance (D) between your mobile and the satellite ( D = V x t)\n- Then the mobile stays in a sphere with a radius D. \n- If we can get signals from multiple satellites, we can draw multiple spheres that the mobile can stay on. With 4 satellites, the intersection of 4 spheres is one exact point -> we can calculate the position of the mobile\n\nYou can check out this link for more information.\nhttps://www.reseau-teria.com/language/en/2021/12/20/positioning-by-gnss-gps-galileo-satellites-how-does-it-work/\n\n![](https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png)\n\nFor example, as below is the information of 1 mobile at one timestamp:\n\n![](https://ibb.co/JB3QQ44)\n\nHowever, there is one thing that I don't understand. At one TimeStamp I can have multiple signals gotten from the same satellites. How it is possible? Is it the direct signal and the scattered one? How we are supposed to deal with this case? \n\nP/s: Why the embed image link doesn't work in this discussion. For example, I try: `![](https://www.reseau-teria.com/wp-content/uploads/2019/04/POSITIONNEMENT-GNSS-SPHERE.png)`",
    "1782654": "You bring up a great point- it is indeed confusing why you would get multiple signals from the same satellite at one timestamp. I think it has to do with the fact that GPS uses both direct and scattered signals in order to triangulate position, so you end up getting information from the same satellite at different times as each signal reaches your mobile phone.",
    "1782676": "When you're seeing the two readings in one timestamp, are you grouping by just satellite number? If so, you'll see that (some) single satellites will send readings at two frequencies, example: GPS has L1 and L5 - they are different messages on different frequencies, so should be treated as different (even though they come from the same satellite)",
    "1782721": "You're right @chris62. They have different `SignalType`. For example, one from GPS_L1 and the other from  GAL_E1. \n\nHmm from my limited knowledge of GPS, I'm wondering what is the point to send 2 signals. Because anyway, the 2 signals will arrive at the same time (I might be wrong because I see the difference in `ReceivedSvTimeNanosSinceGpsEpoch`).\n\nThanks a lot",
    "1782747": "Ah, if you're looking at GPS_L1 and GAL_E1, then those are actually totally different satellites - one is from the GPS constellation (US), and the other is from the Galileo (EU), so if you look, the satellite positions will be totally different, but they just happen to have the same \"number\".\n\nWhat I was talking about is eg GPS_L1 and GPS_L5, which is the same satellite, but different frequencies. One reason for doing it is that when you have multiple frequencies come from the same spot in the sky, you can cancel out the ionospheric error.\n\nHere's a lot more info on using multiple frequencies if you're interested https://www.youtube.com/watch?v=8LLLYI89mA0&list=PLGvhNIiu1ubyEOJga50LJMzVXtbUq6CPo",
    "1782751": "Great! Thanks a lot for your reply. It's very interesting"
  },
  "source": "meta"
}