How to process a long signal? (windowing, segmentation)

5 views (last 30 days)
I'm currently doing my thesis on compressed sensing on Audio and I'm trying to create a MATLAB example for this.
This has been completed for very short signals (approx 40000 samples) and it has worked very well. What I would like to do now is to perform the same process but on a large real audio signal (wav file).
I've attempted to do this, but I keep getting out of memory errors if I try process the whole signal at once (approx 880000 samples). I've been reading in a lot of papers and they've seem to be processing audio signals in 40-60ms segments. I'm just wondering how you would implement that in MATLAB.
My compressed sensing implementation is as follows: (1) perform fourier transform on audio signal of length N using fft (2) take K random samples of the fourier transform (K << N) (3) attempt to recover the fourier transfrom from these K samples using a matlab program l1 magic (4) take inverse fourier transform to recover the original signal.
My program implements the above 4 steps and definitely works on a short signal. Is there a way to perform these steps on each of the audio segments and then somehow put it all back together?
Thanks in advance

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!