C++ හි SDR DVB-T2 ග්‍රාහකය

මෘදුකාංග නිර්වචනය කරන ලද ගුවන්විදුලිය යනු ක්‍රමලේඛනයේ හිසරදය සමඟ ලෝහ වැඩ (ඇත්ත වශයෙන්ම ඔබේ සෞඛ්‍යයට යහපත්) ප්‍රතිස්ථාපනය කිරීමේ ක්‍රමයකි. SDRs විශිෂ්ට අනාගතයක් පුරෝකථනය කරන අතර ප්රධාන වාසිය ලෙස සලකනු ලබන්නේ ගුවන්විදුලි ප්රොටෝකෝල ක්රියාත්මක කිරීමේ සීමාවන් ඉවත් කිරීමයි. උදාහරණයක් ලෙස OFDM (Orthogonal frequency-division multilexing) මොඩියුලේෂන් ක්‍රමය, එය SDR ක්‍රමය සමඟ පමණක් කළ හැකි විය. නමුත් SDR හට තවත් එක්, සම්පූර්ණයෙන්ම ඉංජිනේරුමය අවස්ථාවක් තිබේ - අවම උත්සාහයකින් ඕනෑම හිතුවක්කාර ස්ථානයක සංඥාවක් පාලනය කිරීමට සහ දෘශ්‍යමාන කිරීමට ඇති හැකියාව.

සිත්ගන්නා සන්නිවේදන ප්‍රමිතීන්ගෙන් එකක් වන්නේ භූමිෂ්ඨ භූමිෂ්ඨ රූපවාහිනී DVB-T2 ය.
කුමක් සඳහා ද? ඇත්ත වශයෙන්ම, ඔබට නැගිටීමකින් තොරව රූපවාහිනිය ක්‍රියාත්මක කළ හැකිය, නමුත් එහි නැරඹීමට කිසිවක් නොමැති අතර මෙය තවදුරටත් මගේ මතය නොව වෛද්‍යමය කරුණකි.

බරපතල ලෙස, DVB-T2 ඉතා පුළුල් හැකියාවන් සහිතව නිර්මාණය කර ඇත, ඇතුළුව:

  • ගෘහස්ථ යෙදුම
  • QPSK සිට 256QAM දක්වා වෙනස් කිරීම
  • කලාප පළල 1,7MHz සිට 8MHz දක්වා

SDR මූලධර්මය භාවිතයෙන් ඩිජිටල් රූපවාහිනිය ලබා ගැනීමේ අත්දැකීම් මට ඇත. DVB-T ප්‍රමිතිය සුප්‍රසිද්ධ GNURadio ව්‍යාපෘතියේ ඇත. DVB-T2 ප්‍රමිතිය සඳහා gr-dvbs2rx බ්ලොක් එකක් ඇත (සියල්ලම එකම GNURadio සඳහා), නමුත් එයට මූලික සංඥා සමමුහුර්තකරණය අවශ්‍ය වන අතර එය ප්‍රබෝධමත් වේ (Ron Economos වෙත විශේෂ ස්තුතිය).

අපට ඇති දේ.

සම්ප්‍රේෂණය විස්තර කරන ETSI EN 302 755 ප්‍රමිතියක් ඇත, නමුත් පිළිගැනීම නොවේ.

සංඥාව 9,14285714285714285714 MHz නියැදි සංඛ්‍යාතයක් සමඟ වාතයේ පවතී, COFDM මගින් වාහකයන් 32768ක් සමඟ මොඩියුලේට් කර, 8 MHZ කලාපයක් තුළ.

