esa-sceva/satcom-chunk-collection huggingface dataset:
## 3 Results
### Biochemical Indicators
#### 3.1.2 Amino Acid Composition  
Amino acids are essential for human nutrition. Table 2 presents the amino acid compositions of WGT, GT18, GT20, GT22, and GT24.  
Figure 1: The effect of germination time on the color characteristics of tritticale samples. The Pearson correlation coefficient shows the relationship between changes in the color of flour from germinated tritticale grain and the germination time of tritticale grain: L* (lightness) r = 0.772, direct relationship, the strength of the relationship on the Chaddock scale is high; a* (redness) r = \(-\)0.861, strong inverse relationship; b* (yellowness) r = \(-\)0.886, strong inverse relationship.  
The results of this research established a positive effect of germination on amino acid content. The quantities of essential amino acids, such as lysine, methionine, leucine, isoleucine, threonine, phenylalanine, and valine, were elevated during germination at various intervals. Specifically, increases in lysine and phenylalanine levels were observed during germination at 20 and 22 h, while leucine, isoleucine, and methionine levels increased between 18 and 22 h, and threonine levels increased between 18 and 24 h. Notably, the total amino acid content reached its maximum value during germination at 20 and 22 h, as this period corresponds to the active phase of enzymatic protein breakdown, which promotes the maximum accumulation of amino acids. This is consistent with the data from [PERSON] et al. [87] and [PERSON] et al. [69], who showed an increase in lysine and other amino acids in cereal crops during germination.  
The decrease in amino acid content at 24 h may be related to the fact that the accumulated amino acids could be used for other metabolic processes, such as the synthesis of new proteins or other biochemical reactions, which reduces their concentration [88; 89].  
The increase in amino acid content due to proteolytic activity during germination enhances the nutritional quality of the grain. The type of amino acid released varies according to the grain and germination conditions. In cereals, protein hydrolysis leads to the breakdown of prolamins, and the released amino acids, such as glutamic acid and proline, are converted into the limiting amino acid lysine, thus improving protein quality [90].  
Among the essential amino acids, lysine deserves special attention due to its important role in maintaining human health. Lysine is an essential amino acid required for vital physiological functions, including calcium absorption, antibody synthesis, hormonal balance, muscle tissue development, and the production of carnitine, a compound involved in fatty acid metabolism. Lysine has high bioavailability, averaging 92% in various food products, which makes it an essential indicator of high-quality dietary protein [91]. Since the human body cannot independently synthesize lysine, it must be obtained from food in adequate amounts [92; 93].
# Spoofing Detection Algorithm Based on Pseudorange Differences
## 1 Introduction
Other methods can also detect spoofing signals to a certain extent, but still have limitations. Considering that some of such methods are complementary in spoofing detection, the authors adopted information fusion in combination with multiple spoofing detection strategies to improve the detection performance [23]. The information fusion method is useful, but requires more hardware and software to realize the different detection methods and requires more time to finish the signal processing. The performance of the fusion algorithm determines the effectiveness of detection. In Ref. [24], the authors proposed a network monitoring mechanism based on the time difference of arrival properties between spoofing and authentic signals. This network contains several receivers and one central processing component. From the simulation, we can see that the detection performance is influenced by the distance between the receiver and the central processing component. This structure is better suited for static testing. If a single receiver can be used to implement detections, the disadvantages mentioned above can be overcome. The motivation of this paper is to use a single receiver or a single antenna to detect meaconing, simplistic and intermediate spoofing attacks by pseudorange differences. The main contributions of this paper can be summarized as follows: (1) we build the signal pseudorange model based on the signal transmission path; (2) a novel spoofing detection algorithm is proposed based on the pseudorange model, which only needs one single receiver and does not require changing the hardware; (3) we validate the proposed algorithm on real experiments, showing its effectiveness and simplicity in real engineering applications. The hardware of the receiver does not need to be changed, and no additional auxiliary equipment is required. This is the advantage compared with other algorithms. The authenticity of the signal can be confirmed by comparing the result of the proposed spoofing detection algorithm with the result of the traditional least squares method. The paper is organized as follows: Section 2 gives the theoretical analysis of a single receiver against the spoofing signal; Section 3 describes three different test datasets, which are used to validate the algorithm performance; Section 4 concludes the paper.
## 2 Materials and Methods
### Isolation of Plasmid DNA for Gene Transfection  
The pCMV-PTEN plasmid contained PTEN gene insert (1209 bp) and a tag/fusion protein named Flag (N-terminal on insert). It is a high copy number plasmid grown in E. coli DH5\(\alpha\) cells containing ampicillin resistant genes. For plasmid isolation, _E. coli_ DH5\(\alpha\) bacteria harbouring PTEN plasmid gene were grown in LB agar plates (ampicillin 100 \(\upmu\)g/mL) overnight at 37 \({}^{\circ}\)C. After 16-18 h, individual colonies were inoculated in 100 mL of LB broth in presence of ampicillin antibiotic and grown in an incubator (Labtech Company) with shaking at 220 rpm for 16-18 h at 37 \({}^{\circ}\)C. The plasmids were isolated and purified from bacteria using plasmid Mega kit (Qiagen, Germany). The concentration of extracted DNA was measured in 'Implen' nanodrop machine. A ratio of absorbance at 260 and 280 with 1.8 reading or more was indicative of highly pure extracted DNA. Furthermore, purified DNA was run on 0.8% agarose gel and the DNA bands were visualized under ultraviolet transilluminator using 'Quantity One' Bio-Rad software.
## 3 Sensor Fault Diagnosis
### Dual Sensor Faults  
Although the probability of simultaneous failure of two or more sensors is relatively low, due to the high-reliability requirements of engine control and fault diagnosis system, on the basis of being able to diagnose a single fault accurately, this section further studies the fault diagnosis and signal reconstruction of two sensors.  
When the dual-sensor fault occurs, the Kalman filter design scheme that isolates one of the sensors mentioned above will not work because all the filters use the fault information. The output residual will make the \(WSSR\) of all the filters change. In this case, a conservative but effective scheme is to isolate the two sensors, but the number of Kalman filters required will increase as the number of combinations. So, when there are more sensors, the idea of grouping sensors can be used to design. For example, there are 2 N sensors, which are divided into groups A and B. Each group has N sensors. Kalman filter banks are independently designed for these two groups to carry out the single fault diagnosis. If both sensor faults occur in one group, the \(WSSR\) values of the filters in this group will deviate from the normal values, while the other group will keep low values. In this case, the signals in this group can be completely abandoned, and the optimal state estimation and signal reconstruction can be carried out with another group of filters. If sensor faults  
Figure 11: Signal reconstruction after sensor troubleshooting.  
Figure 10: Estimate of degradation after sensor troubleshooting.  
occur in both groups A and B, only one filter will remain low in both groups. The two fault sensors can be diagnosed and isolated at this time, and the remaining sensors can be used for optimal state estimation and signal reconstruction. Figures 12-15 are the results of adopting this scheme. Group A contains the signals as \(y_{A}=(n_{I},n_{h},P_{3},T_{t3},P_{t21},T_{t21})\) while \(y_{B}=(P_{t3},T_{t3},P_{t21},T_{t21},P_{t6},T_{t6})\). Firstly, the fault sensors are set as the high spool speed sensor (\(N_{h}\)) and the total pressure sensor at the inlet of the mixing chamber (\(P_{t6}\)). As shown in Figures 12 and 13, group A and group B each have a filter with a low \(WSSR\) value so that the fault sensor can be easily diagnosed. Secondly, the fault sensors are set as the total pressure sensor (\(P_{t6}\)) and temperature sensor at the inlet of the mixing chamber (\(T_{t6}\)). As shown in Figures 14 and 15, it can be seen that the \(WSSR\) of all the filters in Group A remains low, while all the filters in Group B are offset. Therefore, it is judged that both sensor faults occur in Group B, and all sensors in Group A are normal. The methods for optimal state estimation and signal reconstruction using normal sensors are similar to those in the previous section and will not be repeated here.
## 2 Methods
### Spatial-Spectral Cooperative Attention Module (SSCA)
#### 2.2.2 Spatial Attention Branches  
The spatial attention branch adopts a dual-branch structure with a spatial weight branch and a spatial feature extraction branch. The main path generates the spatial attention map \(M_{s}(F)\) by applying channel compression and spatial convolution, capturing long-range spatial dependencies. The auxiliary path applies multi-scale convolutions to capture spatial features at different receptive fields, producing a detail-enhanced feature map \(Y_{2}\).  
\[Y_{2}=Depw_{conv2d}\ (cat(f^{3\times 3}(X)+f^{5\times 5}(X)+f^{7\times 7}(X)), \tag{4}\]  
\[M_{s}(X)=\sigma(f^{3\times 3}([Conv_{mean}(Depw_{conv2d}(X)));Conv_{max}( Depw_{conv2d}(X))])) \tag{5}\]  
The \(Depw_{conv2d}\) block combines a depthwise convolution with a \(3\times 3\) kernel and a \(1\times 1\) pointwise convolution to process the feature map. In the spatial information extraction branch, the feature map is processed through convolutions with kernel sizes of \(f^{3\times 3},f^{5\times 5}\) and \(f^{7\times 7}\).  
After obtaining the enhanced spatial features along with spatial attention weights, the spatial weight map \(M_{s}(\mathrm{X})\) is multiplied element by element with the feature map \(\mathrm{Y_{2}}\), achieving adaptive weighting across spatial locations to enhance the network's spatial information extraction capability.
## 3 EBI Signal Processing and Algorithm Development for HR Estimation
### Signal Normalization  
Subsequently, after the filtering, the signal is normalized using Equation (4):  
\[\mathbf{x}_{norm}(t)=\frac{\mathbf{x}_{\text{filt}}(t)-\text{mean}(\mathbf{ x}_{\text{filt}}(t))}{\text{max}(\mathbf{x}_{\text{filt}}(t))-\text{min}( \mathbf{x}_{\text{filt}}(t))}, \tag{4}\]  
where \(\mathbf{x}(t)\) is the signal vector, \(\mathbf{x}_{\text{filt}}(t)\) is filtered version of the signal, \(\text{min}()\), \(\text{max}()\), and \(\text{mean}()\) are functions, which estimate the minimum, maximum, and mean values, respectively, of the \(\mathbf{x}_{\text{filt}}(t)\).
# Continuous-Service M/M/1 Queuing Systems
## 3 Derivation of \(L\) and \(L_{q}\)
### The Average Number of Customers in the System  
Our continuous-service M/M/1 queuing systems feature the average number of real customers in the system as follows.  
\[L=0\pi_{0}+1(\pi_{1}+\pi_{-1})+2(\pi_{2}+\pi_{-2})+3(\pi_{3}+\pi_{-3})+\cdots.\]Applying Equation (16) yields  
\[\begin{array}{l}L=1\Big{[}\frac{\rho(1-\rho)}{1+\rho}+\frac{\rho(1-\rho)}{(1+ \rho)^{2}}\Big{]}+2\Big{[}\rho(1-\rho)\Big{(}1-\frac{1}{(1+\rho)^{2}}\Big{)}+ \frac{\rho^{2}(1-\rho)}{(1+\rho)^{3}}\Big{]}+3\Big{[}\rho^{2}(1-\rho)\Big{(}1- \frac{1}{(1+\rho)^{3}}\Big{)}+\frac{\rho^{2}(1-\rho)}{(1+\rho)^{4}}\Big{]}+ \cdots\\ =(1-\rho)\Big{[}1-\frac{1}{1+\rho}+\frac{\rho}{(1+\rho)^{2}}\Big{]}+2\rho(1- \rho)\Big{[}1-\frac{1}{(1+\rho)^{2}}+\frac{\rho}{(1+\rho)^{3}}\Big{]}+3\rho^{ 2}(1-\rho)\Big{[}1-\frac{1}{(1+\rho)^{3}}+\frac{\rho}{(1+\rho)^{4}}\Big{]}+ \cdots\\ =(1-\rho)\Big{[}1-\frac{1}{(1+\rho)^{3}}\Big{]}+2\rho(1-\rho)\Big{[}1-\frac{ 1}{(1+\rho)^{3}}+3\rho^{2}(1-\rho)\Big{]}-\frac{1}{(1+\rho)^{4}}\Big{]}+ \cdots\\ =(1-\rho)+2\rho(1-\rho)+3\rho^{2}(1-\rho)+\cdots-\frac{(1-\rho)}{(1+\rho)^{2}} -\frac{2\rho(1-\rho)}{(1+\rho)^{3}}-\frac{3\rho^{2}(1-\rho)}{(1+\rho)^{4}}- \cdots\\ =(1-\rho)\Big{[}1+2\rho+3\rho^{2}+\cdots-\frac{(1-\rho)}{(1+\rho)^{2}}\Big{[} 1+\frac{2\rho}{1+\rho}+\frac{3\rho^{2}}{(1+\rho)^{2}}+\cdots\Big{]}\\ =(1-\rho)\Big{[}\frac{1}{(1-\rho)^{2}}\Big{]}-\frac{(1-\rho)}{(1+\rho)^{2}} \frac{1}{\Big{[}1-\frac{\rho}{1+\rho}\Big{]}}\\ =\frac{1}{1-\rho}-(1-\rho)\\ =\frac{(2-\rho)\rho}{1-\rho}.\end{array} \tag{17}\]  
Thus, the average number of real customers in our systems is \(L=\frac{(2-\rho)\rho}{(1-\rho)}\). Recall that such a result for the standard M/M/1 system is \(L=\frac{\rho}{(1-\rho)}\)[25]. Since our continuous-service systems require that a (real) customer arriving into a system currently serving an imaginary customer (no real customers currently in the system) wait in the queue until the current service on the imaginary customer is completed, we may expect the average number of real customers in the system to be larger than that of the standard M/M/1 system. This is reflected in our result which is the \(L\) from the standard system multiplied by \((2-\rho)\). Hence, our continuous-service value of \(L\) is \(100(1-\rho)\%\) greater than the standard system value.
# A Wear Simulation Method for Mechanical Face Seals under Friction Instability Conditions
## 2 Mathematical Model of Mechanical Face Seals under Friction Instability Conditions
### Dynamic Analysis of the Mechanical Face Seal  
The dynamic model is shown in Figure 4. This model can describe the friction instabilities, such as stick-slip, occurring in mechanical face seals. The model has two degrees of freedom: the axial motion \(h_{In}\) and the circumferential rotation \(\theta\) around the seal's axis of the stator assembly.  
In the model proposed by [PERSON] et al. [4], the mass \(m\) and the moment of inertia \(J\) include the spring, the mating ring, and its shell. The mass \(m\) is connected to the housing by a spring with axial stiffness \(K\), torsional stiffness \(K_{t}\), axial damping \(C\), and torsional damping \(C_{t}\).  
The dynamic characteristics of the mechanical seals are defined by the following equations:  
\[m\ddot{h}_{1n}+C\dot{h}_{1n}+Kh_{1n}=\int_{r_{i}}^{r_{o}}2\pi rPdr-F_{p}=\int_{ r_{i}}^{r_{o}}2\pi r(p_{f}+p_{c})dr-F_{p}, \tag{10}\]  
\[\begin{array}{c}J\ddot{\theta}+C_{t}\dot{\theta}+K_{t}\theta=M_{b}+M_{l}\\ =\int\limits_{r_{i}}^{r_{o}}2\pi f(\omega)p_{c}r^{2}dr+\int\limits_{r_{i}}^{r_ {o}}2\pi\mu\omega\frac{r^{3}}{h_{n}(r)}dr\end{array} \tag{11}\]  
The axial opening force is calculated by the total interfacial pressure \(P\). As already mentioned, \(P\) is the sum of \(p_{c}\) and \(p_{f}\), according to Equations (8) and (2), respectively. The axial force is calculated according to the given value \(h_{1}\), and an iterative process is used to solve the equation. The hydrostatic pressure \(F_{p}\) is the partial closing force \(F_{p}=\pi(r_{o}^{2}-r_{b}^{2})P_{o}+\pi(r_{b}^{2}-r_{i}^{2})P_{i}\).  
The total axial force \(F(h_{1n})\) includes the asperity contact load and fluid pressure. The total torque consists of \(M_{b}\) and \(M_{l}\). \(M_{b}\) represents the friction torque acting on the seal under boundary lubrication conditions. \(M_{l}\) is the viscous torque acting under full lubrication.  
The friction coefficient \(f(\omega)\) is defined in Equation [4]:  
\[f(\omega)=f_{d}+(f_{s}-f_{d})\frac{\phi(v_{m}\big{|}\overline{v}_{m},\sigma_{v _{m}})}{\max\phi(v_{m}\big{|}\overline{v}_{m},\sigma_{v_{m}})}, \tag{12}\]  
where \(v_{m}=\omega(r_{i}+r_{o})/2\) is the mean peripheral speed of the seal, \(\phi(v_{m}\big{|}\overline{v}_{m},\sigma_{v_{m}})\) is the normal probability density function of \(v_{m}\), \(\overline{v}_{m}\) is the mean value, \(\sigma_{v_{m}}\) is the standard deviation of \(v_{m}\), and \(f_{d}\) and \(f_{s}\) are the dynamic and static friction coefficients, respectively.  
The relative angular speed \(\omega\) between the matching surfaces is given by \(\omega(t)=\Omega(t)-\dot{\theta}(t)\), where \(\Omega(t)\) is the shaft's angular speed and \(\dot{\theta}(t)\) is the angular vibration of the stator.
## 5 Experiment Results
### Lightweight Deep Learning Model in an Onboard Computer  
Generally, the drone's onboard computer is equipped to perform real-time aerial remote-sensing tasks. The deep learning model requires a lightweight architecture design because of the limited computing capacity of the onboard computer. Thus, we analyzed the performance of the average execution time for our proposed model. First, we controlled the drone to flying in the air and collected the human pilot's behavior dataset as the ground truth. Then, we divided the dataset into training and test sets. All the data were allocated to the training and test sets in 0.6 and 0.4 ratios, respectively. The initial learning rate was  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Item** & **Type** & **Weight (g)** & **Size (cm)** & **Power (W)** \\ \hline SWIR camera & OWL 640 & 282 & \(5\times 5\times 8.2\) & \textless{4 W at 12 V} \\ Lens & LM12 HC & 160 & \(5.7\times\phi 4.2\) & 0 \\ Filter & LP1070 & 10 & \(\phi\)3.7 & 0 \\ Fixation & Aluminum & 96 & & 0 \\ Onboard computer & Nvidia Nano & 136 & \(9.5\times 7.6\) & \textless{10} \\ GPS & uBlux M8Q & 7 & \(2.6\times 1.6\times 0.7\) & 0.09 \\ Battery & 3S 2200 mAh & 175 & \(3.3\times 2.9\times 8.9\) & 0 \\ Cable & Camera link and USB 2.0 & 58 & 21 & 0 \\ Frame grabber & iPORT CL-U3 & 132 & \(3.8\times 8.3\times 5.1\) & 3.5 \\ Total & & 1053 & & \textless{17.5}\) \\ \hline \hline \end{tabular}
\end{table}
Table 1: Payload weight and power budget.  
Figure 7: Processing delay of Raspberry Pi 3B+ and Nvidia NANO.  
set to 0.1 with 500 epochs. Thus, we applied the frames per second (\(FPS\)), mean square error (\(MSE\)), and mean absolute error (\(MAE\)) as the crucial metrics for this study:  
\[FPS=\frac{1}{\frac{1}{n}\times\sum_{i=1}^{n}t_{i}} \tag{10}\]  
where \(n\) is the total test samples and \(t_{i}\) is the processing time of the deep learning model:  
\[MSE=\frac{1}{n}\sum_{i=1}^{n}(x_{i}-y_{i})^{2} \tag{11}\]  
\[MAE=\frac{1}{n}\sum_{i=1}^{n}|x_{i}-y_{i}| \tag{12}\]  
where \(y_{i}\) is the predicted value and \(x_{i}\) is the original value. From Figure 8, it can be seen that our proposed LMFC model had the highest FPS compared with the other models. This was attributed to the LMFC model being a lightweight model. Furthermore, it predicted the two regression values--velocity and yaw--for multitasking effectively. Consequently, the deep learning-based methods, by using our proposed LMFC model, controlled the drone as well as obtaining clear SWIR images for remote-sensing tasks. The model's performance analysis is shown in Table 2. Our proposed LMFM had similar low \(MSE\) and \(MAE\) values to the other models. However, our proposed LMFM had better \(FPS\) values and a lower computational time. Thus, it was the most suitable one to be mounted on the onboard computer.
# Comparison of L1 and L5 Bands GNSS Signals Acquisition
## 3 Assessment of Processing Time and Memory Requirements
### Acquisition of a Pilot Channel without Assistance
#### 3.2.6 Use of Non-Coherent Accumulation with Semi-Parallel Implementation  
It is again easy to generalize to the case where \(N_{\rm A}\) accumulators tests \(N_{\rm A}\) delays in parallel. The processing time is the same as the semi-parallel implementation with coherent integration only. Regarding the amount of memory necessary, the memory-based accumulators require  
\[\begin{array}{l}M=N_{\rm A}2N_{\rm P}B_{\rm C}+N_{\rm A}N_{\rm P}B_{\rm NC} \text{ bits}\\ =N_{\rm A}N_{\rm P}(2B_{\rm C}+B_{\rm NC})\text{ bits}\\ =N_{\rm A}N_{\rm P}[3B_{\rm R}+3\lceil\log_{2}(KN_{\rm S}/N_{\rm NC})\rceil+ \lceil\log_{2}(N_{\rm NC})\rceil]\text{ bits},\end{array} \tag{19}\]  
where \(B_{\rm C}\) and \(B_{\rm NC}\) are the same as previously (Equations (16) and (17)).
# Converting Concurrent Range Index Structure to Range Index Structure for Disaggregated Memory
## 4 Experimental Results  
### Experimental Environment  
**Hardware.** We used two servers that are connected directly via infiniband. Each server is a dual-socket machine with two Intel Xeon Gold 5318Y CPUs having 24 physical cores at 2.1 GHz and 256 GB of DRAM. Since there is no publicly available disaggregated memory hardware, we emulate the memory disaggregation using the two servers. Each server launches one memory server and one compute server as in previous work [2]. Each compute server launches multiple threads, and the threads can share the same cache in the server. We set the size of the local cache of the compute server to 1 GB, and the size of memory space is set to 200 GB. Each memory server provides a 100 GB memory size to the memory pool. For all experiments, we follow the prior work [2] to enable huge pages. The main performance overhead in the range index structures for disaggregated memory comes from frequent RDMA Read/Write/Atomic operations because of complicated index operations. In our experiment, each compute server and memory server are distributed among the servers.  
**Workload.** We used YCSB workloads [23], which are representative workloads of key-value stores. Table 1 shows the characteristics of each workload. We performed LOAD A and YCSB A-E to evaluate RF-tree against other index structures for disaggregated memory. Table 1 shows the ratio of operations of each YCSB workload. In the evaluation, we inserted 10 M key-value pairs and conducted the 10 M operations of workloads after inserting the key-value pairs. We used an 8-byte integer key and 8-byte value pairs.  
**Competitors.** We compared the performance of RF-tree against other range indexes for disaggregated memory. We used the open-sourced version of Sherman [24], and we implemented a \(\text{B}^{\text{link}}\)-tree for disaggregated memory that is similar to the FG [6].  
The implementation of RF-tree and \(\text{B}^{\text{link}}\)-tree use the same baseline for the fair performance evaluation. Since FG did not exploit the local cache in the compute server, the \(\text{B}^{\text{link}}\)-tree also did not use the local cache. In the \(\text{B}^{\text{link}}\)-tree, we also added the CRC32 value as a checksum and optimization for the Write operation, such as exploiting the RDMA Write ordering for version updates. Note that Sherman has an inconsistency problem [24], so we fixed the inconsistencies by adding the CRC as a checksum protocol.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline  & **Lookup** & **Insert** & **Update** & **Scan** \\ \hline Load A & 0\% & 100\% & 0\% & 0\% \\ \hline Workload A & 50\% & 0\% & 50\% & 0\% \\ \hline Workload B & 95\% & 0\% & 5\% & 0\% \\ \hline Workload C & 100\% & 0\% & 0\% & 0\% \\ \hline Workload D & 95\% & 5\% & 0\% & 0\% \\ \hline Workload E & 0\% & 5\% & 0\% & 95\% \\ \hline \hline \end{tabular}
\end{table}
Table 1: The operation ratio of each YCSB workload.
## 4 Results and Discussion
### Forest Ecosystems Characterization
#### 4.1.2 Characterization of Forest Types  
Analysis of 2019 EO data times-series allowed stating that Dilijian National Park forests are mainly constituted of broadleaved tree species (98.85% of Forested areas) and that coniferous species only represent a minor part of the forest included in this park (1.15% of forested areas) (see Figure 10 below).