Gr_fractional_interpolator.i missing, does anybody have it


#1

I would like to use gr_fractional_interpolator
But I get:
self.interp=gr.fractional_interpolator(
options.phase_shift,interp_ratio)
AttributeError: ‘module’ object has no attribute
‘fractional_interpolator’

Apparantly the module doesn’t exist anymore, although
gr_fractional_interpolator.h and gr_fractional_interpolator.cc exist.

I suspect there should also be a:
gr_fractional_interpolator.i

But I couldn’t find it in my source or any of the older gnuradio
releases I have laying around.

I know there is a rational_resampler in gnuradio now, but there you have
to give your interpolator taps.
The good thing of gr_fractional_interpolator is that it uses
mmse_fir_interpolator which has optimized performance for
low-tap-numbers.

Could anybody tell me how to get gr_fractional_interpolator to work or
where gr_fractional_interpolator.i is.

Greetings,
Martin


#2

Martin D. wrote:

Apparantly the module doesn’t exist anymore, although
gr_fractional_interpolator.h and gr_fractional_interpolator.cc exist.

I suspect there should also be a: gr_fractional_interpolator.i

But I couldn’t find it in my source or any of the older gnuradio
releases I have laying around.

It doesn’t appear to have ever existed, as far as I can tell.
Everywhere fractional interpolation is used in the tree, the low-level
gri_mmse_fir_interpolator implementation is used.

The gr_ wrapper does look functional, but I just spotted a bug in its
constructor, so it looks like a work-in-progress that never got
finished.

Could anybody tell me how to get gr_fractional_interpolator to work
or where gr_fractional_interpolator.i is.

I’ll add getting this to work to my queue :slight_smile:


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com


#3

Johnathan C. wrote:

It doesn’t appear to have ever existed, as far as I can tell.
Everywhere fractional interpolation is used in the tree, the low-level
gri_mmse_fir_interpolator implementation is used.

The gr_ wrapper does look functional, but I just spotted a bug in its
constructor, so it looks like a work-in-progress that never got finished.
Yes, I spotted it too now:
d_mu (phase_shift), d_mu_inc (interp_ratio), d_interp()
should be
d_mu (phase_shift), d_mu_inc (interp_ratio), d_interp(new
gri_mmse_fir_interpolator())

Could anybody tell me how to get gr_fractional_interpolator to work
or where gr_fractional_interpolator.i is.

I’ll add getting this to work to my queue :slight_smile:
I don’t mind getting it to work myself.
I just don’t like inventing the wheel twice.

I will try to get it to work in my tree
branches/developers/nldudok1/general-wip

and let you know when its done.

Greetings,
Martin


#4

On Fri, Mar 09, 2007 at 07:04:06PM +0100, Martin D. wrote:

I would like to use gr_fractional_interpolator
But I get:
self.interp=gr.fractional_interpolator( options.phase_shift,interp_ratio)
AttributeError: ‘module’ object has no attribute ‘fractional_interpolator’

Apparantly the module doesn’t exist anymore, although
gr_fractional_interpolator.h and gr_fractional_interpolator.cc
exist.

I suspect there should also be a:
gr_fractional_interpolator.i

This was apparently never finished or tested.
I understand that Johnathan has a patch that will fix this.
The underlying code is known to work.

But I couldn’t find it in my source or any of the older gnuradio
releases I have laying around.

I know there is a rational_resampler in gnuradio now, but there you
have to give your interpolator taps.

Actually, if you use blks.rational_resampler_fff it’ll design an
appropriate filter for you. See
gnuradio-examples/python/audio/test_resampler.py

The good thing of gr_fractional_interpolator is that it uses
mmse_fir_interpolator which has optimized performance for
low-tap-numbers.

Could anybody tell me how to get gr_fractional_interpolator to work
or where gr_fractional_interpolator.i is.

Greetings,
Martin

Eric


#5

Martin D. wrote:

Yes, I spotted it too now:
d_mu (phase_shift), d_mu_inc (interp_ratio), d_interp()
should be
d_mu (phase_shift), d_mu_inc (interp_ratio), d_interp(new gri_mmse_fir_interpolator())

Yes.

I will try to get it to work in my tree
branches/developers/nldudok1/general-wip

My plan was to rename the existing one and create a second one, so we’d
have:

gr_fractional_interpolator_ff (the current one)
gr_fractional_interpolator_cc (the new one that does complex samples)

That will require some changes to the gri_mmse* code.

If you want to do this, have fun :slight_smile:


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com