When I plotted the PSD of the decimation output I obtained the following plot.
Green-Non recursive CIC
Could someone please to me why i am seeing a higher noise floor in Polyphase CIC structures?
I used the coefficients mentioned in High Speed Polyphase CIC Decimation Filters by Hong-Kui Yang' and W. Martin Snelgroveto implement Polyphase CIC with order 3 and decimation 8.
And to implement polyphase cic with decimation of 2 in each stage. I referred to Oversampled Sigma Delta ADC Decimation Filter: Design Techniques, Challenges, Tradeoffs and Optimization which gives me the E0(z) and E1(z).
I can't give you an exact answer, but broadly there's one of three possibilities:
- Either the polyphase filter structure just inherently passes more out-of-band energy
- The polyphase filter structure suffers more from truncation
- You've got an implementation error
Looking at the plots, the two polyphase filters show the noise floor rising at 20db/decade, indicating a first-ish order response, while the plain old CIC filters show a 40dB/decade rise. I would start by looking at the filters and asking what I would expect.
Have you worked out the filter math on paper to see what you would anticipate their frequency response to be?
All those filters should have exactly the same frequency response (according to your description). Recursive vs non-recursive vs polyphase using stages vs polyphase using only 1 stage should all be the same filter (assuming you're targeting a 3rd order response). This is probably an implementation error.
I’m a bit confused by your plot. CIC filters are low pass, but your plots all look like raw outputs from a delta sigma modulator. Aside from the fact that you are seeing disparity in the performance, the filter attenuation is way less than what I would expect
edit: are you using the cic as the noise shaping filter, ie where the integrator(s) would normally be? Because the plots would make a bit more sense if that were the case. If that’s so, it looks like the gain of the filter implementations are different, although the frequency responses may be different as well. I would recommend testing the cic implementations outside the delta sigma to verify you are getting the same output with each. Also, I’m not sure how one would use decimation in this context, because you would need to interpolate the signal between the output of the quantizer and error amplifier, which seems counterintuitive to me