Constant-Q nonstationary Gabor transform
returns the constant-Q transform (CQT), cfs
= cqt(x
)cfs
, of the input
signal x
. The input signal must have at least four samples.
If x
is a vector, then cqt
returns a matrix corresponding to the CQT.
If x
is a matrix, then cqt
obtains the CQT for each column (independent channel) of
x
. The function returns a multidimensional
array corresponding to the maximally redundant version of the
CQT.
[
returns the frequency intervals, cfs
,f
,g
,fshifts
,fintervals
] = cqt(x
)fintervals
, corresponding the
rows of cfs
. The k
th element of
fshifts
is the frequency shift in DFT bins between the
((k-1) mod N)
and (k mod N)
element of
fintervals
with k = 0,1,2,...,N-1
where
N
is the number of frequency shifts. Because MATLAB® indexes from 1, fshifts(1)
contains the frequency
shift between fintervals{end}
and
fintervals{1}
, fshifts(2)
contains the
frequency shift between fintervals{1}
and
fintervals{2}
, and so on.
[___] = cqt(___,
returns the CQT with additional options specified by one or more
Name,Value
)Name,Value
pair arguments, using any of the preceding
syntaxes.
cqt(___)
with no output arguments plots the CQT
in the current figure. Plotting is supported for vector inputs only. If the input
signal is real and Fs
is the sampling frequency, the CQT is
plotted over the range [0,Fs/2]
. If the signal is complex, the
CQT is plotted over the range [0,Fs
).
Note
In order to visualize a sparse CQT, coefficients have to be interpolated.
When interpolation occurs, the plot can have significant smearing and be
difficult to interpret. If you want to plot the CQT, we recommend using the
default TransformType
value
'full'
.
[1] Holighaus, N., M. Dörfler, G. A. Velasco, and T. Grill. "A framework for invertible real-time constant-Q transforms." IEEE Transactions on Audio, Speech, and Language Processing. Vol. 21, No. 4, 2013, pp. 775–785.
[2] Velasco, G. A., N. Holighaus, M. Dörfler, and T. Grill. "Constructing an invertible constant-Q transform with nonstationary Gabor frames." In Proceedings of the 14th International Conference on Digital Audio Effects (DAFx-11). Paris, France: 2011.
[3] Schörkhuber, C., A. Klapuri, N. Holighaus, and M. Dörfler. "A Matlab Toolbox for Efficient Perfect Reconstruction Time-Frequency Transforms with Log-Frequency Resolution." Submitted to the AES 53rd International Conference on Semantic Audio. London, UK: 2014.
[4] Průša, Z., P. L. Søndergaard, N. Holighaus, C. Wiesmeyr, and P. Balazs. The Large Time-Frequency Analysis Toolbox 2.0. Sound, Music, and Motion, Lecture Notes in Computer Science 2014, pp 419-442.