IQ data capturing

Hi,

I am new to limesdr. My task is to read IQ data using limesdr. While exploring I found that file sink is used to capture the IQ data. So I used File sink block in my flowgraph. After running the flowgraph, some data are written in the file but which are not readable characters.

Have anyone idea about this?

Regars,
Bala

IQ data is just raw waveforms, if you direct the output of LimeSDR source into File sink, the data is not going to have any meaning that could be read as a character string.
The file is just going to contain raw binary data, which also depends on which output format you choose, floating point numbers, or integers.

Hi @ricardas,

Thanks for your reply.

If you have any example design means can you share it?

Regards,
Bala

Here’s a GNURadio companion example of FM radio receiving: LimeSuiteNG/plugins/gr-limesdr/examples/FM_receiver.grc at develop · myriadrf/LimeSuiteNG · GitHub

Hi @ricardas,

Thanks for sharing the example. I will implement this and if I have any doubts I will reach you.

Thanks,
Bala

Hi @ricardas,

You gave me the example graph, so now i need to add the file sink with the block or what I have to do?
can you explain me how to achieve this IQ data capture with limesdr mini?

Regards,
Bala

I don’t understand your goal, if you wanted to just capture the IQ data, then you already have done it with the File sink block. Here’s what it looks like:

What do you expect to see in the file? The data is binary, it’s not going to be human readable. The data inside the file is just binary sequence of floating point numbers (4 bytes each), one IQ sample is two numbers.

SdrGlut can capture and play back I/Q data, from youtube -

Capturing SDR I/Q streams with SdrGlut

Hi @ricardas,

I would like to control the duration of my signal capture. Specifically, I want to change the number of seconds for which I capture the signals.

Is there a way to set the recording duration in GNU Radio? Are there specific blocks or methods to stop the capture after a set period of time?

Any guidance or examples on how to implement this would be greatly appreciated!

Thank you!

I looked at all of the gnuradio blocks - there does not appear to be a simple timer. Gnuradio actually creates a python program which it then runs. You can call the Gnuradio routines from python - so you could create a python program to do what you want or you could build an OutOfTreeModule to add a timer function to gnuradio. Another possibility would be to use UDP or TCP/IP to pass the I/Q data to an extern program to do the timing for you. As an example -

Using iqSDR To Enhance Gnuradio.

Hi @RightHalfPlane,

Thanks for your assistance. I have made two push buttons start and stop and I have made some modifications in the code generated by gnuradio to record until I press stop. Now its working fine.

Thanks and regards,
Bala