<div dir="ltr">Hi Franco,<div><br></div><div>pcmcat receives RTP streams of demodulated audio and pipes it to stdout. For the Grape, IQ data is needed. In this case, radiod would need to be configured to output only the IQ stream. Possibly iqplay can pipe IQ data to stdout? Can GNU Radio read from stdin? If so, that might be worth a shot.</div><div><br></div><div>Jonathan</div><div>KC3EEY</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 22, 2023 at 8:59 AM Franco VENTURI <<a href="mailto:fventuri@comcast.net">fventuri@comcast.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
   
 
 <div>
  <div style="font-size:12pt;font-family:helvetica,arial,sans-serif;color:rgb(51,51,51)">
   <span style="font-family:helvetica;font-size:12pt">For the integration between ka9q-radio (its 'radiod' daemon, to be exact) and GNU Radio, you may want to look at the simple program 'pcmcat' (<a href="https://github.com/ka9q/ka9q-radio/blob/main/pcmcat.c" target="_blank">https://github.com/ka9q/ka9q-radio/blob/main/pcmcat.c</a>) that Phil wrote to connect to the multicast stream, and write the PCM output to stdout.</span>
  </div> 
  <div style="font-size:12pt;font-family:helvetica,arial,sans-serif;color:rgb(51,51,51)">
    
  </div> 
  <div style="font-size:12pt;font-family:helvetica,arial,sans-serif;color:rgb(51,51,51)">
   <span style="font-family:helvetica;font-size:12pt">I took a quick glance at it this morning and I believe it shouln't be hard to write a GNU Radio OOT module starting from the code from the existing GNU Radio wav source module, and replace the code that reads from the wav file with code that reads from the multicast stream, like Phil does in 'pcmcat'.</span>
  </div> 
  <div style="font-size:12pt;font-family:helvetica,arial,sans-serif;color:rgb(51,51,51)">
    
  </div> 
  <div style="font-size:12pt;font-family:helvetica,arial,sans-serif;color:rgb(51,51,51)">
   <span style="font-family:helvetica;font-size:12pt">Franco</span>
  </div> 
  <div style="font-size:12pt;font-family:helvetica,arial,sans-serif;color:rgb(51,51,51)">
    
  </div> 
  <blockquote type="cite"> 
   <div>
    On 06/22/2023 6:39 AM EDT Jonathan via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" target="_blank">tangerinesdr@lists.tapr.org</a>> wrote:
   </div> 
   <div>
     
   </div> 
   <div>
     
   </div> 
   <div dir="ltr">
    Bill, 
    <div>
      
    </div> 
    <div>
     I think he means the GNU Radio graph that takes in the Grape mixer audio output and then downmixes it to 10Hz carrier baseband signal in Digital RF. That baseband signal is then plotted in frequency to show the doppler shift throughout the diurnal. 
    </div> 
    <div>
      
    </div> 
    <div>
     This can be implemented in GNU Radio processing chains using the IQ stream, either individual slices around each frequency or a wider bandwidth slice for each time station, and for AM broadcast carriers too. You would have to have an individual chain for each station, but probably use one IQ data file.
    </div> 
    <div>
      
    </div> 
    <div>
     Jonathan
    </div> 
    <div>
     KC3EEY
    </div> 
   </div> 
   <br> 
   <div class="gmail_quote"> 
    <div class="gmail_attr" dir="ltr">
     On Thu, Jun 22, 2023 at 6:22 AM Bill Liles via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" target="_blank">tangerinesdr@lists.tapr.org</a>> wrote:
    </div> 
    <blockquote> 
     <div dir="auto">
      Nathaniel, I am not sure what exactly you mean by “the same processing chain.” The same as what?
     </div> 
     <div dir="auto">
       
     </div> 
     <div dir="auto">
      1) one RX888/KA9Q acting as a grape 2 or
     </div> 
     <div dir="auto">
      2) three RX888/KA9Q acting as three grape 1s connected together?
     </div> 
     <div dir="auto">
       
     </div> 
     <div dir="auto">
      I assume one RX888/KA9Q acting like a grape 2 but want to be clear. 
     </div> 
     <div dir="auto">
       
     </div> 
     <div dir="auto">
      If using one RX888/KA9Q to receive WWV/H and CHU, why limit to three frequencies? Can receive all the WWV/H frequencies and CHU. And for that matter also the AM transmitter used by Dartmouth.
     </div> 
     <div dir="auto">
       
     </div> 
     <div dir="auto">
      Bill NQ6Z
     </div> 
     <div>
      <br> 
      <div class="gmail_quote"> 
       <div class="gmail_attr" dir="ltr">
        On Thu, Jun 22, 2023 at 00:23 Dr. Nathaniel A. Frissell Ph.D. via TangerineSDR <<a href="mailto:tangerinesdr@lists.tapr.org" rel="noopener" target="_blank">tangerinesdr@lists.tapr.org</a>> wrote:
       </div> 
       <blockquote> 
        <div> 
         <div> 
          <p class="MsoNormal">Thank you, Dave and Franco. This all looks good.<u></u><u></u></p> 
          <p class="MsoNormal"><u></u> <u></u></p> 
          <p class="MsoNormal">A brief update from me. We have a student, Rob Troy, who is tasked with working with the RX888 and the KA9Q software. Rob reports he now has the RX888/KA9Q up and running at Scranton.<u></u><u></u></p> 
          <p class="MsoNormal"><u></u> <u></u></p> 
          <p class="MsoNormal">Rob’s next task is to make the RX888/KA9Q combination “emulate” the output of a Grape2. Stan Pozerski KD1LE currently has three Grape 1’s tied together all outputting their data into a single GNU Radio/DigitalRF stream. I believe this is essentially what the Grape 2 will also be doing. I will be having Rob work with Stan Pozerski to get this same processing chain running with the RX888 instead of the Grape 1s.<u></u><u></u></p> 
          <p class="MsoNormal"><u></u> <u></u></p> 
          <p class="MsoNormal">Next week I will be on travel with a number of students to the NSF CEDAR conference in San Diego, CA. So, it is likely I will not be able to be on the Monday telecon next week.<u></u><u></u></p> 
          <p class="MsoNormal"><u></u> <u></u></p> 
          <p class="MsoNormal">73 Nathaniel W2NAF<u></u><u></u></p> 
         </div> 
        </div> 
        <div> 
         <div> 
          <p class="MsoNormal"><u></u> <u></u></p> 
          <div> 
           <div style="border-style:solid none none;border-top-width:1pt;padding:3pt 0in 0in;border-top-color:rgb(225,225,225)"> 
            <p class="MsoNormal"><strong>From:</strong> TangerineSDR <<a href="mailto:tangerinesdr-bounces@lists.tapr.org" rel="noopener" target="_blank">tangerinesdr-bounces@lists.tapr.org</a>> <strong>On Behalf Of </strong>Franco VENTURI via TangerineSDR<br><strong>Sent:</strong> Monday, June 19, 2023 10:51 PM<br><strong>To:</strong> David Witten <<a href="mailto:wittend@wwrinc.com" rel="noopener" target="_blank">wittend@wwrinc.com</a>>; <a href="mailto:tangerinesdr@lists.tapr.org" rel="noopener" target="_blank">tangerinesdr@lists.tapr.org</a>; Mr. Majid Mokhtari <<a href="mailto:majid.mokhtari@scranton.edu" rel="noopener" target="_blank">majid.mokhtari@scranton.edu</a>>; Rob Robinett <<a href="mailto:rob@robinett.us" rel="noopener" target="_blank">rob@robinett.us</a>>; Tom McDermott <<a href="mailto:tom.n5eg@gmail.com" rel="noopener" target="_blank">tom.n5eg@gmail.com</a>>; John Ackermann <<a href="mailto:jra@febo.com" rel="noopener" target="_blank">jra@febo.com</a>><br><strong>Cc:</strong> Franco VENTURI <<a href="mailto:fventuri@comcast.net" rel="noopener" target="_blank">fventuri@comcast.net</a>><br><strong>Subject:</strong> Re: [TangerineSDR] Weekly Status report<u></u><u></u></p> 
           </div> 
          </div> 
          <p class="MsoNormal"><u></u> <u></u></p> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">Dave, <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">first of all thanks for the report and kudos for all your work. <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">A few quick comments: <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">- regarding the maximum throughput achievable with the FX3 the best place to start IMHO is Cypress AN86947 (<a style="font-family:Helvetica,sans-serif" href="https://www.infineon.com/dgdl/Infineon-AN86947_Optimizing_USB_3.0_Throughput_with_EZ-USB_FX3-ApplicationNotes-v05_00-EN.pdf?fileId=8ac78c8c7cdc391c017d073e3a2e6243" rel="noopener" target="_blank">https://www.infineon.com/dgdl/Infineon-AN86947_Optimizing_USB_3.0_Throughput_with_EZ-USB_FX3-ApplicationNotes-v05_00-EN.pdf?fileId=8ac78c8c7cdc391c017d073e3a2e6243</a>) - as you can see there the maximum throughput is achieved using an AUTO DMA channel with the GPIF II interface, 32bit wide, and with a clock rate of 100MHz (and with 4 DMA buffer of 8kB each - bulk transfer mode) <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">- if I remember correctly, Oscar Steila IK1XPV design is based on the 'cyfxbulklpauto' example (you can find it in 'cyfx3sdk/firmware/dma_examples/cyfxbulklpauto' in the FX3 firmware SDK file 'fx3_firmware_linux.tar.gz'), and on a couple of very useful application notes from Cypress/Infineon: AN65974 "Designing with the EZ-USB FX3 slave FIFO interface" (<a style="font-family:Helvetica,sans-serif" href="https://www.infineon.com/dgdl/Infineon-AN65974_Designing_with_the_EZ-USB_FX3_Slave_FIFO_Interface-ApplicationNotes-v17_00-EN.pdf?fileId=8ac78c8c7cdc391c017d07396c095deb" rel="noopener" target="_blank">https://www.infineon.com/dgdl/Infineon-AN65974_Designing_with_the_EZ-USB_FX3_Slave_FIFO_Interface-ApplicationNotes-v17_00-EN.pdf?fileId=8ac78c8c7cdc391c017d07396c095deb</a>), and the 'ping-pong' DMA buffers approach shown in AN75779 "How to implement an image sensor interface using EZ-USB FX3 in a USB Video Class (UVC) framework" (<a style="font-family:Helvetica,sans-serif" href="https://www.infineon.com/dgdl/Infineon-AN75779_How_to_Implement_an_Image_Sensor_Interface_with_EZ-USB_FX3_in_a_USB_Video_Class_(UVC)_Framework-ApplicationNotes-v13_00-EN.pdf?fileId=8ac78c8c7cdc391c017d073ad2b85f0d)" rel="noopener" target="_blank">https://www.infineon.com/dgdl/Infineon-AN75779_How_to_Implement_an_Image_Sensor_Interface_with_EZ-USB_FX3_in_a_USB_Video_Class_(UVC)_Framework-ApplicationNotes-v13_00-EN.pdf?fileId=8ac78c8c7cdc391c017d073ad2b85f0d)</a> <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">- when I looked at what he did a few years ago I didn't think it was exceedingly difficult; I remember the one thing to get right is the design of the GPIF II state machine using the program 'GPIF II Designer' (that I think runs only on Windows), but we can definitely look at what Oscar did and follow his footsteps (I think the design of his GPIF II state machine is in his GitHub repository too, so we can use that as a starting point) <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">- if I have to give you one advice is to try to 'keep things as simple as possible'; this is what Oscar did in his design of the BBRF103, which he was able to design and make in a relatively short period of time. I think the important thing is to get a prototype out that works even if it is not perfect and meet all the specifications. We can always improve from that but at least the first step is done. <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">- regarding the choice of the ADC I don't think 14bit or 16bit makes much of a difference in terms of ENOB, since I read somewhere about diminishing returns at those resolutions (can't find the link now); since the FX3 GPIF II works with 16/32 bits at a time, using a 14bit ADC would give us two extra bits for each sample: one could be used for the overflow bit, and the MSB for the PPS from the GPSDO, which I think is what Tom is doing in the TangerineSDR. <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">- and finally I expect that someone will eventually come out with the "ClementineSDR+" that uses the LTC2208-16, since for some reason they are dirt cheap on AliExpress. <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">73, <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">Franco K4VZ <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <div> 
           <p class="MsoNormal"><span style="font-size:12pt;font-family:Helvetica,sans-serif;color:rgb(51,51,51)">  <u style="font-family:Helvetica,sans-serif"></u><u style="font-family:Helvetica,sans-serif"></u></span></p> 
          </div> 
          <blockquote> 
           <div> 
            <p class="MsoNormal">On 06/19/2023 2:36 PM EDT David Witten <<a href="mailto:wittend@wwrinc.com" rel="noopener" target="_blank">wittend@wwrinc.com</a>> wrote: <u></u><u></u></p> 
           </div> 
           <div> 
            <p class="MsoNormal">  <u></u><u></u></p> 
           </div> 
           <div> 
            <p class="MsoNormal">  <u></u><u></u></p> 
           </div> 
           <div> 
            <div> 
             <p class="MsoNormal">Hello All, <u></u><u></u></p> 
            </div> 
            <div> 
             <p class="MsoNormal">  <u></u><u></u></p> 
            </div> 
            <div> 
             <p class="MsoNormal">I have attached a PDF covering what I have been doing this week, and What else needs to be addressed.  This primarily addresses work on an alternative [Clementine]SDR based on USB SuperSpeed and beyond. This is a further derivative of the RX-888 and its predecessors. <u></u><u></u></p> 
            </div> 
            <div> 
             <p class="MsoNormal">  <u></u><u></u></p> 
            </div> 
            <div> 
             <p class="MsoNormal">Comments Welcome! <u></u><u></u></p> 
            </div> 
            <div> 
             <p class="MsoNormal">  <u></u><u></u></p> 
            </div> 
            <div> 
             <p class="MsoNormal">Dave Witten, KD0EAG <u></u><u></u></p> 
            </div> 
           </div> 
          </blockquote> 
         </div> 
        </div> -- 
        <br>TangerineSDR mailing list
        <br><a href="mailto:TangerineSDR@lists.tapr.org" rel="noopener" target="_blank">TangerineSDR@lists.tapr.org</a>
        <br><a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" rel="noopener" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a>
       </blockquote> 
      </div> 
     </div> -- 
     <br>TangerineSDR mailing list
     <br><a href="mailto:TangerineSDR@lists.tapr.org" rel="noopener" target="_blank">TangerineSDR@lists.tapr.org</a>
     <br><a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" rel="noopener" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a>
    </blockquote> 
   </div> -- 
   <br>TangerineSDR mailing list
   <br><a href="mailto:TangerineSDR@lists.tapr.org" target="_blank">TangerineSDR@lists.tapr.org</a>
   <br><a href="http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org" target="_blank">http://lists.tapr.org/mailman/listinfo/tangerinesdr_lists.tapr.org</a>
  </blockquote>
 </div>
</blockquote></div>