{"id":96001,"date":"2020-10-06T13:42:04","date_gmt":"2020-10-06T11:42:04","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c"},"modified":"2020-10-06T13:42:04","modified_gmt":"2020-10-06T11:42:04","slug":"sdr-dvb-t2-receiver-na-c","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Software Defined Radio (softwarov\u011b definovan\u00e1 r\u00e1diov\u00e1 za\u0159\u00edzen\u00ed) je metoda, kter\u00e1 nahrazuje pr\u00e1ci s kovem (co\u017e je v z\u00e1sad\u011b pro zdrav\u00ed prosp\u011b\u0161n\u00e9) bolestmi hlavy spojen\u00fdmi s programov\u00e1n\u00edm. SDR je pova\u017eov\u00e1no za technologie s velk\u00fdm potenci\u00e1lem a jej\u00edm hlavn\u00edm p\u0159\u00ednosem je odstran\u011bn\u00ed omezen\u00ed v implementaci r\u00e1diov\u00fdch protokol\u016f. P\u0159\u00edkladem je metoda modulace OFDM (ortogon\u00e1ln\u00ed v\u00edcestandardn\u00ed multiplexing), kter\u00e1 byla umo\u017en\u011bna pouze d\u00edky metod\u011b SDR. SDR nab\u00edz\u00ed tak\u00e9 jednu \u010dist\u011b in\u017een\u00fdrskou mo\u017enost \u2014 mo\u017enost kontrolovat a vizualizovat sign\u00e1l v jak\u00e9mkoliv libovoln\u00e9m bod\u011b s minim\u00e1ln\u00edm \u00fasil\u00edm.<\/p>\n<p><\/p>\n<p>Jedn\u00edm z zaj\u00edmav\u00fdch standard\u016f komunikace je pozemn\u00ed digit\u00e1ln\u00ed televize DVB-T2.<br \/>\nPro\u010d? Samoz\u0159ejm\u011b, m\u016f\u017eete jednodu\u0161e zapnout televizi, ani\u017e byste vstali, ale tam nen\u00ed v\u016fbec nic ke sledov\u00e1n\u00ed, co\u017e ji\u017e nen\u00ed m\u016fj n\u00e1zor, ale l\u00e9ka\u0159sk\u00fd fakt.<\/p>\n<p><\/p>\n<p>Pokud to mysl\u00edme v\u00e1\u017en\u011b, DVB-T2 byl vyvinut s velmi \u0161irok\u00fdmi mo\u017enostmi, v\u010detn\u011b:<\/p>\n<p><\/p>\n<ul>\n<li>vnit\u0159n\u00ed aplikace<\/li>\n<li>modulace od QPSK do 256QAM<\/li>\n<li>\u0161\u00ed\u0159ka p\u00e1sma od 1,7MHz do 8MHz <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Existuj\u00ed zku\u0161enosti s p\u0159\u00edjmem digit\u00e1ln\u00ed televize podle principu SDR. Standard DVB-T je sou\u010d\u00e1st\u00ed zn\u00e1m\u00e9ho projektu GNURadio. Existuje blok gr-dvbs2rx pro standard DVB-T2 (to v\u0161e pro stejn\u00e9 GNURadio), ale vy\u017eaduje p\u0159edchoz\u00ed synchronizaci sign\u00e1lu a inspiruje (speci\u00e1ln\u00ed pod\u011bkov\u00e1n\u00ed Ronovi Economosovi).<\/p>\n<p><\/p>\n<p>Co m\u00e1me.<\/p>\n<p><\/p>\n<p>Existuje standard ETSI EN 302 755, kter\u00fd podrobn\u011b popisuje vys\u00edl\u00e1n\u00ed, ale ne p\u0159\u00edjem.<\/p>\n<p><\/p>\n<p>Sign\u00e1l v \u00e9teru s frekvenc\u00ed vzorkov\u00e1n\u00ed 9,14285714285714285714 MHz, modulovan\u00fd COFDM s 32768 nosn\u00fdmi, v p\u00e1smu 8 MHz.<\/p>\n<p><\/p>\n<p>P\u0159\u00edjem takov\u00fdch sign\u00e1l\u016f se doporu\u010duje s dvojn\u00e1sobnou frekvenc\u00ed vzorkov\u00e1n\u00ed (aby se nic neztratilo) a na mezifrekvenci vy\u0161\u0161\u00ed ne\u017e \u0161\u00ed\u0159ka p\u00e1sma (superheterodynn\u00ed p\u0159\u00edjem) k odstran\u011bn\u00ed posunu s dc nap\u011bt\u00edm a \"proporce\" m\u00edstn\u00edho gener\u00e1toru (LO) na vstupu p\u0159ij\u00edma\u010de. Za\u0159\u00edzen\u00ed spl\u0148uj\u00edc\u00ed tyto podm\u00ednky jsou p\u0159\u00edli\u0161 drah\u00e1 na pouh\u00e9 zv\u011bdavosti.<\/p>\n<p><\/p>\n<p>SdrPlay s 10Msps 10bit nebo AirSpy se srovnateln\u00fdmi parametry je podstatn\u011b levn\u011bj\u0161\u00ed. Tady se nehovo\u0159\u00ed o dvojn\u00e1sobn\u00e9 frekvenci vzorkov\u00e1n\u00ed a p\u0159\u00edjem lze prov\u00e1d\u011bt pouze s p\u0159\u00edmou konverz\u00ed (Zero IF). Proto, z finan\u010dn\u00edch d\u016fvod\u016f, p\u0159ech\u00e1z\u00edme na stranu p\u0159\u00edznivc\u016f \"\u010dist\u00e9ho\" SDR s minim\u00e1ln\u00edm hardwarov\u00fdm zpracov\u00e1n\u00edm.<\/p>\n<p><\/p>\n<p>Bylo t\u0159eba vy\u0159e\u0161it dva \u00fakoly:<\/p>\n<p><\/p>\n<ol>\n<li>Synchronizace. Zjistit p\u0159esn\u00e9 odchylky r\u00e1diov\u00e9 frekvence s p\u0159esnost\u00ed na f\u00e1zi a odchylku frekvence vzorkov\u00e1n\u00ed.<\/li>\n<li>P\u0159epsat standard DVB-T2 pozp\u00e1tku.<\/li>\n<\/ol>\n<p><\/p>\n<p>Druh\u00fd \u00fakol vy\u017eaduje mnohem v\u00edce k\u00f3du, ale je \u0159e\u0161iteln\u00fd vytrvalost\u00ed a snadno ov\u011b\u0159iteln\u00fd testovac\u00edmi sign\u00e1ly. <\/p>\n<p><\/p>\n<p>Testovac\u00ed sign\u00e1ly jsou dostupn\u00e9 na serveru BBC ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ s podrobn\u00fdmi instrukcemi.<\/p>\n<p><\/p>\n<p>\u0158e\u0161en\u00ed prvn\u00edho \u00fakolu je siln\u011b z\u00e1visl\u00e9 na vlastnostech za\u0159\u00edzen\u00ed SDR a mo\u017enostech \u0159\u00edzen\u00ed. Pou\u017e\u00edt doporu\u010den\u00e9 funkce \u0159\u00edzen\u00ed frekvence, jak se \u0159\u00edk\u00e1, se nezda\u0159ilo, ale p\u0159ineslo to spoustu zku\u0161enost\u00ed se \u010dten\u00edm technick\u00e9 dokumentace, programov\u00e1n\u00edm, sledov\u00e1n\u00edm seri\u00e1l\u016f, \u0159e\u0161en\u00edm filozofick\u00fdch ot\u00e1zek\u2026 zkr\u00e1tka, projekt se nezda\u0159ilo opustit. <\/p>\n<p><\/p>\n<p>V\u00edra v \"pure SDR\" se pouze upevnila. <\/p>\n<p><\/p>\n<p>P\u0159ij\u00edm\u00e1me sign\u00e1l tak, jak je, interpolujeme ho prakticky na analog a pot\u00e9 z\u00edsk\u00e1v\u00e1me diskr\u00e9tn\u00ed sign\u00e1l, kter\u00fd je v\u0161ak podobn\u00fd skute\u010dn\u00e9mu.<\/p>\n<p><\/p>\n<p>Blokov\u00e1 sch\u00e9ma synchronizace:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/b6362e201fb355fb63760fa901ecf73e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tady je v\u0161e podle u\u010debnice. D\u00e1le je to o n\u011bco slo\u017eit\u011bj\u0161\u00ed. Je nutn\u00e9 vypo\u010d\u00edtat odchylky. Existuje mnoho literatury a v\u00fdzkumn\u00fdch \u010dl\u00e1nk\u016f, kter\u00e9 porovn\u00e1vaj\u00ed v\u00fdhody a nev\u00fdhody r\u016fzn\u00fdch metod. Z klasiky \u2013 \"Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Part I and II\". Jen jsem nenarazil na \u017e\u00e1dn\u00e9ho in\u017een\u00fdra, kter\u00fd by um\u011bl a cht\u011bl po\u010d\u00edtat, tak\u017ee byl aplikov\u00e1n in\u017een\u00fdrsk\u00fd p\u0159\u00edstup. T\u00edm sam\u00fdm methodem synchronizace byly zavedeny poruchy do testovac\u00edho sign\u00e1lu. Porovn\u00e1n\u00edm r\u016fzn\u00fdch metrik s zn\u00e1m\u00fdmi odchylkami (s\u00e1m jsem je zav\u00e1d\u011bl) byly vybr\u00e1ny nejlep\u0161\u00ed pro v\u00fdkonnost a jednoduchost realizace. Odchylka p\u0159ij\u00edmac\u00ed frekvence se vypo\u010d\u00edt\u00e1v\u00e1 porovn\u00e1n\u00edm ochrann\u00e9ho intervalu a jeho opakuj\u00edc\u00ed se \u010d\u00e1sti. F\u00e1ze p\u0159ij\u00edmac\u00ed frekvence a vzorkovac\u00ed frekvence se odhaduje podle odchylky f\u00e1z\u00ed pilotn\u00edch sign\u00e1l\u016f a ta se tak\u00e9 pou\u017e\u00edv\u00e1 v jednoduch\u00e9m, line\u00e1rn\u00edm ekvaliz\u00e9ru OFDM sign\u00e1lu.<\/p>\n<p><\/p>\n<p>Charakteristika ekvaliz\u00e9ru:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/d4a1bc8fc4d5e27cb7d376a810ea4485.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A to v\u0161e dob\u0159e funguje, pokud v\u00edte, kdy za\u010d\u00edn\u00e1 r\u00e1mec DVB-T2. K tomu je v sign\u00e1lu p\u0159en\u00e1\u0161en symbol preambule P1. Zp\u016fsob detekce a dek\u00f3dov\u00e1n\u00ed symbolu P1 je pops\u00e1n v Technick\u00e9 specifikaci ETSI TS 102 831 (tam je tak\u00e9 mnoho u\u017eite\u010dn\u00fdch doporu\u010den\u00ed k p\u0159\u00edjmu).<\/p>\n<p><\/p>\n<p>Autokorelace sign\u00e1lu P1 (nejvy\u0161\u0161\u00ed bod za\u010d\u00e1tku r\u00e1mce):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/10e052a169a20b16d28d01b1462f4ff3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Prvn\u00ed obr\u00e1zek (do pohybliv\u00e9ho obrazu zb\u00fdv\u00e1 pouze \u0161est m\u011bs\u00edc\u016f\u2026):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/8c434965be9c2450afd3c82b3ebbb4f4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A pr\u00e1v\u011b zde zjist\u00edme, co je to IQ imbalance, DC offset a \u00fanik LO. Obvykle je kompenzace t\u011bchto specifick\u00fdch vad pro p\u0159\u00edmou konverzi realizov\u00e1na v ovlada\u010di SDR za\u0159\u00edzen\u00ed. Trvalo tedy dlouho, abychom pochopili: vy\u0159azen\u00ed hv\u011bzdi\u010dek z p\u0159\u00e1telsk\u00e9 souhv\u011bzd\u00ed QAM64 je pr\u00e1ce kompenza\u010dn\u00edch funkc\u00ed. Museli jsme v\u0161echno vypnout a napsat svou vlastn\u00ed verzi.<\/p>\n<p><\/p>\n<p>A obr\u00e1zek se za\u010dal h\u00fdbat:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/0ddb224d2e0a3890ac9d335c96ba24f0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Modulace QAM64 se specifick\u00fdm oto\u010den\u00edm souhv\u011bzd\u00ed ve standardu DVB-T2:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/b06328fa648125249ef9b0b74522e831.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Stru\u010dn\u011b \u0159e\u010deno, je to v\u00fdsledek prohn\u00e1n\u00ed mlet\u00e9 maso zp\u011bt p\u0159es ml\u00fdnek. Standard zahrnuje \u010dty\u0159i typy m\u00edch\u00e1n\u00ed:<\/p>\n<p><\/p>\n<ul>\n<li>bit interleaving (bitov\u00e9 m\u00edch\u00e1n\u00ed se zkroucen\u00edm sloupc\u016f)<\/li>\n<li>cell interleaving (m\u00edch\u00e1n\u00ed bun\u011bk v k\u00f3dovac\u00edm bloku)<\/li>\n<li>time interleaving (tak\u00e9 v r\u00e1mci skupiny k\u00f3dovac\u00edch blok\u016f)<\/li>\n<li>frequency interleaving (m\u00edch\u00e1n\u00ed frekvenc\u00ed v symbolu OFDM)<\/li>\n<\/ul>\n<p><\/p>\n<p>Na v\u00fdstupu m\u00e1me tedy takov\u00fd sign\u00e1l:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 p\u0159ij\u00edma\u010d na C++\" src=\"\/wp-content\/uploads\/2020\/10\/cb60687702c5f225840df30124a9ef68.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>To v\u0161e je boj za odolnost k\u00f3dovan\u00e9ho sign\u00e1lu proti ru\u0161en\u00ed.<\/p>\n<p><\/p>\n<h4 id=\"itog\">V\u00fdsledek<\/h4>\n<p><\/p>\n<p>Nyn\u00ed m\u016f\u017eeme vid\u011bt nejen samotn\u00fd sign\u00e1l a jeho tvar, ale tak\u00e9 pomocn\u00e9 informace.<br \/>\nV \u00e9teru jsou dva multiplexy. V ka\u017ed\u00e9m dva fyzick\u00e9 kan\u00e1ly (PLP). <\/p>\n<p><\/p>\n<p>Jedna zvl\u00e1\u0161tnost byla pozorov\u00e1na v prvn\u00edm multiplexu \u2014 prvn\u00ed PLP m\u00e1 ozna\u010den\u00ed \"multiple\", co\u017e je logick\u00e9, proto\u017ee nen\u00ed v multiplexu s\u00e1m, zat\u00edmco druh\u00fd PLP m\u00e1 ozna\u010den\u00ed \"single\" a to je ot\u00e1zka.<br \/>\nJe\u0161t\u011b zaj\u00edmav\u011bj\u0161\u00ed je druh\u00e1 zvl\u00e1\u0161tnost v druh\u00e9m multiplexu \u2014 v\u0161echny programy jsou v prvn\u00edm PLP, zat\u00edmco ve druh\u00e9m PLP na tich\u00e9m p\u0159enosu je sign\u00e1l nezn\u00e1m\u00e9 povahy. Aspo\u0148 p\u0159ehr\u00e1va\u010d VLC, kter\u00fd rozum\u00ed p\u0159ibli\u017en\u011b pades\u00e1ti video form\u00e1t\u016fm a stejn\u011b tolika audio form\u00e1t\u016fm, jej nerozpozn\u00e1v\u00e1. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">S\u00e1m projekt lze naj\u00edt zde<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Projekt byl vytvo\u0159en za \u00fa\u010delem zjistit, zda je mo\u017en\u00e9 dek\u00f3dovat DVB-T2 pomoc\u00ed SdrPlay (a nyn\u00ed u\u017e i AirSpy), tak\u017ee to nen\u00ed ani alfa verze.<\/p>\n<p><\/p>\n<p>P.S. Zat\u00edmco se \u010dl\u00e1nek obt\u00ed\u017en\u011b psal, poda\u0159ilo se mi p\u0159ipojit k projektu PlutoSDR.<\/p>\n<p><\/p>\n<p>N\u011bkdo hned \u0159ekne, \u017ee je tam pouze 6Msps pro IQ sign\u00e1l na v\u00fdstupu USB2.0, a \u017ee pot\u0159ebujeme alespo\u0148 9,2Msps, ale to u\u017e je jin\u00e1 z\u00e1le\u017eitost.<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/522150\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Software Defined Radio (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430) \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043c\u0435\u0442\u0430\u043b\u043b\u0443 (\u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f) \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. SDR \u043f\u0440\u043e\u0440\u043e\u0447\u0430\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u043e\u043c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043d\u044f\u0442\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0434\u0438\u043e\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432. \u041f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 \u043c\u043e\u0434\u0443\u043b\u044f\u0446\u0438\u0438 OFDM (Orthogonal frequency-division multiplexing), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u043c SDR. \u041d\u043e \u0435\u0441\u0442\u044c \u0432 SDR \u0438 \u0435\u0449\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":96002,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-96001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Software Defined Radio (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430) \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043c\u0435\u0442\u0430\u043b\u043b\u0443 (\u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f) \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\" \/>\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\/cs\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\udd47SDR DVB-T2 receiver \u043d\u0430 C++ | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Software Defined Radio (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430) \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043c\u0435\u0442\u0430\u043b\u043b\u0443 (\u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f) \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\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=\"2020-10-06T11:42:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-06T11:42:04+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\udd47SDR DVB-T2 receiver na C++ | ProHoster","description":"Software Defined Radio (programov\u011b definovan\u00e1 r\u00e1diov\u00e1 soustava) je metoda nahrazen\u00ed pr\u00e1ce s kovem (co\u017e je v z\u00e1sad\u011b dobr\u00e9 pro zdrav\u00ed) bolest\u00ed hlavy spojenou s programov\u00e1n\u00edm.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\udd47SDR DVB-T2 receiver \u043d\u0430 C++ | ProHoster","og:description":"Software Defined Radio (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430) \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043c\u0435\u0442\u0430\u043b\u043b\u0443 (\u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f) \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","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":"2020-10-06T11:42:04+00:00","article:modified_time":"2020-10-06T11:42:04+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"96001","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:53:26","updated":"2022-09-28 21:02:51","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}