{"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\/hu\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","title":{"rendered":"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A szoftveresen defini\u00e1lt r\u00e1di\u00f3 (SDR) egy olyan m\u00f3dszer, amely a f\u00e9mmegmunk\u00e1l\u00e1s helyettes\u00edt\u00e9s\u00e9re szolg\u00e1l (ami alapvet\u0151en j\u00f3t\u00e9kony hat\u00e1ssal van az eg\u00e9szs\u00e9gre) \u00e9s a programoz\u00e1s okozta fejf\u00e1j\u00e1sra. Az SDR-nek nagy j\u00f6v\u0151t j\u00f3solnak, \u00e9s alapvet\u0151 el\u0151nye a r\u00e1di\u00f3protokollok megval\u00f3s\u00edt\u00e1s\u00e1nak korl\u00e1toz\u00e1sainak elt\u00e1vol\u00edt\u00e1sa. Egy p\u00e9lda az OFDM (Orthogonal frequency-division multiplexing) modul\u00e1ci\u00f3s m\u00f3dszere, amely csak az SDR m\u00f3dszer\u00e9vel v\u00e1lt lehet\u0151v\u00e9. Az SDR-nek van egy m\u00e1sik, tiszt\u00e1n m\u00e9rn\u00f6ki k\u00e9pess\u00e9ge is \u2014 a jel ellen\u0151rz\u00e9s\u00e9nek \u00e9s vizualiz\u00e1l\u00e1s\u00e1nak lehet\u0151s\u00e9ge b\u00e1rmilyen tetsz\u0151leges ponton, minim\u00e1lis er\u0151fesz\u00edt\u00e9ssel.<\/p>\n<p><\/p>\n<p>Az egyik \u00e9rdekes kommunik\u00e1ci\u00f3s szabv\u00e1ny a DVB-T2 f\u00f6ldi digit\u00e1lis telev\u00edzi\u00f3z\u00e1s.<br \/>\nMi\u00e9rt? Term\u00e9szetesen csak sim\u00e1n fel lehet kapcsolni a t\u00e9v\u00e9t, de ott gyakorlatilag nincs mit n\u00e9zni, \u00e9s ez m\u00e1r nemcsak az \u00e9n v\u00e9lem\u00e9nyem, hanem orvosi t\u00e9ny.<\/p>\n<p><\/p>\n<p>Komolyan v\u00e9ve, a DVB-T2 nagyon sz\u00e9lesk\u00f6r\u0171 lehet\u0151s\u00e9gekkel lett kifejlesztve, t\u00f6bbek k\u00f6z\u00f6tt:<\/p>\n<p><\/p>\n<ul>\n<li>belt\u00e9ri alkalmaz\u00e1s<\/li>\n<li>modul\u00e1ci\u00f3 QPSK-t\u00f3l 256QAM-ig<\/li>\n<li>s\u00e1vsz\u00e9less\u00e9g 1,7 MHz-t\u0151l 8 MHz-ig <noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p>Van tapasztalatunk az SDR-alap\u00fa digit\u00e1lis telev\u00edzi\u00f3 v\u00e9tel\u00e9vel. A DVB-T szabv\u00e1ny tal\u00e1lhat\u00f3 a h\u00edres GNURadio projektben. Van egy gr-dvbs2rx blokk a DVB-T2 szabv\u00e1nyhoz (mindent a GNURadio-hoz), de ez korai jelenszinkroniz\u00e1ci\u00f3t ig\u00e9nyel, \u00e9s inspir\u00e1l\u00f3nak tartj\u00e1k (k\u00fcl\u00f6n k\u00f6sz\u00f6net Ron Economos-nak).<\/p>\n<p><\/p>\n<p>Mit is tudunk.<\/p>\n<p><\/p>\n<p>Van egy ETSI EN 302 755 szabv\u00e1ny, amely r\u00e9szletesen le\u00edrja a tov\u00e1bb\u00edt\u00e1st, de nem a v\u00e9telt.<\/p>\n<p><\/p>\n<p>A jel a leveg\u0151ben 9,14285714285714285714 MHz mintav\u00e9telez\u00e9si frekvenci\u00e1val, COFDM-mel mod\u00e1lva 32768 hordoz\u00f3val, 8 MHz-es s\u00e1vban.<\/p>\n<p><\/p>\n<p>Az ilyen jelek v\u00e9tel\u00e9n\u00e9l aj\u00e1nlott a mintav\u00e9telez\u00e9si frekvencia megdupl\u00e1z\u00e1sa (hogy semmit ne vesz\u00edts\u00fcnk el) \u00e9s a k\u00f6zbens\u0151 frekvencia legyen nagyobb a s\u00e1vsz\u00e9less\u00e9gn\u00e9l (szuperheterodin v\u00e9tel), hogy megszabaduljunk az \u00e1lland\u00f3 \u00e1ram (DC) elt\u00e9r\u00e9st\u0151l \u00e9s a lok\u00e1lis oszcill\u00e1tor (LO) \u201ev\u00e1ndorl\u00e1s\u00e1t\u00f3l\u201d a v\u00e9teli oldalon. Azok az eszk\u00f6z\u00f6k, amelyek megfelelnek ezeknek a felt\u00e9teleknek, t\u00fals\u00e1gosan dr\u00e1g\u00e1k egy egyszer\u0171 k\u00edv\u00e1ncsis\u00e1g sz\u00e1m\u00e1ra.<\/p>\n<p><\/p>\n<p>A sdrPlay 10Msps 10bit vagy az AirSpy hasonl\u00f3 jellemz\u0151kkel sokkal olcs\u00f3bb. Itt nincs sz\u00f3 a mintav\u00e9telez\u00e9si frekvencia megdupl\u00e1z\u00e1s\u00e1r\u00f3l, \u00e9s a v\u00e9tel csak k\u00f6zvetlen \u00e1talak\u00edt\u00e1ssal lehets\u00e9ges (Zero IF). Ez\u00e9rt (p\u00e9nz\u00fcgyi okokb\u00f3l) \u00e1tv\u00e1ltunk a \u201etiszta\u201d SDR h\u00edveinek oldal\u00e1ra, minim\u00e1lis hardveres \u00e1talak\u00edt\u00e1ssal.<\/p>\n<p><\/p>\n<p>K\u00e9t feladatot kellett megoldani:<\/p>\n<p><\/p>\n<ol>\n<li>Szinkroniz\u00e1l\u00e1s. Megtudni a r\u00e1di\u00f3frekvencia pontos elt\u00e9r\u00e9s\u00e9t f\u00e1zis pontoss\u00e1ggal \u00e9s a mintav\u00e9telez\u00e9si frekvencia elt\u00e9r\u00e9s\u00e9t.<\/li>\n<li>A DVB-T2 standard rewritten backwards.<\/li>\n<\/ol>\n<p><\/p>\n<p>The second task requires much more code, but it can be solved with persistence and is easily verified by test signals. <\/p>\n<p><\/p>\n<p>Test signals are available on the BBC server ftp:\/\/ftp.kw.bbc.co.uk\/t2refs\/ with detailed instructions.<\/p>\n<p><\/p>\n<p>The solution to the first problem heavily depends on the characteristics of the SDR device and control capabilities. Using the recommended frequency control functions, as they say, was not successful, but it provided a lot of experience in reading technical documentation, programming, watching series, and solving philosophical questions... in short, I couldn't abandon the project. <\/p>\n<p><\/p>\n<p>The belief in 'pure SDR' has only strengthened. <\/p>\n<p><\/p>\n<p>We take the signal as it is, interpolate it almost to an analog and extract a discrete version that resembles the real thing.<\/p>\n<p><\/p>\n<p>Synchronization flowchart:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/b6362e201fb355fb63760fa901ecf73e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Everything is according to the textbook here. It gets a bit more complex afterwards. Deviations need to be calculated. There is plenty of literature and research articles comparing the advantages and disadvantages of different methods. From the classics \u2014 it's \"Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Optimum Receiver Design for OFDM-Based Broadband Transmission \u2013 Part I and II.\" However, I have not met a single engineer who can and wants to do the calculations, so an engineering approach was applied. The same method of synchronization introduced disturbances into the test signal. By comparing different metrics with known deviations (which I introduced), the best ones for performance and ease of implementation were chosen. The reception frequency deviation is calculated by comparing the guard interval and its repeating part. The reception frequency phase and sampling frequency are assessed by the pilot signals' phase deviations and the same is used in a simple, linear equalizer for OFDM signals.<\/p>\n<p><\/p>\n<p>Equalizer characteristics:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/d4a1bc8fc4d5e27cb7d376a810ea4485.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>And all of this works well if you know when the DVB-T2 frame starts. For this purpose, a P1 preamble symbol is transmitted in the signal. The method for detecting and decoding the P1 symbol is described in Technical Specification ETSI TS 102 831 (it also contains many useful recommendations for reception).<\/p>\n<p><\/p>\n<p>Autocorrelation of signal P1 (the very top point marks the start of the frame):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/10e052a169a20b16d28d01b1462f4ff3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>The first image (only six months left until the moving image\u2026):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/8c434965be9c2450afd3c82b3ebbb4f4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c9s itt tudjuk meg, mi is az IQ imbalansz, DC offset \u00e9s LO sziv\u00e1rg\u00e1s. \u00c1ltal\u00e1ban az SDR eszk\u00f6z meghajt\u00f3j\u00e1ban val\u00f3s\u00edtj\u00e1k meg ezen, a k\u00f6zvetlen \u00e1talak\u00edt\u00e1shoz specifikus torzul\u00e1sok kompenz\u00e1l\u00e1s\u00e1t. Ez\u00e9rt sok id\u0151t elt\u00f6lt\u00f6tt\u00fcnk a meg\u00e9rt\u00e9s\u00e9vel: a QAM64 boldog csillagait ki\u00fctni a kompenz\u00e1l\u00f3 funkci\u00f3k munk\u00e1ja. Minden funkci\u00f3t ki kellett kapcsolni, \u00e9s saj\u00e1t ker\u00e9kp\u00e1rt kellett \u00edrni.<\/p>\n<p><\/p>\n<p>\u00c9s a k\u00e9p v\u00e9gre mozg\u00e1sba lend\u00fclt:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/0ddb224d2e0a3890ac9d335c96ba24f0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A QAM64 modul\u00e1ci\u00f3, a DVB-T2 szabv\u00e1nynak megfelel\u0151 specifikus csillagforg\u00e1ssal:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/b06328fa648125249ef9b0b74522e831.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>R\u00f6viden ez a ledar\u00e1lt h\u00fas visszatol\u00e1s\u00e1nak eredm\u00e9nye a h\u00fasdar\u00e1l\u00f3ba. A szabv\u00e1ny n\u00e9gyf\u00e9le kevered\u00e9st \u00edr el\u0151:<\/p>\n<p><\/p>\n<ul>\n<li>bit interleaving (bit kever\u00e9s oszlopcsavar\u00e1ssal)<\/li>\n<li>cell interleaving (cell\u00e1k kever\u00e9se a k\u00f3dol\u00e1si blokkban)<\/li>\n<li>time interleaving (ugyanaz a k\u00f3dol\u00e1si blokk csoportban)<\/li>\n<li>frequency interleaving (frekvenci\u00e1k kever\u00e9se az OFDM szimb\u00f3lumban)<\/li>\n<\/ul>\n<p><\/p>\n<p>Ennek eredm\u00e9nyek\u00e9ppen a bemeneten egy ilyen jel tal\u00e1lhat\u00f3:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"SDR DVB-T2 vev\u0151k\u00e9sz\u00fcl\u00e9k C++-ban\" src=\"\/wp-content\/uploads\/2020\/10\/cb60687702c5f225840df30124a9ef68.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mindez a k\u00f3dolt jel interferenci\u00e1j\u00e1nak ellen\u00e1ll\u00e1s\u00e1r\u00f3l sz\u00f3l.<\/p>\n<p><\/p>\n<h4 id=\"itog\">Result<\/h4>\n<p><\/p>\n<p>Most m\u00e1r nemcsak mag\u00e1t a jelet \u00e9s form\u00e1j\u00e1t l\u00e1thatjuk, hanem a seg\u00e9dinform\u00e1ci\u00f3t is.<br \/>\nA l\u00e9gk\u00f6rben k\u00e9t multiplex tal\u00e1lhat\u00f3. Mindegyikben k\u00e9t fizikai csatorna (PLP). <\/p>\n<p><\/p>\n<p>Az els\u0151 multiplexben \u00e9szlelt furcsas\u00e1g \u2014 az els\u0151 PLP c\u00edmk\u00e9je \u201emultiple\u201d, ami logikus, hiszen nem egyed\u00fcli a multiplexben, m\u00edg a m\u00e1sodik PLP c\u00edmk\u00e9je \u201esingle\u201d, ami k\u00e9rd\u00e9st vet fel.<br \/>\nM\u00e9g \u00e9rdekesebb a m\u00e1sodik multiplexben \u00e9szlelt furcsas\u00e1g \u2014 az els\u0151 PLP \u00f6sszes programja benne van, m\u00edg a m\u00e1sodik PLP csendes sebess\u00e9ggel egy ismeretlen eredet\u0171 jelet sug\u00e1roz. Legal\u00e1bbis a VLC lej\u00e1tsz\u00f3, amely k\u00f6r\u00fclbel\u00fcl \u00f6tven videoform\u00e1tumot \u00e9s annyi hangform\u00e1tumot \u00e9rt, nem ismeri fel. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Oleg-Malyutin\/sdr_receiver_dvb_t2\">A projekt itt tal\u00e1lhat\u00f3<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>A projekt c\u00e9lja az volt, hogy meghat\u00e1rozza a DVB-T2 dek\u00f3dol\u00e1s lehet\u0151s\u00e9g\u00e9t SdrPlay seg\u00edts\u00e9g\u00e9vel (\u00e9s most m\u00e1r AirSpy seg\u00edts\u00e9g\u00e9vel is), ez\u00e9rt ez m\u00e9g csak alfa verzi\u00f3.<\/p>\n<p><\/p>\n<p>P.S. Am\u00edg nehezen \u00edrtam a cikket, siker\u00fclt csatlakoztatni a PlutoSDR-t a projekthez.<\/p>\n<p><\/p>\n<p>Valaki azonnal azt mondja, hogy az USB2.0 kimeneti IQ jelhez csak 6Msps sz\u00fcks\u00e9ges, m\u00edg legal\u00e1bb 9,2Msps-ra van sz\u00fcks\u00e9g, de ez m\u00e1r egy m\u00e1sik t\u00e9ma.<\/p>\n<p>Forr\u00e1s: <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\/hu\/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=\"hu_HU\" \/>\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\/hu\/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 vev\u0151 C++ nyelven | ProHoster","description":"A Software Defined Radio (szoftveresen meghat\u00e1rozott r\u00e1di\u00f3) \u2014 ez a f\u00e9mmegmunk\u00e1l\u00e1s helyettes\u00edt\u00e9s\u00e9nek m\u00f3dszere (ami elvileg j\u00f3t tesz az eg\u00e9szs\u00e9gnek) a programoz\u00e1s fejf\u00e1j\u00e1s\u00e1val.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/sdr-dvb-t2-receiver-na-c","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/96001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=96001"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/96001\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/96002"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=96001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=96001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=96001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}