Questions tagged [overlap-add]

Efficient way to evaluate the discrete convolution of a very long signal with a finite impulse response (FIR) filter. The concept is to divide the problem into multiple convolutions of the impulse response of FIR filter with short segments of the very long signal.

Filter by
Sorted by
Tagged with
1 vote
1 answer
226 views

Overlap and Add/Save Inverse Short-Time Fourier transform

Edited for conciseness, please see below: Question: How does overlap and save work, in the context of array buffers? How does overlap and add work? For a specific use case involving STFT, which one is ...
HFGCS's user avatar
  • 27
1 vote
1 answer
62 views

Matrix form of Overlap-add

We know overlap-add of a en-framed signal can be done easily by following code ...
Markus Christensen's user avatar
0 votes
2 answers
1k views

FFT of signal data with windowing, overlapping and averaging

This is my first ever question here so the help is really appreciated. I am performing FFT on a signal. I want to perform windowing, 50% overlapping and averaging to the signal. There is a function <...
Anique Ahmed Khatri's user avatar
3 votes
1 answer
76 views

Analysis of PSOLA

I'm reading the original paper on PSOLA (Pitch-Synchronous Overlap-Add), and am struggling with equation (2), in which the authors analysed the effect of a simple pitch-and-time-scale modification on ...
Tim Mak's user avatar
  • 225
7 votes
0 answers
229 views

Avoid circular convolution aliasing in weighted overlap-add (WOLA) method

This link gives the procedure of implementing the WOLA method. It can be summarized briefly as windowing the extractd data frame, FFT, modify the spectrum, IFFT and overlap-add the windowed IFFT ...
ecook's user avatar
  • 369
4 votes
2 answers
663 views

How to calculate short-time fourier transform (STFT) when the window length is greater or smaller than the FFT size?

I have been trying to understand the weighted overlap-add (WOLA) method. By searching papers and posts in dsp.SE, I found that the window length can be larger and smaller than the FFT size. 1. Window ...
ecook's user avatar
  • 369
0 votes
1 answer
185 views

What means `crop` in FFT calculation?

