If you have a problem or need to report a bug please email : support@dsprobotics.com
There are 3 sections to this support area:
DOWNLOADS: access to product manuals, support files and drivers
HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects
USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here
NEW REGISTRATIONS - please contact us if you wish to register on the forum
Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright
FFT question
10 posts
• Page 1 of 1
FFT question
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?
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 (61.06 KiB) Viewed 36614 times
- Lex248
- Posts: 33
- Joined: Mon Aug 29, 2016 7:44 pm
- Location: Russia
Re: FFT question
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?
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?
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: FFT question
For example, I want to make so through FFT, but standard methods don't allow to make so.
- Attachments
-
- FFT_Test_2.jpg (48.1 KiB) Viewed 36559 times
- Lex248
- Posts: 33
- Joined: Mon Aug 29, 2016 7:44 pm
- Location: Russia
Re: FFT question
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.
It is still not obvious to me why you would need a Fourier transform to zero out one signal period.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: FFT question
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.
- Lex248
- Posts: 33
- Joined: Mon Aug 29, 2016 7:44 pm
- Location: Russia
Re: FFT question
If I understand your concern correctly, the standard way to deal with it is windowing and overlap-add.
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.
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.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: FFT question
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.
- Lex248
- Posts: 33
- Joined: Mon Aug 29, 2016 7:44 pm
- Location: Russia
Re: FFT question
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:
That might work if your filter curve is very moderate.
However, the correct way of doing it is based on linear convolution.:
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.
That might work if your filter curve is very moderate.
However, the correct way of doing it is based on linear convolution.:
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.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: FFT question
The problem is that I have no constant filter curve. It depends on a signal and changes according to it.
- Lex248
- Posts: 33
- Joined: Mon Aug 29, 2016 7:44 pm
- Location: Russia
Re: FFT question
No problem, just keep updating your IR as you go. Use overlapp and add to avoid sudden changes.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
10 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 68 guests