Kipokeaji cha SDR DVB-T2 katika C++

Software Defined Radio ni njia ya kubadilisha kazi ya chuma (ambayo ni nzuri kwa afya yako) na maumivu ya kichwa ya programu. SDR wanatabiri wakati ujao mzuri na faida kuu inachukuliwa kuwa kuondolewa kwa vikwazo katika utekelezaji wa itifaki za redio. Mfano ni njia ya urekebishaji ya OFDM (Orthogonal frequency-division multiplexing), ambayo inawezekana tu kwa mbinu ya SDR. Lakini SDR pia ina fursa moja zaidi, ya uhandisi - uwezo wa kudhibiti na kuona mawimbi katika sehemu yoyote ya kiholela kwa juhudi ndogo.

Moja ya viwango vya kuvutia vya mawasiliano ni televisheni ya dunia ya DVB-T2.
Kwa ajili ya nini? Kwa kweli, unaweza kuwasha TV tu bila kuinuka, lakini hakuna kitu cha kutazama hapo na hii sio maoni yangu tena, lakini ukweli wa matibabu.

Kwa umakini, DVB-T2 imeundwa kwa uwezo mpana sana, pamoja na:

  • maombi ya ndani
  • Kubadilisha QPSK hadi 256QAM
  • bandwidth kutoka 1,7MHz hadi 8MHz

Nina uzoefu wa kupokea televisheni ya kidijitali kwa kutumia kanuni ya SDR. Kiwango cha DVB-T kiko katika mradi unaojulikana wa GNURadio. Kuna kizuizi cha gr-dvbs2rx kwa kiwango cha DVB-T2 (yote kwa GNURadio sawa), lakini inahitaji maingiliano ya ishara ya awali na inatia moyo (shukrani maalum kwa Ron Economos).

Tulicho nacho.

Kuna kiwango cha ETSI EN 302 755 ambacho kina maelezo ya maambukizi, lakini sio mapokezi.

Ishara iko hewani na mzunguko wa sampuli wa 9,14285714285714285714 MHz, iliyorekebishwa na COFDM na wabebaji 32768, katika bendi ya 8 MHZ.

Inashauriwa kupokea ishara hizo kwa mara mbili ya mzunguko wa sampuli (ili usipoteze chochote) na kwa mzunguko wa kati zaidi ya bandwidth (mapokezi ya superheterodyne), ili kuondokana na kukabiliana na moja kwa moja (DC) na "kuvuja" kwa oscillator ya ndani. (LO) kwa ingizo la mpokeaji. Vifaa vinavyokidhi masharti haya ni ghali sana kwa udadisi tu.

SdrPlay yenye 10Msps 10bit au AirSpy yenye sifa zinazofanana ni nafuu zaidi. Hakuna swali la mara mbili ya mzunguko wa sampuli hapa na mapokezi yanaweza tu kufanywa kwa uongofu wa moja kwa moja (Zero IF). Kwa hiyo (kwa sababu za kifedha) tunabadilisha upande wa wafuasi wa SDR "safi" na kiwango cha chini cha ubadilishaji wa vifaa.

Ilihitajika kutatua shida mbili:

  1. Usawazishaji. Jua mkengeuko sahihi wa RF kwa awamu na ukengeushaji wa masafa ya sampuli.
  2. Andika upya kiwango cha DVB-T2 nyuma.

Kazi ya pili inahitaji msimbo mwingi zaidi, lakini inaweza kutatuliwa kwa uvumilivu na inaweza kuthibitishwa kwa urahisi kwa kutumia ishara za majaribio.

Ishara za majaribio zinapatikana kwenye seva ya BBC ftp://ftp.kw.bbc.co.uk/t2refs/ ikiwa na maagizo ya kina.

Suluhisho la tatizo la kwanza linategemea sana sifa za kifaa cha SDR na uwezo wake wa kudhibiti. Kutumia kazi zilizopendekezwa za udhibiti wa mzunguko, kama wanasema, haikufanikiwa, lakini ilitoa uzoefu mwingi wa kusoma hizo. nyaraka, programu, kutazama mfululizo wa TV, kutatua maswali ya falsafa ..., kwa kifupi, haikuwezekana kuacha mradi huo.

Imani katika "SDR safi" imeongezeka tu na nguvu.

Tunachukua ishara kama ilivyo, tuifafanue karibu na analog na kuchukua moja ya kipekee, lakini sawa na ile halisi.

Mchoro wa kizuizi cha maingiliano:

Kipokeaji cha SDR DVB-T2 katika C++

