Enne praktikumi läbimist selgitada mõisted: raadiolaine, lainepikkus ja sagedus elektromagnetiliste lainete spekter,. Iga katse võtab 20 kuni 40 minutit. Seega kokku 1 kuni 2 tundi.
Vajalikud seadmed: Helikaardiga arvuti, GNU Raadio tarkvara, valjuhääldi (kõrvaklapid või kõlar)
Praktikumi eesmärk on esmatutvumine GNU raadio tarkvaraga ilma SDR riistvara kasutamata. Seejuures vaatame kuidas muutub ostsillograaf ja signaalide spekter kui neile lisada erinevate amplituudide ja sagedustega signaale. Katsetame kuuldavat heli vahemikku (20Hz - 20kHz).
Tuleb silmas pidada, et iga valjuhääldi ei mängi seda vahemikku maha oma tehniliste parameetrite tõttu- seega, sisuliselt saame soovi korral lisaks testida ka erinevate kõrvaklappide kõlarite tööd).
Ülesande püstitus: Simuleerida GNU Raadio tarkvara abil inimkõrvale kuuldav sagedus (vahemik 20 Hz kuni 20kHz) ja esitada see helikaardile mahamängimiseks.
Millised on miinimum- ja maksimumsagedused mida valjuhääldist kuuldavalt esitatakse?
Töö käik:
Avage GNU Radio Companion. Tekkinud “options” plokis muutke parameetrid järgnevalt: Title > Heli, ID > Heli. Variable plokis muutke väärtus samp_rate > 48000 (Helikaardi vaikimisi sätestatud sample rate (eesti keeles võendamissagedus, diskreetimissagedus või sämplimissagedus) on 48000, programmis on see väärtus vaikimisi 32k). Parameetreid saate muuta kui teete plokil topeltklõpsu.
Kirjutage otsingu lahtrisse märgusõna “signal” ja lisage tööpaneelile plokk “Signal Source” ja muutke seal esimene rida “output type” tüübile “float” (kõrval olevast rippmenüüst saate valida väljundi tüüpi- valikus on complex, float, int, short ja byte).
Märgusõnaga “Audio sink” leidke vastav plokk ja lisage see töölauale “Signal Source” ploki kõrvale paremale poole. Ühendage “Signal Source” väljund “Audio Sink” sisendiga klikkides kõigepealt nimetatud väljundile ja siis sisendile (vt joonis 2 allpool).
Salvestage programm (file > save as _). Pange tähele, mida ütleb töölaua all olev konsool, kui saate teate “cannot save ***” kus tärnid tähistavad failiteed, proovige fail salvestada mõnda muusse kausta. Näiteks looge Documents folderisse kaust “minu GNU” ja salvestage töö sinna nimega “heli.grc”. Kui salvestamine on edukas, saate faili käivitada nupust “Execute the flow graph” (vt joonist 1). Edukal käivitamisel avaneb tühi GUI (Graphical User Interface) ja kuulete helitooni sagedusega 1 kHz. Sulgege avanenud GUI ja programm lõpetab töö, tüütu ühe kilo-hertsine heli vaigistub.
Täiendage programmi kahe muudetava parameetriga sagedus ja amplituud. Selleks kirjutage otsingusse “Entry” ja lisage töölauale kaks plokki nimega “QT GUI Entry”. Tehke kummalgi plokil topeltklõps ja muutke väärtused ID ühel “sagedus” ja teisel “amplituud”, muutuja tüüp ehk Type valige mõlemal Float.
Selleks, et signaali loomisel arvestada neid muutujate väärtusi tehke plokil “Signal Source” topeltklõps. Muutke parameetrid Frequency > sagedus, Amplitude > amplituud.
Amplituudi muutke vahemikus 0,1 kuni 1 V, mis muutub? Testige sagedust muutes, millise sageusvahemiku helisid teie valjuhääldid kuuldavalt esitada suudavad. NB! Muutes kumbagi parameetrit, kas sagedus või amplituud, tuleb selle rakendumiseks vajutada sisestusklahvi (Enter, RET vms.).
Joonis 2. Helisageduste testimise programmi plokkdiagramm (näidisdiagramm)
Videojuhend
Ülesande püstitus: Esitada signaal ka ostsillograafil. Jälgida kuidas muutub signaali kuju muutes parameetreid sagedus, amplituud ja võendite arv (sample rate), soovi korral ka signaali kuju (waveform). Lisada signaale ostsillograafi sisendisse juurde, kuidas muutub graaf?
Töö käik:
Salvestage programm Heli.grc uue nimega, näiteks “ostsillograaf”
Kasutades otsingut lisage töölauale plokk “QT GUI Time Sink”. Asetage see plokk nii, et see jääb “Audio Sink” kohale või alla. Muutke Type > Float. Ühendage Signal Source väljund lisaks ka “QT GUI Time Sink” sisendisse, klikkides enne väljundit ja siis uue ploki sisendit.
Käivitage programm (execute the flow graph, nupp näidatud joonisel 3). Näete, et kasutajaliidesele lisandus ostsillograaf ajateljega 0-20 ms.
Sisestage sageduseks 1000, kui mitu perioodi mahub 20 millisekundisele ajagraafikule? Aga 100 Hz? Katsetades ja/või teades et periood (T) on pöördvõrdes sagedusega (f) ehk T=1/f, millisel sagedusel tekib ajagraafile 0 ms - 20 ms üks periood? Kui see katsetatud, sulgege avanenud GUI, et jätkata katsetusi.
Tehke koopia olemasolevast plokist “Signal source” ja muutke selle parameeter "Frequency " sageduse asemel sagedus/2 ning parameeter "Amplitude" amplituud/2.
Ühendage lahti sisendid ja väljundid (klikkige kummalgi noolel ja vajutage delete)
Kasutades otsingut “add” lisage töölauale liitmise plokk. Ühendage kummagi signaali väljund liitmise ploki sisendisse ja liidetud tulemus “Audio Sink” ja “QT GUI Time Sink” sisenditesse ( vt joonis 1).
Joonis 3. Kahe signaaliga ostsillograaf ja audio
Videojuhend
Töö käik
Lisage diagrammi QT GUI Frequency Sink. Topeltklikkides sellel muutke Type > Float ja parameeter "Autoscale" määrake “Yes”. Ühendage liitmistulemuse väljundist sisend ka uute plokki. Käivitage programm ja sisestage sagedus 10 kHz ning amplituud 1 V.
Peaksite nägema kolme signaali komponenti. Vaata joonist 4. Kui ostsillograafi pilt on kolme erinevat signaali liites üsna segane, siis alltoodud spektril on näha kolm erinevat sagedust:
keskel on algselt loodud signaal ehk sageduse täiskomponent hetkel 10 kHz
vasakul on sageduse kümnendik ehk sagedus/2
paremal on sageduse kahekordne ehk sagedus*2
Joonis 4. Sageduste spekter
3. Lisage töölauale veel kaks signaali mingite konstantsete sagedustega (vahemikus 1 - 20 kHz) ja amplituudidega (vahemikus 0.1 - 1V). Vaadake kas need ilmuvad äratuntavalt sageduse spektrile?
Videojuhend
https://www.youtube.com/watch?v=N9SLAnGlGQs&ab_channel=balint256 - Hea koht kust alustada
https://wiki.gnuradio.org/index.php/TutorialsSimulations
http://www.radio-science.net/2019/09/transmitting-simple-sine-wave-in.html
http://blogspot.tenettech.net/2015/01/23/generation-of-sine-wave-using-gnu-radio/
https://wiki.gnuradio.org/index.php/FFT - spekter (FFT-Fast Fourier Transform)
https://wiki.gnuradio.org/index.php/QT_GUI_Time_Sink - aeg*amplituud ehk “ostsillograaf”
https://wiki.gnuradio.org/index.php/Audio_Sink - Helikaardi seadistamine (Audio sink)
*Lingid viimati testitud 29.09.2022.
Joonis 1. GNU Raadio avaleht