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 check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

Interface between GNUradio and Flex-6500

NoelNoel Member
edited September 2018 in SmartSDR for Windows
Hello, I'm trying to design a system using GNU radio and Flex Radio. The idea is to have GNU Radio create IQ samples composed from different digital modes(i.e. BPSK, QPSK) and arbitrary waveforms, transfer those samples to the flex-6500, and have the flex-6500 transmit those samples. I've seen many posts where people have done the opposite (i.e. Having Flex transmit IQ samples to GNU Radio for post-processing), which leads me to believe that it should be possible to reverse this for my application. I've started looking at the FlexLib API and have loaded all of the necessary files in Visual Studio (if anyone has any other IDE recommendations, that would also be greatly appreciated). However, I'm stuck conceptually on 2 things: 1) Is there already a function that exists within the FlexLib API that does this? If not, how feasible would it be to reverse engineer one of the existing functions to do this? 2) Is the flex radio able to collect these samples in real-time or is there a cap on how much data can be transmitted at a time? Any suggestions on how to approach this are greatly appreciated. Thanks, Noel Teku

Completed · Last Updated

Answers

  • Steve-N5ACSteve-N5AC Community Manager admin
    edited February 2017
    You will want to use the Waveform API.  There's not a lot of documentation on it at this point but the D-STAR and FreeDV modules are examples of this and available on Github here.  Note that the FreeDV implementation is in a branch, ThumbDV_support.  In short, this interface will send your receiver IQ data when in receive and expect audio to play out the speaker.  If you have no data for the speaker, you may send null samples.  On transmit, it's the opposite -- the radio will send you microphone samples (which you can ignore if you want) and you provide IQ data to transmit.
  • NoelNoel Member
    edited October 2016
    Hi Steve, Thank you for the quick response. I went to the Github link, and was having trouble finding the "ThumbDV_support". Could you tell me more specificially how to get to that support, and if you have any advice on how to run it? Thanks, Noel
  • Steve-N5ACSteve-N5AC Community Manager admin
    edited February 2017
    It's Github -- you'll have to clone the repo to get the source. That should get you D-STAR source. Switch to the other branch if you want to see the ThumbDV code. If you've never used Git or Github, you'll need to go through an online tutorial or read up on Git
  • NoelNoel Member
    edited October 2016
    Hi Steve, Thank you again. I was able to locate the ThumbDV branch in the Github link. I've been looking in the branch, but am having trouble to figure out what files I need to send arbitrary waveforms and digital modes from GNU radio to the Flex to transmit (i.e. QPSK, BPSK). Could you tell me which files I need to call from this API? Thanks, Noel Teku
  • Steve-N5ACSteve-N5AC Community Manager admin
    edited February 2017
    Each of the waveform applications build an executable that exchanges samples with the radio over a VITA-49 interface (UDP packets over Ethernet).  The applications are written in C.  As such, there is a main() routine that calls initialization routines to communicate with the radio and set everything up and there are loops that handle sample interchange.  I think to really understand what's up, you're just going to have to go through the code and see how it works.  You can compile and run the code in any C compiler on any platform with the typical modifications for different compilers and platforms.

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.