Observation concerning decimation with CIC

Hello,

we have implemented synchronized reception with two USRP2’s using a
common
clock and the 1PPS signal to be able to use the two ethernet interfaces.
This
works quite good but we observed one thing.

When we set the decimation rate to an odd number (5 in our case), the
samples
are aligned perfectly. When we use an even numbered decimation rate, we
could
detect unalignments in some of our test runs with the same setup.

We have the idea that this is related to the way the decimation is
performed
(refer to “Re: [Discuss-gnuradio] USRP2 Filtering/Decimation Question”
for
more details) i.e. if only the CIC is involved it works fine otherwise
there
are some troubles.

Does anybody have made similar observations or is able to tell more
about the
problem?

Thanks,

Hanwen & Christoph

I think I know the problem and am working on a fix. I will let you know
when I have something to test.

Matt

Hi Matt,

the new image seems to solve the problem. Thank you!

What did you change in the code?

Cheers,

Christoph & Hanwen

Christoph T. wrote:

Great news. The basic issue is that since the halfband decimators
decimate by 2, they have an internal state (which we call odd or even).
The design wasn’t syncing this state, so I added a small amount of
code to resync the filters when they are enabled. The CIC was already
doing this, so you didn’t see the problem when only using the CIC and
not the halfbands.

If you want to see exactly what I changed, it is here:

http://gnuradio.org/cgit/matt.git/commit/?h=rx_mimo_hb_sync

You can check the code out from the rx_mimo_hb_sync branch from matt.git
on gnuradio.org.

Johnathan – please merge this to the mainline and put up a new image
for general use.

Thanks to both of you for reporting this bug. Anybody doing MIMO
reception should probably update to this new version.

Matt