<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>I'll attempt to clarify without adding to much noise......I think
      I'm seeing both sides of this here......Though I'm no DSP expert,
      so fair warning I might misspeak a bit.</p>
    <p>A lot of what has been discussed so far is about down conversion,
      not decimation.........<br>
    </p>
    <p>The trick is the 'guts' of the SDR, specifically the RFIC and the
      ADC used.  Say we have an IF of 700 MHz coming out of an LNB.  The
      upper edge of our signal would be at 705 MHz.  According to
      Nyquist, you would have to sample that IF signal at 1410
      Megasamples per second (at least).  Any lower than that, and
      images of the sampled signal will overlap and corrupt the data
      (Aliasing).  Say your ADC had 14 bits.......that's a lot of data,
      probably more than most FPGAs can handle.</p>
    <p>The trick in the SDR (pick your vendor, I'm staying generic here)
      is that it has a tunable front end that performs another level of
      down conversion in the analog domain before sampling (for example,
      the AD9361 in Ettus B210s, E310s, etc).  This takes the 700 MHz
      signal down to say 20 MHz (made that number up), with an ADC
      running at a fixed rate..... say 80 MHz (also made that number
      up).  <br>
    </p>
    <p>At this point, my DSP-fu is weak, but where I'm going with this
      is that the 80 MHz sampling is real samples, represents 40 MHz of
      RF bandwidth (Nyquist).  This can be represented as a stream of
      complex samples (IQ) running at half the rate, though each sample
      is twice the size, one for I and one for Q .......(Nyquist isn't
      violated, because even at half the rate, you have two samples, one
      In-phase, and one Quadrature)......</p>
    <p>So now we have a stream at 40 MSPS (complex), spanning from 0 to
      +40 MHz, with our signal camped out at +20 MHz.  So then we tune
      digitally to center our signal at 0 MHz...aka complex baseband. 
      Now we have a stream still at 40 MSPS (complex), but spanning from
      -20 MHz to +20 MHz.  Negative frequencies are OK in the complex
      domain.  Our signal of interest is now centered at 0 MHz, but is
      spanning from -5 MHz to +5 MHz.<br>
    </p>
    <p>I think what Michelle is getting at is that we don't want to have
      an FPGA processing a 40 MHz wide stream of data, when we only need
      to worry about 10 MHz.  Since our signal is centered at 0 MHz, we
      can start throwing away samples........Decimation.  We can toss 3
      out of every 4 samples out (decimate by 4, and filter), which
      leaves us with a 10 MSPS stream of complex samples.  This also has
      some benefit in that we are also rejecting the noise contributions
      of those unnecessary samples that we tossed out (linked to the B
      in kTB).<br>
    </p>
    <p>Everything that was (horribly) described above is handled 'under
      the hood' by the UHD drivers in Ettus products for example.  When
      you tell a UHD source block the sample rate you want (usually the
      'samp_rate' variable that shows up in the flowgraph) what you are
      actually telling it is the 'requested' sample rate on the output
      of the above process.  The onboard ADC still runs at the fixed
      higher rate (80 Mhz in my example), but based on your input into
      the UHD source block, it will automatically select the right
      parameters to ensure that after sampling, conversion to complex
      baseband (including tuning your requested center frequency to 0
      MHz), decimation and filtering, that the rate you requested is fed
      out to the host computer.  This is why you have to be careful
      about selecting sample rates with UHD.........some of you have
      probably seen the debug output where it warns you that the
      division of the ADC clock rate by the requested sample rate is not
      an even integer and to expect 'CIC rolloff'........basically it
      couldn't cleanly do the decimation you requested
      (again....something here about the value of half band filters in
      the FPGA that are part of the conversion to complex baseband and
      decimation.....sorry for my weak DSP-fu).  You know you got it
      wrong when you see a 'hump' of spectrum when the spectrum should
      be 'flat'.<br>
    </p>
    <p>Now we can run that 10 MSPS complex stream of samples through the
      demodulation process and extract the 'frames of interest' for any
      particular user........that would be demultiplexing (throw out the
      frames for everyone else, I only want the frames for me).</p>
    <p>I would offer that on the ground side, there is no channelizer in
      the mix.....you must receive the entire 10 MHz signal to recover
      the full downlink data stream, since there is only one time
      multiplexed, 10 MHz wide signal.</p>
    <p>On the satellite payload on the other hand....you WILL want a
      channelizer.  Lets say the uplink is 10 MHz wide, and supports
      1000 channels, so each 10 kHz wide.  In order to demodulate 1000
      channels in parallel, somewhere in there you need to tune 1000
      times to center each uplink signal to complex baseband and
      decimate to 10 ksps (complex).  executing 1000 'tunes' in parallel
      at the full 10 MSPS rate is very very wasteful........Think of the
      channelizer as a really efficient way of performing the tuning and
      decimation so that each output channel of the channelizer is only
      10 ksps and it is properly 'centered' on the desired uplink
      channel.  it will require more horsepower than a single tune and
      single decimate 'string' but is less processing intensive than
      1000 of those strings running in parallel.  <br>
    </p>
    <p><br>
    </p>
    <p>I didn't mention anything about other sampling tricks (Nyquist
      zones, and potential spectral inversion issues), or the benefits
      of oversampling (dynamic range), integer vs float
      representation.........maybe on another thread one day.<br>
    </p>
    <p>So if you are going to roll your own hardware..........first a
      lot of downconversion from 10 GHz (maybe an LNB to get to say
      L-Band or maybe something to get to a 'ham band IF' at 432 or
      144).  Thats not enough.  You'll have to then downconvert again to
      something that can be handled by the selected ADC and whatever
      clock rate it is running at (Nyquist rules apply here).  Filtering
      and careful consideration of mixing products will matter!  phase
      noise of the LOs will matter in all that
      downconversion.......Also, gain gain gain... will matter to make
      sure that you are fully exercising the full range of the ADC and
      not just toggling the the lowest couple of bits  (but not too much
      gain.....clipping).  Then the complex baseband conversion and
      decimation and on to demodulation, demultiplexing, etc.
      etc.......A lot of the above is what is handled 'under the hood'
      by most of the commercial SDRs out there (i.e. UHD) so that the
      end user can easily get up and running with the 'more interesting'
      stuff downstream.........<br>
    </p>
    <p> </p>
    <p>Hopefully this helped clarify the issue.....sorry if it added
      more noise (my DSP-fu is weak).  Not sure if I actually answered
      any questions.......<br>
    </p>
    <p><br>
    </p>
    <p>-Zach, KJ4QLP<br>
    </p>
    <pre class="moz-signature" cols="72">Research Associate
