Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Fourier basis functions for tunable gain surface

You use basis function expansions to parameterize gain surfaces for tuning
gain-scheduled controllers. `fourierBasis`

generates periodic Fourier
series expansions for parameterizing gain surfaces that depend periodically on the
scheduling variables, such as a gain that varies with angular position. Use the output
of `fourierBasis`

to create tunable gain surfaces with
`tunableSurface`

.

`shapefcn = fourierBasis(N)`

`shapefcn = fourierBasis(N,nvars)`

`shapefcn = fourierBasis(___,varnames)`

generates
a function that evaluates the first `shapefcn`

= fourierBasis(`N`

)`N`

harmonics
of *e ^{iπx}*:

$$F\left(x\right)=\left[\mathrm{cos}\left(\pi x\right),\mathrm{sin}\left(\pi x\right),\text{\hspace{0.17em}}\mathrm{cos}\left(2\pi x\right),\mathrm{sin}\left(2\pi x\right),\text{\hspace{0.17em}}\dots ,\mathrm{cos}\left(N\pi x\right),\mathrm{sin}\left(N\pi x\right)\right].$$

*F* is the function represented by `shapefcn`

.
The term of *F* are the first `2*N`

basis
functions in the Fourier series expansion of a periodically varying
gain, *K*(*x*), with *K*(–1)
= *K*(1). That expansion is given by:

$$K\left(x\right)=\frac{{a}_{0}}{2}+{\displaystyle \sum _{k}\left\{{a}_{k}\mathrm{cos}\left(k\pi x\right)+{b}_{k}\mathrm{sin}\left(k\pi x\right)\right\}}.$$

generates
an `shapefcn`

= fourierBasis(`N`

,`nvars`

)`nvars`

-dimensional Fourier basis for periodic
functions on the region [–1,1]^{nvars}.
This basis is the outer product of `nvars`

Fourier
bases with `N`

harmonics along each dimension.
The resulting function `shapefcn`

takes `nvars`

input
arguments and returns a vector with `(2*N+1)^(nvars-1)-1`

entries.

To specify basis functions of multiple scheduling variables
where the expansions are different for each variable, use `ndBasis`

.

If the gain surface

`K`

is periodic in the scheduling variable*x*with period*P*, make sure that the corresponding entry in`K.Normalization.InputScaling`

is set to*P*/2 to ensure consistency with the`fourierBasis`

period,*P*= 2. When using the default normalization, the*x*values in`K.SamplingGrid`

must span exactly one period, [*a*,*a+P*], to satisfy this requirement. See the`Normalization`

property of`tunableSurface`

for more details.