FFT for quick, educational demonstration?

DSP, Plug-in and Host development discussion.
perpetual3
KVRist
488 posts since 28 Sep, 2012

Post Sat Apr 07, 2018 6:30 am

Hello!

I have to give a presentation on FFT for my advanced algorithms class. Even though the class consists of many intelligent students, I’ve become aware from my team members that despite begin able to grasp the mathematics behind the discrete Fourier Transform (the butterfly computation) and how to describe a high level basic FFT algorithm (divide and conquer, scalar multiplication, inverse transform), many also do not really understand what it means when high level descriptions say that DFT transforms the time and space domain into the frequency and phase domain.

This is important for my presentation because it means that Fourier transforms, by themselves, cannot provide statistical inferences for the entire data set for time series data. I’ll be concluding my presentation with a high level description of an algorithm (developed by MIT, not me) with a unified frame work to provide these kind of statistical inferences.

So, I wanted to start the presentation with an example of how FFT works to transform sound because from my understanding the time domain of the sin wave is essentially infinity, and hence this illustrates how FFT restricts its output to frequency and phase domain.

I’m reaching out to the KVR community in case anyone knows of a preferable free and open source software or plugin which can quickly and educationally illustrate the above mentioned phenomena. I personally do not use FFT in my personal, amateur music production and sound design, and the products I looked at are either commercial, overkill, or not intuitive to grasp what’s happening (or at least I presume it would not be intuitive).

Pardon any misunderstandings on my part - I’m just learning DFT/FFT myself.

Thank you!

mystran
KVRAF
5033 posts since 12 Feb, 2006 from Helsinki, Finland

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 7:08 am

perpetual3 wrote: So, I wanted to start the presentation with an example of how FFT works to transform sound because from my understanding the time domain of the sin wave is essentially infinity, and hence this illustrates how FFT restricts its output to frequency and phase domain.
It's hard to say what you actually want, because FFT as such does NOT transform sound at all. It simply converts a signal from one representation to another, from time domain to spectral domain or the other way around.

While this can be used for all kinds of things, from spectrum analysis to fast convolution to more complicated spectral processing, the FFT itself doesn't really do anything to the signal at all, it just changes it's representation. For all practical purposes, it is simply a mathematical operation used to implement actual signal processing, just like addition and multiplication.
If you'd like Signaldust to return, please ask Katinka Tuisku to resign.

stratum
KVRAF
2114 posts since 29 May, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 7:13 am

... many also do not really understand what it means when high level descriptions say that DFT transforms the time and space domain into the frequency and phase domain.
Hmm, a teacher asking us how to teach FFT/DFT.
We had a thread about the Fourier Transform some time ago. The conclusion was that it wasn't possible to understand it without first understanding Integral transforms in general and why they work at all.
~stratum~

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 7:35 am

FFT transforms time and space domain into frequency in phase using the butterfly computation, which is equivalent to four real multiplications and 6 real additions. I understand that.

But take a plugin like Spectral Conquest http://www.expert-sleepers.co.uk/spectralconquest.html

Clearly, by modifying the frequency bands, the sound is transformed in a manner different than cutting the frequency band with a eq.

So, I stand corrected, that FFT doesn’t transform sound itself, but the representation of the domain by which you can do things to sound. And I am looking for a plugin or software which easily shows how this transformation does not include information about the time domain.

Again, I’m just learning this now, and I personally have no experience using FFT DSP, but in the context of audio DSP, an obvious application of FFT is to transform the sound in a manner like Spectral Conquest.

I actually just found this plugin - https://rekkerd.org/dtblkfx/.

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 7:36 am

stratum wrote:
... many also do not really understand what it means when high level descriptions say that DFT transforms the time and space domain into the frequency and phase domain.
Hmm, a teacher asking us how to teach FFT/DFT.
We had a thread about the Fourier Transform some time ago. The conclusion was that it wasn't possible to understand it without first understanding Integral transforms in general and why they work at all.
I’m not a teacher . I’m a STUDENT. I just started learning about FFT one week ago....

We are to present on a topic covered in class and my team has chosen FFT, which is an implementation of discrete Fourier transform, which does not rely on integrals.

Based on their feedback as well as those from other students in the class, while they understand the mathematics in so far as the butterfly computations, roots of unity and the special properties of those complex numbers, I’m looking for an example that illustrates how the resulting transform does not include information about the time domain, and only frequency.

Something that can trigger an aha moment. In the context of a PowerPoint presentation...

stratum
KVRAF
2114 posts since 29 May, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 7:50 am

perpetual3 wrote: Based on their feedback as well as those from other students in the class, while they understand the mathematics in so far as the butterfly computations, roots of unity and the special properties of those complex numbers, I’m looking for an example that illustrates how the resulting transform does not include information about the time domain, and only frequency.
The math you are concerned with is the one of the implementation which is a particular algorithm to compute DFT. It's not conceptually relevant, that's why it isn't helpful. You should begin here https://en.wikipedia.org/wiki/Integral_transform instead. You will see that the idea relies on the fact that the integration of the multiplication of so call 'orthogonal functions' over their domain is zero. Have a look at this https://en.wikipedia.org/wiki/Orthogonal_functions and this https://en.wikipedia.org/wiki/Orthonormal_basis and https://en.wikipedia.org/wiki/DFT_matrix

