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.
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
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.
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.
Discuss-gnuradio mailing list
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)
Dipl.-Ing. Martin B.
Phone: +49 721 608-43790
Fax: +49 721 608-46071
KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association