Is there any open source code that can grab the RF signal data across a slice of a 6500?

  • 1
  • Question
  • Updated 6 months ago
Hi! I am also very new to TCP and UPD and can't seem to find the particular commands to extract a frame of the RF spectrum.  I do know a little bit of Python but not a C programmer. I am trying to capture frames of RF data across a span of frequencies.  Once I get to this point,  I am home free.  Unfortunately, getting to this step is a killer!  Is there anyone who knows an open source code (python preferably) that will grab the RF data across a define slice of data?  Thanks.

PS.  I am currently using SmartSDR v3.0.19 on Windows.
Photo of Steve

Steve

  • 4 Posts
  • 1 Reply Like

Posted 6 months ago

  • 1
Photo of Mark WS7M

Mark WS7M

  • 505 Posts
  • 153 Reply Likes
Hi Steve,

I guess I'm wondering what you mean by a "frame of the RF spectrum".

There are two things that might be of interest to you:

1) The radio can give you a packet of data which is essentially the line you see drawn on the pan adapter.   You must set your program as a gui client then you must tell the radio how big (H and W) your radio is.  You will get back a packet of data (over UDP) in Vita format which is basically the points to draw the pan adapter line.

To make sense of that line you will need to query the radio for the max/min dBm of the pan adapter then you create some scaling factors that turn the Y point value into a dBm value.

For X you need to know the min/max frequency of the pan. You can again get this from the radio.  Then in a similar fashion you can create a scaling factor for X.

Then as you run down the line points you can convert each point in to a frequency and a dBm value at that frequency.

This is in effect, what SSDR is doing.  You would be mimicking this behavior.

2) There is a channel of data you can get if you enable DaxIQ both for a pan and in the DAX control panel.  You can read from the DAX channel packets of data which are in I/Q format.   Search this and you will see that it is a complex relationship of signal, frequency and phase.  

It is a little tricky to decode but once you do you can get frequency and magnitude at that frequency over a fairly wide spectrum.

For #1 the FlexLib API will make your life a lot easier.  Rather than directly code the TCP/IP commands, using the API which requires you to use C# will give you easy access to much of the data you desire.

For #2 you need to get into the world of reading "audio data" from an audio source.  Then you decode it since it is I/Q data mapped to stereo audio and once you have it decoded you can do what you want with it.  There is really little in the API to help you with this process.

Search the forums here because there are some answers.

Hope this helps.
Photo of Sterling, AK1K

Sterling, AK1K

  • 13 Posts
  • 5 Reply Likes
I think what Steve is looking for is a way to capture the RF samples received by a Flex slice, essentially the same data that is passed over a DAX channel (rather than the frequency domain data from the panadapter).  With that data captured on your PC, you can play around with various algorithms for processing this data.  

So the question, I think, is, "Is there available software that allows capture of a DAX stream onto the PC?"

If I'm interpreting his question correctly, this is something I'm also interested in.  Thanks Mark, for your suggestion about looking more deeply into the Flex API.

73,
Sterling, AK1K
Photo of Eric - KE5DTO

Eric - KE5DTO, Official Rep

  • 912 Posts
  • 343 Reply Likes
Mark is correct.  We offer several interfaces that would allow access to this data.  As mentioned, DAX is available that offers the info as a sound card interface.  If you're just looking for the samples, this may be the fastest path.

If you want to get the data more directly, you can use the ethernet API which is documented in our wiki (wiki.flexradio.com) or FlexLib, our C# interface to the ethernet API.  Both of these have constructs to create and stream IQ samples and/or Slice audio output.
Photo of Steve

Steve

  • 4 Posts
  • 1 Reply Like
Thank you so much Mark and Sterling for your prompt feedback!  Since I don't necessarily want to re-invent the wheel, I am looking for the easiest solution of using any opensource software that can dump this data directly (I firmly believe in the concept of  "Conservation of (my) Energy").  With that said, if no such software exist, then the two options that you suggest Mark,  gives me a starting point to begin my development here.  As I go through this exercise,  I will probably have more questions.  Thank you both for your prompt feedback. 

The Best of 73s!
Steve

PS.  I did cringe Mark when you said C# since I only know Python and MATLAB.  One more language to learn!
Photo of Steve

Steve

  • 4 Posts
  • 1 Reply Like
Thanks Eric for your help in resolving the Drive problems I had yesterday.  The system is running great now!  I am looking at the site https://community.flexradio.com/flexradio/topics/iq_stream_from_6700_radio which explains Mark's suggest yesterday relating to option 2 reading the DAX channel packets of data.  The information their is understandable but I have a much more fundamental question;  How to acquire the packet stream.  Is this being dumped to a file or is there someway how to acquire this data in real time.  Thank you for any suggestion as how I can move forward on this.

I think I may have found a solution to my problem posed above as explained in the following link:
http://hamsci.org/flexradio-reverse-beacon-network-iq-recording-how-guide



(Edited)