I understand that we can use the
buffer function in matlab to split a long signal into overlapping frames. But is there any functions that we can use to put the frames back to reconstruct the signal?
Here's my current code in Matlab
n = 0.1:0.1:100; y = sin(n*pi*0.5)'; Nw = 100; % window length Nh = 25; % hop size Y = buffer(y,Nw,Nw-Nh, 'nodelay'); % Y is the matrix containing the overlapping frames
What I want to do next is to use Y to reconstruct the original signal y. Something like this
yNew = unbuffer(Y, Nw, Nw-Nh)
Of course there is no such function as
unbuffer, not that I've known of. So my question is, is there any function available to do the job of
The situation is similar to this question here: https://www.reddit.com/r/matlab/comments/361y9w/reverse_buffer_function/, which was 5 years ago and still received no answers.