{"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\/nl\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"SDR DVB-T2 ontvanger in C++","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Software Defined Radio (softwaregedefinieerde radio) is een methode om metallbewerking te vervangen (wat eigenlijk gunstig is voor de gezondheid) door de hoofdpijn van programmeren. SDR wordt een grote toekomst voorspeld en het belangrijkste voordeel is de verwijdering van beperkingen bij de implementatie van radioprotocols. Een voorbeeld is de modulatiemethode OFDM (Orthogonal frequency-division multiplexing), die alleen mogelijk werd door de SDR-methode. Maar er is ook nog een andere, puur technische mogelijkheid in SDR, namelijk de mogelijkheid om het signaal te controleren en visualiseren op elke willekeurige locatie met minimale inspanning.<\/p>\n<p><\/p>\n<p>Een van de interessante communicatiestandaarden is het terrestrische digitale televisie DVB-T2.<br \/>\nWaarom? Natuurlijk, je kunt gewoon je tv aanzetten zonder op te staan, maar er is daar absoluut niets om naar te kijken en dat is al geen mening meer, maar een medisch feit.<\/p>\n<p><\/p>\n<p>Als we serieus zijn, is DVB-T2 ontwikkeld met zeer uitgebreide mogelijkheden, waaronder:<\/p>\n<p><\/p>\n<ul>\n<li>binnengebruik<\/li>\n<li>modulatie van QPSK tot 256QAM<\/li>\n<li>bandbreedte van 1,7 MHz tot 8 MHz <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Er is ervaring met het ontvangen van digitale televisie volgens het SDR-principe. De DVB-T standaard is te vinden in het bekende GNURadio-project. Er is een blok gr-dvbs2rx voor de DVB-T2 standaard (ook voor GNURadio), maar dat vereist een voorafgaande signaal-synchronisatie en het inspireert (speciale dank aan Ron Economos).<\/p>\n<p><\/p>\n<p>Wat hebben we.<\/p>\n<p><\/p>\n<p>Er is een standaard ETSI EN 302 755 die de overdracht gedetailleerd beschrijft, maar niet de ontvangst.<\/p>\n<p><\/p>\n<p>Het signaal in de lucht met een bemonsteringsfrequentie van 9,14285714285714285714 MHz, gemoduleerd door COFDM met 32768 draaggolven, in een band van 8 MHz.<\/p>\n<p><\/p>\n<p>Het wordt aanbevolen om dergelijke signalen te ontvangen met een dubbele bemonsteringsfrequentie (om niets te verliezen) en op een tussenliggende frequentie hoger dan de bandbreedte (superheterodyne ontvangst), om DC-afwijking en 'lekkage' van de lokale oscillator (LO) bij de ingang van de ontvanger te vermijden. Apparaten die aan deze voorwaarden voldoen, zijn te duur voor eenvoudig nieuwsgierigheid.<\/p>\n<p><\/p>\n<p>SdrPlay met 10Msps 10bit of AirSpy met vergelijkbare kenmerken is veel goedkoper. Hier is er geen sprake van een dubbele bemonsteringsfrequentie en kan de ontvangst alleen plaatsvinden met directe conversie (Zero IF). Daarom (om financi\u00eble redenen) stappen we over naar de zijde van de aanhangers van 'pure' SDR met minimaal hardware-conversie.<\/p>\n<p><\/p>\n<p>Er moesten twee taken worden opgelost:<\/p>\n<p><\/p>\n<ol>\n<li>Synchronisatie. Ontdek de exacte afwijking van de radiogolffrequentie met een precisie tot de fase en de afwijking van de bemonsteringsfrequentie.<\/li>\n<li>Herschrijven van de standaard DVB-T2 achterstevoren.<\/li>\n<\/ol>\n<p><\/p>\n<p>De tweede taak vereist veel meer code, maar is op te lossen met doorzettingsvermogen en kan eenvoudig worden gecontroleerd met testsignalen. <\/p>\n<p><\/p>\n<p>Testsignalen zijn beschikbaar op de server van de BBC ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ met gedetailleerde instructies.<\/p>\n<p><\/p>\n<p>De oplossing voor de eerste taak hangt sterk af van de kenmerken van het SDR-apparaat en de besturingsmogelijkheden. Het gebruik van de aanbevolen functies voor frequentiebeheer, zoals gezegd, was niet succesvol, maar bood veel ervaring in het lezen van technische documentatie, programmeren, het bekijken van series, en filosofische vragen oplossen... kortom, het project kon niet worden opgegeven. <\/p>\n<p><\/p>\n<p>Het geloof in \"pure SDR\" is alleen maar sterker geworden. <\/p>\n<p><\/p>\n<p>We nemen het signaal zoals het is, interpoleren het praktisch tot een analoog signaal en extraheren dan een gedigitaliseerd signaal dat lijkt op het echte.<\/p>\n<p><\/p>\n<p>Synchroonschema:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/b6362e201fb355fb63760fa901ecf73e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hier is alles volgens het lesboek. Daarna wordt het iets ingewikkelder. We moeten de afwijkingen berekenen. Er is veel literatuur en onderzoeksartikelen die de voor- en nadelen van verschillende methoden vergelijken. Een klassiek voorbeeld is \"Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Deel I en II\". Alleen heb ik nog geen enkele ingenieur gevonden die kan en wil rekenen, daarom is een engineeringsaanpak toegepast. Op dezelfde manier van synchronisatie werden verstoringen in het testsignaal aangebracht. Door verschillende statistieken te vergelijken met bekende afwijkingen (die ik zelf had aangebracht) zijn de beste voor prestaties en eenvoud van implementatie gekozen. De afwijking van de ontvangfrequentie wordt berekend door de beschermingsperiode en het herhalende deel ervan te vergelijken. De fase van de ontvangfrequentie en de bemonsteringsfrequentie worden ge\u00ebvalueerd aan de hand van de afwijking van de fasen van de pilootsignal en diezelfde wordt gebruikt in de eenvoudige, lineaire equalizer van het OFDM-signaal.<\/p>\n<p><\/p>\n<p>Kenmerken van de equalizer:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/d4a1bc8fc4d5e27cb7d376a810ea4485.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En dit werkt allemaal goed, als je weet wanneer een DVB-T2-frame begint. Voor dit doel wordt er een P1-preambule symbool in het signaal verzonden. De manier van detecteren en decoderen van het P1-symbool is beschreven in de Technical Specification ETSI TS 102 831 (daar staan ook veel nuttige aanbevelingen voor ontvangst).<\/p>\n<p><\/p>\n<p>Autocorrelatie van het P1-signaal (de bovenste punt markeert de start van het frame):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/10e052a169a20b16d28d01b1462f4ff3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De eerste afbeelding (er blijft nog maar zes maanden tot het bewegende beeld\u2026):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/8c434965be9c2450afd3c82b3ebbb4f4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En precies hier leren we wat IQ-ongelijkheid, DC-offset en LO-lekkage zijn. Gewoonlijk is de compensatie van deze specifieke vervormingen voor directe conversie gerealiseerd in de SDR-apparaatstuurprogramma. Daarom heeft het veel tijd gekost om te begrijpen: het eruit trappen van sterretjes uit het hechte QAM64-constellatie is het werk van de compensatiefuncties. Ik moest alles uitschakelen en mijn eigen fietse maken.<\/p>\n<p><\/p>\n<p>En nu begon het beeld te bewegen:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/0ddb224d2e0a3890ac9d335c96ba24f0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>QAM64-modulatie met een specifieke rotatie van de constellatie in de DVB-T2-standaard:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/b06328fa648125249ef9b0b74522e831.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kort gezegd is dit het resultaat van het teruglaten van gehakt door de vleesmolen.<\/p>\n<p><\/p>\n<ul>\n<li>bit interleaving (bitinterleaving met kolomdraaiing)<\/li>\n<li>cell interleaving (interleaving van cellen in de coderingsblok)<\/li>\n<li>time interleaving (ook in de groep coderingsblokken)<\/li>\n<li>frequency interleaving (interleaving van frequenties in het OFDM-symbool)<\/li>\n<\/ul>\n<p><\/p>\n<p>Uiteindelijk hebben we zo\u2019n signaal aan de ingang:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 ontvanger in C++\" src=\"\/wp-content\/uploads\/2020\/10\/cb60687702c5f225840df30124a9ef68.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dit is allemaal een strijd voor de storingstolerantie van het gecodeerde signaal.<\/p>\n<p><\/p>\n<h4 id=\"itog\">Conclusie<\/h4>\n<p><\/p>\n<p>Nu kunnen we niet alleen het signaal en zijn vorm zien, maar ook de controle-informatie.<br \/>\nEr zijn twee multiplexen in de uitzending. In iedere multiplex zijn twee fysieke kanalen (PLP). <\/p>\n<p><\/p>\n<p>Een vreemde zaak opgemerkt in de eerste multiplex \u2014 de eerste PLP heeft het label 'multiple', wat logisch is, aangezien hij niet alleen in de multiplex is, en de tweede PLP heeft het label 'single' en dat roept vragen op.<br \/>\nNog interessanter is de tweede vreemde zaak in de tweede multiplex \u2014 alle programma's zitten in de eerste PLP, terwijl in de tweede PLP op een lage snelheid een signaal van onbekende oorsprong aanwezig is. Tenminste, de VLC-speler, die ongeveer vijftig videovormen en evenveel audio begrijpt, herkent het niet. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">Het project is hier te vinden<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Het project werd opgezet om de mogelijkheid te bepalen om DVB-T2 te decoderen met behulp van SdrPlay (en nu ook AirSpy), dus dit is zelfs geen alfa-versie.<\/p>\n<p><\/p>\n<p>P.S. Terwijl het artikel moeizaam werd geschreven, is het gelukt om PlutoSDR aan het project toe te voegen.<\/p>\n<p><\/p>\n<p>Iemand zal meteen zeggen dat er alleen 6Msps voor het IQ-signaal via USB2.0 is, terwijl minimaal 9,2Msps nodig is, maar dat is al een apart onderwerp.<\/p>\n<p>Bron: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/522150\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Software Defined Radio (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430) \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043c\u0435\u0442\u0430\u043b\u043b\u0443 (\u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f) \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. SDR \u043f\u0440\u043e\u0440\u043e\u0447\u0430\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0435 \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u043e\u043c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u043d\u044f\u0442\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0434\u0438\u043e\u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432. \u041f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 \u043c\u043e\u0434\u0443\u043b\u044f\u0446\u0438\u0438 OFDM (Orthogonal frequency-division multiplexing), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0430\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u043c SDR. \u041d\u043e \u0435\u0441\u0442\u044c \u0432 SDR \u0438 \u0435\u0449\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":96002,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-96001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"Software Defined Radio (\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e-\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u0440\u0430\u0434\u0438\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0430) \u2014 \u044d\u0442\u043e \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043c\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043c\u0435\u0442\u0430\u043b\u043b\u0443 (\u0447\u0442\u043e, \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u044f) \u043d\u0430 \u0433\u043e\u043b\u043e\u0432\u043d\u0443\u044e \u0431\u043e\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-10-06T11:42:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-06T11:42:04+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47SDR DVB-T2 ontvanger in C++ | ProHoster","description":"Software Defined Radio (software-defined radio) is een methode om de staalbewerking (wat eigenlijk goed is voor de gezondheid) te vervangen door de hoofdpijn van programmeren.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}