# Best Resample Method For Resampling LTE Data

**URL:** <https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855>\
**Category:** GNU Radio\
**Created:** [December 1, 2014, 4:01am UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855 "2014-12-01T04:01:57Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![alcina](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a587f6/32.png) [@alcina](https://www.ruby-forum.com/u/alcina)\
**Post date:** [December 1, 2014, 4:01am UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855/1 "2014-12-01T04:01:57Z")

</div>

Hi,

I’m currently using the Rational Resampler in GUNURADIO to resample LTE  
data, for example from 30.72MHz to 15.36MHz and 50MHz to 15.36MHz. I`m  
able  
to decode the data, so every thing seems to be well.

I chose the Rational Resampler, simply because it is easy to use.  
However I  
noticed, GNURADIO has a number of resample modules, Fractional  
Resampler,  
Polyphase Arbitrary Resampler etc… I’m guessing each resampler has  
it`s  
strengths and weaknesses. Perhaps one is better for audio, another is  
better  
for LTE data etc…

At this stage, I have found the equations for the various resamplers,  
but  
have no practical experience, with regards to the merits or demerits of  
the  
different modules.

Any pointers to any online resources or offline books would be  
appreciated.

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/Best-Resample-Method-For-Resampling-LTE-Data-tp51496.html](http://gnuradio.4.n7.nabble.com/Best-Resample-Method-For-Resampling-LTE-Data-tp51496.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![paul](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@paul](https://www.ruby-forum.com/u/paul)\
**Post date:** [December 1, 2014, 5:52am UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855/2 "2014-12-01T05:52:13Z")

</div>

The PFB Arb Resampler is the newest. I’ve been using it to do all my  
resampling for every application because it’s dead simple - handles all  
the  
nyquist filtering for you and allows fractional resampling.

On Sunday, November 30, 2014, Paul C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> ## better
> 
> View this message in context:

[http://gnuradio.4.n7.nabble.com/Best-Resample-Method-For-Resampling-LTE-Data-tp51496.html](http://gnuradio.4.n7.nabble.com/Best-Resample-Method-For-Resampling-LTE-Data-tp51496.html)

> Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).
> 
> * * *
> 
> Discuss-gnuradio mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) \<javascript:;\>  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

–  
Very Respectfully,

Dan CaJacob

---

<div class="post-metadata">