Kila kitu hapa ni kulingana na kitabu cha maandishi. Ifuatayo ni ngumu zaidi kidogo. Michepuko inahitaji kuhesabiwa. Kuna nakala nyingi za fasihi na utafiti zinazolinganisha faida na hasara za njia tofauti. Kutoka kwa classics - hii ni "Michael Speth, Stefan Fechtel, Gunnar Fock, Heinrich Meyr, Muundo Bora wa Kipokezi cha Usambazaji wa Broadband Inayotegemea OFDM - Sehemu ya I na II." Lakini sijakutana na mhandisi mmoja ambaye anaweza na anataka kuhesabu, kwa hivyo mbinu ya uhandisi ilitumiwa. Kwa kutumia mbinu sawa ya ulandanishi, kutenganisha kulianzishwa kwenye mawimbi ya majaribio. Kwa kulinganisha metriki tofauti na upotovu unaojulikana (alijitambulisha mwenyewe), bora zaidi zilichaguliwa kwa utendaji na urahisi wa utekelezaji. Kupotoka kwa mzunguko wa mapokezi huhesabiwa kwa kulinganisha muda wa walinzi na sehemu yake ya kurudia. Awamu ya masafa ya kupokea na masafa ya sampuli inakadiriwa kutokana na kupotoka kwa awamu ya mawimbi ya majaribio na hii pia inatumika katika kusawazisha sahili, mstari wa mawimbi ya OFDM.

Tabia ya kusawazisha:

Kipokeaji cha SDR DVB-T2 katika C++

Na hii yote inafanya kazi vizuri ikiwa unajua wakati sura ya DVB-T2 inapoanza. Ili kufanya hivyo, ishara ya utangulizi P1 inapitishwa kwenye ishara. Njia ya kugundua na kusimbua ishara ya P1 imeelezewa katika Uainishaji wa Kiufundi ETSI TS 102 831 (pia kuna mapendekezo mengi muhimu ya mapokezi).

Usanifu wa otomatiki wa ishara ya P1 (hatua ya juu kabisa mwanzoni mwa fremu):

Kipokeaji cha SDR DVB-T2 katika C++

Picha ya kwanza (miezi sita pekee imesalia hadi picha inayosonga...):

Kipokeaji cha SDR DVB-T2 katika C++

Na hapa ndipo tunajifunza usawa wa IQ, kukabiliana na DC na uvujaji wa LO ni nini. Kama sheria, fidia ya upotoshaji huu maalum kwa ubadilishaji wa moja kwa moja inatekelezwa katika kiendeshi cha kifaa cha SDR. Kwa hivyo, ilichukua muda mrefu kuelewa: kugonga nyota kutoka kwa kikundi cha nyota cha QAM64 ni kazi ya kazi za fidia. Ilinibidi kuzima kila kitu na kuandika baiskeli yangu.

Na kisha picha ikahamia:

Kipokeaji cha SDR DVB-T2 katika C++

Urekebishaji wa QAM64 na mzunguko maalum wa nyota katika kiwango cha DVB-T2:

Kipokeaji cha SDR DVB-T2 katika C++

Kwa kifupi, hii ni matokeo ya kupitisha nyama ya kusaga nyuma kupitia grinder ya nyama. Kiwango hutoa aina nne za mchanganyiko:

  • kuingiliana kidogo
  • kuingiliana kwa seli (kuchanganya seli kwenye kizuizi cha usimbaji)
  • wakati wa kuingiliana (pia iko kwenye kikundi cha vizuizi vya usimbuaji)
  • mzunguko wa mzunguko (mchanganyiko wa masafa katika ishara ya OFDM)

Kama matokeo, tunayo ishara ifuatayo kwenye pembejeo:

Kipokeaji cha SDR DVB-T2 katika C++

Yote hii ni mapambano ya kinga ya kelele ya ishara iliyosimbwa.

Jumla ya

Sasa tunaweza kuona sio tu ishara yenyewe na sura yake, lakini pia habari ya huduma.
Kuna multiplexes mbili juu ya hewa. Kila moja ina njia mbili za kimwili (PLP).

Jambo moja lisilo la kawaida liligunduliwa katika kizidishio cha kwanza - PLP ya kwanza imeandikwa "nyingi", ambayo ni ya kimantiki, kwa kuwa kuna zaidi ya moja katika kuzidisha, na PLP ya pili inaitwa "moja" na hili ni swali.
Hata zaidi ya kuvutia ni isiyo ya kawaida ya pili katika multiplex ya pili - programu zote ziko katika PLP ya kwanza, lakini katika PLP ya pili kuna ishara ya asili isiyojulikana kwa kasi ya chini. Angalau kicheza VLC, ambacho kinaelewa kuhusu fomati hamsini za video na kiasi sawa cha sauti, haitambui.

Mradi wenyewe unaweza kupatikana hapa.

Mradi huu uliundwa kwa lengo la kuamua uwezekano kabisa wa kusimbua DVB-T2 kwa kutumia SdrPlay (na sasa AirSpy.), kwa hivyo hili sio toleo la alpha.

PS Nilipokuwa nikiandika makala kwa shida, niliweza kuunganisha PlutoSDR katika mradi huo.

Mtu atasema mara moja kuwa kuna 6Msps tu kwa ishara ya IQ kwenye pato la USB2.0, lakini unahitaji angalau 9,2Msps, lakini hii ni mada tofauti.

Chanzo: mapenzi.com

Kuongeza maoni