Update Content - 2020-09-22

This commit is contained in:
Thomas Dehaeze 2020-09-22 16:00:52 +02:00
parent 7e4766c440
commit ea5d7eb5ea
3 changed files with 156 additions and 71 deletions

View File

@ -12,7 +12,7 @@ Tags
: [Finite Element Model]({{< relref "finite_element_model" >}})
Reference
: ([Hatch 2000](#org1dc1f0a))
: ([Hatch 2000](#org26bc000))
Author(s)
: Hatch, M. R.
@ -25,14 +25,14 @@ Matlab Code form the book is available [here](https://in.mathworks.com/matlabcen
## Introduction {#introduction}
<a id="org7ccf52c"></a>
<a id="org3160de8"></a>
The main goal of this book is to show how to take results of large dynamic finite element models and build small Matlab state space dynamic mechanical models for use in control system models.
### Modal Analysis {#modal-analysis}
The diagram in Figure [1](#org72fd3ea) shows the methodology for analyzing a lightly damped structure using normal modes.
The diagram in Figure [1](#org1364452) shows the methodology for analyzing a lightly damped structure using normal modes.
<div class="important">
<div></div>
@ -50,7 +50,7 @@ The steps are:
</div>
<a id="org72fd3ea"></a>
<a id="org1364452"></a>
{{< figure src="/ox-hugo/hatch00_modal_analysis_flowchart.png" caption="Figure 1: Modal analysis method flowchart" >}}
@ -62,7 +62,7 @@ Because finite element models usually have a very large number of states, an imp
<div class="important">
<div></div>
Figure [2](#org6c056ac) shows such process, the steps are:
Figure [2](#org81417ef) shows such process, the steps are:
- start with the finite element model
- compute the eigenvalues and eigenvectors (as many as dof in the model)
@ -75,14 +75,14 @@ Figure [2](#org6c056ac) shows such process, the steps are:
</div>
<a id="org6c056ac"></a>
<a id="org81417ef"></a>
{{< figure src="/ox-hugo/hatch00_model_reduction_chart.png" caption="Figure 2: Model size reduction flowchart" >}}
### Notations {#notations}
Tables [3](#org7b2a048), [2](#table--tab:notations-eigen-vectors-values) and [3](#table--tab:notations-stiffness-mass) summarize the notations of this document.
Tables [3](#org7f3166f), [2](#table--tab:notations-eigen-vectors-values) and [3](#table--tab:notations-stiffness-mass) summarize the notations of this document.
<a id="table--tab:notations-modes-nodes"></a>
<div class="table-caption">
@ -131,22 +131,22 @@ Tables [3](#org7b2a048), [2](#table--tab:notations-eigen-vectors-values) and [3]
## Zeros in SISO Mechanical Systems {#zeros-in-siso-mechanical-systems}
<a id="orgb5e5e43"></a>
<a id="org985eeb3"></a>
The origin and influence of poles are clear: they represent the resonant frequencies of the system, and for each resonance frequency, a mode shape can be defined to describe the motion at that frequency.
We here which to give an intuitive understanding for **when to expect zeros in SISO mechanical systems** and **how to predict the frequencies at which they will occur**.
Figure [3](#org7b2a048) shows a series arrangement of masses and springs, with a total of \\(n\\) masses and \\(n+1\\) springs.
Figure [3](#org7f3166f) shows a series arrangement of masses and springs, with a total of \\(n\\) masses and \\(n+1\\) springs.
The degrees of freedom are numbered from left to right, \\(z\_1\\) through \\(z\_n\\).
<a id="org7b2a048"></a>
<a id="org7f3166f"></a>
{{< figure src="/ox-hugo/hatch00_n_dof_zeros.png" caption="Figure 3: n dof system showing various SISO input/output configurations" >}}
<div class="important">
<div></div>
([Miu 1993](#org946c04d)) shows that the zeros of any particular transfer function are the poles of the constrained system to the left and/or right of the system defined by constraining the one or two dof's defining the transfer function.
([Miu 1993](#orgda249a1)) shows that the zeros of any particular transfer function are the poles of the constrained system to the left and/or right of the system defined by constraining the one or two dof's defining the transfer function.
The resonances of the "overhanging appendages" of the constrained system create the zeros.
@ -155,12 +155,12 @@ The resonances of the "overhanging appendages" of the constrained system create
## State Space Analysis {#state-space-analysis}
<a id="org0d77f45"></a>
<a id="orgbb85459"></a>
## Modal Analysis {#modal-analysis}
<a id="org58639cc"></a>
<a id="org1311d6e"></a>
Lightly damped structures are typically analyzed with the "normal mode" method described in this section.
@ -200,9 +200,9 @@ Summarizing the modal analysis method of analyzing linear mechanical systems and
#### Equation of Motion {#equation-of-motion}
Let's consider the model shown in Figure [4](#org04e0e48) with \\(k\_1 = k\_2 = k\\), \\(m\_1 = m\_2 = m\_3 = m\\) and \\(c\_1 = c\_2 = 0\\).
Let's consider the model shown in Figure [4](#orgb5bedbf) with \\(k\_1 = k\_2 = k\\), \\(m\_1 = m\_2 = m\_3 = m\\) and \\(c\_1 = c\_2 = 0\\).
<a id="org04e0e48"></a>
<a id="orgb5bedbf"></a>
{{< figure src="/ox-hugo/hatch00_undamped_tdof_model.png" caption="Figure 4: Undamped tdof model" >}}
@ -301,17 +301,17 @@ One then find:
\end{bmatrix}
\end{equation}
Virtual interpretation of the eigenvectors are shown in Figures [5](#orgb26ad8f), [6](#orgdbad135) and [7](#org8c56bc5).
Virtual interpretation of the eigenvectors are shown in Figures [5](#orge48df2e), [6](#orgf2abe51) and [7](#orgc2a9858).
<a id="orgb26ad8f"></a>
<a id="orge48df2e"></a>
{{< figure src="/ox-hugo/hatch00_tdof_mode_1.png" caption="Figure 5: Rigid-Body Mode, 0rad/s" >}}
<a id="orgdbad135"></a>
<a id="orgf2abe51"></a>
{{< figure src="/ox-hugo/hatch00_tdof_mode_2.png" caption="Figure 6: Second Model, Middle Mass Stationary, 1rad/s" >}}
<a id="org8c56bc5"></a>
<a id="orgc2a9858"></a>
{{< figure src="/ox-hugo/hatch00_tdof_mode_3.png" caption="Figure 7: Third Mode, 1.7rad/s" >}}
@ -350,9 +350,9 @@ There are many options for change of basis, but we will show that **when eigenve
The n-uncoupled equations in the principal coordinate system can then be solved for the responses in the principal coordinate system using the well known solutions for the single dof systems.
The n-responses in the principal coordinate system can then be **transformed back** to the physical coordinate system to provide the actual response in physical coordinate.
This procedure is schematically shown in Figure [8](#org442424c).
This procedure is schematically shown in Figure [8](#orgcebcd04).
<a id="org442424c"></a>
<a id="orgcebcd04"></a>
{{< figure src="/ox-hugo/hatch00_schematic_modal_solution.png" caption="Figure 8: Roadmap for Modal Solution" >}}
@ -700,7 +700,7 @@ Absolute damping is based on making \\(b = 0\\), in which case the percentage of
## Frequency Response: Modal Form {#frequency-response-modal-form}
<a id="org065931e"></a>
<a id="org2af3dda"></a>
The procedure to obtain the frequency response from a modal form is as follow:
@ -708,9 +708,9 @@ The procedure to obtain the frequency response from a modal form is as follow:
- use Laplace transform to obtain the transfer functions in principal coordinates
- back-transform the transfer functions to physical coordinates where the individual mode contributions will be evident
This will be applied to the model shown in Figure [9](#orgd12bfd1).
This will be applied to the model shown in Figure [9](#org0ec531e).
<a id="orgd12bfd1"></a>
<a id="org0ec531e"></a>
{{< figure src="/ox-hugo/hatch00_tdof_model.png" caption="Figure 9: tdof undamped model for modal analysis" >}}
@ -892,9 +892,9 @@ Equations \eqref{eq:general_add_tf} and \eqref{eq:general_add_tf_damp} shows tha
</div>
Figure [10](#orga3fac1c) shows the separate contributions of each mode to the total response \\(z\_1/F\_1\\).
Figure [10](#org97a01a4) shows the separate contributions of each mode to the total response \\(z\_1/F\_1\\).
<a id="orga3fac1c"></a>
<a id="org97a01a4"></a>
{{< figure src="/ox-hugo/hatch00_z11_tf.png" caption="Figure 10: Mode contributions to the transfer function from \\(F\_1\\) to \\(z\_1\\)" >}}
@ -903,16 +903,16 @@ The zeros for SISO transfer functions are the roots of the numerator, however, f
## SISO State Space Matlab Model from ANSYS Model {#siso-state-space-matlab-model-from-ansys-model}
<a id="orgbd2c762"></a>
<a id="orgd2cd9c8"></a>
### Introduction {#introduction}
In this section is developed a SISO state space Matlab model from an ANSYS cantilever beam model as shown in Figure [11](#orgf951884).
In this section is developed a SISO state space Matlab model from an ANSYS cantilever beam model as shown in Figure [11](#org078b2bf).
A z direction force is applied at the midpoint of the beam and z displacement at the tip is the output.
The objective is to provide the smallest Matlab state space model that accurately represents the pertinent dynamics.
<a id="orgf951884"></a>
<a id="org078b2bf"></a>
{{< figure src="/ox-hugo/hatch00_cantilever_beam.png" caption="Figure 11: Cantilever beam with forcing function at midpoint" >}}
@ -991,7 +991,7 @@ If sorting of DC gain values is performed prior to the `truncate` operation, the
## Ground Acceleration Matlab Model From ANSYS Model {#ground-acceleration-matlab-model-from-ansys-model}
<a id="orgd9c4438"></a>
<a id="org3650750"></a>
### Model Description {#model-description}
@ -1005,25 +1005,25 @@ If sorting of DC gain values is performed prior to the `truncate` operation, the
## SISO Disk Drive Actuator Model {#siso-disk-drive-actuator-model}
<a id="orgdbad836"></a>
<a id="orge55614f"></a>
In this section we wish to extract a SISO state space model from a Finite Element model representing a Disk Drive Actuator (Figure [12](#orgd9ad21b)).
In this section we wish to extract a SISO state space model from a Finite Element model representing a Disk Drive Actuator (Figure [12](#orgc03a26d)).
### Actuator Description {#actuator-description}
<a id="orgd9ad21b"></a>
<a id="orgc03a26d"></a>
{{< figure src="/ox-hugo/hatch00_disk_drive_siso_model.png" caption="Figure 12: Drawing of Actuator/Suspension system" >}}
The primary motion of the actuator is rotation about the pivot bearing, therefore the final model has the coordinate system transformed from a Cartesian x,y,z coordinate system to a Cylindrical \\(r\\), \\(\theta\\) and \\(z\\) system, with the two origins coincident (Figure [13](#orgf3713e6)).
The primary motion of the actuator is rotation about the pivot bearing, therefore the final model has the coordinate system transformed from a Cartesian x,y,z coordinate system to a Cylindrical \\(r\\), \\(\theta\\) and \\(z\\) system, with the two origins coincident (Figure [13](#orgbd3e65e)).
<a id="orgf3713e6"></a>
<a id="orgbd3e65e"></a>
{{< figure src="/ox-hugo/hatch00_disk_drive_nodes_reduced_model.png" caption="Figure 13: Nodes used for reduced Matlab model. Shown with partial finite element mesh at coil" >}}
For reduced models, we only require eigenvector information for dof where forces are applied and where displacements are required.
Figure [13](#orgf3713e6) shows the nodes used for the reduced Matlab model.
Figure [13](#orgbd3e65e) shows the nodes used for the reduced Matlab model.
The four nodes 24061, 24066, 24082 and 24087 are located in the center of the coil in the z direction and are used for simulating the VCM force.
The arrows at the nodes indicate the direction of forces.
@ -1046,19 +1046,22 @@ A recommended sequence for analyzing dynamic finite element models is:
A small section of the exported `.eig` file from ANSYS is shown bellow..
```text
<div class="examp">
<div></div>
LOAD STEP= 1 SUBSTEP= 1
FREQ= 8.1532 LOAD CASE= 0
THE FOLLOWING DEGREE OF FREEDOM RESULTS ARE IN THE GLOBAL COORDINATE SYSTEM
NODE UX UY UZ ROTX ROTY ROTZ
NODE UX UY UZ ROTX ROTY ROTZ
1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
2 0.0000 1.1981 0.0000 -0.99396E-015-0.14742E-014 0.23368E-001
3 0.31447E-014 0.13758 0.31164E-014 0.33825E-014-0.24915E-015 0.81730E-002
4 -0.51842E-014 0.54120 -0.36031E-014 0.13267E-014 0.30620E-014 0.15962E-001
5 0.0000 4.5604 0.0000 0.50842E-015 0.21315E-015 0.43289E-001
```
</div>
Important information are:
@ -1083,7 +1086,7 @@ From Ansys, we have the eigenvalues \\(\omega\_i\\) and eigenvectors \\(\bm{z}\\
## Balanced Reduction {#balanced-reduction}
<a id="org49a054f"></a>
<a id="org6ede57e"></a>
In this chapter another method of reducing models, “balanced reduction”, will be introduced and compared with the DC and peak gain ranking methods.
@ -1198,14 +1201,14 @@ The **states to be kept are the states with the largest diagonal terms**.
## MIMO Two Stage Actuator Model {#mimo-two-stage-actuator-model}
<a id="org7289209"></a>
<a id="org95a1121"></a>
In this section, a MIMO two-stage actuator model is derived from a finite element model (Figure [14](#orgc80e17f)).
In this section, a MIMO two-stage actuator model is derived from a finite element model (Figure [14](#orgd4ecf0f)).
### Actuator Description {#actuator-description}
<a id="orgc80e17f"></a>
<a id="orgd4ecf0f"></a>
{{< figure src="/ox-hugo/hatch00_disk_drive_mimo_schematic.png" caption="Figure 14: Drawing of actuator/suspension system" >}}
@ -1227,9 +1230,9 @@ Since the same forces are being applied to both piezo elements, they represent t
### Ansys Model Description {#ansys-model-description}
In Figure [15](#org459464b) are shown the principal nodes used for the model.
In Figure [15](#orgfc320b2) are shown the principal nodes used for the model.
<a id="org459464b"></a>
<a id="orgfc320b2"></a>
{{< figure src="/ox-hugo/hatch00_disk_drive_mimo_ansys.png" caption="Figure 15: Nodes used for reduced Matlab model, shown with partial mesh at coil and piezo element" >}}
@ -1348,11 +1351,11 @@ And we note:
G = zn * Gp;
```
<a id="org7b5581a"></a>
<a id="org5d4c88f"></a>
{{< figure src="/ox-hugo/hatch00_z13_tf.png" caption="Figure 16: Mode contributions to the transfer function from \\(F\_1\\) to \\(z\_3\\)" >}}
<a id="org8b11f4c"></a>
<a id="org6766678"></a>
{{< figure src="/ox-hugo/hatch00_z11_tf.png" caption="Figure 17: Mode contributions to the transfer function from \\(F\_1\\) to \\(z\_1\\)" >}}
@ -1450,13 +1453,13 @@ G_f = ss(A, B, C, D);
### Simple mode truncation {#simple-mode-truncation}
Let's plot the frequency of the modes (Figure [18](#org58cec9b)).
Let's plot the frequency of the modes (Figure [18](#orgdb5ecb9)).
<a id="org58cec9b"></a>
<a id="orgdb5ecb9"></a>
{{< figure src="/ox-hugo/hatch00_cant_beam_modes_freq.png" caption="Figure 18: Frequency of the modes" >}}
<a id="org0dbe1d4"></a>
<a id="org02e9c0b"></a>
{{< figure src="/ox-hugo/hatch00_cant_beam_unsorted_dc_gains.png" caption="Figure 19: Unsorted DC Gains" >}}
@ -1525,7 +1528,7 @@ dc_gain = abs(xn(i_input, :).*xn(i_output, :))./(2*pi*f0).^2;
[dc_gain_sort, index_sort] = sort(dc_gain, 'descend');
```
<a id="org9a62a29"></a>
<a id="org3739adc"></a>
{{< figure src="/ox-hugo/hatch00_cant_beam_sorted_dc_gains.png" caption="Figure 20: Sorted DC Gains" >}}
@ -1869,7 +1872,7 @@ wo = gram(G_m, 'o');
And we plot the diagonal terms
<a id="org59c65d8"></a>
<a id="org989ae83"></a>
{{< figure src="/ox-hugo/hatch00_gramians.png" caption="Figure 21: Observability and Controllability Gramians" >}}
@ -1887,7 +1890,7 @@ We use `balreal` to rank oscillatory states.
[G_b, G, T, Ti] = balreal(G_m);
```
<a id="org5730ca2"></a>
<a id="orgc75174b"></a>
{{< figure src="/ox-hugo/hatch00_cant_beam_gramian_balanced.png" caption="Figure 22: Sorted values of the Gramian of the balanced realization" >}}
@ -2132,6 +2135,6 @@ pos_frames = pos([1, i_input, i_output], :);
## Bibliography {#bibliography}
<a id="org1dc1f0a"></a>Hatch, Michael R. 2000. _Vibration Simulation Using MATLAB and ANSYS_. CRC Press.
<a id="org26bc000"></a>Hatch, Michael R. 2000. _Vibration Simulation Using MATLAB and ANSYS_. CRC Press.
<a id="org946c04d"></a>Miu, Denny K. 1993. _Mechatronics: Electromechanics and Contromechanics_. 1st ed. Mechanical Engineering Series. Springer-Verlag New York.
<a id="orgda249a1"></a>Miu, Denny K. 1993. _Mechatronics: Electromechanics and Contromechanics_. 1st ed. Mechanical Engineering Series. Springer-Verlag New York.

View File

@ -13,23 +13,105 @@ Tags
Resources:
- ([Skogestad and Postlethwaite 2007](#org140f9cc))
- ([Toivonen 2002](#orgc1385a9))
- ([Zhang 2011](#org8471dd8))
- ([Skogestad and Postlethwaite 2007](#orgf3c8b69))
- ([Toivonen 2002](#orgb2755d2))
- ([Zhang 2011](#org3e1b2ef))
## \\(\mathcal{H}\_\infty\\) Norm {#mathcal-h-infty--norm}
## Definition {#definition}
A norm of \\(e\\) (which may be a vector, matrix, signal of system) is a real number, denoted \\(\\|e\\|\\), that satisfies the following properties:
1. Non-negative: \\(\\|e\\| \ge 0\\)
2. Positive: \\(\\|e\\| = 0 \Longleftrightarrow e = 0\\)
3. Homogeneous: \\(\\|\alpha \cdot e\\| = |\alpha| \cdot \\|e\\|\\) for all complex scalars \\(\alpha\\)
4. Triangle inequality: \\(\\|e\_1 + e\_2\\| \le \\|e\_1\\| + \\|e\_2\\|\\)
## Vector Norms {#vector-norms}
- **Vector 1-norm (Sum Norm)**:
\\[ \\|a\\|\_1 \triangleq \sum\_i |a\_i| \\]
- **Vector 2-norm (Euclidean Norm)**:
\\[ \\|a\\|\_2 \triangleq \sqrt{\sum\_i |a\_i|^2} \\]
- **Vector p-norm**:
\\[ \\|a\\|\_p \triangleq \left( \sum\_i |a\_i|^p \right)^{1/p} \\]
- **Vector \\(\infty\text{-norm}\\) (Max Norm)**: ()
\\[ \\|a\\|\_\infty \triangleq \max\_i |a\_i| \\]
## Matrix Norms {#matrix-norms}
<div class="examp">
<div></div>
A norm on a matrix \\(\\|A\\|\\) is a matrix norm if, in addition to the four norm properties, it also satisfies the multiplicative property:
\\[ \\|AB\\| \le \\|A\\| \cdot \\|B\\| \\]
</div>
- **Sum matrix norm**:
\\[ \\|A\\|\_\text{sum} \triangleq \sum\_{i,j} |a\_{ij}| \\]
- **Frobenius matrix norm (Euclidean Norm)**:
\\[ \\|A\\|\_F \triangleq \sqrt{\sum\_{i,j} |a\_{ij}|^2} = \sqrt{\text{tr}(A^H A)} \\]
- **Max element norm**: (which is not a _matrix_ norm)
\\[ \\|A\\|\_\text{max} \triangleq \max\_{i,j} |a\_{ij}| \\]
## Induced Matrix Norms {#induced-matrix-norms}
Induced matrix norms are important because of their close relationship to signal amplification in systems.
Consider the figure below where \\(w\\) is the input vector, \\(z\\) the output vector and where the "amplification" or "gain" of the matrix \\(A\\) is defined by the ration \\(\\|z\\|/\\|w\\|\\).
{{< figure src="/ox-hugo/induced_matrix_norm.png" >}}
The maximum gain for all possible input directions is given by the **induced norm**:
\\[ \\|A\\|\_{ip} \triangleq \max\_{w \neq 0} \frac{\\|Aw\\|\_p}{\\|w\\|\_p} \\]
Thus, the induced norm gives the largest possible "amplification" of the matrix.
The following equivalent definition is also used:
\\[ \\|A\\|\_{ip} = \max\_{\\|w\\|\_p \le 1} \\|Aw\\|\_p \\]
## Signal Norms {#signal-norms}
For signals, we may compute the norm in two steps:
1. "Sum up" the channels at a given time using a vector norm.
For a scalar, we simply take the absolute value.
2. "Sum up" in time using a temporal norm.
We normally use the same p-norm both for the vector and the signal.
- **1-norm in time (Integral Absolute Error)**:
\\[ \\|e(t)\\|\_1 = \int\_{-\infty}^{\infty} \sum\_i |e\_i(\tau)| d\tau \\]
- **2-norm in time (Quadratic Norm)**:
\\[ \\|e(t)\\|\_2 = \sqrt{\int\_{-\infty}^{\infty} \sum\_i |e\_i(\tau)|^2 d\tau} \\]
- **\\(\infty\text{-norm}\\) in time (Peak value in time)**:
\\[ \\|e(t)\\|\_\infty = \max\_\tau \left( \max\_i |e\_i(\tau)| \right) \\]
- **Power-Norm or RMS-Norm**:
\\[ \\|e(t)\\|\_\text{pow} = \lim\_{T\to \infty} \sqrt{\frac{1}{2T} \int\_{-T}^T \sum\_i |e\_i(\tau)|^2 d\tau} \\]
## Signal Interpretation of Various System Norms {#signal-interpretation-of-various-system-norms}
## System Norms {#system-norms}
### \\(\mathcal{H}\_\infty\\) Norm {#mathcal-h-infty--norm}
SISO Systems => absolute value => bode plot
MIMO Systems => singular value
Signal
Signal => maximum value
## \\(\mathcal{H}\_2\\) Norm {#mathcal-h-2--norm}
### \\(\mathcal{H}\_2\\) Norm {#mathcal-h-2--norm}
The \\(\mathcal{H}\_2\\) is very useful when combined to [Dynamic Error Budgeting]({{< relref "dynamic_error_budgeting" >}}).
As explained in ([Monkhorst 2004](#orgafef987)), the \\(\mathcal{H}\_2\\) norm has a stochastic interpretation:
As explained in ([Monkhorst 2004](#orgd47c42b)), the \\(\mathcal{H}\_2\\) norm has a stochastic interpretation:
> The squared \\(\mathcal{H}\_2\\) norm can be interpreted as the output variance of a system with zero mean white noise input.
@ -41,10 +123,10 @@ Minimizing the \\(\mathcal{H}\_2\\) norm can be equivalent as minimizing the RMS
## Bibliography {#bibliography}
<a id="orgafef987"></a>Monkhorst, Wouter. 2004. “Dynamic Error Budgeting, a Design Approach.” Delft University.
<a id="orgd47c42b"></a>Monkhorst, Wouter. 2004. “Dynamic Error Budgeting, a Design Approach.” Delft University.
<a id="org140f9cc"></a>Skogestad, Sigurd, and Ian Postlethwaite. 2007. _Multivariable Feedback Control: Analysis and Design_. John Wiley.
<a id="orgf3c8b69"></a>Skogestad, Sigurd, and Ian Postlethwaite. 2007. _Multivariable Feedback Control: Analysis and Design_. John Wiley.
<a id="orgc1385a9"></a>Toivonen, Hannu T. 2002. “Robust Control Methods.” Abo Akademi University.
<a id="orgb2755d2"></a>Toivonen, Hannu T. 2002. “Robust Control Methods.” Abo Akademi University.
<a id="org8471dd8"></a>Zhang, Weidong. 2011. _Quantitative Process Control Theory_. CRC Press.
<a id="org3e1b2ef"></a>Zhang, Weidong. 2011. _Quantitative Process Control Theory_. CRC Press.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB