Forum: GNU Radio rational_resampling question

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
543560fff16cd8ce6ceb506c64c24a2d?d=identicon&s=25 Hans Glitsch (Guest)
on 2007-02-09 22:27
(Received via mailing list)
Hello,

If I want to use the rational resampler without filtering, is it valid
do this?

taps = [1]
self.resampler = gr.rational_resampler_base_scc( 3, 2, taps )

Thanks,
Hans
745d8202ef5a58c1058d0e5395a78f9c?d=identicon&s=25 Eric Blossom (Guest)
on 2007-02-11 01:00
(Received via mailing list)
On Fri, Feb 09, 2007 at 01:26:30PM -0800, Hans Glitsch wrote:
> Hello,
>
> If I want to use the rational resampler without filtering, is it valid do this?
>
> taps = [1]
> self.resampler = gr.rational_resampler_base_scc( 3, 2, taps )

If by valid you mean, "will it compute what I ask it", the answer is
yes.  However, I don't think you're going to like the answer you get.

Why do you want to remove the filtering?
FWIW, it's a polyphase implementation and runs at the low rate.

See gnuradio-core/src/lib/filter/gr_rational_resampler_base_scc.cc
for the implementation.

Also, if you're trying to solve a performance problem, I _strongly_
suggest that you use floats or complex, not shorts.
Trust me, they're _much_ faster.

Using *_scc you've effectively moved the short to float conversion
into the inner loop of the dot product.  This results in terrible
performance on most machines since the conversion is relatively slow
and you're performing it O(N^2) times.

If you're using the USRP as the front end, I suggest that you adjust
to doing most everything at complex baseband.  It simplifies many
things, and we've got very fast SIMD filtering kernels for floats and
complexes, not to mention fft-based filtering too.

Eric
This topic is locked and can not be replied to.