Editing in Freq domain and applying inverse FFT

In summary, the author has implemented a phase vocoder using an FFT routine and found that the results are smooth when windows are used.
  • #1
raminee
12
2
TL;DR Summary
How to overcome the distortions that result in editing in frequency domain before applying inverse FFT ?
Hello All,

I am somewhat familiar with FFT and iFFT and its uses.
However I have an issue when I edit in Freq domain and try to get back to time domain .

I have an audio signal in time domain that I transform to frequency domain using an FFT routine in block sizes of N points.
(in my case 256 samples)

I make some adjustments to the Real and Imaginary data based on some algorithm that I am working on.

I apply inverse FFT to get back to time domain.

I repeat this process for a number of blocks of N that forms my entire audio signal.

The resulted output audio signal has distortions mainly around the Block/Frame boundaries due to the changes that were made to the
real and imaginary samples in each Block.

How to remove block/frame boundary issues ?

Any suggestions would be helpful.

Thanks

Raminee
 
Mathematics news on Phys.org
  • #2
I have no expertise in this, but it is interesting that the MATLAB phase vocoder described here sums up the time domain results from the analysis done in the windows. I suspect that makes the transitions smooth.
 
  • #3
Thank you "FactChecker" for that info.
I have implemented the procedure as in the phase vocoder description and it works !!
THANKS AGAIN !!
Raminee
 
  • Like
Likes FactChecker
  • #4
FactChecker said:
I have no expertise in this, but it is interesting that the MATLAB phase vocoder described here sums up the time domain results from the analysis done in the windows. I suspect that makes the transitions smooth.
I agree with this and the article linked to.

You can find out more about "windowing" at Window function and for this application the Hann function would be a suitable choice. Use blocks where each block is windowed by the Hann function and overlaps each of its neighbours by 50%.
 
  • #5
I used Hamming window with 50% overlap.
Any reasons Hann function would be better ?
 
  • #6
raminee said:
I used Hamming window with 50% overlap.
Any reasons Hann function would be better ?
Hann (a.k.a. Hanning) fades all the way to zero, whereas Hamming still has a small discontinuity. As the discontinuity is small, in practice you might not notice the difference. I'd be tempted to try both and see what difference it makes.
 
  • #7
For anyone interested I tried both windows and it is very very hard to tell the difference in the outputs.
At least with the audio signals I tried they both performed equally well under subjective testing.
Thx
 

Similar threads

Replies
1
Views
1K
Replies
2
Views
2K
Replies
13
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
1K
Replies
12
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
1
Views
780
  • Differential Equations
Replies
11
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
8
Views
1K
  • Electromagnetism
Replies
3
Views
2K
  • Electrical Engineering
Replies
4
Views
935
Back
Top