දේශීය දෝලකයේ සෘජු ධාරා (DC) ඕෆ්සෙට් සහ “කාන්දු වීම” ඉවත් කිරීම සඳහා නියැදි සංඛ්‍යාතය මෙන් දෙගුණයක් (කිසිවක් නැති නොවන පරිදි) සහ අතරමැදි සංඛ්‍යාතයේ වැඩි කලාප පළලක් (සුපර්හෙටෙරෝඩයින් පිළිගැනීම) සමඟ එවැනි සංඥා ලබා ගැනීම නිර්දේශ කෙරේ. (LO) ග්‍රාහක ආදානයට. මෙම කොන්දේසි සපුරාලන උපාංග හුදු කුතුහලය සඳහා මිල අධිකය.

10Msps 10bit සමඟ SdrPlay හෝ සමාන ලක්ෂණ සහිත AirSpy වඩා ලාභදායී වේ. මෙහි නියැදීමේ සංඛ්‍යාතය දෙගුණයක් පිළිබඳ ප්‍රශ්නයක් නොමැති අතර පිළිගැනීම සිදු කළ හැක්කේ සෘජු පරිවර්තනයකින් පමණි (Zero IF). එබැවින් (මූල්ය හේතූන් මත) අපි අවම වශයෙන් දෘඪාංග පරිවර්තනයක් සහිතව "පිරිසිදු" SDR හි අනුගාමිකයින්ගේ පැත්තට මාරු කරමු.

ගැටළු දෙකක් විසඳීමට අවශ්ය විය:

  1. සමමුහුර්තකරණය. නිශ්චිත අදියර-නිවැරදි RF අපගමනය සහ නියැදි සංඛ්යාත අපගමනය සොයා ගන්න.
  2. DVB-T2 සම්මතය පසුපසට නැවත ලියන්න.

දෙවන කාර්යය සඳහා තවත් බොහෝ කේතයක් අවශ්‍ය වේ, නමුත් නොපසුබට උත්සාහයෙන් විසඳිය හැකි අතර පරීක්ෂණ සංඥා භාවිතයෙන් පහසුවෙන් සත්‍යාපනය කළ හැකිය.

පරීක්ෂණ සංඥා BBC සේවාදායකයේ ftp://ftp.kw.bbc.co.uk/t2refs/ සවිස්තරාත්මක උපදෙස් සහිතයි.

පළමු ගැටළුවට විසඳුම SDR උපාංගයේ ලක්ෂණ සහ එහි පාලන හැකියාවන් මත බෙහෙවින් රඳා පවතී. නිර්දේශිත සංඛ්‍යාත පාලන කාර්යයන් භාවිතා කිරීම, ඔවුන් පවසන පරිදි, සාර්ථක නොවූ නමුත් ඒවා කියවීමෙන් බොහෝ අත්දැකීම් ලබා දුන්නේය. ලේඛනගත කිරීම, වැඩසටහන්කරණය, රූපවාහිනී කතා මාලා නැරඹීම, දාර්ශනික ප්‍රශ්න විසඳීම ..., කෙටියෙන් කිවහොත්, ව්‍යාපෘතිය අත්හැරීමට නොහැකි විය.

"පිරිසිදු SDR" කෙරෙහි විශ්වාසය තව තවත් ශක්තිමත් වී ඇත.

අපි සංඥාව පවතින ආකාරයටම ගෙන, එය ප්‍රතිසමයකට වාගේ මැදිහත් වී විවික්ත එකක් ඉවත් කරමු, නමුත් සැබෑ එකට සමානයි.

සමමුහුර්ත කිරීමේ වාරණ රූප සටහන:

C++ හි SDR DVB-T2 ග්‍රාහකය

