Update Content - 2024-12-17

This commit is contained in:
2024-12-17 15:37:17 +01:00
parent 4d585dd592
commit 4fb2b6c969
86 changed files with 1314 additions and 711 deletions

View File

@@ -14,7 +14,7 @@ Tags
### Problem Definition {#problem-definition}
The goal of a system identification is to extract a model (usually a LTI transfer function) from experimental data.
The system is represented in Figure <fig:siso_identification_schematic_simplier> with one input \\(u\\) and one output \\(y\_m\\) affected by some disturbances and noise \\(d\\).
The system is represented in [Figure 1](#figure--fig:siso-identification-schematic-simplier) with one input \\(u\\) and one output \\(y\_m\\) affected by some disturbances and noise \\(d\\).
<a id="figure--fig:siso-identification-schematic-simplier"></a>
@@ -48,7 +48,7 @@ The sampling time of the recorded digital signal is 1ms.
### Open-loop identification {#open-loop-identification}
In open-loop identification (Figure <fig:siso_identification_schematic_simplier_open_loop>), a test signal \\(u\\) is used to _excite_ the system in the frequency range of interest.
In open-loop identification ([Figure 2](#figure--fig:siso-identification-schematic-simplier-open-loop)), a test signal \\(u\\) is used to _excite_ the system in the frequency range of interest.
The signal \\(u\\) can typically be a swept sine, noise or multi-sine.
<a id="figure--fig:siso-identification-schematic-simplier-open-loop"></a>
@@ -70,7 +70,7 @@ Noverlap = floor(Nfft/2); % Overlap of 50%
[Gm, f] = tfestimate(data.du, data.y, win, Noverlap, Nfft, 1/Ts);
```
Then, the bode plot of the obtained transfer function is compared against the plant model including a 1.5 sample time delay (Figure <fig:system_identification_ol_comp_plant>).
Then, the bode plot of the obtained transfer function is compared against the plant model including a 1.5 sample time delay ([Figure 3](#figure--fig:system-identification-ol-comp-plant)).
<a id="figure--fig:system-identification-ol-comp-plant"></a>
@@ -85,7 +85,7 @@ In order to assess the quality of the obtained FRF, the _coherence_ can be compu
[coh, f] = mscohere(data.du, data.y, win, Noverlap, Nfft, 1/Ts);
```
The result for the example is shown in Figure <fig:system_identification_ol_coh>.
The result for the example is shown in [Figure 4](#figure--fig:system-identification-ol-coh).
At high frequency, the measurement noise dominates and the coherence is poor.
<a id="figure--fig:system-identification-ol-coh"></a>
@@ -96,7 +96,7 @@ At high frequency, the measurement noise dominates and the coherence is poor.
### Closed-Loop identification {#closed-loop-identification}
If the open-loop system is unstable, a first simple controller needs to be designed to stabilizes the system.
Then, the plant can be identified from closed-loop system identification (Figure <fig:siso_identification_schematic_simplier_closed_loop>).
Then, the plant can be identified from closed-loop system identification ([Figure 5](#figure--fig:siso-identification-schematic-simplier-closed-loop)).
<a id="figure--fig:siso-identification-schematic-simplier-closed-loop"></a>
@@ -131,7 +131,7 @@ T = 1 - S;
### Multi-Input Multi-Output Plant {#multi-input-multi-output-plant}
This can be generalized to a MIMO plant (Figure <fig:siso_identification_schematic_simplier_closed_loop>).
This can be generalized to a MIMO plant ([Figure 5](#figure--fig:siso-identification-schematic-simplier-closed-loop)).
<a id="figure--fig:siso-identification-schematic-simplier-closed-loop"></a>
@@ -174,7 +174,7 @@ There are several choices for excitation signals:
- Random noise, Periodic signals (PRBS)
- Multi-Sine
A good review is given in <&pintelon12_system_ident> (chapter 5).
A good review is given in (<a href="#citeproc_bib_item_1">Pintelon and Schoukens 2012</a>) (chapter 5).
### Random noise with specific ASD {#random-noise-with-specific-asd}
@@ -300,7 +300,7 @@ u = generate_multisine(Fs, Ns, ...
'type', 'schroeder');
```
The ASD of the generated signal is exactly as expected (Figure <fig:system_identification_multi_sine_asd>)
The ASD of the generated signal is exactly as expected ([Figure 7](#figure--fig:system-identification-multi-sine-asd))
```matlab
[pxx, f] = pwelch(u, ones(Ns,1), [], Ns, Fs);
@@ -310,7 +310,7 @@ The ASD of the generated signal is exactly as expected (Figure <fig:system_ident
{{< figure src="/ox-hugo/system_identification_multi_sine_asd.png" caption="<span class=\"figure-number\">Figure 7: </span>Amplitude Spectral Density of the multi-sine signal" >}}
In the time domain, it is shown in Figure <fig:system_identification_multi_sine_time>.
In the time domain, it is shown in [Figure 8](#figure--fig:system-identification-multi-sine-time).
<a id="figure--fig:system-identification-multi-sine-time"></a>
@@ -324,7 +324,7 @@ Only the first period (here of 1s) is discarded to remove transient effects.
[Gm, f] = tfestimate(data.du(Ns:end), data.y(Ns:end), ones(Ns,1), [], Ns, Fs);
```
The obtained FRF is shown in Figure <fig:system_identification_multi_sine_frf>.
The obtained FRF is shown in [Figure 9](#figure--fig:system-identification-multi-sine-frf).
The quality of the obtained FRF is only good in the defined range.
<a id="figure--fig:system-identification-multi-sine-frf"></a>
@@ -334,7 +334,7 @@ The quality of the obtained FRF is only good in the defined range.
### `generatemultisine` - Matlab Function {#generatemultisine-matlab-function}
The synthesis of multi-sine with minimal "crest factor" is taken from <&schroeder70_synth_low_peak_factor_signal>.
The synthesis of multi-sine with minimal "crest factor" is taken from (<a href="#citeproc_bib_item_3">Schroeder 1970</a>).
The Matlab code is adapted from [here](https://bholmesqub.github.io/thesis/chapters/identification-design/multi-sine/).
@@ -424,10 +424,14 @@ end
## Reference Books {#reference-books}
- <pintelon12_system_ident>
- <schoukens12_master>
- (<a href="#citeproc_bib_item_1">Pintelon and Schoukens 2012</a>)
- (<a href="#citeproc_bib_item_2">Schoukens, Pintelon, and Rolain 2012</a>)
## Bibliography {#bibliography}
<./biblio/references.bib>
<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>Pintelon, Rik, and Johan Schoukens. 2012. <i>System Identification : a Frequency Domain Approach</i>. Hoboken, N.J. Piscataway, NJ: Wiley IEEE Press. doi:<a href="https://doi.org/10.1002/9781118287422">10.1002/9781118287422</a>.</div>
<div class="csl-entry"><a id="citeproc_bib_item_2"></a>Schoukens, Johan, Rik Pintelon, and Yves Rolain. 2012. <i>Mastering System Identification in 100 Exercises</i>. John Wiley &#38; Sons.</div>
<div class="csl-entry"><a id="citeproc_bib_item_3"></a>Schroeder, Manfred. 1970. “Synthesis of Low-Peak-Factor Signals and Binary Sequences with Low Autocorrelation (Corresp.).” <i>IEEE Transactions on Information Theory</i> 16 (1). IEEE: 8589.</div>
</div>