Forums

Group Delay of CIC Filters

Started by Randy Yates June 18, 2010
Is there a simple expression for the group delay of a CIC filter stage
in terms of the differential delay (M) and the rate change R?
-- 
Randy Yates                      % "Watching all the days go by...    
Digital Signal Labs              %  Who are you and who am I?"
mailto://yates@ieee.org          % 'Mission (A World Record)', 
http://www.digitalsignallabs.com % *A New World Record*, ELO
On Fri, 18 Jun 2010 11:21:37 -0400, Randy Yates <yates@ieee.org>
wrote:

>Is there a simple expression for the group delay of a CIC filter stage >in terms of the differential delay (M) and the rate change R?
Hi Randy, I know you have the 2nd edition of my DSP book. Looking at Figure 10-17(a), because a CIC decimation filter (prior to the downsampling process) is merely a D-point moving averager, the linear-phase CIC filter's constant group delay is (D-1)/2 samples. Measured in seconds, the group delay is T*(D-1)/2, where "T" is the time between samples (measured in seconds). Randy, I show this same result, with a bit of mathematics, on page 233 (near Equation (5-40)) of the hardcopy material for my 3rd edition that you reviewed for Prentice Hall. I'll bet you already knew the above. Now if you're asking what's the group delay of, for example a decimating CIC filter, *after* the downsampling by "R" process, darn, I haven't thought about that before. As the guys here say, shooting from the hip, my first thought is that the group delay (measured in seconds) of a decimating CIC filter followed by downsampling by "R" is also T*(D-1)/2, where "T" is the time between *input* samples (measured in seconds). I'll have to think this through carefully and do some MATLAB modeling, but if I'm wrong someone here will straighten me out. See Ya, [-Rick-]
Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes:

