{"id":42151,"date":"2019-03-18T00:00:00","date_gmt":"2019-03-17T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol"},"modified":"2020-02-18T13:44:57","modified_gmt":"2020-02-18T10:44:57","slug":"flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol","title":{"rendered":"Flightradar24 \u2014 kuidas see t\u00f6\u00f6tab? Osa 2, ADS-B protokoll","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0436\u0430\u043b \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u0438\u043b\u0438 \u0434\u0440\u0443\u0437\u0435\u0439 \u043d\u0430 \u0441\u0430\u043c\u043e\u043b\u0435\u0442, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Flightradar24. \u042d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/f06537ac66ba8f63752cc36083cf5f26.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0412 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/408003\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a><\/noindex> \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u043f\u043e\u0439\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435, \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430 \u043a \u043f\u0440\u0438\u0435\u043c\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438, \u0438 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u0438\u0445 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Python.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>\u0418\u0441\u0442\u043e\u0440\u0438\u044f<\/h2>\n<p>\n\u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0432\u0438\u0434\u0435\u043b\u0438 \u0438\u0445 \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430\u0445. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f ADS\u2013B (Automatic dependent surveillance\u2014broadcast), \u0438 \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u043c \u0441\u0443\u0434\u043d\u0435 \u0432 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0441\u043a\u0438\u0439 \u0446\u0435\u043d\u0442\u0440 \u2014 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0435\u0433\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c, \u0432\u044b\u0441\u043e\u0442\u0430 \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0420\u0430\u043d\u0435\u0435, \u0434\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u043c\u043e\u0433 \u0432\u0438\u0434\u0435\u0442\u044c \u043b\u0438\u0448\u044c \u0442\u043e\u0447\u043a\u0443 \u043d\u0430 \u0440\u0430\u0434\u0430\u0440\u0435. \u042d\u0442\u043e\u0433\u043e \u0441\u0442\u0430\u043b\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u043e\u0432 \u0441\u0442\u0430\u043b\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043c\u043d\u043e\u0433\u043e. <\/p>\n<p>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, ADS-B \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043d\u0430 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u043c \u0441\u0443\u0434\u043d\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0441\u044b\u043b\u0430\u0435\u0442 \u043f\u0430\u043a\u0435\u0442\u044b \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 1090 \u041c\u0413\u0446 (\u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0435\u0436\u0438\u043c\u044b, \u043d\u043e \u043d\u0430\u043c \u043e\u043d\u0438 \u043d\u0435 \u0442\u0430\u043a \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d\u044b, \u0442.\u043a. \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0434\u0435\u0441\u044c). \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043a\u0440\u043e\u043c\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u0447\u0438\u043a\u0430, \u0435\u0441\u0442\u044c \u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0433\u0434\u0435-\u0442\u043e \u0432 \u0430\u044d\u0440\u043e\u043f\u043e\u0440\u0442\u0443, \u043d\u043e \u0434\u043b\u044f \u043d\u0430\u0441, \u043a\u0430\u043a \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u043d\u0430\u0448 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439. <\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0432\u0430\u044f \u0442\u0430\u043a\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, Airnav Radarbox, \u0440\u0430\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432 2007 \u0433\u043e\u0434\u0443, \u0438 \u0441\u0442\u043e\u0438\u043b\u0430 \u043e\u043a\u043e\u043b\u043e 900$, \u0435\u0449\u0435 \u043e\u043a\u043e\u043b\u043e 250$ \u0432 \u0433\u043e\u0434 \u0441\u0442\u043e\u0438\u043b\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0430 \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b.<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/f7cbdb3b1b0c09c855a1f108eef58beb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041e\u0442\u0437\u044b\u0432\u044b \u0442\u0435\u0445 \u043f\u0435\u0440\u0432\u044b\u0445 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 \u0444\u043e\u0440\u0443\u043c\u0435 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.radioscanner.ru\/forum\/topic30532.html\">radioscanner<\/a><\/noindex>. \u0421\u0435\u0439\u0447\u0430\u0441, \u043a\u043e\u0433\u0434\u0430 \u043c\u0430\u0441\u0441\u043e\u0432\u043e \u0441\u0442\u0430\u043b\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b RTL-SDR \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0438, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u0439 \u0434\u0435\u0432\u0430\u0439\u0441 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0437\u0430 30$, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u0431\u044b\u043b\u043e \u0432 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/408003\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a><\/noindex>. \u041c\u044b \u0436\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043a \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 \u2014 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. <\/p>\n<h2>\u041f\u0440\u0438\u0435\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432<\/h2>\n<p>\n\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c. \u0412\u0435\u0441\u044c \u0441\u0438\u0433\u043d\u0430\u043b \u0438\u043c\u0435\u0435\u0442 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c 120 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u0435\u043d SDR-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 5\u041c\u0413\u0446.<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/3e31273003e63f9290c5ad1803d36694.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c WAV-\u0444\u0430\u0439\u043b \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 5000000 \u0441\u0435\u043c\u043f\u043b\u043e\u0432\/\u0441\u0435\u043a, 30 \u0441\u0435\u043a\u0443\u043d\u0434 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u00ab\u0432\u0435\u0441\u044f\u0442\u00bb \u043e\u043a\u043e\u043b\u043e 500\u041c\u0431. \u0421\u043b\u0443\u0448\u0430\u0442\u044c \u0435\u0451 \u043c\u0435\u0434\u0438\u0430\u043f\u043b\u0435\u0435\u0440\u043e\u043c \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u043e \u2014 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435 \u0437\u0432\u0443\u043a, \u0430 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0433\u043d\u0430\u043b \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Software Defined Radio. <\/p>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Python. \u0416\u0435\u043b\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043c\u043e\u0433\u0443\u0442 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430\u043f\u0438\u0441\u0438 <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.mail.ru\/public\/XP1c\/oKDYrpdsw\">\u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435<\/a><\/noindex>. <\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u0444\u0430\u0439\u043b, \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0447\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438.<\/p>\n<pre><code class=\"python\">from scipy.io import wavfile\nimport matplotlib.pyplot as plt\nimport numpy as np\n\nfs, data = wavfile.read(\"adsb_20190311_191728Z_1090000kHz_RF.wav\")\ndata = data.astype(float)\nI, Q = data[:, 0], data[:, 1]\nA = np.sqrt(I*I + Q*Q)\n\nplt.plot(A)\nplt.show()\n<\/code><\/pre>\n<p>\n\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u044f\u0432\u043d\u044b\u0435 \u00ab\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u044b\u00bb \u043d\u0430 \u0444\u043e\u043d\u0435 \u0448\u0443\u043c\u0430.<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/1bb14bdacf28804a0a9b02ee480518cc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041a\u0430\u0436\u0434\u044b\u0439 \u00ab\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u00bb \u2014 \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u0438\u0434\u043d\u043e, \u0435\u0441\u043b\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435.<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/814b79473eccc339f4201bdca5826c0a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0432\u044b\u0448\u0435. \u041c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<h2>\u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>\n\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u0438\u0442\u043e\u0432\u044b\u0439 \u043f\u043e\u0442\u043e\u043a. \u0421\u0430\u043c \u0441\u0438\u0433\u043d\u0430\u043b \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e manchester encoding:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/08e2a139b2079771f3ff1eb5647b5ed7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0418\u0437 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0432 \u043f\u043e\u043b\u0443\u0431\u0430\u0439\u0442\u0430\u0445 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u00ab0\u00bb \u0438 \u00ab1\u00bb.<\/p>\n<pre><code class=\"python\">    bits_str = \"\"\n    for p in range(8):\n        pos = start_data + bit_len*p\n        p1, p2 = A[pos: pos + bit_len\/2], A[pos + bit_len\/2: pos + bit_len]\n        avg1, avg2 = np.average(p1), np.average(p2)\n        if avg1 &lt; avg2:\n            bits_str += \"0\"\n        elif avg1 &gt; avg2:\n            bits_str += \"1\"\n<\/code><\/pre>\n<p>\n\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/78e0375c9ac3256e7f97985b0b31f2e7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e.<\/p>\n<p><b>DF<\/b> (Downlink Format, 5 \u0431\u0438\u0442) \u2014 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0442\u0438\u043f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f. \u0418\u0445 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u043e\u0432:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/64ff987d9317fb1b804f8811948993ca.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex><a rel=\"nofollow\" href=\"http:\/\/bibliotheek.knmi.nl\/knmipubTR\/TR336.pdf\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/noindex>)<\/p>\n<p>\u041d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f DF17, \u0442.\u043a. \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430.<\/p>\n<p><b>ICAO<\/b> (24 \u0431\u0438\u0442\u0430) \u2014 \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0439 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u043b\u0435\u0442 \u043f\u043e \u0435\u0433\u043e \u043a\u043e\u0434\u0443 \u043c\u043e\u0436\u043d\u043e <noindex><a rel=\"nofollow\" href=\"https:\/\/junzis.com\/adb\/\">\u043d\u0430 \u0441\u0430\u0439\u0442\u0435<\/a><\/noindex> (\u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0430\u0432\u0442\u043e\u0440 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0431\u0430\u0437\u0443, \u043d\u043e \u043e\u043d\u0430 \u0435\u0449\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430). \u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0434\u043b\u044f \u043a\u043e\u0434\u0430 3c5ee2 \u0438\u043c\u0435\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/953e518d96fe18dadca507aedb4a5d11.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041f\u0440\u0430\u0432\u043a\u0430: \u0432 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/443498\/#comment_19889906\">\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043a \u0441\u0442\u0430\u0442\u044c\u0435<\/a><\/noindex> \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430 ICAO \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u043c\u0441\u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p><b>DATA<\/b> (56 \u0438\u043b\u0438 112 \u0431\u0438\u0442) \u2014 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0438 \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041f\u0435\u0440\u0432\u044b\u0435 5 \u0431\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u043f\u043e\u043b\u0435 <b>Type Code<\/b>, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0435 \u043f\u043e\u0434\u0442\u0438\u043f \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c \u0441 DF). \u0422\u0430\u043a\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/5bc59bf0b99d1aced3cd466942e76c20.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex><a rel=\"nofollow\" href=\"https:\/\/mode-s.org\/decode\/adsb\/introduction.html\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/a><\/noindex>)<\/p>\n<p>\u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043f\u0430\u043a\u0435\u0442\u043e\u0432.<\/p>\n<p><b>Aircraft identification<\/b><\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440 \u0432 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c \u0432\u0438\u0434\u0435: <\/p>\n<p>00100 011 000101 010111 000111 110111 110001 111000<\/p>\n<p>\u041f\u043e\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445:<\/p>\n<pre><code class=\"python\">+------+------+------+------+------+------+------+------+------+------+\n| TC,5 | EC,3 | C1,6 | C2,6 | C3,6 | C4,6 | C5,6 | C6,6 | C7,6 | C8,6 |\n+------+------+------+------+------+------+------+------+------+------+\n<\/code><\/pre>\n<p>\nTC = 00100b = 4, \u043a\u0430\u0436\u0434\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b C1-C8 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043a\u043e\u0434\u044b, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c \u0432 \u0441\u0442\u0440\u043e\u043a\u0435: <br \/>\n#ABCDEFGHIJKLMNOPQRSTUVWXYZ#####_###############0123456789######<\/p>\n<p>\u0420\u0430\u0441\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0432 \u0441\u0442\u0440\u043e\u043a\u0443, \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u0434 \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430: EWG7184<\/p>\n<pre><code class=\"python\">symbols = \"#ABCDEFGHIJKLMNOPQRSTUVWXYZ#####_###############0123456789######\"\ncode_str = \"\"\nfor p in range(8):\n     c = int(bits_str[8 + 6*p:8 + 6*(p + 1)], 2)\n     code_str += symbols[c]\nprint(\"Aircraft Identification:\", code_str.replace('#', ''))\n<\/code><\/pre>\n<p>\n<b>Airborne position<\/b><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u0442\u043e \u0441 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438 \u043f\u043e\u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u041e\u043d\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 2\u0445, \u0447\u0435\u0442\u043d\u044b\u0445 \u0438 \u043d\u0435\u0447\u0435\u0442\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u043e\u0432. \u041a\u043e\u0434 \u043f\u043e\u043b\u044f TC = 01011b = 11.<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/4db5a87754f802cf64e5f396776c1151.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u041f\u0440\u0438\u043c\u0435\u0440 \u0447\u0435\u0442\u043d\u043e\u0433\u043e \u0438 \u043d\u0435\u0447\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"python\">01011 000 000101110110 00 10111000111001000 10000110101111001\n01011 000 000110010000 01 10010011110000110 10000011110001000\n<\/code><\/pre>\n<p>\n\u0421\u0430\u043c\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0445\u0438\u0442\u0440\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/1e8c1ad793478fc9a374c463e95953bd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex><a rel=\"nofollow\" href=\"https:\/\/mode-s.org\/decode\/adsb\/airborne-position.html\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/a><\/noindex>)<\/p>\n<p>\u042f \u043d\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e \u0413\u0418\u0421, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u0442\u043a\u0443\u0434\u0430 \u043e\u043d\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f, \u043d\u0435 \u0437\u043d\u0430\u044e. \u041a\u0442\u043e \u0432 \u043a\u0443\u0440\u0441\u0435, \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445. <\/p>\n<p>\u0412\u044b\u0441\u043e\u0442\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0449\u0435 \u2014 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430, \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u043b\u0438\u0431\u043e \u043a\u0440\u0430\u0442\u043d\u043e\u0439 25, \u043b\u0438\u0431\u043e 100 \u0444\u0443\u0442\u0430\u043c.<\/p>\n<p><b>Airborne Velocity<\/b><\/p>\n<p>\u041f\u0430\u043a\u0435\u0442 \u0441 TC=19. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0442\u0443\u0442 \u0442\u043e, \u0447\u0442\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043a\u0430\u043a \u0442\u043e\u0447\u043d\u0430\u044f, \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0435\u043c\u043b\u0438 (Ground Speed), \u0442\u0430\u043a \u0438 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u0430\u044f, \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u0430\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u043c \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430 (Airspeed). \u0415\u0449\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439:<\/p>\n<p><img decoding=\"async\" alt=\"Flightradar24 &mdash; \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\" src=\"\/wp-content\/uploads\/2019\/03\/e9048e2ffd78ddf1e9665b5d7f6c134b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n(<noindex><a rel=\"nofollow\" href=\"https:\/\/mode-s.org\/decode\/adsb\/airborne-velocity.html\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/a><\/noindex>)<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>\n\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f ADS-B \u0441\u0442\u0430\u043b\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c \u0441\u0438\u043c\u0431\u0438\u043e\u0437\u043e\u043c, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u043f\u0440\u0438\u0433\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u0430\u043c, \u043d\u043e \u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c. \u041d\u043e \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043a\u043b\u044e\u0447\u0435\u0432\u0443\u044e \u0440\u043e\u043b\u044c \u0432 \u044d\u0442\u043e\u043c \u0441\u044b\u0433\u0440\u0430\u043b\u043e \u0443\u0434\u0435\u0448\u0435\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0445 SDR-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u043e\u0432, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u043c \u043d\u0430 \u0434\u0435\u0432\u0430\u0439\u0441\u0435 \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u00ab\u0437\u0430 \u043a\u043e\u043f\u0435\u0439\u043a\u0438\u00bb \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0432\u044b\u0448\u0435 \u0433\u0438\u0433\u0430\u0433\u0435\u0440\u0446\u0430.<\/p>\n<p>\u0412 \u0441\u0430\u043c\u043e\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435 \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e. \u0416\u0435\u043b\u0430\u044e\u0449\u0438\u0435 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c PDF \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.icao.int\/SAM\/Documents\/2017-ADSB\/08%20FAA%20Briefing%20ADS_B%20Rules%20and%20Airspace%20(2).pdf\">ICAO<\/a><\/noindex> \u0438\u043b\u0438 \u043f\u043e\u0441\u0435\u0442\u0438\u0442\u044c \u0443\u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0439 \u0432\u044b\u0448\u0435 <noindex><a rel=\"nofollow\" href=\"https:\/\/mode-s.org\/decode\/\">\u0441\u0430\u0439\u0442<\/a><\/noindex>. <\/p>\n<p>\u0412\u0440\u044f\u0434 \u043b\u0438 \u043c\u043d\u043e\u0433\u0438\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0441\u0435 \u0432\u044b\u0448\u0435\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435, \u043d\u043e \u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043e\u0431\u0449\u0430\u044f \u0438\u0434\u0435\u044f \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u043e\u0441\u0442\u0430\u043b\u0430\u0441\u044c. <\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0434\u0435\u043a\u043e\u0434\u0435\u0440 \u043d\u0430 Python \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u0443\u0447\u0438\u0442\u044c <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/junzis\/pyModeS\">\u0437\u0434\u0435\u0441\u044c<\/a><\/noindex>. \u0410 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u044b SDR-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u043e\u0432 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 ADS-B \u0434\u0435\u043a\u043e\u0434\u0435\u0440 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/antirez\/dump1090.git\">\u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b<\/a><\/noindex>, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u0432 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/408003\/\">\u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438<\/a><\/noindex>.<\/p>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0430\u0440\u0441\u0435\u0440\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c. \u042d\u0442\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u044e\u0449\u0438\u0439 \u043d\u0430 production, \u043d\u043e \u043a\u043e\u0435-\u0447\u0442\u043e \u0432 \u043d\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0438 \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0448\u0435 \u0444\u0430\u0439\u043b, \u0438\u043c \u043c\u043e\u0436\u043d\u043e.<br \/>\n<b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 (Python)<\/b><\/p>\n<pre><code class=\"python\">from __future__ import print_function\n\nfrom scipy.io import wavfile\nfrom scipy import signal\nimport matplotlib.pyplot as plt\nimport numpy as np\nimport math\nimport sys\n\n\ndef parse_message(data, start, bit_len):\n    max_len = bit_len*128\n    A = data[start:start + max_len]\n    A = signal.resample(A, 10*max_len)\n    bits = np.zeros(10*max_len)\n    bit_len *= 10\n    start_data = bit_len*8\n\n    # Parse first 8 bits\n    bits_str = \"\"\n    for p in range(8):\n        pos = start_data + bit_len*p\n        p1, p2 = A[pos: pos + bit_len\/2], A[pos + bit_len\/2: pos + bit_len]\n        avg1, avg2 = np.average(p1), np.average(p2)\n        if avg1 &lt; avg2:\n            bits_str += \"0\"\n        elif avg1 &gt; avg2:\n            bits_str += \"1\"\n\n    df = int(bits_str[0:5], 2)\n\n    # Aircraft address (db - https:\/\/junzis.com\/adb\/?q=3b1c5c )\n    bits_str = \"\"\n    for p in range(8, 32):\n        pos = start_data + bit_len * p\n        p1, p2 = A[pos: pos + bit_len \/ 2], A[pos + bit_len \/ 2: pos + bit_len]\n        avg1, avg2 = np.average(p1), np.average(p2)\n        if avg1 &lt; avg2:\n            bits_str += \"0\"\n        elif avg1 &gt; avg2:\n            bits_str += \"1\"\n    # print \"Aircraft address:\", bits_str, hex(int(bits_str, 2))\n    address = hex(int(bits_str, 2))\n\n    # Filter specific aircraft (optional)\n    # if address != \"0x3c5ee2\":\n    #    return\n\n    if df == 16 or df == 17 or df == 18 or df == 19 or df == 20 or df == 21:\n        # print \"Pos:\", start, \"DF:\", msg_type\n\n        # Data (56bit)\n        bits_str = \"\"\n        for p in range(32, 88):\n            pos = start_data + bit_len*p\n            p1, p2 = A[pos: pos + bit_len\/2], A[pos + bit_len\/2: pos + bit_len]\n            avg1, avg2 = np.average(p1), np.average(p2)\n            if avg1 &lt; avg2:\n                bits_str += \"0\"\n                # bits[pos + bit_len \/ 2] = 50\n            elif avg1 &gt; avg2:\n                bits_str += \"1\"\n\n        # http:\/\/www.lll.lu\/~edward\/edward\/adsb\/DecodingADSBposition.html\n        # print \"Data:\"\n        # print bits_str[:8], bits_str[8:20],  bits_str[20:22], bits_str[22:22+17], bits_str[39:39+17]\n        # Type Code:\n        tc, ec = int(bits_str[:5], 2), int(bits_str[5:8], 2)\n        # print(\"DF:\", df, \"TC:\", tc)\n        \n        # 1 - 4  Aircraft identification\n        # 5 - 8  Surface position\n        # 9 - 18  Airborne position (w\/ Baro Altitude)\n        # 19  Airborne velocities\n\n        if tc &gt;= 1 and tc &lt;= 4: # and (df == 17 or df == 18):\n            print(\"Aircraft address:\", address)\n            print(\"Data:\")\n            print(bits_str[:8], bits_str[8:14],  bits_str[14:20], bits_str[20:26], bits_str[26:32], bits_str[32:38], bits_str[38:44])\n\n            symbols = \"#ABCDEFGHIJKLMNOPQRSTUVWXYZ#####_###############0123456789######\"\n            code_str = \"\"\n            for p in range(8):\n                c = int(bits_str[8 + 6*p:8 + 6*(p + 1)], 2)\n                code_str += symbols[c]\n            print(\"Aircraft Identification:\", code_str.replace('#', ''))\n            print()\n        if tc == 11:\n            print(\"Aircraft address:\", address)\n            print(\"Data: (11)\")\n            print(bits_str[:8], bits_str[8:20],  bits_str[20:22], bits_str[22:22+17], bits_str[39:39+17])\n\n            # Bit 22 contains the F flag which indicates which CPR format is used (odd or even)\n            # First frame has F flag = 0 so is even and the second frame has F flag = 1 so odd\n            # f = bits_str[21:22]\n            # print(\"F:\", int(f, 2))\n\n            # Altitude\n            alt1b = bits_str[8:20]\n            if alt1b[-5] == '1':\n                bits = alt1b[:-5] + alt1b[-4:]\n                n = int(bits, 2)\n                alt_ft = n*25 - 1000\n                print(\"Alt (ft)\", alt_ft)\n\n            # lat_dec = int(bits_str[22:22+17], 2)\n            # lon_dec = int(bits_str[39:39+17], 2)\n            # print(\"Lat\/Lon:\", lat_dec, lon_dec)\n\n            # http:\/\/airmetar.main.jp\/radio\/ADS-B%20Decoding%20Guide.pdf\n            print()\n        if tc == 19:\n            print(\"Aircraft address:\", address)\n            print(\"Data:\")\n            # print(bits_str)\n            print(bits_str[:5], bits_str[5:8], bits_str[8:10], bits_str[10:13], bits_str[13] ,bits_str[14:24], bits_str[24], bits_str[25:35], bits_str[35:36], bits_str[36:65])\n\n            subtype = int(bits_str[5:8], 2)\n            # https:\/\/mode-s.org\/decode\/adsb\/airborne-velocity.html\n            spd, hdg, rocd = -1, -1, -1\n            if subtype == 1 or subtype == 2:\n                print(\"Velocity Subtype 1: Ground speed\")\n            \n                v_ew_sign = int(bits_str[13], 2)\n                v_ew = int(bits_str[14:24], 2) - 1       # east-west velocity\n                \n                v_ns_sign = int(bits_str[24], 2)\n                v_ns = int(bits_str[25:35], 2) - 1       # north-south velocity\n                \n                v_we = -1*v_ew if v_ew_sign else v_ew\n                v_sn = -1*v_ns if v_ns_sign else v_ns\n                \n                spd = math.sqrt(v_sn*v_sn + v_we*v_we)  # unit in kts\n                \n                hdg = math.atan2(v_we, v_sn)\n                hdg = math.degrees(hdg)                 # convert to degrees\n                hdg = hdg if hdg &gt;= 0 else hdg + 360    # no negative val\n            if subtype == 3:\n                print(\"Subtype Subtype 3: Airspeed\")\n                hdg = int(bits_str[14:24], 2)\/1024.0*360.0\n                spd = int(bits_str[25:35], 2)\n            \n            vr_sign = int(bits_str[36], 2)\n            vr = int(bits_str[36:45], 2)\n            rocd = -1*vr if vr_sign else vr         # rate of climb\/descend\n            print(\"Speed (kts):\", spd, \"Rate:\", rocd, \"Heading:\", hdg)\n            print()\n\n        # print()\n\ndef calc_coordinates():\n    def _cprN(lat, is_odd):\n        nl = _cprNL(lat) - is_odd\n        return nl if nl &gt; 1 else 1\n\n    def _cprNL(lat):\n        try:\n            nz = 15\n            a = 1 - math.cos(math.pi \/ (2 * nz))\n            b = math.cos(math.pi \/ 180.0 * abs(lat)) ** 2\n            nl = 2 * math.pi \/ (math.acos(1 - a\/b))\n            return int(math.floor(nl))\n        except:\n            # happens when latitude is +\/-90 degree\n            return 1\n    \n    def floor_(x):\n        return int(math.floor(x))\n  \n    lat1b, lon1b, alt1b = \"10111000111010011\", \"10000110111111000\", \"000101111001\"\n    lat2b, lon2b, alt2b = \"10010011101011100\", \"10000011000011011\", \"000101110111\"\n    lat1, lon1, alt1 = int(lat1b, 2), int(lon1b, 2), int(alt1b, 2)\n    lat2, lon2, alt2 = int(lat2b, 2), int(lon2b, 2), int(alt2b, 2)\n    \n    # 131072 is 2^17, since CPR lat and lon are 17 bits each\n    cprlat_even, cprlon_even = lat1\/131072.0, lon1\/131072.0\n    cprlat_odd, cprlon_odd = lat2\/131072.0, lon2\/131072.0\n    print(cprlat_even, cprlon_even)\n\n    j = floor_(59*cprlat_even - 60*cprlat_odd)\n    print(j)\n\n    air_d_lat_even = 360.0 \/ 60\n    air_d_lat_odd = 360.0 \/ 59\n\n    # Lat\n    lat_even = float(air_d_lat_even * (j % 60 + cprlat_even))\n    lat_odd = float(air_d_lat_odd * (j % 59 + cprlat_odd))\n    if lat_even &gt;= 270:\n        lat_even = lat_even - 360\n    if lat_odd &gt;= 270:\n        lat_odd = lat_odd - 360\n\n    # Lon\n    ni = _cprN(lat_even, 0)\n    m = floor_(cprlon_even * (_cprNL(lat_even)-1) - cprlon_odd * _cprNL(lat_even) + 0.5)\n    lon = (360.0 \/ ni) * (m % ni + cprlon_even)\n    print(\"Lat\", lat_even, \"Lon\", lon)\n\n    # Altitude\n    # Q-bit (bit 48) indicates whether the altitude is encoded in multiples of 25 or 100 ft (0: 100 ft, 1: 25 ft)\n    # The value can represent altitudes from -1000 to +50175 ft.\n    if alt1b[-5] == '1':\n        bits = alt1b[:-5] + alt1b[-4:]\n        n = int(bits, 2)\n        alt_ft = n*25 - 1000\n        print(\"Alt (ft)\", alt_ft)\n\n\nfs, data = wavfile.read(\"adsb_20190311_191728Z_1090000kHz_RF.wav\")\nT = 1\/fs\n\nprint(\"Sample rate %f MS\/s\" % (fs \/ 1e6))\nprint(\"Cnt samples %d\" % len(data))\nprint(\"Duration: %f s\" % (T * len(data)))\n\ndata = data.astype(float)\n\ncnt = data.shape[0]\n# Processing only part on file (faster):\n# cnt = 10000000\n# data = data[:cnt]\nprint(\"Processing I\/Q...\")\nI, Q = data[:, 0], data[:, 1]\nA = np.sqrt(I*I + Q*Q)\n\nbits = np.zeros(cnt)\n\n# To see scope without any processing, uncomment\n# plt.plot(A)\n# plt.show()\n# sys.exit(0)\n\nprint(\"Extracting signals...\")\n\npos = 0\navg = 200\nmsg_start = 0\n# Find beginning of each signal\nwhile pos &lt; cnt - 16*1024:\n    # P1 - message start\n    while pos &lt; cnt - 16*1024:\n        if A[pos] &lt; avg and A[pos+1] &gt; avg and pos - msg_start &gt; 1000:\n            msg_start = pos\n            bits[pos] = 100\n            pos += 4\n            break\n        pos += 1\n\n    start1, start2, start3, start4 = msg_start, 0, 0, 0\n    # P2\n    while pos &lt; cnt - 16*1024:\n        if A[pos] &lt; avg and A[pos+1] &gt; avg:\n            start2 = pos\n            bits[pos] = 90\n            pos += 1\n            break\n        pos += 1\n    # P3\n    while pos &lt; cnt - 16*1024:\n        if A[pos] &lt; avg and A[pos+1] &gt; avg:\n            start3 = pos\n            bits[pos] = 80\n            pos += 1\n            break\n        pos += 1\n    # P4\n    while pos &lt; cnt - 16*1024:\n        if A[pos] &lt; avg and A[pos+1] &gt; avg:\n            start4 = pos\n            bits[pos] = 70\n            pos += 1\n            break\n        pos += 1\n\n\n    sig_diff = start4 - start1\n    if 20 &lt; sig_diff &lt; 25:\n        bits[msg_start] = 500\n        bit_len = int((start4 - start1) \/ 4.5)\n        # print(pos, start1, start4, ' - ', bit_len)\n        # start = start1 + 8*bit_len\n        parse_message(A, msg_start, bit_len)\n\n        pos += 450\n\n# For debugging: check signal start\n# plt.plot(A)\n# plt.plot(bits)\n# plt.show()\n<\/code><\/pre>\n<p>\u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043a\u043e\u043c\u0443-\u0442\u043e \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<p>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/443498\/\">habr.com<\/a><\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0436\u0430\u043b \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u0438\u043b\u0438 \u0434\u0440\u0443\u0437\u0435\u0439 \u043d\u0430 \u0441\u0430\u043c\u043e\u043b\u0435\u0442, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Flightradar24. \u042d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u043f\u043e\u0439\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435, \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430 \u043a \u043f\u0440\u0438\u0435\u043c\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-42151","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0436\u0430\u043b \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u0438\u043b\u0438 \u0434\u0440\u0443\u0437\u0435\u0439 \u043d\u0430 \u0441\u0430\u043c\u043e\u043b\u0435\u0442, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Flightradar24. \u042d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u043f\u043e\u0439\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435, \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430 \u043a \u043f\u0440\u0438\u0435\u043c\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Flightradar24 \u2014 \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0436\u0430\u043b \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u0438\u043b\u0438 \u0434\u0440\u0443\u0437\u0435\u0439 \u043d\u0430 \u0441\u0430\u043c\u043e\u043b\u0435\u0442, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Flightradar24. \u042d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u043f\u043e\u0439\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435, \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430 \u043a \u043f\u0440\u0438\u0435\u043c\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-03-17T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:44:57+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Flightradar24 \u2014 kuidas see t\u00f6\u00f6tab? Osa 2, ADS-B protokoll | ProHoster","description":"Tere, Habr. Kindlasti on iga\u00fcks, kes on kunagi saatnud sugulasi v\u00f5i s\u00f5pru lennule, kasutanud tasuta teenust Flightradar24. See on v\u00e4ga mugav viis lennuki asukoha reaalajas j\u00e4lgimiseks. Esimeses osas kirjeldati sellise veebiteenuse t\u00f6\u00f6p\u00f5him\u00f5tet. Seekord l\u00e4heme edasi ja uurime, milliseid andmeid edastatakse ja vastuv\u00f5etakse \u00f5hus\u00f5idukilt vastuv\u00f5tjast.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Flightradar24 \u2014 \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u0427\u0430\u0441\u0442\u044c 2, ADS-B \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442 \u0425\u0430\u0431\u0440. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u043a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u0445\u043e\u0442\u044c \u0440\u0430\u0437 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u043e\u0436\u0430\u043b \u0440\u043e\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u0438\u043a\u043e\u0432 \u0438\u043b\u0438 \u0434\u0440\u0443\u0437\u0435\u0439 \u043d\u0430 \u0441\u0430\u043c\u043e\u043b\u0435\u0442, \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Flightradar24. \u042d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u0430\u043c\u043e\u043b\u0435\u0442\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u044b\u043b \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0430\u043a\u043e\u0433\u043e \u043e\u043d\u043b\u0430\u0439\u043d-\u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u043f\u043e\u0439\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435, \u0438 \u0432\u044b\u044f\u0441\u043d\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043e\u0442 \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u043e\u0433\u043e \u0441\u0443\u0434\u043d\u0430 \u043a \u043f\u0440\u0438\u0435\u043c\u043d\u043e\u0439 \u0441\u0442\u0430\u043d\u0446\u0438\u0438,","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/flightradar24-kak-eto-rabotaet-chast-2-ads-b-protokol","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-03-17T21:00:00+00:00","article:modified_time":"2020-02-18T10:44:57+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"42151","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 07:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:05:21","updated":"2026-01-22 07:26:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/42151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=42151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/42151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=42151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=42151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=42151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}