SLICING - Cut a signal into uniform slices with half-overlap

Usage

f_sliced = slicing(f,sl_len,tr_area,Ls)
f_sliced = slicing(f,sl_len,tr_area)

Input parameters

f Signal to be sliced
sl_len Slice length (in samples, must be even)
tr_area Length of each transition area (in samples, optional, default is \(ceil( sl\_len/16 )\) )
Ls Length of f (optional)

Output parameters

f_sliced Matrix containing the slices of f as columns
sl_len Possibly corrected slice length (in samples, even)
tr_area Possibly corrected transition area length (in samples, even)

Description

This function cuts a signal into compactly supported pieces of length sl_len using a uniform partition of unity composed of Tukey windows with plateau area \(sl\_len/2-tr\_area\) and transition areas of length tr_area. The resulting signal slices are stored in the columns of the output.

References:

N. Holighaus, M. Dörfler, G. Velasco, and T. Grill. A framework for invertible, real-time constant-q transforms. Audio, Speech, and Language Processing, IEEE Transactions on, 21(4):775-785, April 2013. [ DOI ]