{"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\/es\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"Receptor SDR DVB-T2 en C++","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La Radio Definida por Software (SDR) es un m\u00e9todo que reemplaza el trabajo del metal (lo cual, en principio, es beneficioso para la salud) por el dolor de cabeza de la programaci\u00f3n. Se prev\u00e9 un gran futuro para la SDR, y su principal ventaja es la eliminaci\u00f3n de limitaciones en la implementaci\u00f3n de protocolos de radio. Un ejemplo es el m\u00e9todo de modulaci\u00f3n OFDM (Multiplexi\u00f3n por Divisi\u00f3n de Frecuencia Ortogonal), que solo se hizo posible a trav\u00e9s de la SDR. Pero tambi\u00e9n hay otra posibilidad puramente ingenieril en la SDR: la capacidad de controlar y visualizar la se\u00f1al en cualquier punto arbitrario con el m\u00ednimo esfuerzo.<\/p>\n<p><\/p>\n<p>Uno de los est\u00e1ndares de comunicaci\u00f3n interesantes es la televisi\u00f3n terrestre DVB-T2.<br \/>\n\u00bfPor qu\u00e9? Por supuesto, se puede encender el televisor sin levantarse, pero no hay nada que ver y esto ya no es mi opini\u00f3n, sino un hecho m\u00e9dico.<\/p>\n<p><\/p>\n<p>En serio, DVB-T2 fue desarrollado con un conjunto de caracter\u00edsticas muy amplias, que incluyen:<\/p>\n<p><\/p>\n<ul>\n<li>aplicaci\u00f3n interior<\/li>\n<li>modulaci\u00f3n de QPSK a 256QAM<\/li>\n<li>ancho de banda de 1,7 MHz a 8 MHz <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Existen experiencias de recepci\u00f3n de televisi\u00f3n digital basadas en el principio de SDR. El est\u00e1ndar DVB-T est\u00e1 en el conocido proyecto GNURadio. Hay un bloque gr-dvbs2rx para el est\u00e1ndar DVB-T2 (todo para el mismo GNURadio), pero requiere la sincronizaci\u00f3n previa de la se\u00f1al y es inspirador (gracias a Ron Economos).<\/p>\n<p><\/p>\n<p>\u00bfQu\u00e9 tenemos?<\/p>\n<p><\/p>\n<p>Hay un est\u00e1ndar ETSI EN 302 755, que describe detalladamente la transmisi\u00f3n, pero no la recepci\u00f3n.<\/p>\n<p><\/p>\n<p>La se\u00f1al en el aire con una frecuencia de muestreo de 9,14285714285714285714 MHz, modulada por COFDM con 32768 portadoras, en un ancho de banda de 8 MHz.<\/p>\n<p><\/p>\n<p>Se recomienda recibir tales se\u00f1ales con el doble de la frecuencia de muestreo (para no perder nada) y en una frecuencia intermedia mayor que el ancho de banda (recepci\u00f3n superheterodina) para evitar distorsiones por corriente continua (DC) y el \"deslizamiento\" del oscilador local (LO) en la entrada del receptor. Los dispositivos que cumplen con estas condiciones son demasiado caros para una mera curiosidad.<\/p>\n<p><\/p>\n<p>SdrPlay con 10Msps 10bit o AirSpy con caracter\u00edsticas similares son mucho m\u00e1s econ\u00f3micos. Aqu\u00ed no se habla de duplicar la frecuencia de muestreo, y la recepci\u00f3n solo se puede realizar con conversi\u00f3n directa (Zero IF). Por lo tanto, por razones financieras, nos pasamos al lado de los adeptos del SDR \"puro\" con el m\u00ednimo de conversi\u00f3n de hardware.<\/p>\n<p><\/p>\n<p>Era necesario resolver dos tareas:<\/p>\n<p><\/p>\n<ol>\n<li>Sincronizaci\u00f3n. Determinar la desviaci\u00f3n exacta de la frecuencia de radio con precisi\u00f3n de fase y la desviaci\u00f3n de la frecuencia de muestreo.<\/li>\n<li>Reescribir el est\u00e1ndar DVB-T2 de atr\u00e1s hacia adelante.<\/li>\n<\/ol>\n<p><\/p>\n<p>La segunda tarea requiere mucho m\u00e1s c\u00f3digo, pero se puede resolver con perseverancia y se verifica f\u00e1cilmente con se\u00f1ales de prueba. <\/p>\n<p><\/p>\n<p>Las se\u00f1ales de prueba est\u00e1n disponibles en el servidor de BBC ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ con instrucciones detalladas.<\/p>\n<p><\/p>\n<p>La soluci\u00f3n de la primera tarea depende en gran medida de las caracter\u00edsticas del dispositivo SDR y de las capacidades de control. Usar las funciones de control de frecuencia recomendadas, como se dice, no tuvo \u00e9xito, pero proporcion\u00f3 mucha experiencia en la lectura de documentaci\u00f3n t\u00e9cnica, programaci\u00f3n, visualizaci\u00f3n de series, la resoluci\u00f3n de cuestiones filos\u00f3ficas..., en resumen, no se logr\u00f3 abandonar el proyecto. <\/p>\n<p><\/p>\n<p>La fe en el \u00abpure SDR\u00bb solo se ha fortalecido. <\/p>\n<p><\/p>\n<p>Tomamos la se\u00f1al tal como es, la interpolamos pr\u00e1cticamente hasta un an\u00e1logo y extraemos ya un discreto, pero similar a la real.<\/p>\n<p><\/p>\n<p>Diagrama de bloques de sincronizaci\u00f3n:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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>Aqu\u00ed todo est\u00e1 seg\u00fan el libro. A partir de aqu\u00ed es un poco m\u00e1s complicado. Es necesario calcular las desviaciones. Hay mucha literatura y art\u00edculos de investigaci\u00f3n que comparan las ventajas y desventajas de diferentes m\u00e9todos. De la cl\u00e1sica, est\u00e1 \u00abMichael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Parte I y II\u00bb. Solo que no he conocido a ning\u00fan ingeniero que sepa y quiera calcular, por lo que se aplic\u00f3 un enfoque ingenieril. Con el mismo m\u00e9todo de sincronizaci\u00f3n se introdujeron desajustes en la se\u00f1al de prueba. Mediante la comparaci\u00f3n de diferentes m\u00e9tricas con desviaciones conocidas (yo mismo las introduje) se eligieron las mejores para el rendimiento y la simplicidad de implementaci\u00f3n. La desviaci\u00f3n de la frecuencia de recepci\u00f3n se calcula comparando el intervalo de protecci\u00f3n y su parte repetitiva. La fase de la frecuencia de recepci\u00f3n y la frecuencia de muestreo se eval\u00faan seg\u00fan la desviaci\u00f3n de fase de las se\u00f1ales piloto y se utiliza en el ecualizador OFDM de forma simple y lineal.<\/p>\n<p><\/p>\n<p>Caracter\u00edstica del ecualizador:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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>Y todo esto funciona bien si se sabe cu\u00e1ndo comienza el cuadro DVB-T2. Para ello, en la se\u00f1al se transmite el s\u00edmbolo de la pre\u00e1mbulo P1. El m\u00e9todo para detectar y decodificar el s\u00edmbolo P1 est\u00e1 descrito en la Especificaci\u00f3n T\u00e9cnica ETSI TS 102 831 (all\u00ed tambi\u00e9n hay muchas recomendaciones \u00fatiles sobre la recepci\u00f3n).<\/p>\n<p><\/p>\n<p>Autocorrelaci\u00f3n de la se\u00f1al P1 (el punto m\u00e1s alto del inicio del cuadro):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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 primera imagen (solo quedan seis meses antes de la imagen en movimiento...):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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>Y es aqu\u00ed donde descubrimos qu\u00e9 es el desequilibrio de IQ, el desplazamiento de DC y la fuga de LO. Generalmente, la compensaci\u00f3n de estas distorsiones espec\u00edficas de la conversi\u00f3n directa se realiza en el controlador del dispositivo SDR. Por eso, ha llevado tiempo entender que disparar estrellas de una constelaci\u00f3n amigable QAM64 es el trabajo de las funciones de compensaci\u00f3n. Tuve que desconectar todo y escribir mi propia soluci\u00f3n.<\/p>\n<p><\/p>\n<p>Y as\u00ed, la imagen comenz\u00f3 a moverse:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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>Modulaci\u00f3n QAM64 con un giro espec\u00edfico de la constelaci\u00f3n en el est\u00e1ndar DVB-T2:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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 resumen, es el resultado de pasar la carne picada de nuevo a trav\u00e9s de la picadora. El est\u00e1ndar prev\u00e9 cuatro tipos de entrelazado:<\/p>\n<p><\/p>\n<ul>\n<li>entretenimiento de bits (entretenimiento de bits con torsiones en columnas)<\/li>\n<li>entretenimiento de celdas (entretenimiento de celdas en el bloque de codificaci\u00f3n)<\/li>\n<li>entretenimiento temporal (tambi\u00e9n en el grupo de bloques de codificaci\u00f3n)<\/li>\n<li>entretenimiento de frecuencia (entretenimiento de frecuencias en el s\u00edmbolo OFDM)<\/li>\n<\/ul>\n<p><\/p>\n<p>Al final, tenemos esta se\u00f1al de entrada:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Receptor 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>Todo esto es una lucha por la resistencia a interferencias de la se\u00f1al codificada.<\/p>\n<p><\/p>\n<h4 id=\"itog\">Summary<\/h4>\n<p><\/p>\n<p>Ahora podemos ver no solo la se\u00f1al en s\u00ed y su forma, sino tambi\u00e9n la informaci\u00f3n de servicio.<br \/>\nEn el aire hay dos multiplexores. En cada uno, hay dos canales f\u00edsicos (PLP). <\/p>\n<p><\/p>\n<p>Una rareza se not\u00f3 en el primer multiplexor: el primer PLP tiene la etiqueta 'multiple', lo cual es l\u00f3gico, ya que no est\u00e1 solo en el multiplexor, mientras que el segundo PLP tiene la etiqueta 'single' y eso es cuestionable.<br \/>\nA\u00fan m\u00e1s interesante es la segunda rareza en el segundo multiplexor: todos los programas est\u00e1n en el primer PLP, y en el segundo PLP a baja velocidad hay una se\u00f1al de naturaleza desconocida. Al menos, el reproductor VLC, que entiende alrededor de una docena de formatos de video y tanto de audio, no la reconoce. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">El proyecto se puede encontrar aqu\u00ed<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>El proyecto fue creado con el objetivo de determinar la posibilidad de decodificar DVB-T2 usando SdrPlay (y ahora tambi\u00e9n AirSpy), por lo que esta es incluso una versi\u00f3n no alfa.<\/p>\n<p><\/p>\n<p>P.D. Mientras se escrib\u00eda este art\u00edculo con dificultad, logr\u00e9 integrar PlutoSDR en el proyecto.<\/p>\n<p><\/p>\n<p>Alguien dir\u00e1 de inmediato que ah\u00ed solo hay 6Msps para la se\u00f1al IQ en la salida USB2.0, mientras que se necesitan al menos 9,2Msps, pero eso ya es otro tema.<\/p>\n<p>Fuente: <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\/es\/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=\"es_ES\" \/>\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\/es\/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\udd47Receptor SDR DVB-T2 en C++ | ProHoster","description":"La Radio Definida por Software (SDR) es un m\u00e9todo para reemplazar el trabajo en metal (lo cual, en principio, es bueno para la salud) por el dolor de cabeza de la programaci\u00f3n.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}