On Tue, 19 Aug 2003 10:48:37 -0500, "Jerry J. Trantow"
<jtrantow@ieee.org> wrote:
>Many of our DSP audio projects deal with frames of data. The frame size is
>usually smaller the the DFT N. So we have extended the sliding DFT to
>update a frame of data at a time. Our implementations are on the TI
>(54,55,67) cores. Is this (frame based sliding DFT) generally known and
>done? .
>
Hello jerry,
what does it mean to "extend the sliding DFT to
update a frame of data at a time"?
[-Rick-]
Reply by Jerry J. Trantow●August 19, 20032003-08-19
Many of our DSP audio projects deal with frames of data. The frame size is
usually smaller the the DFT N. So we have extended the sliding DFT to
update a frame of data at a time. Our implementations are on the TI
(54,55,67) cores. Is this (frame based sliding DFT) generally known and
done? .
<Dennis@NoSpam.com> wrote in message
news:8s2hivgb7p3fio16jl06q96j8silet6702@4ax.com...
> ricklyon@remove.onemain.com (Rick Lyons) wrote:
> <snip>
> >My (Rabiner & Gold) version and Dennis' version give the same
> >DFT magnitude results. To get the correct phase results, my
> >version of the Sliding DFT requires an additional phase correction.
> >Dennis' version, which is not new by the way, requires no such
> >phase correction. So, of the four forms of the Sliding DFT that
> >I've seen, Dennis' is the form of the Sliding DFT that
> >I now recommend.
> >
> >So Dennis, there's no typo in the article. But your Sliding DFT
> >expression is the one I'd choose in the future.
> >
> >I haven't looked at Eric's paper yet, but I will.
> >
> >See Ya,
> >[-Rick-]
>
> Hi Eric,
>
> The Sliding DFT version of the form
>
> Sk(n)=(Sk(n-1) - x(n-N) + x(n))*exp(j2PIk/N)
>
> is not mine of course. I believe it was derived by Tom Springer in his
article
> "Sliding FFT computes frequency spectra in real time" EDN Mag pp 161-170
Sept
> 29, 1988.
>
> I don't have this article and cannot get it, but I've seen Springer quoted
as
> the author of this version in a number of references on the Sliding DFT.
>
> I haven't found any earlier references to the Sliding DFT.
>
> Dennis
>
Reply by ●August 6, 20032003-08-06
ricklyon@REMOVE.onemain.com (Rick Lyons) wrote:
>Hi Dennis,
>
> I was thinking about the freq-domain resonant frequencies.
>
>For the N-sample Goertzel algo, k can be any value between
>0 and N. (Jon Harris pointed that out to me.)
>
>For the N-sample Sliding Goertzel, the comb filter places
>N zeros equally-spaced around the unit circle. For correct
>pole/zero cancelation, the value of k must place a pole
>exactly on one of the zeros. Thus k cannot be just any
>arbitrary value.
>
>Just thought I'd remind us all about that fact.
>
>[-Rick-]
Hi Rick,
The N-sample Sliding Goertzel (SGA) doesn't have a comb filter because the SGA
formula is not correct as per previous posts. In the time domain the SGA
iteration in the time domain has an end term that should not be there.
I haven't figured out how to eliminate that time domain end term yet.
Dennis
Reply by Rick Lyons●August 5, 20032003-08-05
On Tue, 05 Aug 2003 10:18:22 -0500, Dennis@NoSpam.com wrote:
>ricklyon@REMOVE.onemain.com (Rick Lyons) wrote:
>
>>On Mon, 04 Aug 2003 16:48:10 -0500, Dennis@NoSpam.com wrote:
>>>Hmmm that's interesting. With the standard Goertzel(GA) I could pretend I zero
>>>padded with a million zeros and choose k as close to the frequency I was
>>>searching for as I wanted. This is because the GA magnitude calc doesn't change
>>>no matter how many zeros you pad with. However, with the sliding GA, I'm adding
>>>the current and subtracting the back value. I can't very well subtract the
>>>millionth zero in the SGA.
>>
>>Hi Dennis,
>>
>> I was thinking about the freq-domain resonant frequencies.
>>
>>For the N-sample Goertzel algo, k can be any value between
>>0 and N. (Jon Harris pointed that out to me.)
>>
>>For the N-sample Sliding Goertzel, the comb filter places
>>N zeros equally-spaced around the unit circle. For correct
>>pole/zero cancelation, the value of k must place a pole
>>exactly on one of the zeros. Thus k cannot be just any
>>arbitrary value.
>>
>>Just thought I'd remind us all about that fact.
>>
>>[-Rick-]
>
>Hi Rick,
>
>What if I padded with M zeros and we had N samples. Where would the zeros fall
>on the unit circle with the N+M Sliding Goertzel? What about zero padding and
>the Sliding DFT?
>
>Dennis
Hi Dennis,
The zeros locations on the unit circle are independent of
the input time-domain sequence to the filter.
If the comb filter has a delay of N samples, the comb portion
of the filter will have N zeros equally-spaced around the unit
circle.
See Ya',
[-Rick-]
Reply by ●August 5, 20032003-08-05
ricklyon@REMOVE.onemain.com (Rick Lyons) wrote:
>On Mon, 04 Aug 2003 16:48:10 -0500, Dennis@NoSpam.com wrote:
>>Hmmm that's interesting. With the standard Goertzel(GA) I could pretend I zero
>>padded with a million zeros and choose k as close to the frequency I was
>>searching for as I wanted. This is because the GA magnitude calc doesn't change
>>no matter how many zeros you pad with. However, with the sliding GA, I'm adding
>>the current and subtracting the back value. I can't very well subtract the
>>millionth zero in the SGA.
>
>Hi Dennis,
>
> I was thinking about the freq-domain resonant frequencies.
>
>For the N-sample Goertzel algo, k can be any value between
>0 and N. (Jon Harris pointed that out to me.)
>
>For the N-sample Sliding Goertzel, the comb filter places
>N zeros equally-spaced around the unit circle. For correct
>pole/zero cancelation, the value of k must place a pole
>exactly on one of the zeros. Thus k cannot be just any
>arbitrary value.
>
>Just thought I'd remind us all about that fact.
>
>[-Rick-]
Hi Rick,
What if I padded with M zeros and we had N samples. Where would the zeros fall
on the unit circle with the N+M Sliding Goertzel? What about zero padding and
the Sliding DFT?
Dennis
Reply by Clay S. Turner●August 5, 20032003-08-05
"Rick Lyons" <ricklyon@REMOVE.onemain.com> wrote in message
news:3f2fa793.91587125@news.earthlink.net...
> For the N-sample Goertzel algo, k can be any value between
> 0 and N. (Jon Harris pointed that out to me.)
>
> For the N-sample Sliding Goertzel, the comb filter places
> N zeros equally-spaced around the unit circle. For correct
> pole/zero cancelation, the value of k must place a pole
> exactly on one of the zeros. Thus k cannot be just any
> arbitrary value.
>
> Just thought I'd remind us all about that fact.
>
> [-Rick-]
>
Hello Rick et. al.,
The way I think about it is that you are putting in a pulse and then after a
delay (one than spans the time extent of the transform window) you need to
put in an antipulse. So with this reasoning one would expect the delay needs
to be integral. But if you made your comb filter a little more sophisticated
than having two delta functions comprising its impulse response, you could
have nonintegral delay. After all you just need to make the pulse- antipulse
pair cancel out after the delay. Does this have practical value? I don't
know, but the math allows for this natural extension of the sliding window
idea. Plus the frequency response of the comb filter needs to be flat only
around the center frequency of the Goerzel, so the comb filter's impulse
response can be more localized than a sinc filter. Just my thoughts.
Clay
Reply by Rick Lyons●August 5, 20032003-08-05
On Mon, 04 Aug 2003 16:48:10 -0500, Dennis@NoSpam.com wrote:
>ricklyon@remove.onemain.com (Rick Lyons) wrote:
>
>>Hi,
>> agreed. Hey guys, did we all agree that the Sliding Goertzel
>>(unlike the standard Goertzel algorithm) only operates at
>>integer values of k?
>>
>>[-Rick-]
>
>Hmmm that's interesting. With the standard Goertzel(GA) I could pretend I zero
>padded with a million zeros and choose k as close to the frequency I was
>searching for as I wanted. This is because the GA magnitude calc doesn't change
>no matter how many zeros you pad with. However, with the sliding GA, I'm adding
>the current and subtracting the back value. I can't very well subtract the
>millionth zero in the SGA.
>
>Dennis
Hi Dennis,
I was thinking about the freq-domain resonant frequencies.
For the N-sample Goertzel algo, k can be any value between
0 and N. (Jon Harris pointed that out to me.)
For the N-sample Sliding Goertzel, the comb filter places
N zeros equally-spaced around the unit circle. For correct
pole/zero cancelation, the value of k must place a pole
exactly on one of the zeros. Thus k cannot be just any
arbitrary value.
Just thought I'd remind us all about that fact.
[-Rick-]
Reply by ●August 4, 20032003-08-04
ricklyon@remove.onemain.com (Rick Lyons) wrote:
>Hi,
> agreed. Hey guys, did we all agree that the Sliding Goertzel
>(unlike the standard Goertzel algorithm) only operates at
>integer values of k?
>
>[-Rick-]
Hmmm that's interesting. With the standard Goertzel(GA) I could pretend I zero
padded with a million zeros and choose k as close to the frequency I was
searching for as I wanted. This is because the GA magnitude calc doesn't change
no matter how many zeros you pad with. However, with the sliding GA, I'm adding
the current and subtracting the back value. I can't very well subtract the
millionth zero in the SGA.
Dennis
>On Wed, 30 Jul 2003 22:31:50 -0500, Dennis@NoSpam.com wrote:
>
>>ricklyon@remove.onemain.com (Rick Lyons) wrote:
>><snip>
>>>My (Rabiner & Gold) version and Dennis' version give the same
>>>DFT magnitude results. To get the correct phase results, my
>>>version of the Sliding DFT requires an additional phase correction.
>>>Dennis' version, which is not new by the way, requires no such
>>>phase correction. So, of the four forms of the Sliding DFT that
>>>I've seen, Dennis' is the form of the Sliding DFT that
>>>I now recommend.
>>>
>>>So Dennis, there's no typo in the article. But your Sliding DFT
>>>expression is the one I'd choose in the future.
>>>
>>>I haven't looked at Eric's paper yet, but I will.
>>>
>>>See Ya,
>>>[-Rick-]
>>
>>Hi Eric,
>>
>>The Sliding DFT version of the form
>>
>> Sk(n)=(Sk(n-1) - x(n-N) + x(n))*exp(j2PIk/N)
>>
>>is not mine of course. I believe it was derived by Tom Springer in his article
>>"Sliding FFT computes frequency spectra in real time" EDN Mag pp 161-170 Sept
>>29, 1988.
>>
>>I don't have this article and cannot get it, but I've seen Springer quoted as
>>the author of this version in a number of references on the Sliding DFT.
>>
>>I haven't found any earlier references to the Sliding DFT.
>>
>>Dennis
>
>I don't think it was original to Springer as I've seen it
>independantly derived elsewhere, but his EDN paper seems to be the
>earliest published and most commonly referenced derivation. It got
>tweaked in typesetting or something because the way it appeared in EDN
>wasn't really very good in my opinion.
>
>The document I posted is based on Springer's derivation but I cleaned
>up the notation, expanded some of the steps and just generally tried
>to make it easier to follow.
>
>If anyone wants the original MathCAD file from the posting I can put
>that up as well.
>
>Re: http://www.ericjacobsen.org/Slddft2.doc
>
>
>Eric Jacobsen
>Minister of Algorithms, Intel Corp.
>My opinions may not be Intel's opinions.
>http://www.ericjacobsen.org
Hi,
agreed. Hey guys, did we all agree that the Sliding Goertzel
(unlike the standard Goertzel algorithm) only operates at
integer values of k?
[-Rick-]
Reply by Eric Jacobsen●July 31, 20032003-07-31
On Wed, 30 Jul 2003 22:31:50 -0500, Dennis@NoSpam.com wrote:
>ricklyon@remove.onemain.com (Rick Lyons) wrote:
><snip>
>>My (Rabiner & Gold) version and Dennis' version give the same
>>DFT magnitude results. To get the correct phase results, my
>>version of the Sliding DFT requires an additional phase correction.
>>Dennis' version, which is not new by the way, requires no such
>>phase correction. So, of the four forms of the Sliding DFT that
>>I've seen, Dennis' is the form of the Sliding DFT that
>>I now recommend.
>>
>>So Dennis, there's no typo in the article. But your Sliding DFT
>>expression is the one I'd choose in the future.
>>
>>I haven't looked at Eric's paper yet, but I will.
>>
>>See Ya,
>>[-Rick-]
>
>Hi Eric,
>
>The Sliding DFT version of the form
>
> Sk(n)=(Sk(n-1) - x(n-N) + x(n))*exp(j2PIk/N)
>
>is not mine of course. I believe it was derived by Tom Springer in his article
>"Sliding FFT computes frequency spectra in real time" EDN Mag pp 161-170 Sept
>29, 1988.
>
>I don't have this article and cannot get it, but I've seen Springer quoted as
>the author of this version in a number of references on the Sliding DFT.
>
>I haven't found any earlier references to the Sliding DFT.
>
>Dennis
I don't think it was original to Springer as I've seen it
independantly derived elsewhere, but his EDN paper seems to be the
earliest published and most commonly referenced derivation. It got
tweaked in typesetting or something because the way it appeared in EDN
wasn't really very good in my opinion.
The document I posted is based on Springer's derivation but I cleaned
up the notation, expanded some of the steps and just generally tried
to make it easier to follow.
If anyone wants the original MathCAD file from the posting I can put
that up as well.
Re: http://www.ericjacobsen.org/Slddft2.doc
Eric Jacobsen
Minister of Algorithms, Intel Corp.
My opinions may not be Intel's opinions.
http://www.ericjacobsen.org