Topics

TX of previously recorded IQ Data #pluto

Piotr Swiatkiewicz
 
Edited

Hello! What an excellent piece of software SDR-Radio is! I have been using it for quite some time. Recently found out TX support was introduced. Also, I got Analog Devices' Pluto SDR box and played with it for some time. Just found out SDR-Radio also had support for Pluto, so I decided to try them both. Got the RX path working very well and I am very happy with all the options the Console offers. In particular, I am interested in IQ data recording. I was surprised with what I could do with the files inside the Console itself (scheduled recording, playback, etc.). I could successfully capture data @6MHz on my i7 DELL Precision laptop. Then, I tried the TX support for Pluto could not yet to figure out how I to use it to actually get the RF power emission from the TX port. Must read other messages here on the forum - hope I will be able to find out how to use TX.

One question: I would be very much interested in feeding the TX path of Pluto with IQ data from a previously recorded file. Is that possible at all?

Peter
---
Kraków, POLAND

Simon Brown
 

Peter,

 

You can only feed audio for TX, for example via a VAC.

 

Simon Brown, G4ELI

https://www.sdr-radio.com

 

From: main@SDR-Radio.groups.io <main@SDR-Radio.groups.io> On Behalf Of Piotr Swiatkiewicz
Sent: 20 July 2019 16:24
To: main@SDR-Radio.groups.io
Subject: [SDR-Radio] TX of previously recorded IQ Data #pluto

 

[Edited Message Follows]
[Reason: elaborated on the question I have, redacted, signed.]

Hello! What an excellent piece of software SDR-Radio is! I have been using it for quite some time. Recently found out TX support was introduced. Also, I got Analog Devices' Pluto SDR box and played with it for some time. Just found out SDR-Radio also had support for Pluto, so I decided to try them both. Got the RX path working very well and I am very happy with all the options the Console offers. In particular, I am interested in IQ data recording. I was surprised with what I could do with the files inside the Console itself (scheduled recording, playback, etc.). I could successfully capture data @6MHz on my i7 DELL Precision laptop. Then, I tried the TX support for Pluto could not yet to figure out how I to use it to actually get the RF power emission from the TX port. Must read other messages here on the forum - hope I will be able to find out how to use TX.

One question: I would be very much interested in feeding the TX path of Pluto with IQ data from a previously recorded file. Is that possible at all?

Peter
---
Kraków, POLAND

Piotr Swiatkiewicz
 

OK, would it be possible to add the option to stream IQ samples?

If not in free, then perhaps in the commercial version - I would be more than happy to speak with you about that.
-----
Peter

jdow
 

