среда, 24 априла, 2024
Представљамо

ГНУ Радио

Аутор: Стефан Гвозденовић

ГНУ Радио је програм за обраду сигнала у сврхе софтверски дефинисаног радија (енг. software defined radio) или СДР. СДР технологија омогућава рачунарски интензивним деловима радија који су традиционално извршавани у хардверу да се извршавају и у софтверу. Предност овакве архитектуре је конфигурабилност која може да омогући једном уређају да подржава више од једног радио-протокола. Интересовање за софтверски радио на сцени отвореног кода је порасло открићем РТЛ-СДР ТВ тјунера манипулацијом чијег фирмвера се тјунер претвара у софтверски дефинисани радио пријемник за генералну употребу. РТЛ, скраћеница за Рилтек (енг. Realtek) је назив предузећа које производи интегрисано коло демодулатора. Могућности ове технологије дотичу и наш регион и то се може прочитати на следећем линку.

Са становишта ОСИ (енг. open systems interconnection) референтног модела ГНУ Радио се углавном фокусира на први и други слој. ГНУ радио флоуграф (енг. GNU Radio flowgraph) је програм писан у Пајтону користећи уређивач текста или још чешће такозвани ГРЦ (енг. GNU Radio Companion). ГРЦ представља графички кориснички интерфејс који се састоји од радне површине, листе постојећих блокова (на десној страни прозора) и излаз са командне линије (на дну прозора) корисне за дебаговање. Радни простор садржи флоуграф који је изграђен из блокова повезаних сигналима чије су врсте података означене бојама (Слика 1 ). Ако постојећи блокови не испуњавају захтеве Ваше апликације, можете написати блок кројен по личној мери, такозвани ООТ модул (енг. out-of-tree module). Блокови обично садрже један или више улаза на левој и један или више излаза на десној страни. Сорс (изворни) блокови обично садрже само излазе. Слично, синк (понор) блокови садрже само улазе. Улази и излази не морају имати исте типове података нити исте брзине преноса података (енг. data rate). Када отворите нови ГРЦ прозор, приметићете два блока, садржана у сваком ГРЦ програму: Подешавања (eng. Options) и променљиву за брзину узорковања (енг. Sampling rate variable). Блок подешавања дефинише назив и опис програма, аутора и врсту генерисаног кода (графички или не графички). Сорс и синк блокови су значајни јер представљају улаз у или излаз из ГНУ Радио апликације. Примери сорс и синк блокова су: звучна картица вашег личног рачунара, УДП (енг. user datagram protocol) или ТЦП порт или хардвер посвећен софтверски дефинисаном радију.

Врсте података означене бојама (1)

Блокови за обраду сигнала су писани у Ц++ програмском језику, док се Пајтон користи као планер који додељује извршно време блоковима и који такође контролише проток сигнала или метаподатака представљених различитим врстама података. Блокови за обраду сигнала садрже улазни и излазни ред (енг. Queue или FIFO – first in first out) зависно од чијих садржаја Пајтон планер распоређује извршно време. Ред је апстрактни тип податка који се у овом случају обавља функцију бафера или међуспремника (енг. buffer) између блокова. Редови су уграђени у блокове јер блокови могу да конзумирају различит број података у исто време. Например, ФФТ блок (енг. Fast Fourier Transformation) захтева одређен број узорака у исто време за рачунање ФФТ алгоритма док се алгоритми филтер блока извршавају узорак по узорак.

Примери неких од чешће кориштених блокова су: филтери, модулатори, демодулатори, променљиве као и разне друге математичке операције. Погледајмо еквивалент „здраво свете” програма у ГНУ Радију.

Ако покренемо програм кликом на троугао у линији менија, искочиће графички приказ синусног сигнала у фреквентном домену.

ГНУ Радио флоуграф не мора да садржи хардверски улаз или излаз, што омогућава симулације и тестирања програма без нужног поседовања хардвера. Сигнал сачуван у архиви помоћу фајл синк блока може се користити као тестни узорак помоћу фајл сорс блока. Тротл (енг. throttle) блок замењује физични хардвер лимитирајући брзину узорковања. Ако изоставите тротл блок из датог примера, графички приказ ће да затамни након неколико секунди што означава изгладњивање процесора.

Инсталација ГНУ Радија на Дебијан системима се извршава командом:

apt-get install gnuradio

Ако желите да пробате ГНУ Радио без инсталације, постоје Убунту живе слике са унапред инсталираним ГНУ Радијом као и Докер (енг. Docker) слике. За више информација посетите следећу страницу.