I'm usig CIC5 decimation filter, which is part of a larger signal processor chip, decimation is M=8, the input frequency is Fs. Since CIC filters only have infinite attenuation at f=Fs/8*k , k={1..7}, a considerable amount of Alias will 'fold' into the output data stream's spectrum between 0...Fs/16. The CIC spectrum H(f) can be calculated easily between -Fs/2 ... Fs/2 according to the formula given in the sheet. The question is how to calculate the alias attenuation in the output spectrum! In the processor data sheet's alias table they just take H(f) from {-Fs/2...-Fs/2+Fs/16} and shift that to the output spectral range of {0...Fs/16} - that's their alias attenuation. I doubt that this procedure is correct, since decimation just means re-sampling the spectrum with Fs/M, which means that the original spectrum will just repeat with Fs/8. So in total 4 different sections of the repeating spectrum H(f) will alias into the output spectrum: H( f={-Fs/2...-Fs/2+Fs/16} ) + H( f={-Fs/2 + 1*Fs/8...-Fs/2 + 1*Fs/8 + Fs/16} ) + H( f={-Fs/2 + 2*Fs/8...-Fs/2 + 2*Fs/8 + Fs/16} ) + H( f={-Fs/2 + 3*Fs/8...-Fs/2 + 3*Fs/8 + Fs/16} ) and have to be summed up for yielding the total alias attenuation. Since I'm not too deep into signal processing issues, I'm not sure what's the correct alias calculation - the data sheet's one or my own ? Maybe some of the experts can help me here..... Markus
decimation alias
Started by ●July 23, 2008
Reply by ●July 23, 20082008-07-23
I'm not sure which data sheet you're using, but in general, only the first (and maybe the second) "fold" is really of major importance, though this is bandwidth dependent. The AD6620 data sheet (Analog Devices) has a pretty good table that I use (page 24). The example they plot is for M = 4. If you look at the -50 dB crossover (for signal BW/Fs input = 6.2%), the second alias fold is on the order of 20 dB down from the first, which is pretty inconsequential when added in to the -50 dB first fold. If you're trying to get very large rejection ratios, say -100 dB, then the second fold will play a larger role, but it will never contribute even 3 dB to the total aliased power since it will always be smaller than the first. Subsequent folds are even smaller, contributing even less to the aliased power. Mark
Reply by ●July 24, 20082008-07-24
>I'm not sure which data sheet you're using, but in general, only thefirst>(and maybe the second) "fold" is really of major importance, though thisis>bandwidth dependent. The AD6620 data sheet (Analog Devices) has apretty>good table that I use (page 24). The example they plot is for M = 4.If>you look at the -50 dB crossover (for signal BW/Fs input = 6.2%), the >second alias fold is on the order of 20 dB down from the first, which is >pretty inconsequential when added in to the -50 dB first fold. Ifyou're>trying to get very large rejection ratios, say -100 dB, then the second >fold will play a larger role, but it will never contribute even 3 dB tothe>total aliased power since it will always be smaller than the first. >Subsequent folds are even smaller, contributing even less to the aliased >power. > >Mark >Mark, thank's for the feedback! Actually I was talking just about the AD6620 CIC2 section, but the problem is identical for the CIC5 section! Unfortunately I made a mistake regarding the AD alias table: they are not using the spectrum H(f) from {-Fs/2...-Fs/2+Fs/16} and shift that to the output spectral range of {0...Fs/16} , but from: {-Fs/2+3Fs/8...-Fs/2+3Fs/8+Fs16} (for a decimation of 8) However, basically it's the same problem as before: they use just one part of the spectrum, but I think (as stated before) all four 'folds' of the spectrum should be summed up for the alias! I've done some calculations, comparing the AD-table and my idea of calculating the alias - the difference is considerable: * the AD-table yields about 4dB less alias, the difference is constant over the entire output frequency range * the 'alias free' bandwidth (checked at -50,-70,-90dB), stated by the AD-table is about 26% larger than according to my calculations (i.e. at -70dB the BW is not 0.213%, but 0.168% of Fs) So this is not just a kind of 'academic' problem - the difference really matters! But who has the answer which calculation is correct?
Reply by ●July 24, 20082008-07-24
>So this is not just a kind of 'academic' problem - the difference really >matters! But who has the answer which calculation is correct?Summing each of the folds is the correct method. Does their table align with just the first alias term? At -50 dB I'm surprised, btw, that it would be a total of 4 dB off, even for a decimation of 8. But, I've never cared to calculate the numbers so I can't really comment. Personally, being off by a few dB from such a table isn't something that I would ever worry about since I typically build in enough rejection to account for that. In other words, I try to work it so that all of my processing error (aliasing, roundoff, etc.) is well below the in-band thermal/ADC noise floor anyway. This is why I never have noticed the difference (I have used the 6620 on several occasions in the past). Good detective work. I would suggest writing to Analog Devices and letting them know of this problem. I need to keep this in mind, too, since I used the CIC5 table for a GC4016 application that I am working now. Mark