Topics

Re. Re: [airspy] How to make a large recording


Sebastian Heyn
 

Hi,

 

sorry I didnt state that correctly. the recording is done on a linux host using airspy_rx. Assuming already have the iq file, the question is how to open this iq file in sdrsharp?

Am 03.03.2021 um 19:28 schrieb prog:

On Wed, Mar 3, 2021 at 07:27 PM, Sebastian Heyn wrote:
Hi,

I need to make a 2-4 Minute recording in the FM band at preferrably 10Msps. The maximum filesize of the wav format is 2GB - however recording into a raw file is possible. How to play back that file using the excellent sdrsharp software? Do I need to convert it, or is there some kind of network player available to playback the file?
Use the baseband file recorder plugin.


prog
 

On Wed, Mar 3, 2021 at 07:38 PM, Sebastian Heyn wrote:
sorry I didnt state that correctly. the recording is done on a linux host using airspy_rx. Assuming already have the iq file, the question is how to open this iq file in sdrsharp?
Make sure the file doesn't exceed the limit of the wav format and open it. The CLI tools are very limited and provided as reference code. They are not intended for production. For Linux production, you will have to write your own code based on these tools or hire a developer to do it.


Honza Princl
 

Try to send IQ raw data from airspy_rx to SoX utility and process and convert them to 8/16 bit WAV. It works perfectly at me and I use this combo for direct airspy_rx IQ recording  for long time.


Martin Smith
 

You are on UNIX one way would be to to use sox, specifying the required input and output format.
"-t w64" if the iq file is larger than 2GB (RF64 is supported by Vasily's FilePlayer plugin) and
"-t wav" if the iq file is less than 2GB (This is support by SDR# without the need for any plugins).

You would need to specify the exact format of the raw iq file. This is probably not what you would do, it is just an arrow pointing in a direction:
I've not tried either of these command, but you could probably do something similar to this:
airspy_rx -t 0 -r /dev/stdout -f 98 -g 18 | sox -e float -t raw -r 10000000 -b 32 -c 2 - -t w64 -e float -b 32 -c 2 -r 10000000 test.rf64
airspy_rx -t 0 -r /dev/stdout -f 98 -g 18 | sox -e float -t raw -r 10000000 -b 32 -c 2 - -t wav -e float -b 32 -c 2 -r 10000000 test.wav

(airspy_rx -t options 0=FLOAT32_IQ, 1=FLOAT32_REAL, 2=INT16_IQ(default), 3=INT16_REAL, 4=U16_REAL)

You can work out the exact options that you need for it to work, I'm only pointing you in the direction I would look if it was something that I needed to do.