The intended application for the DVB-S2 transmitter in GNU Radio was mostly for digital television over amateur radio. The example flow graph transmits a 6 MHz wide signal (5 Msyms/s and 20% excess bandwidth), which is about as wide as folks want to use on ham bands. Most amateurs are using less bandwidth and a few are using narrow bandwidths (in the UK, there's a temporary digital allocation at 146 to 147 MHz, and the typical symbol rate is 333 ksyms/s).

So the 2X oversampling didn't seem like too much of a burden. Pretty much all transmit capable SDR's can handle 10 Msps.

If you're interested in really wide bandwidth transmission, then the 2X oversampling does get in the way a little. On my workstation with a B210 and Via USB3.0 controller, I can run 20 Msyms (40 Msps) reliably for a 24 MHz wide signal. Above that rate, it falls apart with underruns.

With an optimum USB3.0 controller capable of 60 Msps, it should be possible to do a commercial satellite transponder 36 MHz wide signal with a B2X0.

Ron

On 06/16/2016 12:36 PM, Francisco Albani wrote:
Thanks!

Why not moving the zero stuffing downstream and use a polyphase arbitrary resampler with RRC taps? I'm not familiar with performance comparison between PFAR and FFT FIR Filter.



2016-06-15 19:41 GMT-03:00 Ron Economos <[email protected] <mailto:[email protected]>>:

    The primary design decision was to use the FFT filter instead of
    the interpolating FIR filter for performance. The FFT filter is
    considerably faster, especially at the 100 taps used in the flow
    graph. However, (as far as I know) the FFT filter does not have an
    interpolation option, just decimation. So the 2X interpolation is
    done in the Physical Layer Framer block instead.

    You can remove the zero stuffing from the Physical Layer Framer
    and use the Interpolating FIR Filter block instead of the FFT
    filter block for RRC filtering. If you try that, be sure to remove
    the factor of two in lines 535, 548 and 680 in the PL framer block.

    Here's a link that explains why zero stuffing is the correct way
    to do interpolation.

    http://www.dspguru.com/dsp/faqs/multirate/interpolation

    Ron


    On 06/15/2016 02:37 PM, Francisco Albani wrote:
    Hi to all! Specially to Ron Economos! (and thanks for sharing
    your work)

    I was trying to understand the example *dvbs2_tx.grc* and, after
    putting graphical sinks after many blocks, I noticed that the one
    called "Physical Frame Layer" outputs one complex zero after each
    constellation point (see attached screenshot). Moreover, the FFT
    Filter that gives the RRC shape is *not* instructed to
    interpolate to fit any samples_per_symbol requirement.
    Moremoreover, the sample rate is hardcoded to symbol_rate*2.

    This makes me think this transmitter can only work for 2 samples
    per symbol. (I suppose one can resample to an arbitrary sps value
    if needed.)

    The point of this message is to confirm my suspicion and to ask
    why this was a design decision. I hope to learn some insight.

    Here is the code:
    
*https://github.com/gnuradio/gnuradio/blob/master/gr-dtv/lib/dvbs2/dvbs2_physical_cc_impl.cc#L684*

    Relevant lines: 80, 684, 704 and 727.

    Bye and thanks!


    _______________________________________________
    Discuss-gnuradio mailing list
    [email protected] <mailto:[email protected]>
    https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to