Programmer Guide/Command Reference/EVAL/dct: Difference between revisions

From STX Wiki
Jump to navigationJump to search
(initial import)
 
No edit summary
 
(14 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
=====dct=====
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>
:;<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>dir</var>:the direction of the dct (default=0)
:::{|class="keinrahmen"
|''dir''='''0''' ||&rarr; forward dct
|-
|otherwise ||&rarr; 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>.
:{|class="einrahmen"
!''dir'' !! ''x'' !! ''n'' !! dct-<BR>length !! ''y'' !! nrow(''y'') !! description
|-
|'''0'''
|data samples
|<code>0<''n''&le;NX</code>
|NX
|dct coefficients
|''n''
|forward dct; if ''n''<NX only the first ''n'' coefficients are computed
|-
|'''1'''
|dct coefficients
|<code>0<''n''&le;NX</code>
|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
|<code>''n''>NX</code>
|''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)
|}
;See also: [[../fft|fft]], [[../ifft|ifft]], [[../dft|dft]], [[../cepstrum|cepstrum]], [[../lpc|lpc]]


Discrete Cosine Transform.
[[../#Functions|<function list>]]
 
=====Usage:=====
 
<code>dct(<var>x</var> {, n {, 0}})</code>
 
=====Function:=====
 
Computes the discrete cosine transform of <var>x</var>. <var>n</var> must be in the range <code>1..nrow(</code><var>x</var><code>)</code>. The default is <var>n</var> <code>= nrow(</code><var>x</var><code>)</code>.
 
=====Result:=====
 
A vector containing the first <var>n</var> dct coefficients.
 
=====Usage:=====
 
<code>dct(<var>x</var>, n, 1)</code>
 
=====Function:=====
 
Computes the inverse dct of <var>x</var>.
 
If <var>n</var> <code><= nrow(</code><var>x</var><code>)</code>:
 
Only the first <var>n</var> coefficients of <var>x</var> are used, the others are set to <code>0</code>. Output length = <code>nrow(</code><var>x</var><code>)</code>.
 
If <var>n</var> <code>> nrow(</code><var>x</var><code>)</code>:
 
<var>x</var> is expanded with zeros to <var>n</var> elements.
 
=====Result:=====
 
A vector containing the inverse dct.

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-
length
y 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)
See also
fft, ifft, dft, cepstrum, lpc

<function list>

Navigation menu

Personal tools