Кіріспе

GNU Radio Companion – радио үшін Python негізіндегі блоктарды бағдарламалау бағдарламалық жасақтамасы. GNU Radio – бағдарламалық түрде анықталатын радиолар мен сигналдарды өңдеу жүйелерін іске асыруға арналған сигналдарды өңдеу блоктарын ұсынатын тегін бағдарламалық жасақтаманы әзірлеу құралы. Оны сыртқы радиожиілік (RF) аппараттық құралдарымен бағдарламалық түрде анықталатын радиоларды құру үшін немесе аппараттық құралдарсыз, симуляциялық ортада пайдалануға болады. Ол әуесқойлар, академиялық және коммерциялық салаларда сымсыз байланыс зерттеулерін және нақты радио жүйелерін қолдау үшін кеңінен қолданылады.

Шолу

GNU Radio бағдарламалық қамтамасы радиолық бағдарламалық жасақтаманы немесе жалпы сигналды өңдеу қолданбаларын құру және іске қосу үшін қажетті негіз бен құралдарды ұсынады. GNU Radio қолданбалары көбінесе «ағын схемалары» деп аталады, олар бір-бірімен байланысқан сигналды өңдеу блоктарының тізбегі болып табылады, осылайша дерек ағынын көрсетеді. Барлық бағдарламаланатын радио жүйелеріндегідей, қайта конфигурациялану маңызды мүмкіндік болып табылады. Арнайы және әртүрлі мақсаттарға арналған түрлі радиоларды пайдаланудың орнына, жалпы мақсаттағы бір радионы радионың алдыңғы бөлігі ретінде қолдануға болады, ал сигналды өңдеу бағдарламалық қамтамасы (GNU Radio) радио қолданбасына тән өңдеуді жүзеге асырады. Бұл ағын схемаларын C++ немесе Python тілдерінде жазуға болады. GNU Radio инфрақұрылымы толығымен C++ тілінде жазылған, ал көптеген пайдаланушы құралдары (мысалы, GNU Radio Companion) Python тілінде жазылған. GNU Radio – сигналды өңдеу жиынтығы және GNU жобасының бір бөлігі. Ол GNU General Public License (GPL) талаптары бойынша таратылады, ал жобаның көп бөлігі Free Software Foundation авторлық құқығымен қорғалған.

Тарих

Алғаш рет 2001 жылы жарық көрген GNU Radio – GNU пакетінің ресми бөлігі. Филантроп Джон Гилмор Эрик Блоссомға код жасау және жобаны басқару міндеттерін орындау үшін 320 000 АҚШ доллары көлемінде қаржы бөлді, осылайша GNU Radio жобасы бастау алды. Алғашқы қолданылған нәрселердің бірі – бағдарламалық құралдарда ATSC қабылдағышын құру болды. GNU Radio бағдарламалық құралы Массачусетс технология институтындағы (MIT) SpectrumWare жобасымен әзірленген Pspectra кодының негізінде құрылды. 2004 жылы GNU Radio толығымен қайта жазылды, сондықтан қазіргі таңда GNU Radio-да Pspectra-ның бастапқы коды жоқ. Мэтт Эттус жобаға алғашқы әзірлеушілердің бірі ретінде қосылып, GNU Radio бағдарламалық құралымен қолдануға арналған аппараттық платформаны ұсыну үшін Universal Software Radio Peripheral (USRP) құрылғысын жасады. 2004 жылы Мэтт Ettus Research LLC компаниясын құрды және GNU Radio-мен үйлесімді USRP құрылғыларын сатуды бастады. 2010 жылдың қыркүйегінде Эрик Блоссом жоба жетекшісі қызметінен кетіп, оның орнына Том Рондо тағайындалды. Жобаның басындағы негізгі әзірлеушілер жарты жылдық Hackfest шараларын өткізе бастады. 2011 жылы GNU Radio жобасы жыл сайын "GRCon" деп аталатын конференция өткізе бастады, және әдетте конференцияның соңғы күні Hackfest ұйымдастырылды. 2016 жылдың наурыз айында Том Рондо қызметтен босатылып, оның орнына Бен Хилберн жоба жетекшісі, ал ұзақ жылдар бойы жұмыс істеген Джонатан Корган бас сәулетші болып тағайындалды. 2018 жылдың қаңтарында Джонатан Корган бас сәулетші лауазымынан кетіп, оның орнына Маркус Мюллер келді. 2020 жылдың қыркүйегінде GNU Radio барлық қаржылық және шарттық мәселелер бойынша SETI институтының (пайда көздемейтін, көп салалы ғылыми-зерттеу және білім беру ұйымы) құрамына кірді. 2020 жылдың қазан айында Бен Хилберн және сол кездегі жобалық қызметкерлер GNU Radio жобасының басшылығын қайта ұйымдастыруға дауыс берді, нәтижесінде ұйымның жұмыс істеу ережелерін анықтайтын жарғылар жиынтығымен Бас Ассамблея құрылды. Бас Ассамблеяның сайланған мүшелерінен тұратын үш мүшелі кеңес бұрын жоба жетекшісі атқарған функцияларды өз мойнына алды.

GNU радио серіктесі

GNU Radio Companion – GNU Radio қолданбаларын жасауға қолданылатын графикалық интерфейс. Бұл сигналдарды өңдеуге арналған GNU Radio кітапханаларының алдыңғы бөлігі. GRC Джош Блум Джонс Хопкинс университетінде оқып жүргенде (2006-2007 жж.) жасады, содан кейін 2009 жылғы қазан айындағы Hackfest үшін ақысыз бағдарламалық құрал ретінде таратылды. 3.2.0 нұсқасынан бастап GRC GNU Radio бағдарламалық қамтамасыз ету тарату жинағымен бірге ресми түрде жеткізіледі. GRC – тиімді түрде Python кодты жасау құралы. GRC-де ағын схемасы компиляцияланғанда, ол қажетті графикалық интерфейс (GUI) терезелері мен элементтерін жасайтын, сондай-ақ ағын схемасындағы блоктарды құрып, байланыстыратын Python кодын жасайды. GRC қазіргі уақытта Qt құралдар жиынтығын қолдана отырып, GUI жасауды қолдайды.

График және дисплейлер

GNU Radio көптеген таратылған графикалық және деректерді визуализациялау мүмкіндіктерін ұсынады, оның ішінде FFT дисплейлері, символдар шоқжұлдызы диаграммалары және осциллографтар бар. Бұлар радио қолданбаларын түзету және соңғы қолданбаның пайдаланушы интерфейсі ретінде жиі қолданылады.

ПиБОМБ

Көптеген пайдаланушылар GNU Radio-мен қолдану үшін "ағаштан тыс модульдер" жасайды. Бұларды басқару және GNU Radio-ны іске қосу үшін қажетті тәуелділіктерді басқару мақсатында ұйым PyBOMBS (Python Build Overlay Managed Bundle System) жобасын құрды.