How to process a long signal? (windowing, segmentation)
5 views (last 30 days)
Show older comments
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
0 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!