මෙහි සෑම දෙයක්ම පෙළ පොතට අනුව ය. ඊළඟට ටිකක් සංකීර්ණයි. අපගමනය ගණනය කිරීම අවශ්ය වේ. විවිධ ක්‍රමවල වාසි සහ අවාසි සංසන්දනය කරන සාහිත්‍ය සහ පර්යේෂණ ලිපි රාශියක් ඇත. සම්භාව්‍ය වලින් - මෙය "මයිකල් ස්පෙත්, ස්ටෙෆාන් ෆෙච්ටෙල්, ගුන්නාර් ෆොක්, හෙන්රිච් මයර්, OFDM-පාදක බ්‍රෝඩ්බෑන්ඩ් සම්ප්‍රේෂණය සඳහා ප්‍රශස්ත ග්‍රාහක නිර්මාණය - I සහ II කොටස." නමුත් ගණන් කළ හැකි සහ අවශ්‍ය එකම ඉංජිනේරුවෙකු මට හමු වී නැති නිසා ඉංජිනේරු ප්‍රවේශයක් භාවිතා කරන ලදී. එකම සමමුහුර්ත කිරීමේ ක්‍රමය භාවිතා කරමින්, පරීක්ෂණ සංඥාවට detuning හඳුන්වා දෙන ලදී. දන්නා අපගමනයන් සමඟ විවිධ ප්‍රමිතික සංසන්දනය කිරීමෙන් (ඔහු විසින්ම ඒවා හඳුන්වා දුන්නේය), කාර්ය සාධනය සහ ක්‍රියාත්මක කිරීමේ පහසුව සඳහා හොඳම ඒවා තෝරා ගන්නා ලදී. පිළිගැනීමේ සංඛ්යාත අපගමනය ගණනය කරනු ලබන්නේ ආරක්ෂක පරතරය සහ එහි පුනරාවර්තන කොටස සංසන්දනය කිරීමෙනි. ලැබෙන සංඛ්‍යාතයේ අදියර සහ නියැදි සංඛ්‍යාතය නියමු සංඥාවල අවධි අපගමනය මගින් ඇස්තමේන්තු කර ඇති අතර මෙය OFDM සංඥාවක සරල රේඛීය සමකරනයකද භාවිතා වේ.

සමකරන ලක්ෂණය:

C++ හි SDR DVB-T2 ග්‍රාහකය

DVB-T2 රාමුව ආරම්භ වන්නේ කවදාදැයි ඔබ දන්නේ නම් මේ සියල්ල හොඳින් ක්‍රියාත්මක වේ. මෙය සිදු කිරීම සඳහා, පෙරවදන සංකේතය P1 සංඥාව තුළ සම්ප්රේෂණය වේ. P1 සංකේතය හඳුනා ගැනීම සහ විකේතනය කිරීමේ ක්‍රමය විස්තර කර ඇත තාක්ෂණික පිරිවිතර ETSI TS 102 831 (පිළිගැනීම සඳහා බොහෝ ප්‍රයෝජනවත් නිර්දේශ ද ඇත).

P1 සංඥාවේ ස්වයං සහසම්බන්ධය (රාමුවෙහි ආරම්භයේ ඉහළම ස්ථානය):

C++ හි SDR DVB-T2 ග්‍රාහකය

පළමු පින්තූරය (චලනය වන රූපයට ඉතිරිව ඇත්තේ මාස හයක් පමණි...):

C++ හි SDR DVB-T2 ග්‍රාහකය

IQ අසමතුලිතතාවය, DC ඕෆ්සෙට් සහ LO කාන්දු වීම යනු කුමක්දැයි අපි ඉගෙන ගන්නේ මෙහිදීය. රීතියක් ලෙස, සෘජු පරිවර්තනයට විශේෂිත වූ මෙම විකෘති කිරීම් සඳහා වන්දි ගෙවීම SDR උපාංග ධාවකය තුළ ක්රියාත්මක වේ. එමනිසා, එය තේරුම් ගැනීමට බොහෝ කාලයක් ගත විය: මිත්‍රශීලී QAM64 තාරකා මණ්ඩලයෙන් තරු තට්ටු කිරීම වන්දි කාර්යයන්හි කාර්යයයි. මට සියල්ල ක්‍රියා විරහිත කර මගේ බයිසිකලය ලිවීමට සිදු විය.