> On Fri, 18 Jun 2010 11:21:37 -0400, Randy Yates <yates@ieee.org> > wrote: > >>Is there a simple expression for the group delay of a CIC filter stage >>in terms of the differential delay (M) and the rate change R? > > Hi Randy, > I know you have the 2nd edition of my DSP book. > Looking at Figure 10-17(a), because a CIC decimation filter > (prior to the downsampling process) is merely a > D-point moving averager, the linear-phase CIC filter's > constant group delay is (D-1)/2 samples. Measured in > seconds, the group delay is T*(D-1)/2, where "T" is the > time between samples (measured in seconds). > > Randy, I show this same result, with a bit of mathematics, > on page 233 (near Equation (5-40)) of the hardcopy material > for my 3rd edition that you reviewed for Prentice Hall. > > I'll bet you already knew the above. > > Now if you're asking what's the group delay of, for example > a decimating CIC filter, *after* the downsampling by "R" > process, darn, I haven't thought about that before. > > As the guys here say, shooting from the hip, my first > thought is that the group delay (measured in seconds) > of a decimating CIC filter followed by downsampling by "R" > is also T*(D-1)/2, where "T" is the time between *input* > samples (measured in seconds). > > I'll have to think this through carefully and do some > MATLAB modeling, but if I'm wrong someone here will > straighten me out. > > See Ya, > [-Rick-]
Thanks for the response Rick. Unfortunately I hadn't read this before spending an hour of your time this afternoon on the phone discussing it! The (embarrassingly) simple answer is (D-1)/2. -- Randy Yates % "She tells me that she likes me very much, Digital Signal Labs % but when I try to touch, she makes it mailto://yates@ieee.org % all too clear." http://www.digitalsignallabs.com % 'Yours Truly, 2095', *Time*, ELO
>Rick Lyons <R.Lyons@_BOGUS_ieee.org> writes: > >> On Fri, 18 Jun 2010 11:21:37 -0400, Randy Yates <yates@ieee.org> >> wrote: >> >>>Is there a simple expression for the group delay of a CIC filter stage >>>in terms of the differential delay (M) and the rate change R? >> >> Hi Randy, >> I know you have the 2nd edition of my DSP book. >> Looking at Figure 10-17(a), because a CIC decimation filter >> (prior to the downsampling process) is merely a >> D-point moving averager, the linear-phase CIC filter's >> constant group delay is (D-1)/2 samples. Measured in >> seconds, the group delay is T*(D-1)/2, where "T" is the >> time between samples (measured in seconds). >> >> Randy, I show this same result, with a bit of mathematics, >> on page 233 (near Equation (5-40)) of the hardcopy material >> for my 3rd edition that you reviewed for Prentice Hall. >> >> I'll bet you already knew the above. >> >> Now if you're asking what's the group delay of, for example >> a decimating CIC filter, *after* the downsampling by "R" >> process, darn, I haven't thought about that before. >> >> As the guys here say, shooting from the hip, my first >> thought is that the group delay (measured in seconds) >> of a decimating CIC filter followed by downsampling by "R" >> is also T*(D-1)/2, where "T" is the time between *input* >> samples (measured in seconds). >> >> I'll have to think this through carefully and do some >> MATLAB modeling, but if I'm wrong someone here will >> straighten me out. >> >> See Ya, >> [-Rick-] > >Thanks for the response Rick. Unfortunately I hadn't read this >before spending an hour of your time this afternoon on the phone >discussing it! The (embarrassingly) simple answer is (D-1)/2. >--
Hi, I know this is an old post, but I'm faced with a similar question. From the discussion above, we know that the group delay through a CIC filter followed by a downsampling R is T*(D-1)/2, where "T" is the time between *input* samples (measured in seconds), and D is the length of the impulse response. This is also the case for an interpolating CIC filter (remembering that T is referring to the *input* period). Now consider a system consisting of a 1st order CIC decimator with R=2 followed by a 1st order CIC interpolator with R=2. Let's say that the input, and by consequence the output, are at 1Hz. -The group delay of the decimator part is 1 sample (1 second). -The group delay of the interpolator is 1 sample also, but its input period is 0.5Hz, yielding a 2 second delay. -The total group delay of this system is then 3 seconds. I do not understand why the interpolator is responsible for more delay than the decimator. Hopefully the answer is also 'embarrassingly simple'.
>>> >>>>Is there a simple expression for the group delay of a CIC filter stage >>>>in terms of the differential delay (M) and the rate change R? >>> >>> Hi Randy, >>> I know you have the 2nd edition of my DSP book. >>> Looking at Figure 10-17(a), because a CIC decimation filter >>> (prior to the downsampling process) is merely a >>> D-point moving averager, the linear-phase CIC filter's >>> constant group delay is (D-1)/2 samples. Measured in >>> seconds, the group delay is T*(D-1)/2, where "T" is the >>> time between samples (measured in seconds). >>> >>> Randy, I show this same result, with a bit of mathematics, >>> on page 233 (near Equation (5-40)) of the hardcopy material >>> for my 3rd edition that you reviewed for Prentice Hall. >>> >>> I'll bet you already knew the above. >>> >>> Now if you're asking what's the group delay of, for example >>> a decimating CIC filter, *after* the downsampling by "R" >>> process, darn, I haven't thought about that before. >>> >>> As the guys here say, shooting from the hip, my first >>> thought is that the group delay (measured in seconds) >>> of a decimating CIC filter followed by downsampling by "R" >>> is also T*(D-1)/2, where "T" is the time between *input* >>> samples (measured in seconds). >>> >>> I'll have to think this through carefully and do some >>> MATLAB modeling, but if I'm wrong someone here will >>> straighten me out. >>> >>> See Ya, >>> [-Rick-] >> >>Thanks for the response Rick. Unfortunately I hadn't read this >>before spending an hour of your time this afternoon on the phone >>discussing it! The (embarrassingly) simple answer is (D-1)/2. >>-- > >Hi, >I know this is an old post, but I'm faced with a similar question. >From the discussion above, we know that the group delay through a CIC >filter followed by a downsampling R is T*(D-1)/2, where "T" is the time >between *input* samples (measured in seconds), and D is the length of the >impulse response. > >This is also the case for an interpolating CIC filter (remembering that T >is referring to the *input* period). > >Now consider a system consisting of a 1st order CIC decimator with R=2 >followed by a 1st order CIC interpolator with R=2. Let's say that the >input, and by consequence the output, are at 1Hz. >-The group delay of the decimator part is 1 sample (1 second). >-The group delay of the interpolator is 1 sample also, but its input
period
>is 0.5Hz, yielding a 2 second delay. >-The total group delay of this system is then 3 seconds. > >I do not understand why the interpolator is responsible for more delay
than
>the decimator. Hopefully the answer is also 'embarrassingly simple'.
Anybody can help with this last question? Why is interpolating is more costly (in terms of delay) than decimating? Thanks!