# Inverse Problems for DOBC

**Date published:**Sep 1, 2021

**Last updated:**Jan 25, 2022

PDF | GitHub

Full treatment is in the linked PDF and GitHub repo. This page summarizes the main ideas.

## Description

The project’s full title is:

Noise Extraction in Disturbance Observer-Based ControlA Computational Inverse Problems Approach

In the context of control theory, a system with inputs $u$ and outputs $y$ may be subject to disturbances on the input, either as unknown external inputs or as model mismatch (inaccurate knowledge of the system).

A **disturbance observer** is a dynamical system, or filter, patched onto an existing controlled system, that estimates these disturbances in order to reject them.

This projects reformulates a *linear disturbance observer* as a *Fredholm integral equation of the first kind* (continuous linear system) of the form:

$$ y(s) = \int_{t_1}^{t_n} g(s,t) u(t) \; \mathrm{d}t $$

This is discretized into a discrete linear system, which is ill-posed, of the form: $$ \mathbf{y_{u+d}} = \mathrm{G}(\mathbf{u+d}) $$

The Inverse Problem consists of extracting the unknown true disturbance $\mathbf{d}$ (at the input) with an estimate $\mathbf{\hat{d}}$, given the input $\mathbf{u}$, output $\mathbf{y_{u+d}}$, and forward model $\mathrm{G}$ of the ill-posed system.

## Nuances

There are two kinds of “noise” in this problem, and they are distinct.

**Input**noise, or*disturbance*$\mathbf{d}$, which we estimate with $\mathbf{\hat{d}}$. This noise $\mathbf{d}$ is added to the input $\mathbf{u}$**Output**noise, often interpreted as*sensor noise*or*measurement noise*, which we estimate as $\varepsilon$. This noise $\varepsilon$ is added to the true output $\mathbf{y}_\mathrm{true} +\varepsilon = \mathbf{y}_\mathrm{noisy}$ producing a noisy output.

Our goal is to estimate $\mathbf{d}$ so we can reject it from the system’s input. The measurement noise $\varepsilon$ is worked around.

## Methods

Three methods are implemented, employed, and compared to solve the system:

- Tikhonov regularization
- Conjugate gradient least-squares (CGLS)
- Stochastic gradient descent (SGD)

Similar iterative methods are easily attempted:
*Landweber*, *Gradient descent*, *Exact line search*, among others.

## Figures

These examples illustrate some aspects of the problem.

In this first figure, the solutions $\mathbf{x}_\alpha$ obtained using Tikhonov regularization approximate the true solution $\mathbf{x}_\mathrm{true} = \mathbf{u} + \mathbf{d}$.

In this second figure, that solution $\mathbf{x}_\alpha$ is then used to approximate, here a sinusoidal disturbance $\mathbf{d}$, with an estimate $\mathbf{\hat{d}}$.

In this third figure, the regularization parameter $\alpha$ can be studied on an *L-curve* to select a “good” value for it.

We can show similar plots while using CGLS as a solver. This fourth figure shows similar results, but with a constant disturbance.

As a final note, to illustrate what is meant by “output noise” versus “input noise”, observe this last figure. The noise at $\mathbf{y}_\mathrm{noisy}$ is output noise, or measurement noise. The noise $\mathbf{d}$, instead, is a constant disturbance at the input. This figure runs the same simulation as the prior figure, adding only output noise.

## References

Li et al., *Disturbance Observer-Based Control: Methods and Applications*, 2014.

Dennis & Schnabel, *Numerical Methods for Unconstrained Optimization and Nonlinear Equations*, 1996.