How are you measuring RF power output from the tx port? (It's only a milliwatt or so.)

{^_^}

On 20190720 08:24:20, Piotr Swiatkiewicz wrote:
Hello! I got Pluto working on the RX side and I am very happy with all the options the Console offers. In particular, I am interested in IQ data recording. I was surprised with what I could do with the files inside the Console itself (scheduled recording, playback, etc.). Then, I tried the TX support for Pluto and I am yet to figure out how I could use it to actually get the RF power emission from the TX port.
I have one question: I would be very much interested in feeding the TX side of Pluto with IQ data from a previously recorded file. Is that possible at all?

Piotr Swiatkiewicz
 

Thanks for your information! Well, so far I was not able to hook up anything to independently test the presence of RF power on TX port. I am on vacation in the US and don't have access to any instruments at all. Luckily, next Tuesday I will be back in the lab and find out what is going on.

Piotr Swiatkiewicz
 

Simon,

you said you did not plan IQ file playback in 2019 (as SDR-Radio is HAM / SWL oriented and such option
may not be of interest to users). However, if I may, this IQ playback is important for me as a commercial
user. I could possibly discuss the use of SDR-Radio software with my employer and - surely - get a commercial
license for it. I already proved I could capture wide enough chunk of the band of interest and get good IQ files
using your software. This is half of my use case, though. I really need to replay those captures back at the lab.
Now, my question is: should we discuss further details here, or in private?

By the way: in the Legal Talk section one can find the following:

  • Source available: via escrow in a working Windows Hyper-V environment

What does it mean? How does the commercial user get access to the source code (NDA, I presume)?
If I got it I could possibly look into IQ streaming to TX myself....

Thank you much!
Peter

Simon Brown
 

Hi,

 

Quick question: how wide (bandwidth) is the IQ recording?

 

Simon Brown, G4ELI

https://www.sdr-radio.com

 

From: main@SDR-Radio.groups.io <main@SDR-Radio.groups.io> On Behalf Of Piotr Swiatkiewicz
Sent: 08 August 2019 12:11
To: main@SDR-Radio.groups.io
Subject: Re: [SDR-Radio] TX of previously recorded IQ Data #pluto

 

Simon,

you said you did not plan IQ file playback in 2019 (as SDR-Radio is HAM / SWL oriented and such option
may not be of interest to users). However, if I may, this IQ playback is important for me as a commercial
user. I could possibly discuss the use of SDR-Radio software with my employer and - surely - get a commercial
license for it. I already proved I could capture wide enough chunk of the band of interest and get good IQ files
using your software. This is half of my use case, though. I really need to replay those captures back at the lab.
Now, my question is: should we discuss further details here, or in private?

By the way: in the Legal Talk section one can find the following:

  • Source available: via escrow in a working Windows Hyper-V environment

What does it mean? How does the commercial user get access to the source code (NDA, I presume)?
If I got it I could possibly look into IQ streaming to TX myself....

Thank you much!
Peter

Piotr Swiatkiewicz
 

The ones I captured recently with Pluto are 6 MHz wide. It would be ideal to be able
to play them back using the same Pluto. However, I also have access to B200 and X310 from Ettus
(although I know, the Ettus API is not exactly easy to handle - I may be forced to use one of those
to capture a wider band - if I could get 20 MHz I would be very happy, but that may be difficult
without a decent PC with SSD (possibly on PCIe bus).

I am also exploring other possibilities to play IQ files I made using SDR-Radio.
We will see what I can find and if those other options are good enough.
Still, I believe that one solution to cover the entire use case would be ideal and SDR-Radio
looks like a very good choice for me. 

Thanks!
Peter
--
Piotr Świątkiewicz
SDR enthusiast
Kraków, Poland

Simon Brown
 

Hi,

 

6MB IQ (16-bit samples) can’t work with the Pluto, that is too much bandwidth. 4MB IQ (16-bit samples) is probably the limit.

 

You would need Ettus or bladeRF to transmit this bandwidth.

 

I would have to write special code for this.

 

Simon Brown, G4ELI

https://www.sdr-radio.com

 

From: main@SDR-Radio.groups.io <main@SDR-Radio.groups.io> On Behalf Of Piotr Swiatkiewicz
Sent: 08 August 2019 16:28
To: main@SDR-Radio.groups.io
Subject: Re: [SDR-Radio] TX of previously recorded IQ Data #pluto

 

The ones I captured recently with Pluto are 6 MHz wide. It would be ideal to be able
to play them back using the same Pluto. However, I also have access to B200 and X310 from Ettus
(although I know, the Ettus API is not exactly easy to handle - I may be forced to use one of those
to capture a wider band - if I could get 20 MHz I would be very happy, but that may be difficult
without a decent PC with SSD (possibly on PCIe bus).

I am also exploring other possibilities to play IQ files I made using SDR-Radio.
We will see what I can find and if those other options are good enough.
Still, I believe that one solution to cover the entire use case would be ideal and SDR-Radio
looks like a very good choice for me. 

Thanks!
Peter

--
Piotr Świątkiewicz
SDR enthusiast
Kraków, Poland

Piotr Swiatkiewicz
 

Hello Simon,

Which direction are you referring to? RX or TX? If the former I will have to double-check my recordings.
By the way: this is exactly why I asked in another thread here about any possible indications that the recording
may be corrupted (dropped samples). I would like to make sure the recordings are usable later on in the lab.
Now, if you are saying the limit is on the TX side - I will have to experiment with it a bit using another piece
of software, or GNU-Radio directly. Will let you know the results.

Is the WAV (RIFF-64) header used by your SDR-Radio described anywhere?
I mean: any other information (centre frequency in particular, but maybe also the recording HW used and its
gain setting) apart from the obvious sample rate and size + number of "channels".

Peter
--
Piotr Świątkiewicz
SDR enthusiast
Kraków, Poland

Simon Brown
 

Hi,

 

I was thinking about your problem. Recording / playback of IQ data is a typical example  program supplied by Pluto / Lime etc., it’s really not difficult to play a file but you have to be a programmer. This is outside the scope of SDR Conole.

 

For the WAV RF64 format visit https://www.sdr-radio.com/ and use the search option, you will end up here: https://en.wikipedia.org/wiki/RF64 . An actual description of RF64 with examples is hard to find, I used https://samplerateconverter.com/educational/wav-64-bit-rf64-mbwf and also was given a RF64 example file from another program, I forget which program it was. I am very sure my RF64 files are 100% WAV RF64 compliant.

 

Simon Brown, G4ELI

https://www.sdr-radio.com

 

From: main@SDR-Radio.groups.io <main@SDR-Radio.groups.io> On Behalf Of Piotr Swiatkiewicz
Sent: 10 August 2019 15:28
To: main@SDR-Radio.groups.io
Subject: Re: [SDR-Radio] TX of previously recorded IQ Data #pluto

 

Hello Simon,

Which direction are you referring to? RX or TX? If the former I will have to double-check my recordings.
By the way: this is exactly why I asked in another thread here about any possible indications that the recording
may be corrupted (dropped samples). I would like to make sure the recordings are usable later on in the lab.
Now, if you are saying the limit is on the TX side - I will have to experiment with it a bit using another piece
of software, or GNU-Radio directly. Will let you know the results.

Is the WAV (RIFF-64) header used by your SDR-Radio described anywhere?
I mean: any other information (centre frequency in particular, but maybe also the recording HW used and its
gain setting) apart from the obvious sample rate and size + number of "channels".

Peter

--
Piotr Świątkiewicz
SDR enthusiast
Kraków, Poland

Piotr Swiatkiewicz
 

Hello Simon,

thank you much for your reply. As a matter of fact, I am a programmer, but I just don't have enough time to do all that I would like to.
Specifically, my employer - though interested in the "inexpensive" solution to capture and playback of RF signals of our interest - would not
allocate time for that task (enough for the subject to be properly taken care of). This is why I was thinking - if SDR-Radio is such a nice
application when it comes to spectrum analysis and also  IQ recording (and I would recommend SDR-Radio highly! - love the idea of using
NVidia CUDA to offload the FFT calculations), then perhaps I could use it also to push data in the opposite direction (i.e. to TX chain).
After all the option to "play" the IQ stream internally and demodulate the signals of interest are already present in the application.

I understand there might be non-technical reasons that make the feature of pushing IQ stream to the TX chain of the SDR hardware
a bit inconvenient, that's why I thought the commercial license could possibly help with that inconvenience. If it is only the scope
of SDR-Radio - as you put it above - I understand that, too. Definitely, it would be too bad for me if I had to use some sort of hybrid solution
to have the entire system (decent spectrum view, IQ capture, IQ playback) up and running.

As far as RF64 is concerned. Yes, I see the format is described there - thanks for sharing the links. I will analyze it carefully.
I was just curious if you also embedded such information as centre frequency (or gain, for example) someplace in the header or any type
of chunk in the file. When I played my recording, I could see the frequency scale properly set, so I presume the playback is set up with
the centre frequency taken from some source.

Piotr Świątkiewicz
SDR enthusiast
------
Kraków, Poland

Simon Brown
 

Hi,

 

Recordings have a lot of info: radio type, bandwidth, center frequency.

 

Good luck with the project.

 

Simon Brown, G4ELI

https://www.sdr-radio.com

 

From: main@SDR-Radio.groups.io <main@SDR-Radio.groups.io> On Behalf Of Piotr Swiatkiewicz
Sent: 11 August 2019 15:40
To: main@SDR-Radio.groups.io
Subject: Re: [SDR-Radio] TX of previously recorded IQ Data #pluto

 

Hello Simon,

thank you much for your reply. As a matter of fact, I am a programmer, but I just don't have enough time to do all that I would like to.
Specifically, my employer - though interested in the "inexpensive" solution to capture and playback of RF signals of our interest - would not
allocate time for that task (enough for the subject to be properly taken care of). This is why I was thinking - if SDR-Radio is such a nice
application when it comes to spectrum analysis and also  IQ recording (and I would recommend SDR-Radio highly! - love the idea of using
NVidia CUDA to offload the FFT calculations), then perhaps I could use it also to push data in the opposite direction (i.e. to TX chain).
After all the option to "play" the IQ stream internally and demodulate the signals of interest are already present in the application.

I understand there might be non-technical reasons that make the feature of pushing IQ stream to the TX chain of the SDR hardware
a bit inconvenient, that's why I thought the commercial license could possibly help with that inconvenience. If it is only the scope
of SDR-Radio - as you put it above - I understand that, too. Definitely, it would be too bad for me if I had to use some sort of hybrid solution
to have the entire system (decent spectrum view, IQ capture, IQ playback) up and running.

As far as RF64 is concerned. Yes, I see the format is described there - thanks for sharing the links. I will analyze it carefully.
I was just curious if you also embedded such information as centre frequency (or gain, for example) someplace in the header or any type
of chunk in the file. When I played my recording, I could see the frequency scale properly set, so I presume the playback is set up with
the centre frequency taken from some source.

Piotr Świątkiewicz
SDR enthusiast
------
Kraków, Poland

Piotr Swiatkiewicz
 

Hello,

OK, great to know that recordings include all that info. I just read the RF64 topic, but did not find
the specific information on how the info is encoded in those bext (or INFO) chunks you guys
were talking about in that topic. Will have to look closely at the recordings I have - maybe I can
decipher all I need to write the IQ player.

Thanks!
Peter
--
Piotr Świątkiewicz
SDR enthusiast
Kraków, Poland

Paul White
 
Edited

As I recall, Simon said he writes all the info chunks at the end of the file. Don't waste time looking sequentially through the DATA chunk.

Piotr Swiatkiewicz
 

Thank you much for this tip. I will check the end of the files and try to get the information from there.
By the way - looks like RFNoC might be the way to go in my specific use case.

Peter

Piotr Swiatkiewicz
 


HxD shows me something interesting in the form of a human-readable XML document
at the beginning of the file. Looks like it contains everything one would
expect. I am not sure which chunk it belongs to. Is it "fmt " chunk starting at offset 0x30,
or there is another chunk just after fmt and if so, where does it actually start?

RF64 file example - hex dump

I can also see another piece of human-readable text at the end of the file, as you suggested, Paul:



It also contains interesting stuff, just a bit more work needed to parse it (assuming the free-text format
of this part does not change).

Peter
Kraków, Poland

Paul White
 

Piotr, you've corrected me there: that first chunk you're seeing is "auxi" (and, if memory doesn't fail me, is one of *two* places used by SDRC).
At the end you'll find the "LIST" chunk (of type "INFO") with more stuff.
Be warned that LIST is one of the most misunderstood of all chunk types, a complete MS MESS. Often misnamed "INFO-LIST chunk" and erroneously described as allowing sub-chunks, it actually has far more in common with the top-level FORM structure (c.f. RIFF form of type WAVE).
You'll need to study the LIST-INFO examples found online, plus the SDRC elements currently written.
The "auxi" chunk is not globally registered, was conceived by the author of SpectraVue specifically to store SDR I-Q file metadata, is used in various SDR software from WinRad and Perseus to SDRuno and Elad, has gone through at least three structure versions, but never formally developed to keep up with expanding needs. I'm not going to risk publishing structure details. Again, you'll find stuff online.
 

Piotr Swiatkiewicz
 

Paul,

yeah, exactly - I sensed that "auxi" string was not an accident. I vaguely recall reading about it a long time ago.
Now I tried searching for it online, but could not find any useful info. I shall keep looking, I guess.
Like the idea of embedding the XML description of the recording. That should be relatively easy to parse.

Thanks!
--
Peter
Kraków, Poland

Simon Brown
 

Hi,

 

The auxi chunk is optional (not part of the AXV spec) – it use used by ham software and is not consistent between apps – you need to know the various structure possibilities to be able to make sense of it. Myself I have UTF8 XML in this chunk.

 

Simon Brown, G4ELI

https://www.sdr-radio.com

 

From: main@SDR-Radio.groups.io <main@SDR-Radio.groups.io> On Behalf Of Piotr Swiatkiewicz
Sent: 15 August 2019 17:41
To: main@SDR-Radio.groups.io
Subject: Re: [SDR-Radio] TX of previously recorded IQ Data #pluto

 

Paul,

yeah, exactly - I sensed that "auxi" string was not an accident. I vaguely recall reading about it a long time ago.
Now I tried searching for it online, but could not find any useful info. I shall keep looking, I guess.
Like the idea of embedding the XML description of the recording. That should be relatively easy to parse.

Thanks!

--
Peter
Kraków, Poland