{"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\/fr\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"Receveur SDR DVB-T2 en C++","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La Radio D\u00e9fini par Logiciel (Software Defined Radio) est une m\u00e9thode qui remplace le travail de m\u00e9tal (ce qui, en principe, est b\u00e9n\u00e9fique pour la sant\u00e9) par la douleur de la programmation. L'SDR est promis \u00e0 un grand avenir, et son principal avantage r\u00e9side dans la suppression des restrictions sur la mise en \u0153uvre des protocoles radio. Un exemple est la m\u00e9thode de modulation OFDM (Orthogonal frequency-division multiplexing), qui n'est devenue possible que gr\u00e2ce \u00e0 la m\u00e9thode SDR. Cependant, l'SDR offre \u00e9galement une autre possibilit\u00e9 purement technique : la capacit\u00e9 de contr\u00f4ler et de visualiser le signal \u00e0 n'importe quel point arbitraire avec un minimum d'efforts.<\/p>\n<p><\/p>\n<p>L'un des standards de communication int\u00e9ressants est la t\u00e9l\u00e9vision terrestre DVB-T2.<br \/>\nPourquoi faire ? Bien s\u00fbr, on peut simplement allumer la t\u00e9l\u00e9vision sans se lever, mais il n'y a absolument rien \u00e0 regarder et cela n'est pas seulement mon opinion, c'est un fait m\u00e9dical.<\/p>\n<p><\/p>\n<p>Si on parle s\u00e9rieusement, le DVB-T2 a \u00e9t\u00e9 d\u00e9velopp\u00e9 avec des capacit\u00e9s tr\u00e8s larges, y compris :<\/p>\n<p><\/p>\n<ul>\n<li>application int\u00e9rieure<\/li>\n<li>modulation de QPSK \u00e0 256QAM<\/li>\n<li>largeur de bande de 1,7 MHz \u00e0 8 MHz <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Il existe une exp\u00e9rience de r\u00e9ception de t\u00e9l\u00e9vision num\u00e9rique selon le principe SDR. Le standard DVB-T est pr\u00e9sent dans le projet connu GNURadio. Il existe un bloc gr-dvbs2rx pour le standard DVB-T2 (tout cela pour GNURadio), mais n\u00e9cessitant une synchronisation pr\u00e9alable du signal et il est inspirant (merci sp\u00e9cial \u00e0 Ron Economos).<\/p>\n<p><\/p>\n<p>Qu'avons-nous ?<\/p>\n<p><\/p>\n<p>Il existe une norme ETSI EN 302 755, d\u00e9crivant en d\u00e9tail la transmission, mais pas la r\u00e9ception.<\/p>\n<p><\/p>\n<p>Le signal diffus\u00e9 avec une fr\u00e9quence d'\u00e9chantillonnage de 9,14285714285714285714 MHz, modul\u00e9 en COFDM avec 32768 porteuses, dans une bande de 8 MHz.<\/p>\n<p><\/p>\n<p>Il est recommand\u00e9 de recevoir de tels signaux avec une fr\u00e9quence d'\u00e9chantillonnage double (pour ne rien perdre) et \u00e0 une fr\u00e9quence interm\u00e9diaire sup\u00e9rieure \u00e0 la largeur de bande (r\u00e9ception par superh\u00e9t\u00e9rodyne), afin d'\u00e9liminer le d\u00e9calage en courant continu (DC) et le \"fuite\" de l'oscillateur local (LO) \u00e0 l'entr\u00e9e du r\u00e9cepteur. Les dispositifs respectant ces conditions sont trop co\u00fbteux pour une simple curiosit\u00e9.<\/p>\n<p><\/p>\n<p>SdrPlay avec 10Msps 10bit ou AirSpy avec des caract\u00e9ristiques similaires est beaucoup moins cher. Ici, il n'est pas question de fr\u00e9quence d'\u00e9chantillonnage double et la r\u00e9ception ne peut se faire qu'avec une conversion directe (Zero IF). Par cons\u00e9quent, (pour des raisons financi\u00e8res) nous passons du c\u00f4t\u00e9 des adeptes du \"pur\" SDR avec un minimum de conversion mat\u00e9rielle.<\/p>\n<p><\/p>\n<p>Il \u00e9tait n\u00e9cessaire de r\u00e9soudre deux t\u00e2ches :<\/p>\n<p><\/p>\n<ol>\n<li>Synchronisation. D\u00e9terminer le d\u00e9calage exact de la fr\u00e9quence radio avec une pr\u00e9cision de phase et le d\u00e9calage de la fr\u00e9quence d'\u00e9chantillonnage.<\/li>\n<li>R\u00e9\u00e9crire la norme DVB-T2 \u00e0 l'envers.<\/li>\n<\/ol>\n<p><\/p>\n<p>La deuxi\u00e8me t\u00e2che n\u00e9cessite beaucoup plus de code, mais elle est r\u00e9solvable par la pers\u00e9v\u00e9rance et peut \u00eatre facilement v\u00e9rifi\u00e9e \u00e0 l'aide de signaux de test. <\/p>\n<p><\/p>\n<p>Les signaux de test sont disponibles sur le serveur de la BBC ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ avec des instructions d\u00e9taill\u00e9es.<\/p>\n<p><\/p>\n<p>La solution de la premi\u00e8re t\u00e2che d\u00e9pend fortement des caract\u00e9ristiques de l'appareil SDR et des capacit\u00e9s de contr\u00f4le. Utiliser les fonctions de contr\u00f4le de fr\u00e9quence recommand\u00e9es, comme on dit, n'a pas r\u00e9ussi, mais cela a permis d'acqu\u00e9rir beaucoup d'exp\u00e9rience en lecture de documentation technique, en programmation, en regardant des s\u00e9ries, en r\u00e9solvant des questions philosophiques..., en gros, il n'a pas \u00e9t\u00e9 possible d'abandonner le projet. <\/p>\n<p><\/p>\n<p>La foi en \u00ab pure SDR \u00bb n'a fait que se renforcer. <\/p>\n<p><\/p>\n<p>Nous prenons le signal tel quel, l'interpolons pratiquement jusqu'\u00e0 un analogue et en extrayons ainsi un discret, mais ressemblant \u00e0 l'original.<\/p>\n<p><\/p>\n<p>Sch\u00e9ma de synchronisation :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/b6362e201fb355fb63760fa901ecf73e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ici, tout est selon le manuel. Ensuite, c'est un peu plus compliqu\u00e9. Il est n\u00e9cessaire de calculer les \u00e9carts. Il existe de nombreuses litt\u00e9ratures et articles de recherche comparant les avantages et les inconv\u00e9nients des diff\u00e9rentes m\u00e9thodes. Dans la classique, c'est \u00ab Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Part I et II \u00bb. Cependant, je n'ai jamais rencontr\u00e9 d'ing\u00e9nieur capable et d\u00e9sireux de faire des calculs, donc une approche ing\u00e9nierie a \u00e9t\u00e9 appliqu\u00e9e. La m\u00eame m\u00e9thode de synchronisation a introduit des perturbations dans le signal de test. En comparant diff\u00e9rentes m\u00e9triques avec des \u00e9carts connus (je les ai moi-m\u00eame introduits), les meilleures pour la performance et la simplicit\u00e9 de mise en \u0153uvre ont \u00e9t\u00e9 choisies. L'\u00e9cart de fr\u00e9quence de r\u00e9ception est calcul\u00e9 en comparant l'intervalle de protection et sa partie r\u00e9p\u00e9t\u00e9e. La phase de fr\u00e9quence de r\u00e9ception et la fr\u00e9quence d'\u00e9chantillonnage sont \u00e9valu\u00e9es en fonction de l'\u00e9cart de phase des signaux pilotes, et cela est \u00e9galement utilis\u00e9 dans un \u00e9galiseur OFDM simple et lin\u00e9aire.<\/p>\n<p><\/p>\n<p>Caract\u00e9ristiques de l'\u00e9galiseur :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/d4a1bc8fc4d5e27cb7d376a810ea4485.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Et tout cela fonctionne bien si l'on sait quand commence un cadre DVB-T2. Pour cela, un symbole de pr\u00e9ambule P1 est transmis dans le signal. La m\u00e9thode de d\u00e9tection et de d\u00e9codage du symbole P1 est d\u00e9crite dans la sp\u00e9cification technique ETSI TS 102 831 (il y a aussi de nombreuses recommandations utiles pour la r\u00e9ception).<\/p>\n<p><\/p>\n<p>Autocorr\u00e9lation du signal P1 (le point le plus \u00e9lev\u00e9 au d\u00e9but du cadre) :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/10e052a169a20b16d28d01b1462f4ff3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La premi\u00e8re image (il ne reste plus que six mois avant l'image en mouvement...) :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/8c434965be9c2450afd3c82b3ebbb4f4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>C'est ici que nous d\u00e9couvrons ce qu'est le d\u00e9s\u00e9quilibre IQ, le d\u00e9calage DC et la fuite LO. En g\u00e9n\u00e9ral, la compensation de ces distorsions sp\u00e9cifiques \u00e0 la conversion directe est r\u00e9alis\u00e9e dans le pilote du dispositif SDR. Il a donc fallu beaucoup de temps pour comprendre que le fait de sortir les \u00e9toiles d'une constellation QAM64 bien ordonn\u00e9e est le travail des fonctions de compensation. Il a fallu tout d\u00e9connecter et \u00e9crire sa propre solution.<\/p>\n<p><\/p>\n<p>Et voil\u00e0, l'image a commenc\u00e9 \u00e0 bouger :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/0ddb224d2e0a3890ac9d335c96ba24f0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Modulation QAM64 avec une rotation sp\u00e9cifique de la constellation dans la norme DVB-T2 :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/b06328fa648125249ef9b0b74522e831.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En r\u00e9sum\u00e9, c'est le r\u00e9sultat de faire passer une viande hach\u00e9e \u00e0 travers un hachoir \u00e0 viande. La norme pr\u00e9voit quatre types de m\u00e9lange :<\/p>\n<p><\/p>\n<ul>\n<li>bit interleaving (m\u00e9lange de bits avec torsion des colonnes)<\/li>\n<li>cell interleaving (m\u00e9lange des cellules dans le bloc de codage)<\/li>\n<li>time interleaving (m\u00e9lange dans le groupe de blocs de codage)<\/li>\n<li>frequency interleaving (m\u00e9lange des fr\u00e9quences dans le symbole OFDM)<\/li>\n<\/ul>\n<p><\/p>\n<p>Au final, nous avons ce type de signal en entr\u00e9e :<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receveur SDR DVB-T2 en C++\" src=\"\/wp-content\/uploads\/2020\/10\/cb60687702c5f225840df30124a9ef68.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tout cela est une lutte pour la r\u00e9sistance aux interf\u00e9rences du signal cod\u00e9.<\/p>\n<p><\/p>\n<h4 id=\"itog\">Conclusion<\/h4>\n<p><\/p>\n<p>Maintenant, nous pouvons voir non seulement le signal lui-m\u00eame et sa forme, mais aussi les informations de service.<br \/>\nIl y a deux multiplexeurs \u00e0 l'air. Chacun avec deux canaux physiques (PLP). <\/p>\n<p><\/p>\n<p>Une bizarrerie a \u00e9t\u00e9 remarqu\u00e9e dans le premier multiplexe \u2014 le premier PLP a l'\u00e9tiquette \u00abmultiple\u00bb, ce qui est logique, car il n'est pas seul dans le multiplexe, tandis que le second PLP a l'\u00e9tiquette \u00absingle\u00bb et c'est une question.<br \/>\nEncore plus int\u00e9ressant, la seconde bizarrerie du second multiplexe \u2014 tous les programmes sont dans le premier PLP, tandis que dans le second PLP \u00e0 faible vitesse, il y a un signal d'une nature inconnue. Du moins, le lecteur VLC, qui comprend environ une cinquantaine de formats vid\u00e9o et autant d'audio, ne le reconna\u00eet pas. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">Le projet peut \u00eatre trouv\u00e9 ici<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Le projet a \u00e9t\u00e9 cr\u00e9\u00e9 dans le but de d\u00e9terminer la possibilit\u00e9 m\u00eame de d\u00e9coder le DVB-T2 \u00e0 l'aide de SdrPlay (et maintenant aussi d'AirSpy), donc ce n'est m\u00eame pas une version alpha.<\/p>\n<p><\/p>\n<p>P.S. Pendant que l'article \u00e9tait difficile \u00e0 \u00e9crire, il a \u00e9t\u00e9 possible d'int\u00e9grer dans le projet le PlutoSDR.<\/p>\n<p><\/p>\n<p>Certaines personnes diront tout de suite qu'il n'y a que 6 Msps pour le signal IQ sur la sortie USB2.0, alors qu'il en faut au moins 9,2 Msps, mais c'est un sujet distinct.<\/p>\n<p>Source : <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 - 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\/fr\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47R\u00e9cepteur SDR DVB-T2 en C++ | ProHoster","description":"Software Defined Radio (radio d\u00e9finie par logiciel) \u2014 c'est une m\u00e9thode de remplacement du travail manuel (ce qui est, en principe, bon pour la sant\u00e9) par le mal de t\u00eate de la programmation.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}