SDR DVB-T2 hargailua C++-n

Software Defined Radio metalezko lana (zure osasunerako ona dena) programazioaren buruhaustearekin ordezkatzeko metodo bat da. SDRek etorkizun handia aurreikusten dute eta abantaila nagusia irrati-protokoloen ezarpenean murrizketak kentzea da. Adibide bat OFDM (Orthogonal frequency-division multiplexing) modulazio metodoa da, SDR metodoarekin soilik posible izan zena. Baina SDR-k ingeniaritza hutsezko aukera bat ere badu: edozein puntu arbitrarioan seinale bat kontrolatzeko eta ikusteko ahalmena ahalegin txikienarekin.

Komunikazio estandar interesgarrietako bat lurreko lurreko telebista DVB-T2 da.
Zertarako? Noski, telebista altxatu gabe piztea besterik ez dago, baina han ez dago ezer ikustekorik eta hori jada ez da nire iritzia, datu medikoa baizik.

Benetan, DVB-T2 gaitasun oso zabalekin diseinatu da, besteak beste:

  • barruko aplikazioa
  • QPSK-tik 256QAM-ra modulazioa
  • 1,7MHz-tik 8MHz arteko banda zabalera

SDR printzipioa erabiliz telebista digitala jasotzen esperientzia dut. DVB-T estandarra GNURadio proiektu ezagunean dago. DVB-T2 estandarrerako gr-dvbs2rx bloke bat dago (guztiak GNURadio berdinerako), baina aurretiazko seinaleen sinkronizazioa behar du eta inspiratzailea da (esker bereziak Ron Economos-i).

daukaguna.

Bada ETSI EN 302 755 estandar bat transmisioa zehazten duena, baina ez harrera.

Seinalea airean dago 9,14285714285714285714 MHz-ko laginketa-maiztasunarekin, COFDM-k 32768 eramailerekin modulatua, 8 MHZ-ko banda batean.

Horrelako seinaleak laginketa-maiztasun bikoitzean jasotzea gomendatzen da (ezer ez galtzeko) eta tarteko maiztasunean banda zabalera gehiago (harrera superheterodina), korronte zuzena (DC) desplazamendua eta tokiko osziladorearen "ihesak" kentzeko. (LO) hartzailearen sarrerara. Baldintza hauek betetzen dituzten gailuak garestiegiak dira jakin-min hutserako.

SdrPlay 10Msps 10bit edo antzeko ezaugarriak dituen AirSpy askoz merkeagoa da. Hemen ez dago laginketa-maiztasuna bikoiztea eta harrera zuzeneko bihurketarekin soilik egin daiteke (Zero IF). Horregatik (arrazoi ekonomikoengatik) SDR "puruaren" atxikimenduen alde ari gara aldatzen hardware bihurketa minimo batekin.

Beharrezkoa zen bi arazo konpontzea:

  1. Sinkronizazioa. Ezagutu RF desbideratze zehatza fasean eta laginketa-maiztasunaren desbideraketa.
  2. Berridatzi DVB-T2 estandarra atzerantz.

Bigarren zereginak kode askoz gehiago eskatzen du, baina irmotasunez konpondu daiteke eta erraz egiaztatu daiteke proba-seinaleak erabiliz.

Proba-seinaleak eskuragarri daude BBC zerbitzarian ftp://ftp.kw.bbc.co.uk/t2refs/ argibide zehatzekin.

Lehenengo arazoaren konponbidea SDR gailuaren ezaugarrien eta bere kontrol gaitasunen menpe dago. Gomendatutako maiztasuna kontrolatzeko funtzioak erabiltzeak, esaten den bezala, ez zuen arrakastarik izan, baina esperientzia handia eman zuen horiek irakurtzen. dokumentazioa, programazioa, telesailak ikustea, galdera filosofikoak konpontzea..., laburbilduz, ezin izan zen proiektua alde batera utzi.

"SDR hutsaren" fedea indartu baino ez da egin.

Seinalea dagoen bezala hartzen dugu, ia analogiko batera interpolatzen dugu eta diskretu bat ateratzen dugu, baina errealaren antzekoa.

Sinkronizazio bloke-diagrama:

SDR DVB-T2 hargailua C++-n

