An Observation about the Discrete Fourier Transforms

Discrete Fourier Transforms, including the Cosine Transforms, tend to have as many elements in the frequency-domain, as the sampling interval had in the time-domain.

Thus, if a sampling interval had 1024 samples, there will be as many frequency-coefficients, numbered from 0 to 1023 inclusively. One way in which these transforms differ from the FFT, is in the possibility of having a number of elements either way, that are not a power of 2. It is possible to have a discrete transform with 11 time-domain samples, that translate into as many frequency-coefficients, numbered from 0 to 10 inclusively.

If it was truly the project to compute an FFT that has one coefficient per octave, then we would include the Nyquist Frequency, which is usually not done. And in that case, we would also ask ourselves, whether the component at F=0 is best computed as the summation over the longest interval, where it would usually be computed, or whether it makes more sense then, just to fold the shortest interval, which consists of 2 samples, one more time, to arrive at 1 sample, the value of which corresponds to F=0 .

Now, if our discrete transform had the frequency-coefficients

 


G(n) = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}


 

Then the fact could be exploited that these transforms tend to act as their own inverse. Therefore I can know, that the same set of samples in the time-domain, would constitute a DC signal, which would therefore have the frequency-coefficients

 


F(n) = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}


 

If this was taken to be a convolution again, because the discrete transforms are their own inverse, it would correspond to the function

 


F(n) · S(m) == S(m)


 

We would assume that multiplication begins with element (0) and not with element (10). So I have a hint, that maybe I am on the right track. But, because the DCT has an inverse which is not exactly the same, the inverse being the IDCT, the next question I would need to investigate, is whether indeed I should be using the DCT and not the IDCT, to turn an intended set of frequency-coefficients, into a working convolution. And to answer that question, the simple thought does not suffice.

The main advantage with the DCT would be, that we will never need to deal with complex values.

Dirk

(Edit 02/26/2017 : )

According to ““, This is in fact how it is.

The Type 2 DCT, is frequently referred to as the main version, while Type 3 is the IDCT that corresponds to Type 2. The non-zero trailing values displayed in the Type 2 transform, result from round-off errors. But then, this exercise also stresses that the standard methods of normalizing each transform may not be the correct method for specific signal-processing applications, since the value in Element (0) needs to be normalized to (1.0).

Since it is not assumed that an applied convolution would be normalized at all, it follows that the normalization used to generate it, must do the job for both.

It is also my assumption that with sound-compression schemes that work in the frequency-domain – such as ‘MP3′ or ‘OGG’ – If a coefficient has been recorded as having amplitude (q), then a sine-wave or cosine-wave will be decoded, with peak amplitude (q). This affects how coefficients will not need to be encoded efficiently at high amplitudes, because then, they will also not be numerous. Numerous coefficients will eventually add up as having the sum of the amplitudes of each one, which is limited in much consumer music as 2^15 (unsigned).

So instead of normalizing the DCT in either case, by dividing by the square root of (n), one would normalize by dividing by (n).

Further, for non-zero frequencies, if we multiply identical sine-waves, we obtain an integral of (1/2), while at F=0 , we obtain an integral of (1). The normalization needs to compensate for this special behavior at F=0 .

Much of the formal Math defining Fourier Transforms does not look intimidating, because these transforms are. It is mainly the fact that the trig functions expect parameters in Radians, and that the frequency-units must match that behavior, rather than having frequency-units of Cycles / Sampling-Interval, that can make the formal definitions daunting, because then, the definitions must also include the various fractions of π .


 

Also, I feel that I should explain in slightly greater depth, why I do think that a Fourier Transform of some sort, can lead to a convolution, that filters frequencies in a stream, according to the coefficients first fed in to the transform – in a very exact way.

If we visualize two sine-waves with the same frequency, one a set of weights and the other the stream, as their relative position advances, the product is itself a sine-wave with the same frequency.

What could throw people off about the thought, of Fourier Transforms in general acting as their own inverses, has to do with the concept that if the signal consists of a single pulse, a series of sine-waves which are centered not at the time of that pulse, will form a series of products with it, which again form a sine-wave, the apparent output-frequency of which will depend on the frequency of each reference-wave, as well as depending on how much time separates the pulse from all their origins. Hence, a pulse closer to the origin will also seem to define a lower frequency, forming between the reference-waves.

The main detail of this concept to bear in mind, is that it will produce outputs that go positive and negative, just as a sine-wave is defined to go positive and negative.

If we define our interval only to consist of non-negative terms, then there will generally be a strong component in the Fourier Transform at F=0 . Wherever a sine-component or cosine-component in the Fourier Transform becomes negative, its negativity simply takes something away from the DC level. Its negative amplitude could equal the DC level, but then the amplitude of the stream which emerges, at the corresponding frequency, should also successfully become zero.

(Edit 02/28/2017 : )

Through further study I have determined that the correct version of the DCT to use, to obtain an Equalizer Function, is the Type 1, which is its own inverse.

On the side, Type 4 is also noted to be its own inverse.

 

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *

Please Prove You Are Not A Robot *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>