Forums

Discrete Fourier Transform Question

Started by Erik March 31, 2006
I have a question for people knowledgeable about the DFT.  In the digital
audio workstation program "Cubase SX", there is a tool which performs a
DFT on a given audio recording.  I'm a bit puzzled by one of its
features.

Before it performs the DFT, it asks the user to input the size, in
samples, of the analysis blocks that it will divide the audio into for
processing.  This makes sense to me.  As the size of the analysis blocks
increase, so does the frequency resolution increase, obeying the
relationship frequencyresolution = 1/T, where T is the length in seconds
of the analysis block.

However, the puzzling part is that if I set the size in samples of the
analysis blocks to a value greater than the length of the audio recording
being analyzed (in samples), resolution continues to increase.  Is the
additional information provided by increases in resolution produced by
using analysis block sizes greater than the length of the audio recording
meaningless/garbage?

I've tried contacting Cubase's tech support department, but they're
clueless.  Any help would be much appreciated, thanks very much =)


> However, the puzzling part is that if I set the size in samples of the > analysis blocks to a value greater than the length of the audio recording > being analyzed (in samples), resolution continues to increase. Is the > additional information provided by increases in resolution produced by > using analysis block sizes greater than the length of the audio recording > meaningless/garbage? > > I've tried contacting Cubase's tech support department, but they're > clueless. Any help would be much appreciated, thanks very much =) >
Isn't that called zeropadding?
Erik wrote:
> I have a question for people knowledgeable about the DFT. In the digital > audio workstation program "Cubase SX", there is a tool which performs a > DFT on a given audio recording. I'm a bit puzzled by one of its > features. > > Before it performs the DFT, it asks the user to input the size, in > samples, of the analysis blocks that it will divide the audio into for > processing. This makes sense to me. As the size of the analysis blocks > increase, so does the frequency resolution increase, obeying the > relationship frequencyresolution = 1/T, where T is the length in seconds > of the analysis block. > > However, the puzzling part is that if I set the size in samples of the > analysis blocks to a value greater than the length of the audio recording > being analyzed (in samples), resolution continues to increase. Is the > additional information provided by increases in resolution produced by > using analysis block sizes greater than the length of the audio recording > meaningless/garbage? > > I've tried contacting Cubase's tech support department, but they're > clueless. Any help would be much appreciated, thanks very much =)
They are probably zero padding from the end of the audio data until the FFT size. This produces an apparent increase in resolution, but it is really just an interpolation and provides no additional information. John
a-HA!  Thanks a ton, this was just the information that I needed! =D
Erik wrote:
> I have a question for people knowledgeable about the DFT. In the digital > audio workstation program "Cubase SX", there is a tool which performs a > DFT on a given audio recording. I'm a bit puzzled by one of its > features. > > Before it performs the DFT, it asks the user to input the size, in > samples, of the analysis blocks that it will divide the audio into for > processing. This makes sense to me. As the size of the analysis blocks > increase, so does the frequency resolution increase, obeying the > relationship frequencyresolution = 1/T, where T is the length in seconds > of the analysis block. > > However, the puzzling part is that if I set the size in samples of the > analysis blocks to a value greater than the length of the audio recording > being analyzed (in samples), resolution continues to increase. Is the > additional information provided by increases in resolution produced by > using analysis block sizes greater than the length of the audio recording > meaningless/garbage? > > I've tried contacting Cubase's tech support department, but they're > clueless. Any help would be much appreciated, thanks very much =) > >
Erik, It is a common technique to 'pad' the set of signal samples with zero-valued samples. This allows you to increase the block size up to some convenient value, usually a power of two. The extra frequency-components that are generated provide information that becomes relevant if you decide to convert the set of frequency samples back to a set of signal samples using the inverse FFT. The signal-samples you obtain will include all those zero-padding samples. Since these are probably of no use to you then the additional frequency components that gave you the increased resolution could in fact be considered to be 'garbage.' Of course you may prefer the smoother look of the higher-resolution FFT, but it does not contain any useful additional information. Regards, John

john wrote:

