Сохранить в:
Библиографические подробности
Главный автор: Centre for Research and Technology Hellas
Формат: Recurso digital
Язык:
Опубликовано: Zenodo 2025
Online-ссылка:https://doi.org/10.5281/zenodo.17433855
Метки: Добавить метку
Нет меток, Требуется 1-ая метка записи!
Оглавление:
  • <h2><strong>Description</strong></h2> <p>The purpose of this experimental procedure is the initiative to design and validate an innovative ultrasonic density measuring methodology, able to measure the quality of propane phase mixture in heat pumps. For the experiment, CO₂ was chosen as an alternative to propane.</p> <p>In detail, to test our model and investigate the ultrasonic wave specifics and parameters, we conducted experiments with no flow, steady, mixtures in a 5kg CO₂ pressurized bottle, as a preparatory step for full experimentation on the final CO₂ circuit, simulating the flow and dynamics of the real heat pump’s heat exchange circuit. The primary goal was to estimate the CO₂ quality (gas-to-liquid mass ratio) based on changes in temperature and pressure as would appear in the real heat pump. The output for the new ultrasonic sensor will be a number showing the CO₂ quality and the flow rate inside the pipeline. The learning space used by this innovative sensor neural net will be based on the final experimentation on a concurrent real estimation of the quality and the flow coming from a circuit-embedded Coriolis flowmeter, along with capacitance measurements of the mixture. This preliminary experimentation tested and validated the ability to perform regression on ultrasonic measurements across the pipeline, predicting CO₂ gas-liquid ratios. Experiments were conducted with varying CO₂ levels in a pressurized bottle, sensor positions, ultrasonic frequencies, and excitation signal types.</p> <h2><strong>Experimental setup</strong></h2> <p>The experimental setup consisted of the following ultrasonic hardware. The excitation source is the QAWRUMS SCAL2 Handheld AE calibrator for ultrasonic signal generation with a G150 sensor. The ultrasonic waves acquisition system is the Mistras Micro-SHM, generating corresponding multi-channel recordings (reference image: ”Transmitter Receivers”). The receiving sensors utilized are either 2 PKWDI integral preamplified wideband sensors with a 200-850 kHz operational bandwidth, or 3 PK15I integral preamplified resonant sensors with a bandwidth of 100-450 kHz, resonating at 150 kHz. </p> <h2><strong>Test specimen and experimental conditions</strong></h2> <p>A commercial CO₂ pressurized steel bottle was utilized (reference image: ”CO₂ Pressurized Bottle”) with experiments conducted always under three CO₂ fill levels, firstly at full occupancy (100%), secondly, half-filled (50%), and thirdly, empty (0%). The experiments were conducted at room temperature. For each CO₂ level, measurements were acquired at three cross sections along the bottle’s axis: at the top, middle, and bottom; with the source placed on one side and the receivers on the opposite side of the cross-section diameter. Typical mounting layouts of the ultrasonic source and receivers can be seen at the images named “Sensors Topology 1-3”. For the PK15I resonant sensors, sinusoidal waves of 80, 120, and 160 kHz were triggered, while for the PKWDI sensors, waves of 200, 300, 400, and 500 kHz. For the source pulse wave signal (applied in both sets of sensors), the pulse width was 10 μs in duration.</p> <p> </p> <table style="margin-left: auto; border-collapse: collapse; width: 257px; border-width: 0px; border-spacing: 0px; margin-right: auto; height: 276.5px;"> <tbody> <tr style="height: 47.5833px;"> <td style="width: 358.031px; padding: 0in 5.75pt; height: 47.5833px;" colspan="3"> <p><strong><span lang="EN-GB">CO₂ bottle level (%): </span></strong><span lang="EN-GB">100 / 50 / 0</span></p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 358.031px; padding: 0in 5.75pt; height: 47.5833px;" colspan="3"> <p><strong><span lang="EN-GB">Measurement height: </span></strong><span lang="EN-GB">Up / Mid / Low</span></p> </td> </tr> <tr style="height: 38.5833px;"> <td style="padding: 0in 5.75pt; height: 38.5833px; width: 358.031px;" colspan="3"> <p><strong><span lang="EN-GB">Pulse waves </span></strong><span lang="EN-GB">10 </span><span lang="EN-GB"><span lang="EL">μ</span>s</span></p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 358.031px; padding: 0in 5.75pt; height: 47.5833px;" colspan="3"> <p><strong><span lang="EN-GB">               Sinewave sensors</span></strong></p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 39.5261px; padding: 0in 5.75pt; height: 47.5833px;"> <p><span lang="EN-GB">PK15I</span></p> </td> <td style="width: 318.505px; padding: 0in 5.75pt; height: 47.5833px;" colspan="2"> <p><span lang="EN-GB">80, 120, 160 kHz</span></p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 39.5261px; padding: 0in 5.75pt; height: 47.5833px;"> <p><span lang="EN-GB">PKWDI</span></p> </td> <td style="width: 318.505px; padding: 0in 5.75pt; height: 47.5833px;" colspan="2"> <p><span lang="EN-GB">200, 300, 400, 500 kHz</span></p> </td> </tr> </tbody> </table> <p> </p> <p>For the data acquisition, the recording duration was 6 seconds per measurement, with a repetition of 5 measurements per configuration for statistical stability. Therefore, the acquired learning dataset was a combination of measurements for all excitation signals, at all levels and positions, resulting in 405 individual recordings/files.</p> <h2><strong>Data preprocessing</strong></h2> <p>The raw 3-channel files (in all experiments, two sets of sensors were used, one with 3 PK15I and the other with 2 PKWDI sensors) were parsed using the corresponding Python library. There was a temporal synchronization across channels using configurable timestamp tolerance. The waveforms were selected through energy-based selection (sum of squares) to identify a representative signal per channel. A Butterworth band-pass filter was applied. Mean-centering and resampling to uniform length (4096 samples) were used for waveform normalization. Time-frequency transformation<strong> </strong>was applied utilizing “Continuous Wavelet Transform (CWT)” using <em>PyWavelets,</em> utilizing <em>Complex Morlet (cmor1.5-1.0) wavelet, </em>and a resolution of 1024 scales spanning the observed frequency range. By this method, scalograms were generated and image-processed with<strong> </strong>robust percentile normalization to 8-bit grayscale, resizing to 1024×1024-pixel resolution, with an optional histogram equalization (global, auto-contrast, or CLAHE) (reference image: ”Typical Scalogram”).</p> <p>Regarding the dataset organization, the acquired data were partitioned and organized in separate subdirectories for training, validation, and testing. From these initial DTA waveforms, corresponding scalograms were created, one set for each experiment, with each set consisting of one scalogram per channel. As input to the visual Machine Learning (ML) & neural regressor, a stacked format of all channels per experiment was used. Thereby, in each batch of learning space, a stacked image with scalograms per channel was used. The stacked image had 3 pixels depth (one pixel per ultrasonic sensor/channel) and was augmented with 2 additional pixels with the current bottle’s temperature and pressure, thereby creating a multi-pixel image feeding the regressor with fully descriptive data.</p> <h2><strong>Developed model architecture</strong></h2> <p>Our developed model has been originally designed having in mind modularity been capable of providing a set of state-of-the-art regression models. Thereby, it is a multi-fold model able upon proper configuration, to enable a built-in SVR machine, or neuronal architectures based on simple CNN, ResNet8, ResNet34, or EfficientNet-B0 regressors. </p> <h3><strong>     Machine Learning Support Vector Regressor (SVR)</strong></h3> <p>To fully assess our developed model performance, firstly, the SVR was enabled, which is a supervised machine learning algorithm that predicts continuous values by fitting a curve through the data within a defined tolerance margin (tube). The concept of a tube around the regression line is that errors for data points within the tube are ignored and only points outside the tube contribute to the model's training, which are called "support vectors". SVR is very effective for small datasets with structured numerical features and offers fast training and inference.</p> <h3><strong>     Neuronal Regressor</strong></h3> <p>The neuronal image regressors are used to predict a continuous output. A simple CNN, ResNet-18 & 34, and EfficientNet-B0 topologies where used:</p> <p>1) Simple custom CNN of 2-stride pyramid with channel doubling and global average pooling.</p> <p>2) ResNet-18 (18 total layers, 8 residual blocks) with adapted first convolution for multi-channel input, modified classification head, and ResNet-34 (34 total layers, 16 residual blocks) with adapted first convolution for multi-channel input, modified classification head, both of which are Residual Networks (ResNet), differing primarily in depth and computational requirements. The choice between different ResNet depths involves a trade-off between performance and computational efficiency. ResNet-34 provides better feature extraction and accuracy, but with slower convergence.</p> <p>3) EfficientNet-B0, with multi-channel adaptation with pretrained ImageNet weights, which is a<em> </em>resource-efficient CNN excelling at image classification by using a compound scaling method to optimize the networks’ dimensions of depth, width, and resolution systematically.</p> <h2><strong>Evaluation</strong></h2> <p>The model’s outputs are: mixture/medium flow rate, CO₂ phase quality in percentage, and mixture density.  As outputs, due to the lack of a real flow meter (like Coriolis), mixture density, and quality, we used mockup data fitted to this static experiment with the CO₂ bottle. After all, we wish mainly to validate the efficiency of our model to regress well using these packed multi-pixel image input data on mockup data of flow, density, and quality, as they usually appear in heat pumps. The performance was evaluated by the following per-target metrics:</p> <p>-   MAE (Mean Absolute Error), the average error of absolute differences between predictions and actual values</p> <p>-   MSE (Mean Squared Error), the average of squared differences, which penalizes more the larger errors</p> <p>-   RMSE (Root Mean Squared Error), the square root of MSE</p> <p>-   R², a coefficient of determination [0, 1], which is useful when comparing different models or datasets, with 1.0 meaning perfect predictions</p> <p>- Pearson Correlation coefficient (<em>r</em>) with a range of -1 to +1, with +/-1 meaning a perfect positive/negative linear relationship, and 0 meaning no linear relationship. </p> <p>Pearson measures how the pattern matches, if predictions correlate with actual values. It is a good metric for understanding relationships between the model and pattern, and for model comparison to better capture the pattern. R² measures if the values match, so how accurately the actual values are predicted.</p> <h2><strong>Results and conclusion</strong></h2> <p>The results of the CO₂ bottle experiments for the three target predictions of <em>flow rate</em>, <em>quality</em> and <em>density</em>, are very encouraging, with both the SVR model and neuronal regressor yielding quite good predictive performance for the evaluating metrics (reference images: ”SVR results” and “Neuronal regressor results”). More specifically: </p> <p> </p> <div> <h3><strong>     SVR validation results</strong></h3> <div> <table style="border-collapse: collapse; margin-left: auto; margin-right: auto; width: 37.0988%; height: 190.333px;"> <thead> <tr style="height: 47.5833px;"> <td style="width: 18.6393%; padding: 0.75pt; height: 47.5833px;"> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p><strong>  MAE</strong></p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p><strong> RMSE</strong></p> </td> <td style="width: 16.5966%; padding: 0.75pt; height: 47.5833px;"> <p><strong>  MSE</strong></p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p><strong>    R²</strong></p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"><strong>     r</strong></td> </tr> </thead> <tbody> <tr style="height: 47.5833px;"> <td style="width: 18.6393%; padding: 0.75pt; height: 47.5833px;"> <p><strong>Flow rate</strong></p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0495</p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0657</p> </td> <td style="width: 16.5966%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0043</p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p> 0.9806</p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p> 0.9961</p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 18.6393%; padding: 0.75pt; height: 47.5833px;"> <p><strong>Quality</strong></p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0551</p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0613</p> </td> <td style="width: 16.5966%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0038</p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p> 0.9734</p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p> 0.9892</p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 18.6393%; padding: 0.75pt; height: 47.5833px;"> <p><strong>Density</strong></p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0349</p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0470</p> </td> <td style="width: 16.5966%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0022</p> </td> <td style="width: 16.3413%; padding: 0.75pt; height: 47.5833px;"> <p> 0.9884</p> </td> <td style="width: 16.086%; padding: 0.75pt; height: 47.5833px;"> <p> 0.9960</p> </td> </tr> </tbody> </table> <p> </p> <h3><strong>     Neuronal Visual Regressor validation results</strong></h3> <div> <table style="border-collapse: collapse; margin-left: auto; margin-right: auto; width: 37.854%; height: 191.312px;"> <thead> <tr style="height: 47.5833px;"> <td style="width: 20.2669%; padding: 0.75pt; height: 47.5833px;"> </td> <td style="width: 14.5121%; padding: 0.75pt; height: 47.5833px;"> <p><strong>  MAE</strong></p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p><strong> RMSE</strong></p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p><strong>  MSE</strong></p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p><strong>    R²</strong></p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p><strong>     r</strong></p> </td> </tr> </thead> <tbody> <tr style="height: 48.5625px;"> <td style="width: 20.2669%; padding: 0.75pt; height: 48.5625px;"> <p><strong>Flow rate</strong></p> </td> <td style="width: 14.5121%; padding: 0.75pt; height: 48.5625px;"> <p> 0.0446</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 48.5625px;"> <p> 0.0465</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 48.5625px;"> <p> 0.0022</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 48.5625px;"> <p>  0.9903</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 48.5625px;"> <p>  0.9998</p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 20.2669%; padding: 0.75pt; height: 47.5833px;"> <p><strong>Quality</strong></p> </td> <td style="width: 14.5121%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0438</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0564</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0032</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p>  0.9775</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p>  0.9900</p> </td> </tr> <tr style="height: 47.5833px;"> <td style="width: 20.2669%; padding: 0.75pt; height: 47.5833px;"> <p><strong>Density</strong></p> </td> <td style="width: 14.5121%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0328</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0384</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p> 0.0015</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p>  0.9923</p> </td> <td style="width: 16.2636%; padding: 0.75pt; height: 47.5833px;"> <p>  0.9991</p> </td> </tr> </tbody> </table> </div> <p> </p> <p>Based on the findings, the EfficientNet-B0 model outperforms the excellent predictive performance of the SVR model at the three targets. The highest accuracy is achieved at the density, with R²=0.9923, MAE=0.0328, and RMSE=0.0384. The model explains 99.23% of the variance and maintains exceptionally low prediction errors. Thus, the ultrasonic signal features are highly informative for density estimation in CO₂ mixtures. Flow prediction also shows excellent performance with a near-perfect correlation (r=0.9998), offering robust predictive capability with minimal error. The quality validation results show slightly lower but still strong performance with R²=0.9775, indicating some additional complexity in this target compared to density and flow.</p> </div> </div>