{"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\/ro\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"Receiver SDR DVB-T2 pe C++","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Radio Definita de Software (radio definit prin software) este o metod\u0103 de \u00eenlocuire a lucrului cu metalul (ceea ce este, \u00een esen\u021b\u0103, benefic pentru s\u0103n\u0103tate) cu dureri de cap de programare. SDR-ului i se prezice un viitor str\u0103lucit, iar principalul s\u0103u avantaj este eliminarea restric\u021biilor \u00een implementarea protocoalelor radio. Un exemplu este metoda de modulare OFDM (multiplexare prin diviziune ortogonal\u0103 a frecven\u021bei), care a devenit posibil\u0103 doar prin metoda SDR. Dar SDR mai ofer\u0103 o alt\u0103 capacitate pur ingineresc\u0103 \u2014 de a controla \u0219i vizualiza semnalul \u00een orice punct arbitrar cu cele mai mici eforturi.<\/p>\n<p><\/p>\n<p>Unul dintre standardele de comunica\u021bie interesante este televiziunea terestr\u0103 DVB-T2.<br \/>\nDe ce? Desigur, po\u021bi pur \u0219i simplu s\u0103 aprinzi televizorul f\u0103r\u0103 a te ridica, dar nu este absolut nimic de vizionat \u0219i aceasta nu este doar p\u0103rerea mea, ci un fapt medical.<\/p>\n<p><\/p>\n<p>Serios acum, DVB-T2 a fost dezvoltat cu capacit\u0103\u021bi foarte largi, inclusiv:<\/p>\n<p><\/p>\n<ul>\n<li>aplica\u021bii \u00een interior<\/li>\n<li>modularea de la QPSK la 256QAM<\/li>\n<li>l\u0103\u021bimea de band\u0103 de la 1,7MHz la 8MHz <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Exist\u0103 experien\u021b\u0103 \u00een recep\u021bia televiziunii digitale prin principiul SDR. Standardul DVB-T exist\u0103 \u00een cunoscutul proiect GNURadio. Exist\u0103 blocul gr-dvbs2rx pentru standardul DVB-T2 (tot \u00een GNURadio), dar care necesit\u0103 sincronizare prealabil\u0103 a semnalului \u0219i este inspirator (mul\u021bumiri separate lui Ron Economos).<\/p>\n<p><\/p>\n<p>Ce avem.<\/p>\n<p><\/p>\n<p>Exist\u0103 standardul ETSI EN 302 755, care descrie \u00een detaliu transmisia, dar nu recep\u021bia.<\/p>\n<p><\/p>\n<p>Semnalul \u00een eter cu o frecven\u021b\u0103 de e\u0219antionare de 9,14285714285714285714 MHz, modulat COFDM cu 32768 purt\u0103tori, \u00een banda de 8 MHZ.<\/p>\n<p><\/p>\n<p>Este recomandat s\u0103 recep\u021bionezi astfel de semnale cu o frecven\u021b\u0103 de e\u0219antionare dublat\u0103 (pentru a nu pierde nimic) \u0219i la o frecven\u021b\u0103 intermediar\u0103 mai mare dec\u00e2t l\u0103\u021bimea de band\u0103 (recep\u021bie superheterodinic\u0103), pentru a sc\u0103pa de devia\u021bia de curent continuu (DC) \u0219i de \u201etrecerea\u201d oscilatorului local (LO) la intrarea receptorului. Dispozitivele care \u00eendeplinesc aceste condi\u021bii sunt prea scumpe pentru simpla curiozitate.<\/p>\n<p><\/p>\n<p>SdrPlay cu 10Msps 10bit sau AirSpy cu specifica\u021bii similare sunt cu mult mai ieftine. Aici nu este vorba despre o frecven\u021b\u0103 de e\u0219antionare dublat\u0103 \u0219i recep\u021bia poate fi realizat\u0103 doar cu o conversie direct\u0103 (Zero IF). A\u0219adar, (din motive financiare) trecem de partea adep\u021bilor SDR-ului \u201ecurat\u201d cu un minim de conversie hardware.<\/p>\n<p><\/p>\n<p>A fost necesar s\u0103 rezolv\u0103m dou\u0103 probleme:<\/p>\n<p><\/p>\n<ol>\n<li>Sincronizare. A afla devia\u021bia exact\u0103 a frecven\u021bei radio cu precizie p\u00e2n\u0103 la faz\u0103 \u0219i devia\u021bia frecven\u021bei de e\u0219antionare.<\/li>\n<li>Rescrie standardul DVB-T2 \u00een ordine invers\u0103.<\/li>\n<\/ol>\n<p><\/p>\n<p>A doua sarcin\u0103 necesit\u0103 mult mai mult cod, dar este realizabil\u0103 prin perseveren\u021b\u0103 \u0219i poate fi verificat\u0103 u\u0219or prin semnale de test. <\/p>\n<p><\/p>\n<p>Semnalele de test sunt disponibile pe serverul BBC ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ cu instruc\u021biuni detaliate.<\/p>\n<p><\/p>\n<p>Solu\u021bia primei sarcini depinde foarte mult de caracteristicile dispozitivului SDR \u0219i de capabilit\u0103\u021bile de control. Utilizarea func\u021biilor recomandate de control al frecven\u021bei, a\u0219a cum se spune, nu a dat rezultate, dar a oferit mult\u0103 experien\u021b\u0103 \u00een citirea documenta\u021biei tehnice, programare, vizionarea serialelor, rezolvarea \u00eentreb\u0103rilor filosofice... \u00een concluzie, nu am reu\u0219it s\u0103 abandonez proiectul. <\/p>\n<p><\/p>\n<p>Credin\u021ba \u00een \u201epure SDR\u201d s-a \u00eent\u0103rit doar. <\/p>\n<p><\/p>\n<p>Am primit semnalul a\u0219a cum este, l-am interpolat practic p\u00e2n\u0103 la un analog \u0219i am extras deja un semnal discret, dar similar cu cel real.<\/p>\n<p><\/p>\n<p>Schema de sincronizare:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/b6362e201fb355fb63760fa901ecf73e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aici totul este conform manualului. Apoi devine un pic mai complicat. Este necesar s\u0103 se calculeze devia\u021biile. Exist\u0103 multe literaturi \u0219i articole de cercetare care compar\u0103 avantajele \u0219i dezavantajele diferitelor metode. Din clasic\u0103 - este \u201eMichael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Partea I \u0219i II\u201d. Numai c\u0103 nu am \u00eent\u00e2lnit niciun inginer care s\u0103 fie capabil \u0219i dornic s\u0103 calculeze, a\u0219a c\u0103 s-a aplicat o abordare ingineresc\u0103. Prin aceea\u0219i metod\u0103 de sincronizare au fost introduce deranjamente \u00een semnalul de test. Prin compararea diferitelor metrici cu devia\u021bii cunoscute (le-am introdus chiar eu), au fost selectate cele mai bune pentru performan\u021b\u0103 \u0219i simplitate de implementare. Devia\u021bia frecven\u021bei de primire este calculat\u0103 prin compararea intervalului de protec\u021bie \u0219i a p\u0103r\u021bii sale repetitive. Faza frecven\u021bei de primire \u0219i frecven\u021ba de e\u0219antionare sunt evaluate pe baza devia\u021biei fazelor semnalelor pilot \u0219i aceea\u0219i este utilizat\u0103 \u00eentr-un egalizator linear simplu pentru semnalul OFDM.<\/p>\n<p><\/p>\n<p>Caracteristica egalizatorului:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/d4a1bc8fc4d5e27cb7d376a810ea4485.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0218i toate acestea func\u021bioneaz\u0103 bine dac\u0103 \u0219tii c\u00e2nd \u00eencepe cadru DVB-T2. Pentru aceasta, \u00een semnal se transmite simbolul de preambul P1. Metoda de detectare \u0219i decodificare a simbolului P1 este descris\u0103 \u00een Specifica\u021bia Tehnic\u0103 ETSI TS 102 831 (de asemenea, sunt multe recomand\u0103ri utile pentru recep\u021bie).<\/p>\n<p><\/p>\n<p>Autocorela\u021bia semnalului P1 (cel mai \u00eenalt punct la \u00eenceputul cadrului):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/10e052a169a20b16d28d01b1462f4ff3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Prima imagine (au mai r\u0103mas doar \u0219ase luni p\u00e2n\u0103 la imaginile \u00een mi\u0219care...):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/8c434965be9c2450afd3c82b3ebbb4f4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0218i aici afl\u0103m ce este un dezechilibru IQ, offset DC \u0219i scurgerea LO. De obicei, compensa\u021bia acestor distorsiuni specifice conversiei directe este implementat\u0103 \u00een driverul dispozitivului SDR. A\u0219a c\u0103 a durat mult timp s\u0103 \u00een\u021belegem: ob\u021binerea stelelor din constela\u021bia familiar\u0103 QAM64 este munca func\u021biilor de compensa\u021bie. A trebuit s\u0103 dezactivez totul \u0219i s\u0103 scriu bicicleta mea.<\/p>\n<p><\/p>\n<p>\u0218i iat\u0103 c\u0103 imaginea a \u00eenceput s\u0103 se mi\u0219te:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/0ddb224d2e0a3890ac9d335c96ba24f0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Modula\u021bia QAM64 cu o rota\u021bie specific\u0103 a constela\u021biei \u00een standardul DVB-T2:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/b06328fa648125249ef9b0b74522e831.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pe scurt, aceasta este rezultatul trecerii c\u0103rnii prin ma\u0219ina de tocat din nou. Standardul prevede patru tipuri de amestecare:<\/p>\n<p><\/p>\n<ul>\n<li>bit interleaving (amestecare a bi\u021bilor cu \u00eenv\u00e2rtirea coloanelor)<\/li>\n<li>cell interleaving (amestecare a celulelor \u00een blocul de codare)<\/li>\n<li>time interleaving (de asemenea, \u00een grupul de blocuri de codare)<\/li>\n<li>frequency interleaving (amestecare a frecven\u021belor \u00een simbolul OFDM)<\/li>\n<\/ul>\n<p><\/p>\n<p>\u00cen final, la intrare avem urm\u0103torul semnal:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receiver SDR DVB-T2 pe C++\" src=\"\/wp-content\/uploads\/2020\/10\/cb60687702c5f225840df30124a9ef68.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Toate acestea sunt o lupt\u0103 pentru rezisten\u021ba semnalului codificat la interferen\u021be.<\/p>\n<p><\/p>\n<h4 id=\"itog\">Rezultatul<\/h4>\n<p><\/p>\n<p>Acum putem vedea nu doar semnalul propriu-zis \u0219i forma lui, dar \u0219i informa\u021biile auxiliare.<br \/>\nPe eter sunt dou\u0103 multiplexuri. Fiecare are dou\u0103 canale fizice (PLP). <\/p>\n<p><\/p>\n<p>O ciud\u0103\u021benie a fost observat\u0103 \u00een primul multiplex - primul PLP are eticheta \u201emultiple\u201d, ceea ce este logic, deoarece nu este singur \u00een multiplex, iar al doilea PLP are eticheta \u201esingle\u201d \u0219i aceasta este o problem\u0103.<br \/>\nMai interesant este al doilea paradox \u00een al doilea multiplex - toate programele sunt \u00een primul PLP, iar \u00een al doilea PLP, la o vitez\u0103 mic\u0103, exist\u0103 un semnal de natur\u0103 necunoscut\u0103. Cel pu\u021bin, playerul VLC, care \u00een\u021belege aproximativ o jum\u0103tate de sut\u0103 de formate video \u0219i tot at\u00e2tea audio, nu-l recunoa\u0219te. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">Proiectul poate fi g\u0103sit aici<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Proiectul a fost creat cu scopul de a determina posibiltatea de a decoda DVB-T2 folosind SdrPlay (iar acum \u0219i AirSpy), deci aceasta nu este nici m\u0103car o versiune alfa.<\/p>\n<p><\/p>\n<p>P.S. \u00cen timp ce scriam cu dificultate articolul, am reu\u0219it s\u0103 integrez PlutoSDR \u00een proiect.<\/p>\n<p><\/p>\n<p>Unii vor spune imediat c\u0103 are doar 6Msps pentru semnalul IQ la ie\u0219irea USB2.0, iar este necesar cel pu\u021bin 9,2Msps, dar aceasta este deja o tem\u0103 separat\u0103.<\/p>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Receivator SDR DVB-T2 pe C++ | ProHoster","description":"Software Defined Radio (radio definit software) este o metod\u0103 de \u00eenlocuire a muncii metalice (ceea ce, \u00een esen\u021b\u0103, este bine pentru s\u0103n\u0103tate) cu durerea de cap a program\u0103rii.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}