Aerospace Systems Lab
Ted & Karyn Hume Center for National Security & Technology
Virginia Polytechnic Institute & State University
Work Phone: 540-231-4174
Cell Phone: 540-808-6305</pre>
    <div class="moz-cite-prefix">On 1/25/2019 7:27 PM, Ron Economos via
      Ground-Station wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7a5f08f8-bc36-6f42-3df9-2314d689bc0d@comcast.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Okay. De-multiplexing is a much better and less confusing
        terminology. As you stated, decimation is a DSP thing and
        channelizing the downlink payload has nothing to do with DSP
        (all the DSP has already been down in order to deliver payload
        packets).<br>
      </p>
      <p>Ron W6RZ<br>
      </p>
      <div class="moz-cite-prefix">On 1/25/19 16:17, Michelle Thompson
        wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CACvjz2Vpz5b+NP1XcfOTvpN71FZViXQEjjXxTuod85GvqaQ27A@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <div dir="ltr">To me, decimation is what we do in order to
          channelize in the payload. <br>
          <br>
          I don't think that's exactly what I'm being asked about in the
          ground station receiver, though. <br>
          <br clear="all">
          <div>
            <div dir="ltr" class="gmail_signature"
              data-smartmail="gmail_signature">
              <div dir="ltr">
                <div>
                  <div dir="ltr">
                    <div>
                      <div dir="ltr">
                        <div dir="ltr">-Michelle W5NYV<br>
                          <br>
                          <div dir="ltr"><br>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <br>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Fri, Jan 25, 2019 at 4:14
            PM Ron Economos <<a href="mailto:w6rz@comcast.net"
              moz-do-not-send="true">w6rz@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">
            <div bgcolor="#FFFFFF">
              <p>I'm not sure we are talking about the same thing yet.
                So what exactly do you expect to decimate and why?<br>
              </p>
              <p>Ron W6RZ<br>
              </p>
              <div class="gmail-m_8520444453280004698moz-cite-prefix">On
                1/25/19 16:07, Michelle Thompson wrote:<br>
              </div>
              <blockquote type="cite">
                <div dir="ltr">The beginning of wisdom being the
                  definition of terms and all, it would be good to make
                  sure we're all talking about the same thing. <br>
                  <br>
                  So far, I've used LNBs and USRPs for receive, with the
                  LNB doing an IF at 618MHz (LNB-on-a-Stick) and giving
                  reasonable performance. <br>
                  <br>
                  Decimation to me is a DSP thing, or used to reduce
                  power consumption when you don't need to sample as
                  high as you can. <br>
                  <br clear="all">
                  <div>
                    <div dir="ltr"
                      class="gmail-m_8520444453280004698gmail_signature">
                      <div dir="ltr">
                        <div>
                          <div dir="ltr">
                            <div>
                              <div dir="ltr">
                                <div dir="ltr">-Michelle W5NYV<br>
                                  <br>
                                  <div dir="ltr"><br>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                  <br>
                </div>
                <br>
                <div class="gmail_quote">
                  <div dir="ltr"
                    class="gmail-m_8520444453280004698gmail_attr">On
                    Fri, Jan 25, 2019 at 3:52 PM Ron Economos via
                    Ground-Station <a
                      class="gmail-m_8520444453280004698moz-txt-link-rfc2396E"
