Update Content - 2022-07-06

This commit is contained in:
Thomas Dehaeze 2022-07-06 16:45:53 +02:00
parent 63c2925e4b
commit 5674f8ea50
2 changed files with 76 additions and 0 deletions

View File

@ -10,6 +10,80 @@ Tags
A nice open access book on digital filter is accessible here: <https://ccrma.stanford.edu/~jos/filters/filters.html>
## Analog to Digital Filter {#analog-to-digital-filter}
In order to convert an analog filter (Laplace domain) to a digital filter (z-domain), the `c2d` command can be used ([doc](https://fr.mathworks.com/help/control/ref/lti.c2d.html)).
<div class="exampl">
Let's define a simple first order low pass filter in the Laplace domain:
```matlab
s = tf('s');
G = 1/(1 + s/(2*pi*10));
```
To obtain the equivalent digital filter:
```matlab
Ts = 1e-3; % Sampling Time [s]
Gz = c2d(G, Ts, 'tustin');
```
</div>
There are several methods to go from the analog to the digital domain, `Tustin` is the one I use the most as it ensures the stability of the digital filter provided that the analog filter is stable.
## Bilinear transform {#bilinear-transform}
The bilinear transform also known as the Tustin's method (see the [wikipedia page](https://en.wikipedia.org/wiki/Bilinear_transform)) is used to convert a continuous-time system representations to discrete-time.
It uses the fact that \\(z = e^{sT} \approx \frac{1 + sT/2}{1-sT/2}\\).
To go from the Laplace domain to the z-domain, we just have to use the following approximation:
\begin{equation}
\boxed{s \approx \frac{2}{T\_s} \frac{z - 1} {z + 1} = \frac{2}{T\_s}\frac{1 - z^{-1}}{1 + z^{-1}}}
\end{equation}
## Standard Digital Filters {#standard-digital-filters}
### First order low pass filter {#first-order-low-pass-filter}
\begin{equation}
G(s) = \frac{1}{1 + s/\omega\_0}
\end{equation}
Using the bilinear transform, we obtain:
\begin{equation}
G(z) = \frac{a(1 + z^{-1})}{1 + b z^{-1}}
\end{equation}
with:
\begin{align}
a &= \frac{2}{T\_s\omega\_0} + 1\\\\
b &= \frac{2}{T\_s\omega\_0} - 1
\end{align}
If we want to compute how the filter output \\(y[n]\\) depends on previous output \\(y[n-1]\\), previous input \\(x[n-1]\\) and current input \\(x[n]\\) we can write:
\begin{equation}
y[n] = G(z) x[n]
\end{equation}
By developing the relation and using the fact that \\(z^{-1} x[n] = x[n-1]\\), we obtain:
\begin{align}
y[n] &= a (x[n] + x[n-1]) + b y[n-1] \\\\
&= \left( \frac{2}{T\_s \omega\_0} + 1 \right) (x[n] + x[n-1]) + \left(\frac{2}{T\_s\omega\_0} - 1\right) y[n-1]
\end{align}
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">

View File

@ -117,6 +117,8 @@ This relation can help to determine the minimum mass of the TMD that will give a
## Manufacturers {#manufacturers}
<https://vibratec.se/en/product/high-frequency-tuned-mass-damper/>
<https://micromega-dynamics.com/products/vibration-control/passive-damping-devices/>
<https://www.csaengineering.com/products-services/tuned-dampers-absorbers.html>
## Ways to add damping {#ways-to-add-damping}