Programmer Guide/Command Reference/EVAL/ifft: Difference between revisions
From STX Wiki
< Programmer Guide | Command Reference | EVAL
Jump to navigationJump to search
No edit summary |
No edit summary |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
;Usage:<code>ifft(<var>x</var>, {, <var>xtype</var>, <var>poffset</var>, <var>prange</var>})</code> | ;Usage:<code>ifft(<var>x</var>, {, <var>xtype</var>, <var>poffset</var>, <var>prange</var>})</code> | ||
:;<var>x</var>: complex spectrum vector or matrix; if ''x'' is a matrix an inverse transform is computed for each column | :;<var>x</var>: complex spectrum vector or matrix; if ''x'' is a matrix an inverse transform is computed for each column | ||
:*The spectra stored in ''x'' must be the 1st half of conj. sym. spectra, because a <code>complex | ::*The spectra stored in ''x'' must be the 1st half of conj. sym. spectra, because a <code>complex→real</code> version of the inverse transformation is used and the results are real numbered signals. | ||
:*Each spectrum consists of <code>N=nrow(''x'')/2</code> complex values. The transformation length is set to <code>L=2*(N-1)</code> | ::*Each spectrum consists of <code>N=nrow(''x'')/2</code> complex values. The transformation length is set to <code>L=2*(N-1)</code> | ||
:*If the transformation length <code>L</code> is a power of 2 (<code>L=2^M<code>), the inverse '''fft''' algorithm is used, otherwise the inverse '''dft''' is used. | ::*If the transformation length <code>L</code> is a power of 2 (<code>L=2^M</code>), the inverse '''fft''' algorithm is used, otherwise the inverse '''dft''' is used. | ||
:;<var>xtype</var>: select the complex number format of ''x'' (default=0) | :;<var>xtype</var>: select the complex number format of ''x'' (default=0) | ||
:::{|class="keinrahmen" | :::{|class="keinrahmen" | ||
|''xtype''='''0''' || | |''xtype''='''0''' ||→ cartesian <code>{ re, im, .. }</code> | ||
|- | |- | ||
|otherwise || | |otherwise ||→ polar <code>{ amp, phase, .. }</code> | ||
|} | |} | ||
:;<var>poffset</var>: offset in samples to the signal begin or the selected ''zero phase'' position (default=0) | :;<var>poffset</var>: offset in samples to the signal begin or the selected ''zero phase'' position (default=0); If this value is not equal 0, the phase values stored in ''x'' are '''locked''' (see [[../fft|fft]]) and must be transformed to '''normal''' phase values before the inverse ft-transform is performed. | ||
:;<var>prange</var>: selects the range of phase values stored in ''x'' (default=0) | :;<var>prange</var>: selects the range of phase values stored in ''x'' (default=0) | ||
:::{|class="keinrahmen" | :::{|class="keinrahmen" | ||
|''prange''='''0'' || | |''prange''='''0''' ||→ <code>0 ≤ phase[i] < 2*pi</code> | ||
|- | |- | ||
|otherwise || | |otherwise ||→ <code>-pi ≤ phase[i] < pi</code> | ||
|} | |} | ||
:*The arguments ''poffset'' and ''prange'' are ignored if ''xtype'' equals '''0''' (''x'' in cartesian format). | :*The arguments ''poffset'' and ''prange'' are ignored if ''xtype'' equals '''0''' (''x'' in cartesian format). | ||
;Result | ;Result: A matrix ''y'' with [[../ncol|ncol(''x'')]] columns, where each column ''y''[*,j] contains the result of the inverse transform (the real valued signal) of the column ''x''[*,j]. Each signal vector ''y''[*,j] consists of <code>L</code> (real) samples. | ||
;See also: [[ | ;See also: [[../fft|fft]], [[../dft|dft]], [[../dct|dct]], [[../cepstrum|cepstrum]], [[../lpc|lpc]], [[../complex arithmetic|complex arithmetic]] | ||
[[ | [[../#Functions|<function list>]] |
Latest revision as of 10:56, 21 April 2011
Compute the inverse discrete fourier transform of a (conj. sym.) complex spectrum using the inverse fft or dft algorithm.
- Usage
ifft(x, {, xtype, poffset, prange})
- x
- complex spectrum vector or matrix; if x is a matrix an inverse transform is computed for each column
- The spectra stored in x must be the 1st half of conj. sym. spectra, because a
complex→real
version of the inverse transformation is used and the results are real numbered signals. - Each spectrum consists of
N=nrow(x)/2
complex values. The transformation length is set toL=2*(N-1)
- If the transformation length
L
is a power of 2 (L=2^M
), the inverse fft algorithm is used, otherwise the inverse dft is used.
- The spectra stored in x must be the 1st half of conj. sym. spectra, because a
- xtype
- select the complex number format of x (default=0)
xtype=0 → cartesian { re, im, .. }
otherwise → polar { amp, phase, .. }
- poffset
- offset in samples to the signal begin or the selected zero phase position (default=0); If this value is not equal 0, the phase values stored in x are locked (see fft) and must be transformed to normal phase values before the inverse ft-transform is performed.
- prange
- selects the range of phase values stored in x (default=0)
prange=0 → 0 ≤ phase[i] < 2*pi
otherwise → -pi ≤ phase[i] < pi
- The arguments poffset and prange are ignored if xtype equals 0 (x in cartesian format).