Talk:Overlap–save method
![]() | Computing Unassessed | |||||||||
|
new pseudocode, Mar 5, 2014
Yes, the previous algorithm is "simple", which is a good thing. The difference is that it chooses the FFT size (N) in an optimal way, and derives the arbitrary segment length (L) accordingly. No zero-padding is necessary, so the claim "circular convolution used in it may be wrong, because we should pad zeroes in the head at initial step" is wrong and misleading. Your more-complicated algorithm, prioritizes the choice of L above the FFT size, P, (an important performance parameter). The claim that your inefficient and complicated code achieves the same result as conv(•) (as does the efficient, simple code) is not sufficient.
--Bob K (talk) 20:07, 5 March 2014 (UTC)
Dubious
The figure illustrating the overlap-save algorithm is misleading/wrong
- the vertical axis labels indicate that the signals have an offset. The mean value seems to be 1. However, the convolution result itself indicates that the signals have zero-mean. Most likely the vertical axis is wrongly labeled. The labels should 0,1,2 should be replaced by -1,0,1.
- the double arrow below the horizontal axis is misleading. The arrows should be removed or only the one pointing to the right should be shown
- the length of the segments is not clear. From the caption it seems to 100 taps, but the red portion of the upper plot indicates a different length
- it is not clear which part is overlapping from the previous segment
- the impulse response should also be shown
Sascha.spors (talk) 13:58, 16 January 2015 (UTC)
- Plot #1 (top) is labeled "X[n], with segment k=3 in red". A similar label for plot #3 would be:
- "Convolution of X3 and a lowpass filter, with Y3 shown in red. The non-red portions are the filter's discarded transient responses. Note that the rise-time response for Y1 (in plot #4) was not discarded, meaning that the filter is causal."
- That's a bit long for a label... perhaps you would like to add it to the caption.
- The vertical axes are all labeled correctly. I think that will be obvious to you, once you understand the rise and fall times.
- The traditional algorithm name (Overlap-save) is not helpful. Overlap-discard would be more helpful. But we can't re-write history.
- --Bob K (talk) 15:37, 16 January 2015 (UTC)
- Thanks. That makes things much clearer to me und the labels are indeed correct.
- Do you know what overlap was used for the computation? How long was the impulse response of the lowpass? This information put into the caption would be helpful to understand the process better.
- Sascha.spors (talk) 16:22, 16 January 2015 (UTC)
- The filter is a 16-sample boxcar.
- The script is available for inspection here: https://commons.wikimedia.org/wiki/File:Overlap-save_algorithm.png
- --Bob K (talk) 16:39, 16 January 2015 (UTC)