Observation concerning decimation with CIC


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

When we set the decimation rate to an odd number (5 in our case), the
are aligned perfectly. When we use an even numbered decimation rate, we
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
(refer to “Re: [Discuss-gnuradio] USRP2 Filtering/Decimation Question”
more details) i.e. if only the CIC is involved it works fine otherwise
are some troubles.

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


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.


Hi Matt,

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

What did you change in the code?


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:


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.