Main Content

Weighting function with monotonic gain profile

`makeweight`

is a convenient way to
specify loop shapes, target gain profiles, or weighting functions
for applications such as controller synthesis and control system tuning.

` `

creates a first-order, continuous-time weight `W`

= makeweight(`dcgain`

,`[freq,mag]`

,`hfgain`

)*W*(*s*) satisfying these constraints:

$$\begin{array}{c}W\left(0\right)=\text{dcgain}\\ W\left(\text{Inf}\right)=\text{hfgain}\\ \left|W\left(j\cdot \text{freq}\right)\right|=\text{mag}\text{.}\end{array}$$

In other words, the gain of `W`

passes through
`mag`

at the finite frequency `freq`

.

creates a first-order, discrete-time weight `W`

= makeweight(`dcgain`

,`[freq,mag]`

,`hfgain`

,`Ts`

)*W*(*z*) satisfying these constraints:

$$\begin{array}{c}W\left(1\right)=\text{dcgain}\\ W\left(-1\right)=\text{hfgain}\\ \left|W\left({e}^{j\cdot \text{freq}\cdot \text{Ts}}\right)\right|=\text{mag}\text{.}\end{array}$$

In other words, the gain of `W`

passes through
`mag`

at the frequency `freq`

. The
frequency `freq`

must satisfy 0 < `freq`

<
*π*/`Ts`

.

specifies the gain crossover frequency `W`

= makeweight(`dcgain`

,`wc`

,`hfgain`

,___)`wc`

. This syntax is
equivalent to setting `[freq,mag]`

to `[wc,1]`

.
You can use this syntax with any of the previous input-argument combinations to
create a continuous-time, discrete-time, or Butterworth weighting function.

`augw`

| `hinfstruct`

| `hinfsyn`

| `mixsyn`

| `mkfilter`

| `musyn`

| `TuningGoal.LoopShape`