Programmer Guide/Command Reference/EVAL/dct: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
No edit summary |
No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:{{SUBPAGENAME}}}} | {{DISPLAYTITLE:{{SUBPAGENAME}}}} | ||
Compute the forward or inverce '''discrete cosine transform''' (dct) of the input vector ''x''. This function was implemented for the computation of the MFCC (mel-cepstrum coefficients) | Compute the forward or inverce '''discrete cosine transform''' (dct) of the input vector ''x''. This function was implemented for the computation of the MFCC (mel-cepstrum coefficients). | ||
;Usage:<code>dct(<var>x</var> {, <var>n</var> {, <var>dir</var>)</code> | ;Usage:<code>dct(<var>x</var> {, <var>n</var> {, <var>dir</var>)</code> | ||
:;<var>x</var>the data vector | :;<var>x</var>:the data or coefficient vector | ||
:;<var>n</var>:the number of dct coefficients to compute or to use (default=<code>nrow(''x'')</code>); the meaning of this argument depends on the value of ''dir'' | :;<var>n</var>:the number of dct coefficients to compute or to use (default=<code>nrow(''x'')</code>); the meaning of this argument depends on the value of ''dir'' | ||
:;<var>dir</var>:the direction of the dct (default=0) | :;<var>dir</var>:the direction of the dct (default=0) | ||
:::{|class="keinrahmen" | :::{|class="keinrahmen" | ||
|''dir''='''0''' || | |''dir''='''0''' ||→ forward dct | ||
|- | |- | ||
|otherwise || | |otherwise ||→ inverse (or backward) dct | ||
|} | |} | ||
;Result: A vector ''y'' containing the result of the transformation. In the following table NX is equal to <code>nrow(''x'')</code> | ;Result: A vector ''y'' containing the result of the transformation. In the following table NX is equal to <code>nrow(''x'')</code>. | ||
:{|class="einrahmen" | :{|class="einrahmen" | ||
!''dir'' !! ''x'' !! ''n'' !! dct-<BR>length !! ''y'' !! nrow(''y'') !! description | !''dir'' !! ''x'' !! ''n'' !! dct-<BR>length !! ''y'' !! nrow(''y'') !! description | ||
Line 16: | Line 16: | ||
|'''0''' | |'''0''' | ||
|data samples | |data samples | ||
|<code>0<''n'' | |<code>0<''n''≤NX</code> | ||
|NX | |NX | ||
|dct coefficients | |dct coefficients | ||
Line 24: | Line 24: | ||
|'''1''' | |'''1''' | ||
|dct coefficients | |dct coefficients | ||
|<code>0<''n'' | |<code>0<''n''≤NX</code> | ||
|NX | |NX | ||
|data samples | |data samples | ||
|NX | |NX | ||
|inverse dct; if ''n''<NX only the first ''n'' coefficients of ''x'' are used (smoothing or liftering) | |inverse dct; if ''n''<NX only the first ''n'' coefficients of ''x'' are used, all other are set to 0 (smoothing or liftering) | ||
|- | |- | ||
|'''1''' | |'''1''' | ||
Line 38: | Line 38: | ||
|inverse dct; the vector ''x'' is expanded with zeros to length ''n'' and the inverse transform is applied to the expanded vector (smoothing or liftering) | |inverse dct; the vector ''x'' is expanded with zeros to length ''n'' and the inverse transform is applied to the expanded vector (smoothing or liftering) | ||
|} | |} | ||
;See also: [[ | ;See also: [[../fft|fft]], [[../ifft|ifft]], [[../dft|dft]], [[../cepstrum|cepstrum]], [[../lpc|lpc]] | ||
[[ | [[../#Functions|<function list>]] |
Latest revision as of 19:24, 21 April 2011
Compute the forward or inverce discrete cosine transform (dct) of the input vector x. This function was implemented for the computation of the MFCC (mel-cepstrum coefficients).
- Usage
dct(x {, n {, dir)
- x
- the data or coefficient vector
- n
- the number of dct coefficients to compute or to use (default=
nrow(x)
); the meaning of this argument depends on the value of dir - dir
- the direction of the dct (default=0)
dir=0 → forward dct otherwise → inverse (or backward) dct
- Result
- A vector y containing the result of the transformation. In the following table NX is equal to
nrow(x)
.
dir x n dct-
lengthy nrow(y) description 0 data samples 0<n≤NX
NX dct coefficients n forward dct; if n<NX only the first n coefficients are computed 1 dct coefficients 0<n≤NX
NX data samples NX inverse dct; if n<NX only the first n coefficients of x are used, all other are set to 0 (smoothing or liftering) 1 dct coefficients n>NX
n data samples n inverse dct; the vector x is expanded with zeros to length n and the inverse transform is applied to the expanded vector (smoothing or liftering)