# What does 'canonical' mean?

What does 'canonical' mean? e.g. 'write IIR or FIR in canonical form'

I get the gist of it but maybe someone here has a precise definition. In a non-DSP context it would mean something like 'strictly by the book', and perhaps in a DSP context this would mean 'without considering implementation issues'. Is this true?

The etymology refers to the canon, as a rule or a body of rules, or axiomatic or universal standards. It exists in arts: sculpture, music, script writing, etc. The notion of canon law is also used in the domain of religion: a "set of ordinances and regulations [...] for the government of a Christian organization or church and its members".

In mathematics and engineering, a canonical form is, similarly, a preferred notation, or a somehow unique and natural form, or representation, of an object or a formula. For instance, a canonical basis is one of the many bases of a vector space (or an algebraic structure in general), but a basis that is unique by its simplicity, like the standard basis defined by the Kronecker delta:

$$\left\{ \begin{array}{ccccc} 1 &0 & 0 & 0& \ldots\\ 0 &1 & 0 & 0& \ldots\\ 0 &0 & 1 & 0& \ldots\\ \end{array} \right\}$$

In some sources, for linear digital filters, canonical forms refer to sets of structures that are optimal in some sense, with respect to some basic operations (available to a processor, for instance). The most common is the reduction of the number of delays, it is often associated with the name "Direct Form II" (excellent online tutorial by J. O. Smith):

In summary, the DF-II structure has the following properties [...] It is canonical with respect to delay

In theory, one could look for canonical forms with respect to others quantities. In practice, the delay minimization is the most standard, thus the most canonical of the canonical forms. By metonymy, the delay canonical form is thus called "the canonical form".

Other occurences of canonical forms may appear with state-space formulations for filters. In control theory, one may find for instance Observable Canonical Forms and Controllable Canonical Forms.

A canonical implementation of a digital filter has the minimum number of delay elements. The same filter cannot be implemented with less memory. Since memory is often not the only concern, a canonical implementation is not necessarily always the best implementation on a given platform.

To put it simply, a system is called canonical when number of delay elements in a block diagram representation is same as the order of that system.

You can get further details over TYPES OF STRUCTURES AND DIGITAL SIGNAL PROCESSING?