href="mailto:ground-station@lists.openresearch.institute"
                      target="_blank" moz-do-not-send="true"><ground-station@lists.openresearch.institute></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">
                    <div bgcolor="#FFFFFF">
                      <p>The standard IF for DVB-S2 receivers is 950 to
                        2150 MHz.</p>
                      <p>DB6NT was selling a down-converter from
                        10489-10500 MHz to 1129-1140 MHz for P4A.</p>
                      <p><a
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776moz-txt-link-freetext"
href="https://shop.kuhne-electronic.com/kuhne/en/shop/new/MKU+LNC+10+OSCAR+P4A/?card=1832"
                          target="_blank" moz-do-not-send="true">https://shop.kuhne-electronic.com/kuhne/en/shop/new/MKU+LNC+10+OSCAR+P4A/?card=1832</a></p>
                      <p>I'm not sure what decimation has to do with
                        receiving DVB-S2. The entire 10 MHz signal needs
                        to be demodulated. Individual baseband frames
                        will be selected for processing, but I call that
                        de-multiplexing.<br>
                      </p>
                      <p>Ron W6RZ<br>
                      </p>
                      <div
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776moz-cite-prefix">On
                        1/25/19 15:32, David Vieira via Ground-Station
                        wrote:<br>
                      </div>
                      <blockquote type="cite">
                        <div
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776ydp1f38d99eyahoo-style-wrap">
                          <div>Michelle - Thanks for posting.  I'll
                            frame some of the questions.<br>
                          </div>
                          <div><br>
                          </div>
                          <div>Typical 10 GHz terrestrial contesting
                            rigs are Heterodyne; that is a Mixer works
                            with a Local Oscillator (LO) to take the RF
                            down to an IF (Intermediate Frequency).</div>
                          <div>For an SDR, that IF can be digitized by
                            an Analog-Digital Converter.</div>
                          <div><br>
                          </div>
                          <div>The most popular IF for contesting/SSB
                            rigs is 144 MHz.  </div>
                          <div>For a data BW of 10 MHz that may or may
                            not be a fast enough IF carrier.  If we can
                            digitize and recover the data, it would
                            allow a lot of re-use of existing equipment.</div>
                          <div><br>
                          </div>
                          <div>I've heard suggestions/proposals up to
                            the 1.2 GHz Ham band.</div>
                          <div>In some sense, the IF carrier could be
                            144/220/440/915/1200 MHz, or even any
                            Non-Ham frequency in between.</div>
                          <div><br>
                          </div>
                          <div>There are a lot of proof of existence
                            designs for a 10 GHz Mixed down to an IF;
                            and lots of off the shelf ADC dev-boards. 
                            (catch me off thread for details).</div>
                          <div><br>
                          </div>
                          <div>Some questions I have are:  </div>
                          <div>---from an FPGA side of the SDR, what
                            data rate(s) can the FPGA absorb in to a
                            decimator?  </div>
                          <div><br>
                          </div>
                          <div>Must we decide upfront on a single
                            frequency; or </div>
                          <div>preferably allow flexibility in the RF
                            front end design (ie, Mixer, PLL and Local
                            Oscl hardware choices) by allowing a wide
                            and programmable variety of ADC and
                            decimation rates?</div>
                          <div><br>
                          </div>
                          <div>{This is where RF and Digital folks must
                            communicate across walls.}  ;-)</div>
                          <div><br>
                          </div>
                          <div>Comments welcome.</div>
                          <div><br>
                          </div>
                          <div>regards,</div>
                          <div>David</div>
                          <div>KI6CLA</div>
                          <div><br>
                          </div>
                          <div><br>
                          </div>
                        </div>
                        <div