p.s. also notice that the same multiplicaiton formula is a measurement of similarity between vectors https://en.wikipedia.org/wiki/Dot_product
~stratum~

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 8:07 am

We covered the DFT matrix in class.

From my understanding, the integral transform is relèvent for the continuous Fourier Transform. Here, we are discussing discrete. It seems somewhat clear that the butterfly operations transform one domain to the other in DFT.

Again I’m looking for an example using sound which illustrates that the transform is a function of frequency. I only have ten minutes to make my presentation so everything must be very high level.

Thank you for your help, I wouldn’t even be asking here if I didn’t have final exams on Monday and the presentation on Wednesday.
Last edited by perpetual3 on Sat Apr 07, 2018 8:11 am, edited 1 time in total.

stratum
KVRAF
2114 posts since 29 May, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 8:11 am

I’m looking for an example using sound which illustrates that the transform is a function of frequency. I only have ten minutes to make my presentation so everything must be very high level.
I guess the education system fails for reasons like that in general. You know it's not necessary to explain this stuff properly, it's adequate to pretend to explain so that the students can feel themself stupid and its their fault that they have failed to understand.

So it's a waste of time.
~stratum~

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 8:44 am

Well, the class simply too large because the university accepts large amounts of students from India and China in order to make money. So you are not wrong, that this imposes time contraints when it comes to being able to present information. Hence, why I was looking for a free FFT application that made it quick and intuitive to grasp that DFT and Fourier Transform in general is a function of frequency and contains no time information. This is critical to lead into the conclusion of the presentation.

I know that the students in my group did not grasp this from the butterfly operations and algorithm because they had an aha moment when I showed them the YouTube video of Expert Sleepers Spectral Conquest. But it’s not free... and since I personally do not use FFT effects in my own musical work, I’m hesitant to spend my little disposable income on an effect I’m not inclined to use beyond this presentation.

Anyways thanks for your feedback and input.

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 8:45 am

stratum wrote:
I’m looking for an example using sound which illustrates that the transform is a function of frequency. I only have ten minutes to make my presentation so everything must be very high level.
I guess the education system fails for reasons like that in general. You know it's not necessary to explain this stuff properly, it's adequate to pretend to explain so that the students can feel themself stupid and its their fault that they have failed to understand.

So it's a waste of time.
And again, I’m the student giving a presentation. I can’t adequately explain. I must present high level, for better or for worse.

stratum
KVRAF
2114 posts since 29 May, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 8:48 am

And again, I’m the student giving a presentation. I can’t adequately explain. I must present high level, for better or for worse.
The highest level explanation is that Fourier transform is a change in basis functions. That's true for both continuous and discrete versions. The continious version uses infinite length vectors, and that doesn't make a conceptual difference. If you measure the correlation of a vector with a particular set of orthonormal basis vectors then you achieve a transformation which can be visualized as a basis change. Another way of saying this is that it's a change in representation as mystran also points out.
~stratum~

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 9:25 am

Yes, I understand what you saying. I understand that it is a change in representation. Thank you.

My goal is to provide a way to demonstrate that this transformed representation lack time information.

What I’m looking for is a plugin which operates on a sound that can provide an example that Fourier is a function of frequency and that the transform has no time information.

I’m looking for such an example because this property is critical to explain that Fourier based Spectral methods cannot offer a statistical inference framework that applies to the entire time series, viz, cannot provide time domain estimates (only a local estimate of data features).

I’m looking for a plugin or program to do this with a sound file to demonstrate this property quickly and intuitively, so that other students have a better chance at grasping this property and understand why Fourier based Spectral methods cannot provide a statistical inference network over the entire time series.

Thank you so much for your time and high level description.

stratum
KVRAF
2114 posts since 29 May, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 9:40 am

Well, just download Voxengo span. X axis is frequency and Y axis is amplitude (perhaps power) and that's it. There is no time information other than the fact that the result was obtained using short time fourier transform, so it's about the current time window that is being analysed. It's not exactly FFT though (it seems to show the data in a way that would be more useful to a musician), so perhaps you can find a better one for your purpose.
~stratum~

perpetual3
KVRist
488 posts since 28 Sep, 2012

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 9:43 am

stratum wrote:Well, just download Voxengo span. X axis is frequency and Y axis is amplitude (perhaps power) and that's it. There is no time information other than the fact that the result was obtained using short time fourier transform, so it's about the current time window that is being analysed. It's not exactly FFT though (it seems to show the data in a way that would be more useful to a musician), so perhaps you can find a better one for your purpose.
Thank you. I was unaware of those plugins.

User avatar
syntonica
KVRist
442 posts since 25 Sep, 2014 from Specific Northwest

Re: FFT for quick, educational demonstration?

Post Sat Apr 07, 2018 9:57 am

In ten minutes, you'll just have to show a waveform vs fft and say: time, frequency. That original plugin you mentioned would be perfect if you can freeze the display to show a snapshot against the wave display in the track playing. What's confusing about fft is that it's windowed vs a single point in time. I'm still wrapping my head around that...

Math for me tends to be easy, but without concrete definitions of time, space, frequency, spectrum, etc., I just don't know what it all that fft stuff means. Want to send me into a rage? Start talking about light wavicles. ;)

Return to “DSP and Plug-in Development”