> They are probably zero padding from the end of the audio data until the > FFT size. This produces an apparent increase in resolution, but it is > really just an interpolation and provides no additional information.
None in the information theoretic sense, but more visible information regardless of whether or not it is mathematically redundant. Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein
>I have a question for people knowledgeable about the DFT. In the digital >audio workstation program "Cubase SX", there is a tool which performs a >DFT on a given audio recording. I'm a bit puzzled by one of its >features. > >Before it performs the DFT, it asks the user to input the size, in >samples, of the analysis blocks that it will divide the audio into for >processing. This makes sense to me. As the size of the analysis blocks >increase, so does the frequency resolution increase, obeying the >relationship frequencyresolution = 1/T, where T is the length in seconds >of the analysis block. > >However, the puzzling part is that if I set the size in samples of the >analysis blocks to a value greater than the length of the audio
recording
>being analyzed (in samples), resolution continues to increase. Is the >additional information provided by increases in resolution produced by >using analysis block sizes greater than the length of the audio
recording
>meaningless/garbage? > >I've tried contacting Cubase's tech support department, but they're >clueless. Any help would be much appreciated, thanks very much =) > > >
It would be zero-padding. Zero padding never helps you increase the resolution. It will just be the interpolated values in the middle. You can check it precisely by giving the size in samples as exactly two times that of the length of the audio. (n+1)th data will be the average of n'th and (n+2)th data.
Erik skrev:
> I have a question for people knowledgeable about the DFT. In the digital > audio workstation program "Cubase SX", there is a tool which performs a > DFT on a given audio recording. I'm a bit puzzled by one of its > features. > > Before it performs the DFT, it asks the user to input the size, in > samples, of the analysis blocks that it will divide the audio into for > processing. This makes sense to me. As the size of the analysis blocks > increase, so does the frequency resolution increase, obeying the > relationship frequencyresolution = 1/T, where T is the length in seconds > of the analysis block. > > However, the puzzling part is that if I set the size in samples of the > analysis blocks to a value greater than the length of the audio recording > being analyzed (in samples), resolution continues to increase. Is the > additional information provided by increases in resolution produced by > using analysis block sizes greater than the length of the audio recording > meaningless/garbage?
As lots of people already have suggested, this is probably some sort of zero padding.
> I've tried contacting Cubase's tech support department, but they're > clueless.
Now, *this* is scary. In the past there have been one or two "wars" on comp.dsp about how to interpret the output of a zero-padded DFT. The one point that has not been debated, is what a zero-padded DFT is. All the regulars know what a zero-padded DFT is. As far as I recall, zero-padding was taught in the first semester of the first course I ever took on DSP. One might expect that the technical support staff at a vendor who produces and sells DSP software might know about zero-padding, too. Rune
krishna_sun82 wrote:

> ... (n+1)th data will be the average of n'th and > (n+2)th data.
That would be linear interpolation. The actual zero-padding interpolation is more accurate than that. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
[I'm intentionally "sort of" top posting rather than snipping]
[I'll intersperse my comments with quoted chunks]
[I'll leave un-mutilated quote for those coming to discussion late]





Rune Allnor wrote:
 > Erik skrev:
 >
 >>I have a question for people knowledgeable about the DFT.  In the 
 >>digital audio workstation program "Cubase SX", there is a tool which
 >>performs a DFT on a given audio recording.  I'm a bit puzzled by one
 >>of its features.
[now occurs *MASSIVE* SNIP ;] {snipped material appears below}

Rune Allnor then wrote:
 >
 > One might expect that the technical support staff at a vendor who
 > produces and sells DSP software might know about zero-padding, too.
 >

Ahh now to *THE* question.
In reality do they "produces and sells DSP software"?

*OR*

Do they sell an application suite?
  a. Do the sell to an audience who might never had reason to have heard 
of either Nyquist or Shannon?

Yes, I can see their product depending on *ADVANCED* DSP concepts.
I'm not sure there is any reason to even suspect that a large portion of 
their customer base had ever heard of "DSP".

2 informative (among others) websites are
    http://www.tweakheadz.com/cubase_sx.htm
    http://www.steinberg.net/343_1.html

OP was looking for underlying principles.
Product support was oriented to _TYPICAL_ end user.

I could tell similar tales on myself.
I asked machinist to mill a *PERFECTLY SQUARE* hole in piece of metal.
[YEPP *ALL* radii == 0 ;]
Yes, that spec was valid.
He said "tilt"!!! followed by "what are you trying to do?"
Two days later he came up with solution folded up out of sheet stock 
with no critical dimensions.


Rune Allnor wrote:
> Erik skrev: > >>I have a question for people knowledgeable about the DFT. In the digital >>audio workstation program "Cubase SX", there is a tool which performs a >>DFT on a given audio recording. I'm a bit puzzled by one of its >>features. >> >>Before it performs the DFT, it asks the user to input the size, in >>samples, of the analysis blocks that it will divide the audio into for >>processing. This makes sense to me. As the size of the analysis blocks >>increase, so does the frequency resolution increase, obeying the >>relationship frequencyresolution = 1/T, where T is the length in seconds >>of the analysis block. >> >>However, the puzzling part is that if I set the size in samples of the >>analysis blocks to a value greater than the length of the audio recording >>being analyzed (in samples), resolution continues to increase. Is the >>additional information provided by increases in resolution produced by >>using analysis block sizes greater than the length of the audio recording >>meaningless/garbage? > > > As lots of people already have suggested, this is probably some sort > of zero padding. > > >>I've tried contacting Cubase's tech support department, but they're >>clueless. > > > Now, *this* is scary. In the past there have been one or two "wars" > on comp.dsp about how to interpret the output of a zero-padded DFT. > The one point that has not been debated, is what a zero-padded DFT is. > All the regulars know what a zero-padded DFT is. As far as I recall, > zero-padding was taught in the first semester of the first course > I ever took on DSP. > > One might expect that the technical support staff at a vendor who > produces and sells DSP software might know about zero-padding, too. > > Rune >