In soapy power manual: Crop: -o PERCENT, --overlap PERCENT percent of overlap when frequency hopping (incompatible with -k) -k PERCENT, --crop PERCENT percent of crop when frequency hopping (...
kittygirl's user avatar
  • 175
1 vote
3 answers
816 views

Are there any reasons to use overlap algorithm when one could do ifft(X * Y) from the complete signal as well in similiar time complexity

We learned that overlap add and overlap save are used as fast convolution methods, because they can be applied with fft due to the formula $x[n] * y[n] = \text{IFFT}(X[k] Y[k])$ So now I was wondering ...
OuttaSpaceTime's user avatar
1 vote
0 answers
139 views

Strong vs weak COLA (constant overlap-add)

My question is on the aliasing cancellation of the OLA method when spectral modification is involved. The book related to this question is given by this link. As stated by the webpage, for weak COLA ...
ecook's user avatar
  • 369
2 votes
3 answers
2k views

Intuitive understanding of how 'overlap save' works in contrast to 'overlap add'

I am having a hard time to grasp how overlap save is exactly working in contrast to overlap add. The starting of both procedure seem pretty similar. Both algorithms are trimming the input series $x[k]$...
OuttaSpaceTime's user avatar
0 votes
0 answers
135 views

Reconstructing signal from frames

Edit: Please treat code here as python-esque pseudo-code; it would syntactically fall closest to MATLAB or Python+numpy+scipy users. If I have a signal in frames, and I want to put it back together - ...
Aditya TB's user avatar
  • 129
1 vote
1 answer
900 views

Frequency Domain Equivalent to Zero-Phase Filtering (`filtfilt`)

Related to this question by @Molem7b5, what would be the frequency domain equivalent (filter implementation through overlap-add of DFT's) for a zero-phase filter as implemented with MATLAB/Octave/...
Dan Boschen's user avatar
  • 48.9k
4 votes
3 answers
2k views

Is PSOLA or WSOLA better for vocal stretching/retuning?

I'm looking to implement a time-domain pitch modification algorithm such as PSOLA (Pitch Synchronous Overlap and Add) or WSOLA (Waveform Similarity Overlap and Add). At the moment I'm using PSOLA, but ...
MysteryPancake's user avatar
1 vote
1 answer
1k views

WOLA vs Simple Hamming Window on signal before FFT

Im working on a project in which I should FFT a signal coming into my FPGA from ADC. I want my FFT to show the peak values as clear as possible without the side lobes. The solution should be straight ...
Michael Rahav's user avatar
0 votes
1 answer
310 views

Using overlap add for drawing spectrogram

I'm confused with overlap-add (OLA) in the following two scenarios filtering/convolution an input signal; applying an STFT on input signal only and draw its spectrogram. When applying OLA to ...
kakyo's user avatar
  • 103
2 votes
2 answers
1k views

Advantage of applying a Window Function in Analysis and Synthesis of STFT?

I'm studying Short-time Fourier Transform and I learned that if you apply a windowing other than rectangular, you need to overlap the frames---for example, 50% overlap for Hamming family---to ...
micropyre's user avatar
  • 161
1 vote
0 answers
353 views

Cannot reconstruct constant overlap add STFT perfectly

I am implementing an STFT function for spectrogram of certain audio files. Here's my function: ...
Iloveece's user avatar
2 votes
1 answer
443 views

How do I pick an optimal window size for overlap add/save method algorithmically

Currently I've implemented an overlap-add method using resources on the internet, but I couldn't find a well documented way to minimize the cost of the method. In other words, how do I pick the window ...
Ocelot's user avatar
  • 121
4 votes
1 answer
913 views

Overlap Add - which length to use?

I am doing realtime audio. Let's say I have a signal $x(n)$ which is passed in blocks of 512 (siobuffer) to the program filter/FFT method. Within this block I want to convolve the signal with the ...
f.f's user avatar
  • 81
1 vote
2 answers
757 views

Overlapping in real time fourier transform?

I have an algorithm and I need to record audio and perform short time Fourier transform to obtain which frequency is the most common. I am using a Hanning window to try and reduce spectral leakage as ...
suyol854's user avatar
  • 173
1 vote
1 answer
2k views

Overlap/add time-domain audio frames: How does normalization/scaling work with overlap greater than 50%?

I am attempting to overlap-add time-domain audio frames in a real-time context (with a continuous stream of data coming-in). Each frames consist of 1024 samples and have been previously "Hann" ...
Darius Petermann's user avatar
1 vote
0 answers
216 views

Can Reassigned-STFT be an invertible transform? Algorithm for "Signal => Reassigned-STFT => masking => Reassigned-ISTFT => Output signal"

It is well known in DSP that this is a successful method to modify audio signals: Signal => STFT => masking => ISTFT => Output signal For example, ...
g6kxjv1ozn's user avatar
1 vote
1 answer
233 views

Perform overlap add with available FFT size smaller than filter coefficients

I would like to process 12 to 20 seconds of incoming audio at a sample rate of 44100. I must process this audio in real time in an STM embedded kit (perhaps also an Android Smartphone). I'm trying to ...
VMMF's user avatar
  • 1,078
1 vote
2 answers
1k views

Linear Convolution in DSP and Hann window

My understanding is that when dealing with discrete finite sequences, convolution done thru FFT is circular. To obtain linear convolution, one would pad the input with zeros up some appropriate length....
Ong Beng Seong's user avatar
0 votes
1 answer
727 views

Spectral Subtraction python implementation error

I am trying to implement Spectral subtraction in python. I am new to DSP. I used this article as reference and below code is what I can come up with. Of course I did not get the expected output. I ...
Shyam's user avatar
  • 11
0 votes
2 answers
114 views

How to detect a long signal inside an even longer one?

I'm trying to detect a long pattern inside a long recorded audio. In order to do so I am implementing a matched filter in time by performing a FIR filtering using the coefficients of my pattern ...
VMMF's user avatar
  • 1,078