cqt
Constant-Q nonstationary Gabor transform
Syntax
Description
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
xis a vector, thencqtreturns a matrix corresponding to the CQT.If
xis a matrix, thencqtobtains the CQT for each column (independent channel) ofx. 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 kth 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'.
Examples
Input Arguments
Name-Value Arguments
Output Arguments
Algorithms
References
[1] Jaillet, Florent. “Représentation et traitement temps-fréquence des signaux audionumériques pour des applications de design sonore.” Ph.D. dissertation, Université de la Méditerranée, Aix-Marseille II, 2005.
[2] Balazs, P., M. Dörfler, F. Jaillet, N. Holighaus, and G. Velasco. “Theory, Implementation and Applications of Nonstationary Gabor Frames.” Journal of Computational and Applied Mathematics 236, no. 6 (October 2011): 1481–96. https://doi.org/10.1016/j.cam.2011.09.011.
[3] Holighaus, Nicki, 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 21, no. 4 (April 2013): 775–85. https://doi.org/10.1109/TASL.2012.2234114.
[4] 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.
[5] 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.
[6] 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.
Extended Capabilities
Version History
Introduced in R2018a


![Figure contains an axes object. The axes object with title Gabor Frame Interval (Hz): [3889.89, 4302.11], xlabel Frequency (Hz), ylabel Magnitude contains 3 objects of type line.](../../examples/wavelet/win64/VisualizeAndApplyConstantQTransformGaborFramesExample_02.png)

