FFT question

DSP related issues, mathematics, processing and techniques
Post Reply
Lex248
Posts: 33
Joined: Mon Aug 29, 2016 7:44 pm
Location: Russia
Contact:

FFT question

Post by Lex248 »

Hi, all.
On the picture example of work of FFT. Whether it is possible to get access to every period of a signal separately? May be convolution?
Attachments
FFT_Test.jpg
FFT_Test.jpg (61.06 KiB) Viewed 40538 times
Sorry, I bad speak english.
---
My plug-ins http://nalexsoft.blogspot.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: FFT question

Post by martinvicanek »

Lex, we need more information.
What do you mean by "access to every period of a signal separately"?
Do you want to take the Fourier Transform of one period?
Why would you want to do that?
What is the context?
Lex248
Posts: 33
Joined: Mon Aug 29, 2016 7:44 pm
Location: Russia
Contact:

Re: FFT question

Post by Lex248 »

For example, I want to make so through FFT, but standard methods don't allow to make so.
Attachments
FFT_Test_2.jpg
FFT_Test_2.jpg (48.1 KiB) Viewed 40483 times
Sorry, I bad speak english.
---
My plug-ins http://nalexsoft.blogspot.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: FFT question

Post by martinvicanek »

If the signal is as simple as in your picture, then you just need to check for zero crossings to determine the period.
It is still not obvious to me why you would need a Fourier transform to zero out one signal period. :?:
Lex248
Posts: 33
Joined: Mon Aug 29, 2016 7:44 pm
Location: Russia
Contact:

Re: FFT question

Post by Lex248 »

The signal will be not simple. I need it for improving of my plug-in "P-Filter - Positional Filter". Standard methods of processing of FFT create artifacts, wrong determination of a position. High frequencies of a signal give many uncontrollable periods. I need control over every period of each frequency of FFT image, if it is possible. It something like several thousands of band pass filters in real time.
Sorry, I bad speak english.
---
My plug-ins http://nalexsoft.blogspot.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: FFT question

Post by martinvicanek »

If I understand your concern correctly, the standard way to deal with it is windowing and overlap-add.
several thousands of band pass filters in real time

That is possible. It's what happens in my FFT vocoder plugin. if your filter is not very steep you may get away with simply multiplying the spectrum by your filter response curve and IFFT - that's it.
Lex248
Posts: 33
Joined: Mon Aug 29, 2016 7:44 pm
Location: Russia
Contact:

Re: FFT question

Post by Lex248 »

Thank you for help, Martin. I am familiar with your FFT vocoder, but to me is unclear as it works and as I can apply it in the purposes. Maybe there is a block diagram? Still you use mono4, and it is undesirable for me.
Sorry, I bad speak english.
---
My plug-ins http://nalexsoft.blogspot.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: FFT question

Post by martinvicanek »

People tend to think of an FFT representation in terms of a graphic equalizer, where you can simply multiply each bin by its corresponding slider value, then simply inverse FFT the result and that's it:
NaiveFFTFiltering.png
NaiveFFTFiltering.png (12.04 KiB) Viewed 40377 times
That might work if your filter curve is very moderate.

However, the correct way of doing it is based on linear convolution.:
CorrectFFTFiltering.png
CorrectFFTFiltering.png (12.69 KiB) Viewed 40377 times
You first IFFT your filter curve to obtain an impulse response (IR). Theen you apply a circular shift so the bulk of the IR is at the center of your frame, and apply a window function to avaid border artifacts. Then you convolve your signal with the windowed IR.
Lex248
Posts: 33
Joined: Mon Aug 29, 2016 7:44 pm
Location: Russia
Contact:

Re: FFT question

Post by Lex248 »

The problem is that I have no constant filter curve. It depends on a signal and changes according to it.
Sorry, I bad speak english.
---
My plug-ins http://nalexsoft.blogspot.com/
User avatar
martinvicanek
Posts: 1334
Joined: Sat Jun 22, 2013 8:28 pm

Re: FFT question

Post by martinvicanek »

No problem, just keep updating your IR as you go. Use overlapp and add to avoid sudden changes.
Post Reply