Welcome to the new FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

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

Steve Member
edited April 2019 in SmartSDR for Windows
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.


  • Mark WS7M
    Mark WS7M Member ✭✭
    edited April 2019
    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.
  • Sterling, AK1K
    Sterling, AK1K Member ✭✭
    edited April 2019
    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.

    Sterling, AK1K
  • Eric-KE5DTO
    Eric-KE5DTO Administrator, FlexRadio Employee admin
    edited April 2019
    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.
  • Steve
    Steve Member
    edited April 2019
    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!

    PS.  I did cringe Mark when you said C# since I only know Python and MATLAB.  One more language to learn!
  • Steve
    Steve Member
    edited April 2019
    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:

  • Dan-N7HQ
    Dan-N7HQ FlexRadio Employee, Community Manager admin

    Interesting, Bill. Some, nice work here using the I/Q streams. You may want to look at the waveform API.



Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.