diff --git a/matlab/figs/comparison_cps_noise.pdf b/matlab/figs/comparison_cps_noise.pdf new file mode 100644 index 0000000..56e85ff Binary files /dev/null and b/matlab/figs/comparison_cps_noise.pdf differ diff --git a/matlab/figs/comparison_cps_noise.png b/matlab/figs/comparison_cps_noise.png new file mode 100644 index 0000000..d77546b Binary files /dev/null and b/matlab/figs/comparison_cps_noise.png differ diff --git a/matlab/figs/comparison_psd_noise.pdf b/matlab/figs/comparison_psd_noise.pdf new file mode 100644 index 0000000..c1036de Binary files /dev/null and b/matlab/figs/comparison_psd_noise.pdf differ diff --git a/matlab/figs/comparison_psd_noise.png b/matlab/figs/comparison_psd_noise.png new file mode 100644 index 0000000..c8684d6 Binary files /dev/null and b/matlab/figs/comparison_psd_noise.png differ diff --git a/matlab/figs/cps_h2_synthesis.pdf b/matlab/figs/cps_h2_synthesis.pdf new file mode 100644 index 0000000..5a63b75 Binary files /dev/null and b/matlab/figs/cps_h2_synthesis.pdf differ diff --git a/matlab/figs/cps_h2_synthesis.png b/matlab/figs/cps_h2_synthesis.png new file mode 100644 index 0000000..0692196 Binary files /dev/null and b/matlab/figs/cps_h2_synthesis.png differ diff --git a/matlab/figs/htwo_comp_filters.pdf b/matlab/figs/htwo_comp_filters.pdf index 8479d11..3fe328f 100644 Binary files a/matlab/figs/htwo_comp_filters.pdf and b/matlab/figs/htwo_comp_filters.pdf differ diff --git a/matlab/figs/htwo_comp_filters.png b/matlab/figs/htwo_comp_filters.png index 743e6bd..78ce5fe 100644 Binary files a/matlab/figs/htwo_comp_filters.png and b/matlab/figs/htwo_comp_filters.png differ diff --git a/matlab/figs/noise_characteristics_sensors.pdf b/matlab/figs/noise_characteristics_sensors.pdf new file mode 100644 index 0000000..fb41a13 Binary files /dev/null and b/matlab/figs/noise_characteristics_sensors.pdf differ diff --git a/matlab/figs/noise_characteristics_sensors.png b/matlab/figs/noise_characteristics_sensors.png new file mode 100644 index 0000000..5f1303f Binary files /dev/null and b/matlab/figs/noise_characteristics_sensors.png differ diff --git a/matlab/figs/nosie_characteristics_sensors.pdf b/matlab/figs/nosie_characteristics_sensors.pdf index 088180f..b7c43fe 100644 Binary files a/matlab/figs/nosie_characteristics_sensors.pdf and b/matlab/figs/nosie_characteristics_sensors.pdf differ diff --git a/matlab/figs/nosie_characteristics_sensors.png b/matlab/figs/nosie_characteristics_sensors.png index d4460b8..5f1303f 100644 Binary files a/matlab/figs/nosie_characteristics_sensors.png and b/matlab/figs/nosie_characteristics_sensors.png differ diff --git a/matlab/figs/psd_sensors_htwo_synthesis.pdf b/matlab/figs/psd_sensors_htwo_synthesis.pdf index 20bf7b2..0f2a10f 100644 Binary files a/matlab/figs/psd_sensors_htwo_synthesis.pdf and b/matlab/figs/psd_sensors_htwo_synthesis.pdf differ diff --git a/matlab/figs/psd_sensors_htwo_synthesis.png b/matlab/figs/psd_sensors_htwo_synthesis.png index b0cf286..757dae5 100644 Binary files a/matlab/figs/psd_sensors_htwo_synthesis.png and b/matlab/figs/psd_sensors_htwo_synthesis.png differ diff --git a/matlab/figs/weights_comp_filters_Hinfa.pdf b/matlab/figs/weights_comp_filters_Hinfa.pdf new file mode 100644 index 0000000..298a034 Binary files /dev/null and b/matlab/figs/weights_comp_filters_Hinfa.pdf differ diff --git a/matlab/figs/weights_comp_filters_Hinfa.png b/matlab/figs/weights_comp_filters_Hinfa.png new file mode 100644 index 0000000..64b7b7c Binary files /dev/null and b/matlab/figs/weights_comp_filters_Hinfa.png differ diff --git a/matlab/figs/weights_comp_filters_Hinfb.pdf b/matlab/figs/weights_comp_filters_Hinfb.pdf new file mode 100644 index 0000000..18985cc Binary files /dev/null and b/matlab/figs/weights_comp_filters_Hinfb.pdf differ diff --git a/matlab/figs/weights_comp_filters_Hinfb.png b/matlab/figs/weights_comp_filters_Hinfb.png new file mode 100644 index 0000000..39e7779 Binary files /dev/null and b/matlab/figs/weights_comp_filters_Hinfb.png differ diff --git a/matlab/index.html b/matlab/index.html index 03921da..fd961af 100644 --- a/matlab/index.html +++ b/matlab/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +When blending two sensors using complementary filters with unknown dynamics, phase lag may be introduced that renders the close-loop system unstable.
Then, three design methods for generating two complementary filters are proposed:
The idea is to combine sensors that works in different frequency range using complementary filters.
@@ -423,102 +419,122 @@ All the files (data and Matlab scripts) are accessible
-
-Let's consider the sensor fusion architecture shown on figure 1 where two sensors 1 and 2 are measuring the same quantity \(x\) with different noise characteristics determined by \(W_1\) and \(W_2\).
+Let's consider the sensor fusion architecture shown on figure 1 where two sensors (sensor 1 and sensor 2) are measuring the same quantity \(x\) with different noise characteristics determined by \(N_1(s)\) and \(N_2(s)\).
-\(n_1\) and \(n_2\) are white noise (constant power spectral density over all frequencies).
+\(\tilde{n}_1\) and \(\tilde{n}_2\) are normalized white noise:
+
Figure 1: Fusion of two sensors
-We consider that the two sensor dynamics \(G_1\) and \(G_2\) are ideal (\(G_1 = G_2 = 1\)). We obtain the architecture of figure 2.
+We consider that the two sensor dynamics \(G_1(s)\) and \(G_2(s)\) are ideal:
+
+We obtain the architecture of figure 2.
+
Figure 2: Fusion of two sensors with ideal dynamics
-\(H_1\) and \(H_2\) are complementary filters (\(H_1 + H_2 = 1\)). The goal is to design \(H_1\) and \(H_2\) such that the effect of the noise sources \(n_1\) and \(n_2\) has the smallest possible effect on the estimation \(\hat{x}\).
+\(H_1(s)\) and \(H_2(s)\) are complementary filters:
+
+The goal is to design \(H_1(s)\) and \(H_2(s)\) such that the effect of the noise sources \(\tilde{n}_1\) and \(\tilde{n}_2\) has the smallest possible effect on the estimation \(\hat{x}\).
We have that the Power Spectral Density (PSD) of \(\hat{x}\) is:
-\[ \Gamma_{\hat{x}} = |H_1 W_1|^2 \Gamma_{n_1} + |H_2 W_2|^2 \Gamma_{n_2} \]
+\[ \Phi_{\hat{x}}(\omega) = |H_1(j\omega) N_1(j\omega)|^2 \Phi_{\tilde{n}_1}(\omega) + |H_2(j\omega) N_2(j\omega)|^2 \Phi_{\tilde{n}_2}(\omega), \quad \forall \omega \]
And the goal is the minimize the Root Mean Square (RMS) value of \(\hat{x}\):
-\[ \sigma_{\hat{x}} = \sqrt{\int_0^\infty \Gamma_{\hat{x}}(\omega) d\omega} \]
-
-As \(n_1\) and \(n_2\) are white noise: \(\Gamma_{n_1} = \Gamma_{n_2} = 1\) and we have:
-\[ \sigma_{\hat{x}} = \sqrt{\int_0^\infty |H_1 W_1|^2(\omega) + |H_2 W_2|^2(\omega) d\omega} = \left\| \begin{matrix} H_1 W_1 \\ H_2 W_2 \end{matrix} \right\|_2 \]
-
-Thus, the goal is to design \(H_1\) and \(H_2\) such that \(H_1 + H_2 = 1\) and such that \(\left\| \begin{matrix} H_1 W_1 \\ H_2 W_2 \end{matrix} \right\|_2\) is minimized.
-
-For that, we will use the \(\mathcal{H}_2\) Synthesis.
-Let's define the noise characteristics of the two sensors by choosing \(W_1\) and \(W_2\):
+Let's define the noise characteristics of the two sensors by choosing \(N_1\) and \(N_2\):
-We use the generalized plant architecture shown on figure 4.
+As \(\tilde{n}_1\) and \(\tilde{n}_2\) are normalized white noise: \(\Phi_{\tilde{n}_1}(\omega) = \Phi_{\tilde{n}_2}(\omega) = 1\) and we have:
+\[ \sigma_{\hat{x}} = \sqrt{\int_0^\infty |H_1 N_1|^2(\omega) + |H_2 N_2|^2(\omega) d\omega} = \left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2 \]
+Thus, the goal is to design \(H_1(s)\) and \(H_2(s)\) such that \(H_1(s) + H_2(s) = 1\) and such that \(\left\| \begin{matrix} H_1 N_1 \\ H_2 N_2 \end{matrix} \right\|_2\) is minimized.
+
+For that, we use the \(\mathcal{H}_2\) Synthesis.
+
+We use the generalized plant architecture shown on figure 4.
Figure 4: \(\mathcal{H}_2\) Synthesis - Generalized plant used for the optimal generation of complementary filters
The transfer function from \([n_1, n_2]\) to \(\hat{x}\) is:
-\[ \begin{bmatrix} W_1 H_1 \\ W_2 (1 - H_1) \end{bmatrix} \]
+\[ \begin{bmatrix} N_1 H_1 \\ N_2 (1 - H_1) \end{bmatrix} \]
If we define \(H_2 = 1 - H_1\), we obtain:
-\[ \begin{bmatrix} W_1 H_1 \\ W_2 H_2 \end{bmatrix} \]
+\[ \begin{bmatrix} N_1 H_1 \\ N_2 H_2 \end{bmatrix} \]
@@ -536,11 +552,11 @@ Thus, if we minimize the \(\mathcal{H}_2\) norm of this transfer function, we mi
-We define the generalized plant \(P\) on matlab as shown on figure 4.
+We define the generalized plant \(P\) on matlab as shown on figure 4.
-What is minimized is
-Finally, we define \(H_2 = 1 - H_1\).
+Finally, we define \(H_2(s) = 1 - H_1(s)\).
-The complementary filters obtained are shown on figure 5. The PSD of the 6.
-Finally, the RMS value of \(\hat{x}\) is shown on table 1.
-The optimal sensor fusion has permitted to reduced the RMS value of the estimation error by a factor 8 compare to when using only one sensor.
+The complementary filters obtained are shown on figure 5.
+
+The PSD of the noise of the individual sensor and of the super sensor are shown in Fig. 6.
+
+The Cumulative Power Spectrum (CPS) is shown on Fig. 7.
+
+The obtained RMS value of the super sensor is lower than the RMS value of the individual sensors.
Figure 6: Power Spectral Density of the estimated \(\hat{x}\) using the two sensors alone and using the optimally fused signal (png, pdf)
Another objective that we may have is that the noise of the super sensor \(n_{SS}\) is following the minimum of the noise of the two sensors \(n_1\) and \(n_2\):
\[ \Gamma_{n_{ss}}(\omega) = \min(\Gamma_{n_1}(\omega),\ \Gamma_{n_2}(\omega)) \]
@@ -639,41 +641,40 @@ Another objective that we may have is that the noise of the super sensor \(n_{SS
In order to obtain that ideal case, we need that the complementary filters be designed such that:
-Which is indeed impossible in practice.
+Which is indeed impossible in practice.
-We could try to use filters with the highest possible order to approximate that.
-However, we may have robustness and implementation problems.
+We could try to approach that with the \(\mathcal{H}_\infty\) synthesis by using high order filters.
+
+As shown on Fig. 3, the frequency where the two sensors have the same noise level is around 9Hz.
+We will thus choose weighting functions such that the merging frequency is around 9Hz.
+
+The weighting functions used as well as the obtained complementary filters are shown in Fig. 8.
+We then compute the Power Spectral Density as well as the Cumulative Power Spectrum.
+
We have that:
-\[ \Phi_{n_{ss}} = \left|H_1\right|^2 \Phi_{n_1} + \left|H_2\right|^2 \Phi_{n_2} \]
+\[ \Phi_{\hat{x}}(\omega) = \left|H_1(j\omega) N_1(j\omega)\right|^2 + \left|H_2(j\omega) N_2(j\omega)\right|^2 \]
-We model the Power Spectral Densities of the two sensors by weighting functions \(N_1(s)\) and \(N_2(s)\).
-\[ \Phi_{n_{ss}} = \left|H_1 N_1\right|^2 + \left|H_2\right N_2|^2 \]
+Then, at frequencies where \(|H_1(j\omega)| < |H_2(j\omega)|\) we would like that \(|N_1(j\omega)| = 1\) and \(|N_2(j\omega)| = 0\) as we discussed before.
+Then \(|H_1 N_1|^2 + |H_2 N_2|^2 = |N_1|^2\).
-Then, at frequencies where \(|H_1| < |H_2|\) we would like that \(|N_1| = 1\) and \(|N_2| = 0\) as we discussed before.
-Then \(|H_1 N_1|^2 + |H_2 N_2|^2 = |H_1 N_1|^2\).
-
-However, if we design \(H_2\) such that when \(|N_1| < |N_2|\), we have that:
+We know that this is impossible in practice. A more realistic choice is to design \(H_2(s)\) such that when \(|N_2(j\omega)| > |N_1(j\omega)|\), we have that:
\[ |H_2 N_2|^2 = \epsilon |H_1 N_1|^2 \]
+
+Which is equivalent to have (by supposing \(|H_1| \approx 1\)):
+\[ |H_2| = \sqrt{\epsilon} \frac{|N_1|}{|N_2|} \]
+
And we have:
-We have then that:
-\[ |H_2 N_2| = \sqrt{\epsilon} |H_1 N_1| \]
-We suppose that \(|H_1| = 1\):
-\[ |H_2| = \sqrt{\epsilon} \frac{|N_1|}{|N_2|} \]
-We can use that for the maximum magnitude of \(|H_2|\) at frequencies where \(|N_1| < |N_2|\)
-
-Similarly, we have that the maximum magnitude of \(|H_1|\) at frequencies where \(|N_1| > |N_2|\) is:
+Similarly, we design \(H_1(s)\) such that at frequencies where \(|N_1| > |N_2|\):
\[ |H_1| = \sqrt{\epsilon} \frac{|N_2|}{|N_1|} \]
-We could take \(\epsilon = 1\), then we increase the noise of the super sensor just by a factor \(\sqrt{2}\) over the all bandwidth from the idea case.
+For instance, is we take \(\epsilon = 1\), then the PSD of \(\hat{x}\) is increased by just by a factor \(\sqrt{2}\) over the all frequencies from the idea case.
-This could be used as weighting functions for the \(\mathcal{H}_\infty\) synthesis of the complementary filters.
+We use this as the weighting functions for the \(\mathcal{H}_\infty\) synthesis of the complementary filters.
+
+The weighting function and the obtained complementary filters are shown in Fig. 9.
1.1 Architecture
+1.1 Architecture
1.2 Noise of the sensors
+1.2 Noise of the sensors
-
omegac = 100*2*pi; G0 = 1e-5; Ginf = 1e-4;
-W1 = (Ginf*s/omegac + G0)/(s/omegac + 1)/(1 + s/2/pi/4000);
+N1 = (Ginf*s/omegac + G0)/(s/omegac + 1)/(1 + s/2/pi/100);
omegac = 1*2*pi; G0 = 1e-3; Ginf = 1e-8;
-W2 = ((sqrt(Ginf)*s/omegac + sqrt(G0))/(s/omegac + 1))^2/(1 + s/2/pi/4000)^2;
+N2 = ((sqrt(Ginf)*s/omegac + sqrt(G0))/(s/omegac + 1))^2/(1 + s/2/pi/4000)^2;
1.3 H-Two Synthesis
+1.3 H-Two Synthesis
P = [0 W2 1;
- W1 -W2 0];
+
P = [0 N2 1;
+ N1 -N2 0];
h2syn
command.
norm([W1*H1,W2*H2], 2)
.
-H2 = 1 - H1;
1.4 Analysis
-PSD_S1 = abs(squeeze(freqresp(N1, freqs, 'Hz'))).^2;
+PSD_S2 = abs(squeeze(freqresp(N2, freqs, 'Hz'))).^2;
+PSD_H2 = abs(squeeze(freqresp(N1*H1, freqs, 'Hz'))).^2+abs(squeeze(freqresp(N2*H2, freqs, 'Hz'))).^2;
+
+
-
+
CPS_S1 = 1/pi*cumtrapz(2*pi*freqs, PSD_S1);
+CPS_S2 = 1/pi*cumtrapz(2*pi*freqs, PSD_S2);
+CPS_H2 = 1/pi*cumtrapz(2*pi*freqs, PSD_H2);
+
+
-
-
-
-
-rms value
-
-
-
-Sensor 1
-1.1e-02
-
-
-
-Sensor 2
-1.3e-03
-
-
-
-Optimal Sensor Fusion
-1.5e-04
-1.5 H-Infinity Synthesis
-1.5.1 First idea
-1.4 H-Infinity Synthesis - method A
+omegac = 100*2*pi; G0 = 1e-5; Ginf = 1e-4;
-N1 = (Ginf*s/omegac + G0)/(s/omegac + 1)/(1 + s/2/pi/4000);
-
-omegac = 1*2*pi; G0 = 1e-3; Ginf = 1e-8;
-N2 = ((sqrt(Ginf)*s/omegac + sqrt(G0))/(s/omegac + 1))^2/(1 + s/2/pi/4000)^2;
-
-n = 5; w0 = 2*pi*10; G0 = 1/10; G1 = 10000; Gc = 1/2;
-W1 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
+W1a = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
n = 5; w0 = 2*pi*8; G0 = 1000; G1 = 0.1; Gc = 1/2;
-W2 = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
+W2a = (((1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (G0/Gc)^(1/n))/((1/G1)^(1/n)*(1/w0)*sqrt((1-(G0/Gc)^(2/n))/(1-(Gc/G1)^(2/n)))*s + (1/Gc)^(1/n)))^n;
P = [W1 -W1;
- 0 W2;
- 1 0];
+
P = [W1a -W1a;
+ 0 W2a;
+ 1 0];
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
+
[H2a, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
-[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
+[H2a, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
Resetting value of Gamma min based on D_11, D_12, D_21 terms
Test bounds: 0.1000 < gamma <= 10500.0000
@@ -722,115 +723,92 @@ Test bounds: 0.1000 < gamma <= 10500.0000
H1 = 1 - H2;
+
H1a = 1 - H2a;
+
-
+
-
-
-
-
-rms value
-
-
-
-Sensor 1
-1.1e-02
-
-
-
-Sensor 2
-1.3e-03
-
-
-
-Optimal Sensor Fusion
-3.2e-04
-PSD_Ha = abs(squeeze(freqresp(N1*H1a, freqs, 'Hz'))).^2+abs(squeeze(freqresp(N2*H2a, freqs, 'Hz'))).^2;
+CPS_Ha = 1/pi*cumtrapz(2*pi*freqs, PSD_Ha);
+
+1.5.2 Second idea
-1.5 H-Infinity Synthesis - method B
+omegac = 100*2*pi; G0 = 1e-5; Ginf = 1e-4;
-N1 = (Ginf*s/omegac + G0)/(s/omegac + 1)/(1 + s/2/pi/4000);
+
epsilon = 2;
-omegac = 1*2*pi; G0 = 1e-3; Ginf = 1e-8;
-N2 = ((sqrt(Ginf)*s/omegac + sqrt(G0))/(s/omegac + 1))^2/(1 + s/2/pi/4000)^2;
+W1b = 1/epsilon*N1/N2;
+W2b = 1/epsilon*N2/N1;
+
+W1b = W1b/(1 + s/2/pi/1000); % this is added so that it is proper
W1 = N1/N2;
-W2 = N2/N1;
-
-W1 = W1/(1 + s/2/pi/1000); % this is added so that it is proper
-
-P = [W1 -W1;
- 0 W2;
- 1 0];
+
P = [W1b -W1b;
+ 0 W2b;
+ 1 0];
[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
+
[H2b, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
-[H2, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
-Test bounds: 0.0000 < gamma <= 2625.0000
+[H2b, ~, gamma, ~] = hinfsyn(P, 1, 1,'TOLGAM', 0.001, 'METHOD', 'ric', 'DISPLAY', 'on');
+Test bounds: 0.0000 < gamma <= 32.8125
gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f
-2.625e+03 1.8e+01 -2.3e-12 6.3e+00 -1.7e-14 0.0000 p
-1.313e+03 1.8e+01 -3.3e-12 6.3e+00 -5.9e-13 0.0000 p
- 656.250 1.8e+01 -1.8e-12 6.3e+00 -1.2e-13 0.0000 p
- 328.125 1.8e+01 -8.3e-13 6.3e+00 -7.5e-14 0.0000 p
- 164.063 1.8e+01 -3.8e-13 6.3e+00 -6.1e-14 0.0000 p
- 82.031 1.8e+01 -3.3e-22 6.3e+00 -5.4e-14 0.0000 p
- 41.016 1.8e+01 -3.4e-12 6.3e+00 -1.4e-16 0.0000 p
- 20.508 1.8e+01 -6.4e-14 6.3e+00 -4.4e-13 0.0000 p
- 10.254 1.8e+01 -1.4e-13 6.3e+00 -4.9e-14 0.0000 p
- 5.127 1.7e+01 -1.1e-12 6.3e+00 -1.6e-13 0.0000 p
- 2.563 1.7e+01 -6.5e-13 6.3e+00 -7.3e-14 0.0000 p
- 1.282 1.4e+01 -8.9e+04# 6.3e+00 -1.6e-14 0.0000 f
- 1.923 1.6e+01 -4.6e+05# 6.3e+00 -2.1e-13 0.0000 f
- 2.243 1.7e+01 -1.9e+06# 6.3e+00 -9.9e-14 0.0000 f
- 2.403 1.7e+01 -3.7e-11 6.3e+00 -2.1e-12 0.0000 p
- 2.323 1.7e+01 -4.6e+06# 6.3e+00 -5.8e-14 0.0000 f
- 2.363 1.7e+01 -1.2e+07# 6.3e+00 -3.3e-14 0.0000 f
- 2.383 1.7e+01 -6.8e+07# 6.3e+00 -1.2e-13 0.0000 f
- 2.393 1.7e+01 -5.5e-11 6.3e+00 -1.8e-12 0.0000 p
- 2.388 1.7e+01 1.3e-22 6.3e+00 -2.5e-15 0.0000 p
- 2.386 1.7e+01 -1.5e+08# 6.3e+00 -1.4e-13 0.0000 f
- 2.387 1.7e+01 -4.0e+08# 6.3e+00 -1.0e-13 0.0000 f
- 2.388 1.7e+01 -2.1e+09# 6.3e+00 -4.2e-13 0.0000 f
+ 32.812 1.8e+01 3.4e-10 6.3e+00 -2.9e-13 0.0000 p
+ 16.406 1.8e+01 3.4e-10 6.3e+00 -1.2e-15 0.0000 p
+ 8.203 1.8e+01 3.3e-10 6.3e+00 -2.6e-13 0.0000 p
+ 4.102 1.8e+01 3.3e-10 6.3e+00 -2.1e-13 0.0000 p
+ 2.051 1.7e+01 3.4e-10 6.3e+00 -7.2e-16 0.0000 p
+ 1.025 1.6e+01 -1.3e+06# 6.3e+00 -8.3e-14 0.0000 f
+ 1.538 1.7e+01 3.4e-10 6.3e+00 -2.0e-13 0.0000 p
+ 1.282 1.7e+01 3.4e-10 6.3e+00 -7.9e-17 0.0000 p
+ 1.154 1.7e+01 3.6e-10 6.3e+00 -1.8e-13 0.0000 p
+ 1.089 1.7e+01 -3.4e+06# 6.3e+00 -1.7e-13 0.0000 f
+ 1.122 1.7e+01 -1.0e+07# 6.3e+00 -3.2e-13 0.0000 f
+ 1.138 1.7e+01 -1.3e+08# 6.3e+00 -1.8e-13 0.0000 f
+ 1.146 1.7e+01 3.2e-10 6.3e+00 -3.0e-13 0.0000 p
+ 1.142 1.7e+01 5.5e-10 6.3e+00 -2.8e-13 0.0000 p
+ 1.140 1.7e+01 -1.5e-10 6.3e+00 -2.3e-13 0.0000 p
+ 1.139 1.7e+01 -4.8e+08# 6.3e+00 -6.2e-14 0.0000 f
+ 1.139 1.7e+01 1.3e-09 6.3e+00 -8.9e-17 0.0000 p
- Gamma value achieved: 2.3882
+ Gamma value achieved: 1.1390
H1 = 1 - H2;
+
H1b = 1 - H2b;