{"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\/it\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"Ricevitore SDR DVB-T2 in C++","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La Radio Definita dal Software (SDR) \u00e8 un metodo che sostituisce il lavoro metallico (che, in sostanza, \u00e8 utile per la salute) con il mal di testa della programmazione. Si prevede un grande futuro per l'SDR, e la sua principale virt\u00f9 \u00e8 la rimozione delle restrizioni nella realizzazione dei protocolli radio. Un esempio \u00e8 il metodo di modulazione OFDM (Orthogonal frequency-division multiplexing), che \u00e8 diventato possibile solo attraverso l'SDR. Ma c'\u00e8 un'altra possibilit\u00e0 puramente ingegneristica nell'SDR: la possibilit\u00e0 di controllare e visualizzare il segnale in qualsiasi punto arbitrario con il minimo sforzo.<\/p>\n<p><\/p>\n<p>Uno degli standard di comunicazione pi\u00f9 interessanti \u00e8 la televisione terrestre DVB-T2.<br \/>\nPerch\u00e9? Naturalmente, si pu\u00f2 semplicemente accendere la televisione senza alzarsi, ma non c'\u00e8 assolutamente nulla da vedere l\u00ec; non \u00e8 solo la mia opinione, \u00e8 un fatto medico.<\/p>\n<p><\/p>\n<p>A essere seri, il DVB-T2 \u00e8 stato sviluppato con possibilit\u00e0 molto ampie, tra cui:<\/p>\n<p><\/p>\n<ul>\n<li>utilizzo interno<\/li>\n<li>modulazione da QPSK a 256QAM<\/li>\n<li>larghezza di banda da 1,7MHz a 8MHz <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Abbiamo esperienza nella ricezione della televisione digitale secondo il principio SDR. Lo standard DVB-T \u00e8 presente nel noto progetto GNURadio. C'\u00e8 un modulo gr-dvbs2rx per lo standard DVB-T2 (ancora per GNURadio), ma richiede una sincronizzazione del segnale in anticipo, ed \u00e8 fonte d'ispirazione (grazie a Ron Economos).<\/p>\n<p><\/p>\n<p>Cosa abbiamo.<\/p>\n<p><\/p>\n<p>Esiste uno standard ETSI EN 302 755 che descrive dettagliatamente la trasmissione, ma non la ricezione.<\/p>\n<p><\/p>\n<p>Il segnale in onda ha una frequenza di campionamento di 9,14285714285714285714 MHz, modulato COFDM con 32768 portanti, su una banda di 8 MHz.<\/p>\n<p><\/p>\n<p>Si raccomanda di ricevere tali segnali con una frequenza di campionamento raddoppiata (per non perdere nulla) e su una frequenza intermedia superiore alla larghezza di banda (ricezione supereterodina), per eliminare la deriva continua (DC) e il \u201cpassaggio\u201d del generatore locale (LO) all'ingresso del ricevitore. I dispositivi che soddisfano queste condizioni sono troppo costosi per una mera curiosit\u00e0.<\/p>\n<p><\/p>\n<p>SdrPlay con 10Msps 10bit o AirSpy con caratteristiche simili a un prezzo significativamente pi\u00f9 basso. Qui non si parla di una frequenza di campionamento raddoppiata e la ricezione pu\u00f2 avvenire solo con una conversione diretta (Zero IF). Perci\u00f2 (per motivi finanziari) ci orientiamo verso i sostenitori del \"pure\" SDR con il minimo di conversione hardware.<\/p>\n<p><\/p>\n<p>Era necessario risolvere due problemi:<\/p>\n<p><\/p>\n<ol>\n<li>Sincronizzazione. Determinare l'esatta deviazione della frequenza radio con precisione di fase e la deviazione della frequenza di campionamento.<\/li>\n<li>Riscrivere lo standard DVB-T2 al contrario.<\/li>\n<\/ol>\n<p><\/p>\n<p>Il secondo problema richiede molto pi\u00f9 codice, ma \u00e8 risolvibile con perseveranza e pu\u00f2 essere facilmente verificato con segnali di prova. <\/p>\n<p><\/p>\n<p>I segnali di prova sono disponibili sul server BBC ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ con dettagliate istruzioni.<\/p>\n<p><\/p>\n<p>La soluzione del primo problema dipende fortemente dalle caratteristiche del dispositivo SDR e dalle possibilit\u00e0 di controllo. Utilizzare le funzionalit\u00e0 di controllo della frequenza consigliate, a dir poco, non ha avuto successo, ma ha fornito molta esperienza nella lettura della documentazione tecnica, nella programmazione, nella visione di serie, nella risoluzione di questioni filosofiche\u2026 insomma, non \u00e8 stato possibile abbandonare il progetto. <\/p>\n<p><\/p>\n<p>La fiducia nel \"pure SDR\" \u00e8 solo aumentata. <\/p>\n<p><\/p>\n<p>Riceviamo il segnale cos\u00ec com'\u00e8, lo interpoliamo praticamente fino a ottenere un analogo e poi estraiamo un segnale discreto, ma simile al vero.<\/p>\n<p><\/p>\n<p>Diagramma di sincronizzazione:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/b6362e201fb355fb63760fa901ecf73e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Qui tutto segue il manuale. Poi diventa un po' pi\u00f9 complicato. \u00c8 necessario calcolare le deviazioni. Ci sono molti libri e articoli di ricerca che confrontano i pro e i contro dei diversi metodi. Tra i classici - \"Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Parts I and II\". Tuttavia, non ho mai incontrato un ingegnere in grado e desideroso di fare i calcoli, quindi \u00e8 stato applicato un approccio ingegneristico. Con lo stesso metodo di sincronizzazione sono state introdotte delle distorsioni nel segnale di prova. Confrontando diverse metriche con deviazioni note (che ho anch'io introdotto), sono state scelte le migliori per prestazioni e semplicit\u00e0 di implementazione. La deviazione della frequenza di ricezione viene calcolata confrontando l'intervallo di guardia e la sua parte ripetitiva. La fase della frequenza di ricezione e la frequenza di campionamento sono valutate in base alle deviazioni di fase dei segnali pilota, che \u00e8 utilizzata anch'essa in un semplice equalizzatore lineare per il segnale OFDM.<\/p>\n<p><\/p>\n<p>Caratteristiche dell'equalizzatore:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/d4a1bc8fc4d5e27cb7d376a810ea4485.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>E tutto questo funziona bene se si sa quando inizia il fotogramma DVB-T2. A questo scopo, nel segnale viene trasmesso il simbolo di preambolo P1. Il metodo di rilevamento e decodifica del simbolo P1 \u00e8 descritto nella Specifica Tecnica ETSI TS 102 831 (l\u00ec ci sono anche molti utili consigli per la ricezione).<\/p>\n<p><\/p>\n<p>Autocorrelazione del segnale P1 (il punto pi\u00f9 alto inizia il fotogramma):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/10e052a169a20b16d28d01b1462f4ff3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La prima immagine (mancano solo sei mesi all'immagine in movimento\u2026):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/8c434965be9c2450afd3c82b3ebbb4f4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ed \u00e8 qui che scopriamo che cos'\u00e8 l'imbalance IQ, il DC offset e la fuga LO. In genere, la compensazione di queste distorsioni specifiche della conversione diretta \u00e8 realizzata nel driver del dispositivo SDR. Ci \u00e8 voluto molto tempo per capire che estrarre le stelle da una costellazione QAM64 \u00e8 il lavoro delle funzioni di compensazione. Ho dovuto disattivare tutto e scrivere il mio 'bicicletta'.<\/p>\n<p><\/p>\n<p>Ecco che l'immagine ha iniziato a muoversi:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/0ddb224d2e0a3890ac9d335c96ba24f0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Modulazione QAM64 con una rotazione specifica della costellazione nello standard DVB-T2:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/b06328fa648125249ef9b0b74522e831.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>In breve, \u00e8 il risultato di far passare la carne macinata di nuovo attraverso il tritacarne. Lo standard prevede quattro tipi di mescolamento:<\/p>\n<p><\/p>\n<ul>\n<li>bit interleaving (mescolamento dei bit con la rotazione delle colonne)<\/li>\n<li>cell interleaving (mescolamento delle celle nel blocco di codifica)<\/li>\n<li>interlacciamento nel tempo (ovvero nel gruppo di blocchi di codifica)<\/li>\n<li>interlacciamento nella frequenza (mescolamento delle frequenze nel simbolo OFDM)<\/li>\n<\/ul>\n<p><\/p>\n<p>Alla fine abbiamo questo segnale in ingresso:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Ricevitore SDR DVB-T2 in C++\" src=\"\/wp-content\/uploads\/2020\/10\/cb60687702c5f225840df30124a9ef68.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tutto questo \u00e8 una lotta per la robustezza del segnale codificato.<\/p>\n<p><\/p>\n<h4 id=\"itog\">Risultato<\/h4>\n<p><\/p>\n<p>Ora possiamo vedere non solo il segnale stesso e la sua forma, ma anche le informazioni di servizio.<br \/>\nCi sono due multiplex in onda. In ciascuno ci sono due canali fisici (PLP). <\/p>\n<p><\/p>\n<p>Una stranezza \u00e8 stata notata nel primo multiplex: il primo PLP ha l'etichetta \u00abmultiple\u00bb, il che \u00e8 logico, poich\u00e9 non \u00e8 solo nel multiplex, mentre il secondo PLP ha l'etichetta \u00absingle\u00bb e questo \u00e8 un problema.<br \/>\nAncora pi\u00f9 interessante \u00e8 la seconda stranezza nel secondo multiplex: tutti i programmi nel primo PLP, mentre nel secondo PLP a velocit\u00e0 ridotta c'\u00e8 un segnale di natura sconosciuta. Almeno, il lettore VLC, che comprende circa cinquanta formati video e altrettanti audio, non lo riconosce. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">Il progetto pu\u00f2 essere trovato qui<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Il progetto \u00e8 stato creato con l'obiettivo di determinare la possibilit\u00e0 di decodificare DVB-T2 utilizzando SdrPlay (e ora anche AirSpy), quindi questa \u00e8 anche una versione non alfa.<\/p>\n<p><\/p>\n<p>P.S. Mentre si scriveva faticosamente l'articolo, sono riuscito ad integrare nel progetto PlutoSDR.<\/p>\n<p><\/p>\n<p>Qualcuno dir\u00e0 subito che ci sono solo 6Msps per il segnale IQ in uscita da USB2.0, mentre servirebbero almeno 9,2Msps, ma questo \u00e8 gi\u00e0 un tema a parte.<\/p>\n<p>Fonte: <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 4.9.10 - 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. 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\" \/>\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\/it\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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. 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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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\udd47Ricevitore SDR DVB-T2 in C++ | ProHoster","description":"La Radio Definita dal Software (Software Defined Radio) \u00e8 un metodo che sostituisce il lavoro in metallo (che, in pratica, \u00e8 utile per la salute) con il mal di testa della programmazione. Si prevede un grande futuro per la SDR, e la sua principale qualit\u00e0 \u00e8 la rimozione delle limitazioni nell'implementazione dei protocolli radio. Un esempio \u00e8 il metodo di modulazione OFDM (Orthogonal frequency-division multiplexing), che \u00e8 diventato possibile solo grazie alla SDR. Ma ci sono anche altre funzionalit\u00e0 nella SDR.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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. 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","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}