id="gmail-m_8520444453280004698gmail-m_-6643074664132559776ydp40e62e6byahoo_quoted_8708381549"
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776ydp40e62e6byahoo_quoted">
                          <div>
                            <div> On Friday, January 25, 2019, 2:41:54
                              PM PST, Michelle Thompson via
                              Ground-Station <a
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776moz-txt-link-rfc2396E"
href="mailto:ground-station@lists.openresearch.institute"
                                target="_blank" moz-do-not-send="true"><ground-station@lists.openresearch.institute></a>
                              wrote: </div>
                            <div><br>
                            </div>
                            <div><br>
                            </div>
                            <div>
                              <div
id="gmail-m_8520444453280004698gmail-m_-6643074664132559776ydp40e62e6byiv6388574106">
                                <div dir="ltr">
                                  <div dir="ltr">While we are striving
                                    to enable all sorts of wonderful
                                    designs by putting prototypes into
                                    GNU Radio, a central goal is to
                                    design our own hardware.<br>
                                    <br>
                                    We've had a lot of progress on the
                                    protocol and algorithm front (GSE,
                                    LDPC, some of the polyphase). <br>
                                    <br>
                                    Some fundamental decisions about our
                                    own hardware need to be made.<br>
                                    <br>
                                    When we receive, we expect to have
                                    to decimate. This is because we are
                                    receiving at a relatively high
                                    frequency (10GHz).<br>
                                    <br>
                                    Our bandwidth is (up to) 10MHz. For
                                    DVB-S2/X, we fix our sampling rate,
                                    depending on what bandwidth we want
                                    to support. We have a lot of freedom
                                    here.<br>
                                    <br>
                                    Picking the right frequencies for
                                    the receive chain is therefore
                                    important.<br>
                                    <br>
                                    What are our options? <br>
                                    <br>
                                    What options make the best sense?<br>
                                    <br>
                                    I'd like to build and test as soon
                                    as possible, so let's get some
                                    discussion going.<br>
                                    <br>
                                    <div>
                                      <div dir="ltr"
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776ydp40e62e6byiv6388574106gmail_signature">
                                        <div dir="ltr">
                                          <div>
                                            <div dir="ltr">
                                              <div>
                                                <div dir="ltr">
                                                  <div dir="ltr">-Michelle
                                                    W5NYV<br>
                                                    <br>
                                                    <div dir="ltr"><br>
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
_______________________________________________<br>
                              Ground-Station mailing list<br>
                              <a
                                href="mailto:Ground-Station@lists.openresearch.institute"
                                rel="nofollow" target="_blank"
                                moz-do-not-send="true">Ground-Station@lists.openresearch.institute</a><br>
                              <a
href="http://lists.openresearch.institute/mailman/listinfo/ground-station"
                                rel="nofollow" target="_blank"
                                moz-do-not-send="true">http://lists.openresearch.institute/mailman/listinfo/ground-station</a><br>
                            </div>
                          </div>
                        </div>
                        <br>
                        <fieldset
class="gmail-m_8520444453280004698gmail-m_-6643074664132559776mimeAttachmentHeader"></fieldset>
                        <pre class="gmail-m_8520444453280004698gmail-m_-6643074664132559776moz-quote-pre">_______________________________________________
Ground-Station mailing list
<a class="gmail-m_8520444453280004698gmail-m_-6643074664132559776moz-txt-link-abbreviated" href="mailto:Ground-Station@lists.openresearch.institute" target="_blank" moz-do-not-send="true">Ground-Station@lists.openresearch.institute</a>
<a class="gmail-m_8520444453280004698gmail-m_-6643074664132559776moz-txt-link-freetext" href="http://lists.openresearch.institute/mailman/listinfo/ground-station" target="_blank" moz-do-not-send="true">http://lists.openresearch.institute/mailman/listinfo/ground-station</a>
</pre>
                      </blockquote>
                    </div>
                    _______________________________________________<br>
                    Ground-Station mailing list<br>
                    <a
                      class="gmail-m_8520444453280004698moz-txt-link-abbreviated"
href="mailto:Ground-Station@lists.openresearch.institute"
                      target="_blank" moz-do-not-send="true">Ground-Station@lists.openresearch.institute</a><br>
                    <a
href="http://lists.openresearch.institute/mailman/listinfo/ground-station"
                      rel="noreferrer" target="_blank"
                      moz-do-not-send="true">http://lists.openresearch.institute/mailman/listinfo/ground-station</a><br>
                  </blockquote>
                </div>
              </blockquote>
            </div>
          </blockquote>
        </div>
      </blockquote>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Ground-Station mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Ground-Station@lists.openresearch.institute">Ground-Station@lists.openresearch.institute</a>
<a class="moz-txt-link-freetext" href="http://lists.openresearch.institute/mailman/listinfo/ground-station">http://lists.openresearch.institute/mailman/listinfo/ground-station</a>
</pre>
    </blockquote>
  </body>
</html>