Update Content - 2022-08-24

This commit is contained in:
Thomas Dehaeze 2022-08-24 17:39:18 +02:00
parent 5674f8ea50
commit ec5e745a54
18 changed files with 425 additions and 15 deletions

View File

@ -43,9 +43,9 @@ This approach allows frequency dependent error budgeting, which is why it is ref
#### Ground vibrations {#ground-vibrations}
#### Electronic Noise {#electronic-noise}
#### [Electronic Noise]({{< relref "electronic_noise.md" >}}) {#electronic-noise--electronic-noise-dot-md}
**Thermal Noise** (or Johson noise).
**Thermal Noise** (or Johnson noise).
This noise can be modeled as a voltage source in series with the system impedance.
The noise source has a PSD given by:
\\[ S\_T(f) = 4 k T \text{Re}(Z(f)) \ [V^2/Hz] \\]
@ -65,7 +65,7 @@ with \\(q\_e\\) the electronic charge (\\(1.6 \cdot 10^{-19}\\, [C]\\)), \\(i\_{
<div class="exampl">
An averable current of 1 A will introduce noise with a STD of \\(10 \cdot 10^{-9}\\,[A]\\) from zero up to one kHz.
A current of 1 A will introduce noise with a STD of \\(10 \cdot 10^{-9}\\,[A]\\) from zero up to one kHz.
</div>

View File

@ -0,0 +1,20 @@
+++
title = "Brushless DC Motor"
author = ["Dehaeze Thomas"]
draft = false
+++
Tags
:
## Manufacturers {#manufacturers}
- <https://www.maxongroup.com/maxon/view/content/Overview-brushless-DC-motors>
- <https://www.faulhaber.com/en/products/brushless-dc-motors/>
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
</div>

View File

@ -45,7 +45,7 @@ The gain of the charge amplified (Figure [1](#figure--fig:charge-amplifier-circu
| [DJB](https://www.djbinstruments.com/products/instrumentation/view/9-Channel-Charge-Voltage-Amplifier-IEPE-Signal-Conditioning-Rack-Mounted) | UK |
| [MTI Instruments](https://www.mtiinstruments.com/products/turbine-balancing-vibration-analysis/charge-amplifiers/ca1800/) | USA |
| [Sinocera](http://www.china-yec.net/instruments/signal-conditioner/multi-channels-charge-amplifier.html) | China |
| [L-Card](https://en.lcard.ru/products/accesories/le-41) | Rusia |
| [Physimetron](http://www.physimetron.de/produkte_en.html) | Germany |
## Bibliography {#bibliography}

View File

@ -8,6 +8,100 @@ Tags
: [Digital Filters]({{< relref "digital_filters.md" >}})
## Continuous to discrete transfer function {#continuous-to-discrete-transfer-function}
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.
## Obtaining analytical formula of filter {#obtaining-analytical-formula-of-filter}
The Matlab [Symbolic Toolbox](https://fr.mathworks.com/help/symbolic/) can be used to obtain analytical formula for discrete transfer functions.
Let's consider a notch filter:
\begin{equation}
G(s) = \frac{s^2 + 2 g\_c \xi \omega\_n s + \omega\_n^2}{s^2 + 2 \xi \omega\_n s + \omega\_n^2}
\end{equation}
with:
- \\(\omega\_n\\): frequency of the notch
- \\(g\_c\\): gain at the notch frequency
- \\(\xi\\): damping ratio (notch width)
First the symbolic variables are declared (`Ts` is the sampling time, `s` the Laplace variable and `z` the "z-transform" variable).
```matlab
%% Declaration of the symbolic variables
syms gc wn xi Ts s z
```
The symbolic formula of the notch filter is defined:
```matlab
%% Notch Filter - Symbolic representation
Ga = (s^2 + 2*xi*gc*s*wn + wn^2)/(s^2 + 2*xi*s*wn + wn^2);
```
Then the bi-linear transformation is performed to go from continuous to discrete:
```matlab
%% Bilinear Transform
s = 2/Ts*(z - 1)/(z + 1);
```
Finally, the numerator and denominator coefficients can be extracted:
```matlab
%% Get numerator and denominator
[N,D] = numden(Ga);
%% Extract coefficients (from z^0 to z^n)
num = coeffs(N, z);
den = coeffs(D, z);
```
```text
num = (Ts^2*wn^2 - 4*Ts*gc*wn*xi + 4) + (2*Ts^2*wn^2 - 8) * z + (Ts^2*wn^2 + 4*Ts*gc*wn*xi + 4) * z^2
```
```text
den = (Ts^2*wn^2 - 4*Ts*wn*xi + 4) + (2*Ts^2*wn^2 - 8) * z + (Ts^2*wn^2 + 4*Ts*wn*xi + 4) * z^2
```
## Variable Discrete Filter {#variable-discrete-filter}
Once the analytical formula of a discrete transfer function is obtained, it is possible to vary some parameters in real time.
This is easily done in Simulink (see Figure [1](#figure--fig:variable-controller-simulink)) where a `Discrete Varying Transfer Function` block is used.
The coefficients are simply computed with a Matlab function.
<a id="figure--fig:variable-controller-simulink"></a>
{{< figure src="/ox-hugo/variable_controller_simulink.png" caption="<span class=\"figure-number\">Figure 1: </span>Variable Discrete Filter in Simulink" >}}
## Typical Transfer functions {#typical-transfer-functions}

View File

@ -0,0 +1,77 @@
+++
title = "Electronic Noise"
author = ["Dehaeze Thomas"]
draft = false
+++
Tags
: [Electronics]({{< relref "electronics.md" >}}), [Signal to Noise Ratio]({{< relref "signal_to_noise_ratio.md" >}})
## Thermal (Johnson) Noise {#thermal--johnson--noise}
Thermal noise is generated by the thermal agitation of the electrons inside the electrical conductor.
Its Power Spectral Density is equal to:
\begin{equation}
S\_T \approx 4 k T \text{Re}(Z(f)) \quad [V^2/Hz]
\end{equation}
with:
with \\(k = 1.38 \cdot 10^{-23} \\,[J/K]\\) the Boltzmann's constant, \\(T\\) the temperature [K] and \\(Z(f)\\) the frequency dependent impedance of the system.
This noise can be modeled as a voltage source in series with the system impedance.
| Resistance | PSD \\([V^2 / Hz]\\) | ASD \\([V/\sqrt{Hz}]\\) | RMS (1kHz) | RMS (10kHz) |
|-----------------|--------------------------|--------------------------|------------|-------------|
| \\(1 \Omega\\) | \\(1.6 \cdot 10^{-20}\\) | \\(1.2 \cdot 10^{-10}\\) | 4nV | 130nV |
| \\(1 k\Omega\\) | \\(1.6 \cdot 10^{-17}\\) | \\(4 \cdot 10^{-9}\\) | 130nV | 4uV |
| \\(1 M\Omega\\) | \\(1.6 \cdot 10^{-14}\\) | \\(1.2 \cdot 10^{-7}\\) | 4uV | 130uV |
## Shot Noise {#shot-noise}
Seen with junctions in a transistor.
It has a white spectral density:
\begin{equation}
S\_S = 2 q\_e i\_{dc} \ [A^2/Hz]
\end{equation}
with \\(q\_e\\) the electronic charge (\\(1.6 \cdot 10^{-19}\\, [C]\\)), \\(i\_{dc}\\) the average current [A].
<div class="exampl">
A current of 1 A will introduce noise with a STD of \\(10 \cdot 10^{-9}\\,[A]\\) from zero up to one kHz.
</div>
## Excess Noise (or \\(1/f\\) noise) {#excess-noise--or-1-f-noise}
It results from fluctuating conductivity due to imperfect contact between two materials.
The PSD of excess noise increases when the frequency decreases:
\\[ S\_E = \frac{K\_f}{f^\alpha}\ [V^2/Hz] \\]
where \\(K\_f\\) is dependent on the average voltage drop over the resistor and the index \\(\alpha\\) is usually between 0.8 and 1.4, and often set to unity for approximate calculation.
## Noise of Amplifiers {#noise-of-amplifiers}
The noise of amplifiers can be modelled as shown in Figure [1](#figure--fig:electronic-amplifier-noise).
<a id="figure--fig:electronic-amplifier-noise"></a>
{{< figure src="/ox-hugo/electronic_amplifier_noise.png" caption="<span class=\"figure-number\">Figure 1: </span>Amplifier noise model" >}}
The identification of this noise is a two steps process:
1. The amplifier input is short-circuited such that only \\(V^2(f)\\) has an impact on the output.
The output noise is measured and \\(V^2\\) in \\([V^2/Hz]\\) is identified
2. The amplifier input is open-circuited such that only \\(I^2(f)\\) has an impact on the output.
The output noise is measured and \\(I^2(f)\\) in \\([A^2/Hz]\\) is identified.
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
</div>

View File

@ -11,7 +11,10 @@ Tags
There are two main types of encoders: optical encoders, and magnetic encoders.
## Manufacturers {#manufacturers}
## Linear Encoders {#linear-encoders}
### Manufacturers {#manufacturers}
| Manufacturers | Country |
|---------------------------------------------------------------------------------|---------|
@ -20,6 +23,14 @@ There are two main types of encoders: optical encoders, and magnetic encoders.
| [Renishaw](https://www.renishaw.com/en/browse-encoder-range--6440) | UK |
| [Celera Motion](https://www.celeramotion.com/microe/) | USA |
<https://www.posic.com/EN/>
<https://www.rls.si/eng/products/rotary-magnetic-encoders>
## Angular Encoders {#angular-encoders}
<https://www.maxongroup.com/maxon/view/category/sensor>
## Bibliography {#bibliography}

View File

@ -0,0 +1,34 @@
+++
title = "Gravity Compensation"
author = ["Dehaeze Thomas"]
draft = false
+++
Tags
:
## Counterweight {#counterweight}
(<a href="#citeproc_bib_item_2">Yoshioka et al. 2017</a>)
## Magnetic {#magnetic}
(<a href="#citeproc_bib_item_1">Hol, Lomonova, and Vandenput 2006</a>)
## Constant force spring {#constant-force-spring}
## Variable Gravity Compensation {#variable-gravity-compensation}
As the mass / position of the load may change during operation, a variable gravity compensation mechanism is very useful.
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Hol, S.A.J., E. Lomonova, and A.J.A. Vandenput. 2006. “Design of a Magnetic Gravity Compensation System.” <i>Precision Engineering</i> 30 (3): 26573. doi:<a href="https://doi.org/10.1016/j.precisioneng.2005.09.005">10.1016/j.precisioneng.2005.09.005</a>.</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Yoshioka, Hayato, Hidenori Shinno, Jiang Zhu, and Manabu Uchiumi. 2017. “A Newly Developed Zero-Gravity Vertical Motion Mechanism for Precision Machining.” <i>Cirp Annals</i> 66 (1): 38992. doi:<a href="https://doi.org/10.1016/j.cirp.2017.04.057">10.1016/j.cirp.2017.04.057</a>.</div>
</div>

View File

@ -0,0 +1,32 @@
+++
title = "Lock-in Amplifier"
author = ["Dehaeze Thomas"]
draft = false
+++
Tags
:
## Synchronous Detection {#synchronous-detection}
(<a href="#citeproc_bib_item_1">Francais 2003</a>)
(<a href="#citeproc_bib_item_3">Zurich 2016</a>)
(<a href="#citeproc_bib_item_2">Horowitz 2015</a>)
## Manufacturers {#manufacturers}
| Manufacturers | Country |
|---------------------------------------------------------------------------|---------|
| [Femto](https://www.femto.de/en/products/lock-in-amplifiers.html) | Germany |
| [Zurick Instruments](https://www.zhinst.com/europe/en/lock-in-amplifiers) | Swiss |
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Francais, Olivier. 2003. “Detection Synchrone.”</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Horowitz, Paul. 2015. <i>The Art of Electronics - Third Edition</i>. New York, NY, USA: Cambridge University Press.</div>
<div class="csl-entry"><a id="citeproc_bib_item_3"></a>Zurich, Instruments. 2016. “Principles of Lock-in Detection and the State of the Art.” Zurich Instruments.</div>
</div>

37
content/zettels/motors.md Normal file
View File

@ -0,0 +1,37 @@
+++
title = "Motors"
author = ["Dehaeze Thomas"]
draft = false
+++
Tags
:
Reviews:
- (<a href="#citeproc_bib_item_1">Murugesan 1981</a>)
## Linear Motors {#linear-motors}
### Short Stroke {#short-stroke}
[Piezoelectric Actuators]({{< relref "piezoelectric_actuators.md" >}})
### Long Stroke {#long-stroke}
[Voice Coil Actuators]({{< relref "voice_coil_actuators.md" >}})
## Angular Motors {#angular-motors}
[Stepper Motor]({{< relref "stepper_motor.md" >}})
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Murugesan, S. 1981. “An Overview of Electric Motors for Space Applications.” <i>Ieee Transactions on Industrial Electronics and Control Instrumentation</i> IECI-28 (4): 26065. doi:<a href="https://doi.org/10.1109/TIECI.1981.351050">10.1109/TIECI.1981.351050</a>.</div>
</div>

View File

@ -9,18 +9,91 @@ Tags
:
## Errors between steps (micro-stepping) {#errors-between-steps--micro-stepping}
## Types of Stepper motors {#types-of-stepper-motors}
For a two phase stepper motor, there are (typically) **200 steps per revolution** (i.e. 1.8% per step).
<https://blog.orientalmotor.com/stepper-motor-basics-pm-vs-vr-vs-hybrid>
- Permanent Magnet
- Variable Reluctance
- Hybrid
<a id="figure--fig:stepper-two-phase-hybrid-stepper"></a>
{{< figure src="/ox-hugo/stepper_two_phase_hybrid_stepper.png" caption="<span class=\"figure-number\">Figure 1: </span>Interior of a two phase hybrid stepper motor. This motor has eight windings and 50 roto teeth" >}}
<a id="figure--fig:stepper-hybrid-schematic"></a>
{{< figure src="/ox-hugo/stepper_hybrid_schematic.png" caption="<span class=\"figure-number\">Figure 2: </span>Schematic of a two phase hybrid stepper motor. This motor has four windings and 15 pole pairs" >}}
## Micro Stepping {#micro-stepping}
From (<a href="#citeproc_bib_item_2">Ronquist and Winroth 2016</a>):
> By varying the magnitude and direction of the winding currents, the rotor is continuously attracted in the desired direction.
> A "step" occurs whenever a rotor tooth moves slightly to align itself to an electromagnet tooth.
>
> It is possible to decrease the step size of the hybrid stepper motor by using a control logic called **microstepping**.
> As opposed to fully exciting each phase in turn, as described previously, microstepping involves transitioning between each phase shift.
> That is, the current references are defined by sinusoidal signals displaced 90 electrical degrees from each other.
> For most time instances, then, both phases are excited to a certain degree.
> The result is that the electric position vector can be placed between two teeth.
> The resolution of the motor has therefore been increased.
From (<a href="#citeproc_bib_item_1">Condit 2004</a>):
> There are several factors that affect the linearity of microstepping in real motors.
> The first limitation is static friction in the system.
>
> [...]
>
> Another limitation is the fact that the torque versus position curve is not perfectly sinusoidal.
> The toothed shape of the motor and other physical characteristics of the motor contribute to this.
> Figure [3](#figure--fig:stepper-real-pos-vs-actual-pos) shows a plot of actual position vs expected position for a typical motor.
<a id="figure--fig:stepper-real-pos-vs-actual-pos"></a>
{{< figure src="/ox-hugo/stepper_real_pos_vs_actual_pos.png" caption="<span class=\"figure-number\">Figure 3: </span>Real vs actuator rotor position" >}}
## Open Loop errors {#open-loop-errors}
Nice references:
- (<a href="#citeproc_bib_item_3">Vyas, Patel, and Shah 2015</a>)
- (<a href="#citeproc_bib_item_2">Ronquist and Winroth 2016</a>)
<div class="seealso">
References about these errors can be search for using "torque ripple", "Cogging torque" and "load dependent error" keywords.
</div>
### Error with period equal to one **turn** {#error-with-period-equal-to-one-turn}
A stepper motor has a position error with a period equal to a full turn.
An example is shown in Figure [4](#figure--fig:stepper-error-one-turn-period) (from (<a href="#citeproc_bib_item_2">Ronquist and Winroth 2016</a>)).
The high frequency errors that can be observed have a period of one step (i.e. 200 periods each turn).
<a id="figure--fig:stepper-error-one-turn-period"></a>
{{< figure src="/ox-hugo/stepper_error_one_turn_period.png" caption="<span class=\"figure-number\">Figure 4: </span>Angle error of the stepper motor during a 100rpm (i.e. 0.6s per turn)" >}}
### Error with period equal to one **step** {#error-with-period-equal-to-one-step}
For a two phase stepper motor, there are (typically) **200 steps per revolution** (i.e. 1.8 degrees per step).
Between each step, even when using some micro-stepping, there are some position errors that are due to non-perfect magnetic and electromagnetic fields.
The period of this error is corresponding to 200 period/revolution.
Then scanning, this can lead to high frequency vibrations.
Then scanning, this can lead to **high frequency vibrations**.
This is what is typically limiting the accuracy of the stepper motor (usually specified in between 3% and 5% of the step increment).
This is approximately corresponding to **1mrad**.
This is approximately corresponding to **1mrad** and can be around 0.1mrad for best stepper motors.
<div class="exampl">
@ -31,12 +104,23 @@ A rotation of 1 turn per second will induce vibrations at 200Hz with an amplitud
Note that this error is not a pure sine, it also has some harmonics with corresponding periods of 1/100 revolution and 1/50 revolution.
This error should repeat every turn and can be calibrated provided it is repeatable over time.
One way to reduce these errors is to use a ball-screw mechanism with a smaller pitch.
The price to pay is smaller velocity.
### Load Dependent Error {#load-dependent-error}
If the electromagnetic torque would be the only torque acting on the system, the electrical angle generated by the control system would correspond directly to the reference angle.
The position error is to a large degree due to the so called load angle when the motor is positioned by an open-loop controller.
The load angle results from applying an external torque to the stepper motor, **causing the magnetic rotor to be out of phase with the electrical field**.
The most common way to limit these errors is to always operate the motor with its rated winding currents.
This results in significant energy losses and heating of the motor which deprive the motor of its efficiency.
Another option is to use a position sensor such as an encoder with a feedback controller.
## Manufacturers {#manufacturers}
| Manufacturers | Country |
@ -53,4 +137,7 @@ The price to pay is smaller velocity.
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Condit, Reston. 2004. “Stepping Motors Fundamentals.” Microchip Technology.</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Ronquist, Anton, and Birger Winroth. 2016. “Estimation and Compensation of Load-Dependent Position Error in a Hybrid Stepper Motor.” Linköping University, Automatic Control; Linköping University, Automatic Control.</div>
<div class="csl-entry"><a id="citeproc_bib_item_3"></a>Vyas, Darshit C, Jinesh G Patel, and Mrs Heli A Shah. 2015. “Microstepping of Stepper Motor and Sources of Errors in Microstepping System.” <i>Int. Journal of Engineering Research and General Science</i> 3 (2).</div>
</div>

View File

@ -7,7 +7,7 @@ draft = false
Tags
: [Passive Damping]({{< relref "passive_damping.md" >}})
Review: (<a href="#citeproc_bib_item_1">Elias and Matsagar 2017</a>)
Review: (<a href="#citeproc_bib_item_1">Elias and Matsagar 2017</a>), (<a href="#citeproc_bib_item_2">Verbaan 2015</a>)
## Working Principle {#working-principle}
@ -69,7 +69,7 @@ c2 = 2*xi*sqrt(k2*m2);
```
<div class="table-caption">
<span class="table-number">Table 1</span>:
<span class="table-number">Table 1:</span>
Obtained parameters of the TMD
</div>
@ -128,8 +128,7 @@ Possible damping sources:
- Magnetic (eddy current)
- Viscous
## References
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">
<div class="csl-entry"><a id="citeproc_bib_item_1"></a>Elias, Said, and Vasant Matsagar. 2017. “Research Developments in Vibration Control of Structures Using Passive Tuned Mass Dampers.” <i>Annual Reviews in Control</i> 44 (nil): 12956. doi:<a href="https://doi.org/10.1016/j.arcontrol.2017.09.015">10.1016/j.arcontrol.2017.09.015</a>.</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Verbaan, C.A.M. 2015. “Robust mass damper design for bandwidth increase of motion stages.” Mechanical Engineering; Technische Universiteit Eindhoven.</div>
</div>

View File

@ -121,6 +121,25 @@ However, for stability reasons and to avoid overshoot (due to the internal negat
This is discussed in (<a href="#citeproc_bib_item_2">Van Spengen 2017</a>).
## Small Signal Voltage Amplifier {#small-signal-voltage-amplifier}
Input is usually BNC.
Output voltage is to up +/-10V.
It has high input impedance.
| Model | Channel | LPF | HPF | Gains | Shape | Noise | Price |
|------------------------------------------------------------------------------------------------|---------|----------------|----------------|-----------|-----------|-------|-------|
| [7008](https://www.krohn-hite.com/html/preamps.html) | 8 | 100kHz | AC or DC | 1 to 1k | 19" Rack | 7nV | |
| [MCVA5](https://www.specs-group.com/nc/nanonis/products/detail/mcva5-preamplifier/) | 4 | | AC or DC | 1 to 1k | Large | 4nV | |
| [DP-314](https://www.warneronline.com/4-channel-differential-amplifier-with-active-headstages) | 4 | 100Hz to 50kHz | 0.1Hz to 300Hz | 10 to 10k | 19" Rack | | |
| [ee701](https://www.ee-quipment.com/products/differential-preamplifier?variant=35410631368) | 1 | 10Hz to 1MHz | x | 1 to 1k | Small | | 400 |
| [LNA 10](https://www.priggen.com/LNA-10-Low-Noise-Differential-Preamplifier-for-Oscilloscopes) | 1 | 1Hz to 1MHz | x | 10 to 1k | Small | | 700 |
| [Koheron](https://www.koheron.com/photonics/amp200-amplifier) | 1 | | AC or DC | 5 to 500 | Small PCB | 2.4nV | 225 |
| [5307](https://www.nfcorp.co.jp/english/pro/mi/loc/pre/5307/index.html) | 1 | | AC or DC | 10 to 1k | Large | 4nV | |
| [DLPVA](https://www.femto.de/en/products/voltage-amplifiers/variable-gain-100-khz-dlpva.html) | 1 | 1kHz, 100kHz | AC or DC | 10 to 10k | Small | 2nV | |
| [AMP200](https://www.thorlabs.com/thorproduct.cfm?partnumber=AMP200) | 1 | | | 10 to 1k | Small | 5nV | 470 |
## Bibliography {#bibliography}
<style>.csl-entry{text-indent: -1.5em; margin-left: 1.5em;}</style><div class="csl-bib-body">

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB