PHERM Periodized Hermite function
Usage: g=pherm(L,order);
g=pherm(L,order,tfr);
[g,D]=pherm(...);
Input parameters:
L : Length of vector.
order : Order of Hermite function.
tfr : ratio between time and frequency support.
Output parameters:
g : The periodized Hermite function
PHERM(L,order,tfr) computes samples of a periodized Hermite function
of order order. order is counted from 0, so the zero'th order
Hermite function is the Gaussian.
The parameter tfr determines the ratio between the effective support
of g and the effective support of the DFT of g. If tfr>1 then g*
has a wider support than the DFT of g.
PHERM(L,order) does the same setting tfr=1.
If order is a vector, PHERM will return a matrix, where each column
is a Hermite function with the corresponding order.
[g,D]=PHERM(...) also returns the eigenvalues D of the Discrete
Fourier Transform corresponding to the Hermite functions.
The returned functions are eigenvectors of the DFT. The Hermite
functions are orthogonal to all other Hermite functions with a
different eigenvalue, but eigenvectors with the same eigenvalue are
not orthogonal (but see the flags below).
PHERM takes the following flags at the end of the line of input
arguments:
'accurate' Use a numerically very accurate that computes each
Hermite function individually. This is the default.
'fast' Use a less accurate algorithm that calculates all the
Hermite up to a given order at once.
'noorth' No orthonormalization of the Hermite functions. This is
the default.
'polar' Orthonormalization of the Hermite functions using the
polar decomposition orthonormalization method.
'qr' Orthonormalization of the Hermite functions using the
Gram-Schmidt orthonormalization method (usign qr).
If you just need to compute a single Hermite function, there is no
speed difference between the 'accurate' and 'fast' algorithm.
Examples:
---------
The following plot shows the spectrograms of 4 Hermite functions of
length 200 with order 1, 10, 100, and 190:
subplot(2,2,1);
sgram(pherm(200,1),'nf','tc','lin','nocolorbar'); axis('square');
subplot(2,2,2);
sgram(pherm(200,10),'nf','tc','lin','nocolorbar'); axis('square');
subplot(2,2,3);
sgram(pherm(200,100),'nf','tc','lin','nocolorbar'); axis('square');
subplot(2,2,4);
sgram(pherm(200,190),'nf','tc','lin','nocolorbar'); axis('square');
Url: http://ltfat.github.io/doc/fourier/pherm.html
See also: hermbasis, pgauss, psech.
Package: ltfat