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
 

FAQ: Editing in Freq domain and applying inverse FFT

What is the frequency domain in signal processing?

The frequency domain is a representation of a signal or a function in terms of its frequency components rather than time. It is obtained through the Fourier Transform, which decomposes a signal into its constituent frequencies. This representation is useful for analyzing the frequency characteristics of signals, such as identifying dominant frequencies, filtering, and modifying signals.

What is the purpose of editing in the frequency domain?

Editing in the frequency domain allows for more precise manipulation of specific frequency components of a signal. This can involve filtering out unwanted noise, enhancing certain frequencies, or modifying the spectral characteristics of a signal without affecting its time-domain representation directly. This approach is particularly useful in applications like audio processing, image processing, and communications.

How do you perform inverse FFT after editing in the frequency domain?

After making the desired edits to the frequency components of a signal, the inverse Fast Fourier Transform (IFFT) is applied to convert the modified frequency representation back to the time domain. This process involves using the same algorithm as the FFT but in reverse, effectively reconstructing the time-domain signal from its altered frequency components.

What are common techniques for editing signals in the frequency domain?

Common techniques for editing signals in the frequency domain include filtering (such as low-pass, high-pass, band-pass, and band-stop filters), spectral subtraction (for noise reduction), frequency domain equalization, and pitch shifting. These techniques allow for targeted modifications to the signal's frequency content, enhancing or suppressing specific frequencies as needed.

What are the limitations of editing in the frequency domain?

Editing in the frequency domain can introduce artifacts, especially if the modifications are drastic or if the signal has a complex structure. Additionally, the choice of windowing and the resolution of the FFT can affect the quality of the results. Furthermore, certain time-domain features may be lost during the transformation, and care must be taken to ensure that the edited signal retains its desired characteristics after applying the inverse FFT.

Similar threads

Back
Top