CQT Constant-Q non-stationary Gabor filterbank Usage: [c,Ls,g,shift,M] = cqt(f,fmin,fmax,bins,fs,M) [c,Ls,g,shift,M] = cqt(f,fmin,fmax,bins,fs) [c,Ls,g,shift] = cqt(...) [c,Ls] = cqt(...) c = cqt(...) Input parameters: f : The signal to be analyzed (For multichannel signals, input should be a matrix which each column storing a channel of the signal). fmin : Minimum frequency (in Hz) fmax : Maximum frequency (in Hz) bins : Vector consisting of the number of bins per octave fs : Sampling rate (in Hz) M : Number of time channels (optional) If M is constant, the output is converted to a matrix Output parameters: c : Transform coefficients (matrix or cell array) Ls : Original signal length (in samples) g : Cell array of Fourier transforms of the analysis windows shift : Vector of frequency shifts M : Number of time channels This function computes a constant-Q transform via non-stationary Gabor filterbanks. Given the signal f, the constant-Q parameters fmin, fmax and bins, as well as the sampling rate fs of f, the corresponding constant-Q coefficients c are given as output. For reconstruction, the length of f and the filterbank parameters can be returned also. The transform produces phase-locked coefficients in the sense that each filter is considered to be centered at 0 and the signal itself is modulated accordingly. Optional input arguments arguments can be supplied like this: cqt(f,fmin,fmax,bins,fs,'min_win',min_win) The arguments must be character strings followed by an argument: 'min_win',min_win Minimum admissible window length (in samples) 'Qvar',Qvar Bandwidth variation factor 'M_fac',M_fac Number of time channels are rounded to multiples of this 'winfun',winfun Filter prototype (see FIRWIN for available filters) 'fractional' Allow fractional shifts and bandwidths Example: -------- The following example shows analysis and synthesis with CQT and ICQT: [f,fs] = gspi; fmin = 200; fmax = fs/2; [c,Ls,g,shift,M] = cqt(f,fmin,fmax,48,fs); fr = icqt(c,g,shift,Ls); rel_err = norm(f-fr)/norm(f); plotfilterbank(c,Ls./M,[],fs,'dynrange',60); References: N. Holighaus, M. Doerfler, G. A. Velasco, and T. Grill. A framework for invertible, real-time constant-Q transforms. IEEE Transactions on Audio, Speech and Language Processing, 21(4):775 --785, 2013. G. A. Velasco, N. Holighaus, M. Doerfler, and T. Grill. Constructing an invertible constant-Q transform with non-stationary Gabor frames. Proceedings of DAFX11, 2011.
Url: http://ltfat.github.io/doc/filterbank/cqt.html
See also: icqt, firwin.
Package: ltfat