Difference between revisions of "Wave basis.m"
(Created page with "Common basis sets for the expansion of pulse waveforms. Returns the wave- form basis functions as columns of a matrix. Syntax: basis_waves=wave_basis(basis_type,n_...") |
|||
| Line 1: | Line 1: | ||
| − | Common basis sets for the expansion of pulse waveforms. Returns the | + | {{DISPLAYTITLE:wave_basis.m}} __NOTOC__ |
| − | + | Common basis sets for the expansion of pulse waveforms. Returns the waveform basis functions as columns of a matrix. | |
| − | + | ==Syntax== | |
| − | + | basis_waves=wave_basis(basis_type,n_functions,n_steps) | |
| + | |||
| + | ==Arguments== | ||
basis_type - may be set to 'sine_waves', 'cosine_waves', | basis_type - may be set to 'sine_waves', 'cosine_waves', | ||
| Line 12: | Line 14: | ||
turns legendre polynomials in the [-1,1] in- | turns legendre polynomials in the [-1,1] in- | ||
terval. | terval. | ||
| − | + | ||
n_functions - the number of functions to return (integer | n_functions - the number of functions to return (integer | ||
frequencies starting from zero on the case | frequencies starting from zero on the case | ||
| Line 19: | Line 21: | ||
nomial ranks in the case of legendre func- | nomial ranks in the case of legendre func- | ||
tion basis set. | tion basis set. | ||
| + | |||
| + | n_points - number of discretization points. | ||
| + | |||
| + | ==Outputs== | ||
| + | |||
| + | basis_waves - a matrix with the basis waves in columns | ||
| + | |||
| + | ==Examples== | ||
| + | First three Legendre polynomials, normalised to have a unit 2-norm: | ||
| + | |||
| + | a=wave_basis('legendre',3,200); plot(a); | ||
| + | |||
| + | [[File:legendres.png]] | ||
| + | |||
| + | |||
| + | ==Notes== | ||
| + | Because the resulting waveforms are discretized, they are not precisely orthogonal under the standard scalar multiplication. An extra orthogonalization step is therefore applied to make them orthogonal as vectors. As a result, some functions may be upside-down. | ||
| + | |||
| + | ==See also== | ||
| + | [[sawtooth.m]], [[triwave.m]], [[shaped_pulse_af.m]], [[shaped_pulse_xy.m]], [[pulse_shape.m]] | ||
| − | |||
| − | + | ''Version 2.4, authors: [[Ilya Kuprov]]'' | |
Revision as of 14:43, 24 July 2019
Common basis sets for the expansion of pulse waveforms. Returns the waveform basis functions as columns of a matrix.
Syntax
basis_waves=wave_basis(basis_type,n_functions,n_steps)
Arguments
basis_type - may be set to 'sine_waves', 'cosine_waves',
and 'legendre'. The sine and the cosine op-
tions return the corresponding functions in
the [-pi,pi] interval, legendre option re-
turns legendre polynomials in the [-1,1] in-
terval.
n_functions - the number of functions to return (integer
frequencies starting from zero on the case
of cosines, integer frequencies starting
from 1 inthe case of sines, legendre poly-
nomial ranks in the case of legendre func-
tion basis set.
n_points - number of discretization points.
Outputs
basis_waves - a matrix with the basis waves in columns
Examples
First three Legendre polynomials, normalised to have a unit 2-norm:
a=wave_basis('legendre',3,200); plot(a);
Notes
Because the resulting waveforms are discretized, they are not precisely orthogonal under the standard scalar multiplication. An extra orthogonalization step is therefore applied to make them orthogonal as vectors. As a result, some functions may be upside-down.
See also
sawtooth.m, triwave.m, shaped_pulse_af.m, shaped_pulse_xy.m, pulse_shape.m
Version 2.4, authors: Ilya Kuprov
