How To Make Your Own SDR Software With GNU Radio Companion

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] g0 ogs uh Papa Charlie 4 Delta X-ray and POA Fox 9 Zulu check me out I remembered all those cool signs this is MZ video I'll just be listening Lads but a pleasure as always sir back to you Sasha hi and welcome back to another tech Minds video now if you've ever wanted to experiment with making your own SDR software either for fun learning or even having a specific big requirement then gnu radio companion is what you want to be looking at now I must admit gnu radio or is it gnu radio is extremely new to me and even though I've experimented with it in the past there's just so much to learn now I'm no expert at gnu radio and the idea of this video is to hopefully spark some interest into experimenting with this software and it's another Avenue of ham radio that you can learn from in the comfort of your own home now this is called a flow which is made up from blocks in fact this is the exact flow that was used at the start of this video it was designed to receive the 40 m ham radio band from an RTL SDR demodulate lower sideband and then output the demodulated signal to my computer speakers now there are a couple of Sliders to change frequency change output volume and even adjust the RF gain to try and explain in the most simplest of ways what this software does well it takes a radio signal from a softwar defined radio and then you can filter bits out you can even add bits back in filter out some more do some demodulation and then send all of that off to speakers for you to listen to of course demodulating and decoding Digital Data is also possible and there are blocks for that too so let's take a look at how I built this particular flow so the first thing we'll do is drag on a couple of variables from the right block search panel to the main flow now the first will give an ID of sore rate and give it a value of 2.4 MHz the second variable we will call Freak unor shift and give this a value of 12.5 mahz now I'll be using an RTL SDR version 4 connected to my outside HF antenna and then plugged into the USB port on my computer therefore we need a source block which is the start of the flow when you're receiving now this defines which SDR device we're going to use in this whole flow so I drag on what's called an osmac con source as some of the values will change via some sliders like frequency and gain let's drag on some C UT GUI range blocks which will provide the sliders on the user interface when we run the program the first range block will be RF gain the second will be volume and the third will be the frequency which I've named LSB freak now if you're following along you can pause the video to copy the values that I'm using or just download this flow from the link in the description now back onto the osmocom source block and on the frequency box we can enter the ID of the QT GUI range slider for LSB frequency this means you do not have to define a fixed frequency and the block will take its value from the slider at runtime I.E when the program is running now the same goes for samp rate but this is a fixed variable as it's used in other places in the flow so it makes sense just to change that one value in one place if you need to change it next I'll add a QT GUI sync and then drag from the out of the osmocon source to the in on the QT gy sink this will send anything received to a visual waterfall and scope just kind of gives you some visual feedback that something's going on this we will need to perform some filtering on the signal I'll now add a low pass filter and then drag a line from the out of the osmocom source to the in of the low pass filter now take note that the cut of frequency that I set here is 2.7k which is essentially the bandwidth we want to receive a bit like the bandwidth control on a normal hand radio receiver next we add a rational resampler and change a couple of values here interpolation to 12 and decimation to five next we add a complex to float block and then two Hilbert blocks then another two complex to float blocks we need to take the top output and lower output of the last two blocks to null syns just like this then we need to find and drag on a subtract block which we drag the two outputs from the complex the float blocks to the inputs of the subtract block we now need a multiply cons block which will connect to the output of the subract block we need to change the io type to float and then in the constant text box we enter the gooey range ID for the volume control which is just the word volume in my case here now lastly we need an audio sync for this we need to select a sample rate and for this I will select 48 khz now if you leave the device name blank then this audio sync block will automatically use the default audio output of your computer now I know I haven't gone through what each block does specifically and that's simply because well I'm not entirely sure what some of these blocks actually do as I'm still pretty much learning myself so let's click on the Run button and see if it actually [Applause] works and and plus whatever it was you said um cuz all I've been doing see this is where maybe I'm going completely wrong all I've been doing is reer Source RX1 and 2 and then down to reference source and go to either RX1 or rx2 and seeing which one is allowing me to move so it appears that it's working and even the frequency slider works too along with the volume control the RF gain control does work but in the osac com Source block you can change it so the RF gain is automatic which is a little bit better now if you're wondering if you can use this software to design a flow to transmit and assuming you have an SDR that transmits like a Pluto SDR or a hack RF then yep you can also design a flow to transmit like [Applause] [Music] this [Music] now on the left we have gnu radio transmitting through a hack RF into a dummy load then on the right we have s++ connected to an RTL SDR receiving the transmitted signal now please always check your local laws when it comes to transmitting as you really don't want to knock on the door from those authorities and most of the time you will need a license whichever frequency you're transmitting on as mentioned earlier you can also use gnu radio companion to receive demodulate and decode digal data in this flow an example we're decoding adsb packets from aircraft that are flying high above the clouds of course you can then manipulate this data however you like and send it off to any end point you desire Cano radio companion runs on most operating systems and I'll leave a link to the wiki where you can choose the install for your operating system now I will point out that you must have python installed on your computer so just bear that in mind if you come across any issues now the examples shown in this video are pretty basic there's a lot more complex things that you can do with it and there are hundreds if not thousands of examples on the internet that you can go and take a look at especially on GitHub anyway guys if you use this software and you've made some interesting things then let us know down in the comments below until next video stay safe thanks for watching and I'll see you guys in the next one [Music]
Info
Channel: Tech Minds
Views: 21,635
Rating: undefined out of 5
Keywords: ham, radio, software, defined, digital, dstar, dmr, fusion, ysf, nxdn, antenna, resonant, nanoVNA, how to make, how to, tutorial, waterfall, signal, transmission, qo-100, eshail2, tech minds, how to use gnu radio
Id: XDkOhlztMLs
Channel Id: undefined
Length: 9min 38sec (578 seconds)
Published: Fri Dec 15 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.