**Author:** ![paul](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@paul](https://www.ruby-forum.com/u/paul)\
**Post date:** [December 1, 2014, 9:02am UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855/3 "2014-12-01T09:02:43Z")

</div>

Hi Paul,

On Sun, Nov 30, 2014 at 6:52 PM, Paul C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> I’m currently using the Rational Resampler in GUNURADIO to resample LTE  
> data, for example from 30.72MHz to 15.36MHz and 50MHz to 15.36MHz. I`m able  
> to decode the data, so every thing seems to be well.
> 
> I chose the Rational Resampler, simply because it is easy to use. However I  
> noticed, GNURADIO has a number of resample modules, Fractional Resampler,  
> Polyphase Arbitrary Resampler etc… I’m guessing each resampler has it`s  
> strengths and weaknesses. Perhaps one is better for audio, another is better  
> for LTE data etc..

In your specific use case, rational/fractional and arbitrary  
resamplers are mathematically equivalent since the ‘arbitrary’ portion  
doesn’t apply. For example, rather than rational 2-to-1 downsampling  
in your example, an arbitrary rate conversion would handle something  
like 2-to-Pi. A more realistic use case for arbitrary resampling is  
symbol timing loops where the output sample rate is not fixed, but  
continuously drifting over time.

That said, despite similarities in math, there may be implementation  
differences between the blocks that you mention. So one or another  
might be newer, better optimized, or just easier to use. Tom R.  
can more easily explain those differences if they exist.

-TT

---

<div class="post-metadata">

**Author:** ![paul](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@paul](https://www.ruby-forum.com/u/paul)\
**Post date:** [December 1, 2014, 11:43pm UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855/4 "2014-12-01T23:43:37Z")

</div>

I’ve used both the Fractional Resampler and the Rational Resampler so  
far  
with reasonable results. At this stage in the case of the Rational  
Resampler, I simply use the Interpolation setting and decimation setting  
to  
form a ratio (taps:None, Fractional BW:0), which then generates the  
required  
output sample rate.

One interesting point. When for example resampling from 30.72MHz to  
30.72002MHz, I had a look at the FFTs using the QT Gui Frequency Sink.  
One  
thing that struck me was, the rational resampler was acting as a low  
pass  
filter. At both ends of the spectrum I could see a roll off.

I am also looking at trying the Polyphase resampler. Well actually I  
have  
tried it, just I haven’t figured out, how to choose the parameters yet!

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/Best-Resample-Method-For-Resampling-LTE-Data-tp51496p51509.html](http://gnuradio.4.n7.nabble.com/Best-Resample-Method-For-Resampling-LTE-Data-tp51496p51509.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![paul](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@paul](https://www.ruby-forum.com/u/paul)\
**Post date:** [December 2, 2014, 4:21pm UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855/5 "2014-12-02T16:21:42Z")

</div>

On Mon, Dec 1, 2014 at 5:34 PM, Paul C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> filter. At both ends of the spectrum I could see a roll off.
> 
> I am also looking at trying the Polyphase resampler. Well actually I have  
> tried it, just I haven’t figured out, how to choose the parameters yet!

Yes, all of the resamplers are filters. You need to filter whenever you  
resample a signal. The rational resampler and PFB resampler both try and  
find a good default filter such that the signal in the original passband  
is  
not distorted but and aliasing or images are properly attenuated.  
However,  
Bug #745 on our issue tracker suggests that the default RR taps are not  
correct. I’m planning on looking into that this week.

Tom

---

<div class="post-metadata">

**Author:** ![paul](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/bbe5ce/32.png) [@paul](https://www.ruby-forum.com/u/paul)\
**Post date:** [December 1, 2014, 3:45pm UTC](https://www.ruby-forum.com/t/best-resample-method-for-resampling-lte-data/234855/6 "2014-12-01T15:45:42Z")

</div>

On Mon, Dec 1, 2014 at 3:01 AM, Tom T. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> However I  
> like 2-to-Pi. A more realistic use case for arbitrary resampling is  
> symbol timing loops where the output sample rate is not fixed, but  
> continuously drifting over time.
> 
> That said, despite similarities in math, there may be implementation  
> differences between the blocks that you mention. So one or another  
> might be newer, better optimized, or just easier to use. Tom R.  
> can more easily explain those differences if they exist.
> 
> -TT

I have very little to add to what Tom and Dan have already said. I tend  
to  
use the PFB arbitrary resampler myself because it’s so easy to just plug  
in  
a number and go. A couple of things on the computational power, though:

1. The rational resampler should be the cheapest when you can find the  
right rational ratio for your rate change needs. This will still depend  
on  
the filter taps you use in it, however, which is the size of the  
prototype  
filter (the one you enter) divided by the interpolation rate.

2. The default taps for the PFB resampler will be a more expensive  
filter  
than the fractional resampler. The latter uses 8 taps at a time in the  
filter. You can tailor the size of the filter per arm (nfilts) to reduce  
the overhead of the filter itself.

3. The PFB resampler will produce nearly the same output as the rational  
resampler when the resampling rate of the PFB resampler is the same as  
the  
D/I ratio of the rational resampler. The PFB will still be slightly more  
expensive, even if you make the number of taps per arm (len(taps)/nfilts  
for the PFB and len(taps)/I for the RR). The PFB computes two filter  
outputs for every sample output, which is not needed when there is no  
arbitrary part required – but it won’t know that and so does the  
computation, anyways.

But as I said, like Dan, I just use the PFB resampler because it’s so  
easy  
and I tend not to be that concerned with the computational issues. If I  
had  
to squeeze a bit more out of the overall flowgraph, I’d first tailor the  
resampler’s filter to shorten it, or I’d work to see if I could make the  
RR  
work for me.

Tom