ඉන්පසු පින්තූරය චලනය විය:

C++ හි SDR DVB-T2 ග්‍රාහකය

DVB-T64 ප්‍රමිතියේ නිශ්චිත තාරකා මණ්ඩල භ්‍රමණය සහිත QAM2 මොඩියුලේෂන්:

C++ හි SDR DVB-T2 ග්‍රාහකය

කෙටියෙන් කිවහොත්, අඹරන ලද මස් නැවත මස් ඇඹරුම් යන්තය හරහා ගමන් කිරීමේ ප්රතිඵලය මෙයයි. ප්‍රමිතිය මිශ්‍ර වර්ග හතරක් සඳහා සපයයි:

  • ටිකක් අන්තර් සම්බන්ධිත
  • සෛල අන්තර් ලීවිං (කේතීකරණ කොටසක සෛල මිශ්ර කිරීම)
  • කාල පරතරය (එය කේතන කුට්ටි සමූහයේ ද ඇත)
  • සංඛ්‍යාත අන්තර්ක්‍රියා (OFDM සංකේතයක සංඛ්‍යාත මිශ්‍ර කිරීම)

එහි ප්‍රතිඵලයක් වශයෙන්, ආදානයේදී අපට පහත සංඥා ඇත:

C++ හි SDR DVB-T2 ග්‍රාහකය

මේ සියල්ල සංකේතාත්මක සංඥාවේ ශබ්ද ප්රතිශක්තිය සඳහා අරගලයකි.

ප්රතිඵලය

දැන් අපට සංඥාව සහ එහි හැඩය පමණක් නොව, සේවා තොරතුරු ද දැකිය හැකිය.
විකාශනය වන මල්ටිප්ලෙක්ස් දෙකක් තිබේ. එක් එක් භෞතික නාලිකා දෙකක් (PLP) ඇත.

පළමු මල්ටිප්ලෙක්ස් හි එක් අමුතු බවක් දක්නට ලැබුණි - පළමු PLP “බහු” ලෙස ලේබල් කර ඇත, එය තාර්කික ය, මන්ද බහුප්‍රමාණයේ එකකට වඩා ඇති අතර දෙවන PLP “තනි” ලෙස ලේබල් කර ඇති අතර මෙය ප්‍රශ්නයකි.
ඊටත් වඩා රසවත් වන්නේ දෙවන මල්ටිප්ලෙක්ස් හි දෙවන අපූර්වත්වයයි - සියලුම වැඩසටහන් පළමු PLP හි ඇත, නමුත් දෙවන PLP හි අඩු වේගයකින් නොදන්නා ස්වභාවයේ සංඥාවක් ඇත. අඩුම තරමේ වීඩියෝ ෆෝමැට් පනහක් පමණ සහ එම ඕඩියෝ ප්‍රමාණය ගැන අවබෝධයක් ඇති VLC ප්ලේයරයවත් එය හඳුනා නොගනී.

මෙම ව්යාපෘතියම මෙහි සොයාගත හැකිය.

SdrPlay (සහ දැන් AirSpy.) භාවිතයෙන් DVB-T2 විකේතනය කිරීමේ හැකියාව තීරණය කිරීමේ අරමුණින් මෙම ව්‍යාපෘතිය නිර්මාණය කර ඇත, එබැවින් මෙය ඇල්ෆා අනුවාදයක් නොවේ.

PS මම අමාරුවෙන් ලිපිය ලියන අතරතුර, මම PlutoSDR ව්යාපෘතියට ඒකාබද්ධ කිරීමට සමත් විය.

USB6 ප්‍රතිදානයේදී IQ සංඥාව සඳහා 2.0Msps පමණක් ඇති බව යමෙකු වහාම කියනු ඇත, නමුත් ඔබට අවම වශයෙන් 9,2Msps අවශ්‍ය වේ, නමුත් මෙය වෙනම මාතෘකාවකි.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න