Decimation Rate with a fraction part

Hi all,

I would like to get an output of 16.3676 Ms/s. Is it then possible to
set a
decimation values of 6.109631223? I am wondering whether decimation
values
have to be whole numbers, or whether decimation values with fraction
parts
are allowed.

The reason for this is that I am trying to mimic the behaviour of the
SiGe
GPS sampler which has a sampling rate of 16.3676 Ms/s. Anyone who has
used
the USRP(2) to collect signals for processing with a software GPS
receiver
written to run specifically with the SiGe sampler is welcome to comment
or
throw in ideas :slight_smile:

Nick

On Thu, Mar 3, 2011 at 3:04 PM, Nick O. [email protected]
wrote:

written to run specifically with the SiGe sampler is welcome to comment or
throw in ideas :slight_smile:

Integers only with the USRP, but you should be able to setup a
rational resampler after you get your samples.

If you decimated down to 20Msps, then did 40919/50000 resampling, you
should get your exact sample rate.

Nick

Brian

Thanks guys. The ideas looks theoretically sound, but for some reason
the
grc setup I have created does not seem to like the idea of very large
interpolation and decimation values. It does not print out any errors,
it
just hangs.

I have attached a copy of my grc setup.

Thanks MB.

Hi Nick,

You could use USRP1 plus our ClockTamer to get exact sampling rate right
from the USRP without fractional resampling. You could find more
information
on the GnuRadio wiki and at ClockTamer google-code site


Regards,
Alexander C.

On 3 Mar 2011 23:06, “Nick O.” [email protected] wrote:

Hi all,

I would like to get an output of 16.3676 Ms/s. Is it then possible to
set a
decimation values of 6.109631223? I am wondering whether decimation
values
have to be whole numbers, or whether decimation values with fraction
parts
are allowed.

The reason for this is that I am trying to mimic the behaviour of the
SiGe
GPS sampler which has a sampling rate of 16.3676 Ms/s. Anyone who has
used
the USRP(2) to collect signals for processing with a software GPS
receiver
written to run specifically with the SiGe sampler is welcome to comment
or
throw in ideas :slight_smile:

Nick

On Fri, Mar 04, 2011 at 08:51:28AM -0500, Nick O. wrote:

Thanks guys. The ideas looks theoretically sound, but for some reason the grc
setup I have created does not seem to like the idea of very large interpolation
and decimation values. It does not print out any errors, it just hangs.

Hi Nick,

don’t use decimations/interpolations that large, the appropriate filters
are impossible to get working.

Rather, have a look at gr_pfb_arb_resampler_ccf. You need to rationally
resample to an approximate sampling rate and let the block do the rest
by clever algorithms.

Even if you can reach a sampling rate rationally, I usually try and
cascade it to get where I want (and I think that’s how it’s usually
done).
From 16e6 to 16.3676e6 is, as Ed already mentioned, 40919/40000.
GR standard tools won’t give you any good anti-aliasing filters for
this, but you could go in several steps, such as
29/20 × 17/20 × 83/100.

However, working that out already takes longer than setting up
gr_pfb_arb_resampler_ccf, or, even easier pfb_arb_resampler_ccf.py, so
I’d recommend just using that.

MB

    Hi all,
What you need to do is set the USRP to acquire at some value close to
what you need, say 16 Ms/s.

Then use a rational resampler with the proper numbers for interpolation
and decimation to get the desired rate.  For instance, at 16 Ms/sec,
set interpolation to 163676 and decimation to 160000.  In this case, both
are exactly divisible by 4, so it could even be 40919 & 40000.

@(^.^)@  Ed

Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association