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
x
is a vector, thencqt
returns a matrix corresponding to the CQT.If
x
is a matrix, thencqt
obtains 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
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