Hemen dena testuliburuaren araberakoa da. Hurrengoa pixka bat konplexuagoa da. Desbideratzeak kalkulatu behar dira. Metodo ezberdinen abantailak eta desabantailak alderatzen dituzten literatura eta ikerketa artikulu asko daude. Klasikoetatik - hau da "Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, OFDMn oinarritutako banda zabaleko transmisiorako hargailuen diseinu optimoa - I. eta II. zatiak". Baina ez dut zenbatu ahal eta nahi duen ingeniari bakar bat ere ezagutu, beraz, ingeniaritza ikuspegia erabili zen. Sinkronizazio-metodo bera erabiliz, desintonizazioa sartu zen proba-seinalean. Ezagutzen diren desbideratzeekin neurketa desberdinak alderatuz (berak aurkeztu zituen), hoberenak hautatu ziren errendimendurako eta inplementatzeko erraztasunerako. Harrera-maiztasunaren desbideratzea guardia tartea eta bere zati errepikakorra alderatuz kalkulatzen da. Hartzeko maiztasunaren fasea eta laginketa-maiztasuna seinale pilotuen fase desbideratzetik kalkulatzen dira eta OFDM seinale baten berdinketa lineal sinple batean ere erabiltzen da.

Berdingailuaren ezaugarria:

SDR DVB-T2 hargailua C++-n

Eta horrek guztiak ondo funtzionatzen du DVB-T2 fotograma noiz hasten den jakinez gero. Horretarako, P1 hitzaurrearen ikurra transmititzen da seinalean. P1 ikurra detektatzeko eta deskodetzeko metodoa ETSI TS 102 831 Zehaztapen Teknikoan deskribatzen da (harrerarako gomendio erabilgarriak ere asko daude).

P1 seinalearen autokorrelazioa (fotograma hasieran dagoen punturik altuena):

SDR DVB-T2 hargailua C++-n

Lehenengo argazkia (sei hilabete baino ez dira geratzen mugimenduko irudia...):

SDR DVB-T2 hargailua C++-n

Eta hemen ikasten dugu IQ desoreka, DC offset eta LO leakage zer diren. Oro har, zuzeneko bihurketari dagozkion distortsio horien konpentsazioa SDR gailuaren kontrolatzailean ezartzen da. Hori dela eta, denbora asko behar izan zen ulertzeko: QAM64 konstelazio lagunkoitik izarrak kanporatzea da konpentsazio funtzioen lana. Dena itzali eta nire bizikleta idatzi behar izan nuen.

Eta orduan irudia mugitu zen:

SDR DVB-T2 hargailua C++-n

QAM64 modulazioa konstelazio biraketa espezifikoarekin DVB-T2 estandarrean:

SDR DVB-T2 hargailua C++-n

Laburbilduz, haragi xehatua haragi birringailutik berriro pasatzearen ondorioa da. Arauak lau nahasketa mota eskaintzen ditu:

  • bit tartekatuz
  • zelulen tartekatzea (zelulak kode-bloke batean nahastea)
  • denbora tartekatzea (kodetze blokeen taldean ere badago)
  • maiztasun tartekatzea (maiztasunaren nahasketa OFDM ikur batean)

Ondorioz, hurrengo seinalea dugu sarreran:

SDR DVB-T2 hargailua C++-n

Hau guztia kodetutako seinalearen zarataren immunitatearen aldeko borroka da.

Guztira

Orain seinalea bera eta bere forma ez ezik, zerbitzuaren informazioa ere ikus dezakegu.
Bi multiplex daude airean. Bakoitzak bi kanal fisiko (PLP) ditu.

Lehenengo multiplexean bitxikeria bat nabaritu zen - lehenengo PLP "anitz" etiketatzen da, hori logikoa da, multiplexean bat baino gehiago baitago, eta bigarren PLP "bakar" etiketatzen da eta hau galdera bat da.
Are interesgarriagoa da bigarren multiplexeko bigarren bitxikeria - programa guztiak lehen PLPan daude, baina bigarren PLPan izaera ezezaguneko seinale bat dago abiadura baxuan. Gutxienez, berrogeita hamar bideo formatu eta audio kopuru bera ulertzen dituen VLC erreproduzitzaileak ez du ezagutzen.

Proiektua bera hemen aurki daiteke.

Proiektua SdrPlay erabiliz (eta orain AirSpy.) DVB-T2 deskodetzeko aukera bera zehazteko helburuarekin sortu zen, beraz, hau ez da bertsio alfa bat ere.

PS Artikulua zailtasunez idazten ari nintzela, PlutoSDR proiektuan integratzea lortu nuen.

Norbaitek berehala esango du USB6 irteeran IQ seinalerako 2.0Msps baino ez daudela, baina gutxienez 9,2Msps behar dituzula, baina hau aparteko gaia da.

Iturria: www.habr.com

Gehitu iruzkin berria