Vous êtes sur la page 1sur 121

HOCHIMINH CITY NATIONAL UNIVERSITY

BACH KHOA UNIVERSITY


FACULTY OF TRANSPORTATION ENGINEERING
DEPARTMENT OF AEROSPACE ENGINEERING
-------o0o-------

UNDERGRADUATION THESIS

DESIGN AND MANUFACTURE OF 5-HOLE AIR-DATA


PROBE: IDENTIFICATION & CALIBRATION USING
LEAST SQUARE FIT POLYNOMIAL

STUDENT: NGUYEN CAO TRUONG SON


STUDENT ID: G1303417
SUPERVISOR: Assoc. Prof. Dr. LE THI MINH NGHIA
Dr. NGO DINH TRI

Ho Chi Minh City, December 2017


Commitment

I commit:

- This is my own dissertation.


- Dissertation’s data and results are true and have not been published in
any available studies.
- References and results used to make comparison in this dissertation are
precisely cited to the best of my knowledge.

– iii –
– iv –
Acknowledgements

I would like to thank several people who made this research possible. First, I
would like to express my deepest gratitude to my supervisor Dr. Tri Ngo Dinh
and Dr. Le Thi Minh Nghia for their continued support and guidance. Thanks
to talks and discussions with them, I was on the right way to complete this
dissertation by steps and learnt the value of enthusiasm, diligence and
excellence in research. Their high standard while observing every aspect of my
study motivated me to take extra mile in all of the works that I had done.

As a member of the UNILOS UAV team, I really appreciate all other members
for their companion and friendship. I specially thank Do Cat Tuan, who is my
co-worker in this thesis. Without his best collaboration and support, I would
never have been able to finish this dissertation. I also would like to thank
Nguyen Hai Ha, who unconditionally supported me in perfecting system
programming.

I would like to thank all professors had taught me in Department of Aerospace


Engineering – Bach Khoa University for their helpful advices during university
time and support me in using wind tunnel in Aero-laboratory.

Lastly, I am very grateful to my parents for their tremendous amount of love


and support over the years.

Ho Chi Minh City, December 12, 2017

Nguyen Cao Truong Son

–v–
Abstract

This dissertation focuses on five-hole air-data probe, which is designed,


fabricated, and tested successfully in wind tunnel.

Nowadays, there has been a variety of instruments that are studied and
developed for measuring direction and magnitude of the airflow. One of the
most common-in-use with a simplicity and maintainability in recent years is the
five-hole air-data probe. In order to solve the problem of building a low-cost
homebuilt five-hole probe, the first important step is to determine and design
size and shape of the probe and experiment rig aiming being easy to fabrication
and setup. After designing, the second step is to manufacture probe and such
frame so that the probe can measure pressures and collect data in wind tunnel.
Main objective of this thesis is to reduce data, identify and calibrate surface
fitting models for angle of attack, sideslip angle and velocity based on five holes
measured pressure data. In this thesis, the method for identification and
calibration is least-squares polynomial fitting. After that, it is critically
important to test and validate the mathematical model so that the probe can
measure angles and velocity of the airflow with the acceptable root-mean-
square errors within the operating range.

Keywords: Air-data probe five-hole, angle of attack, sideslip angle, velocity,


mathematical model, least squares method, polynomial function, surface fitting.

– vi –
Tóm tắt luận văn

Luận văn tập trung nghiên cứu đối tượng chính là ống đo dữ liệu không khí năm
lỗ (five-hole air data probe), được chế tạo và đo thử nghiệm thành công trong
hầm gió của Bộ môn Kỹ thuật Hàng không, Đại học Bách Khoa TPHCM.

Hiện nay, có nhiều thiết bị đo được nghiên cứu và phát triển nhằm để xác định
phương hướng và độ lớn của dòng chuyển động. Một trong những thiết bị đo
được nghiên cứu và phát triển phổ biến trong những năm gần đây là ống đo dữ
liệu không khí năm lỗ. Để giải quyết bài toán ống đo năm lỗ chi phí thấp và có
thể chế tạo trong điều kiện phòng thí nghiệm, cần phải xác định thiết kế ống đo
và bộ khung thí nghiệm với mục tiêu thiết kế là dễ chế tạo và giá thành thấp.
Sau đó, tới bước chế tạo ống đo và bộ khung thí nghiệm để đảm bảo ống đo thu
thập dữ liệu trong hầm gió hiệu quả và chính xác. Mục tiêu chính của luận văn
là hiệu chuẩn xây dựng mô hình toán cho góc tấn, góc trượt cạnh và vận tốc dựa
trên dữ liệu đo áp suất năm lỗ. Trong luận văn, mô hình toán được xác định,
nhận dạng bằng phương pháp bình phương cực tiểu hàm đa thức. Sau khi xây
dựng mô hình toán, cần phải đo kiểm tra và đánh giá mô hình toán để đảm bảo
ống đo nhận dạng được góc và vận tốc theo thời gian thực với sai số nằm trong
mức cho phép.

Từ khóa: Ống đo dữ liệu không khí năm lỗ, góc tấn, góc trượt cạnh, vận tốc,
mô hình toán bằng phương pháp bình phương cực tiểu, hàm đa thức.

– vii –
Table of Contents

Commitment ............................................................................................................... iii


Acknowledgements...................................................................................................... v
Abstract ....................................................................................................................... vi
Tóm tắt luận văn ........................................................................................................ vii
Table of Contents ...................................................................................................... viii
Nomenclature ............................................................................................................... x
Symbols .............................................................................................................. x
Greek Symbols ................................................................................................... x
List of Figures ............................................................................................................. xi
List of Tables ............................................................................................................ xiii

.......................................................................................................... 1
Introduction.................................................................................................................. 1
1.1 Literature Review .................................................................................... 1
1.2 Objectives and Roadmap ......................................................................... 6

.......................................................................................................... 8
Design and Manufacture 5-hole Probe and Orientation System ................................. 8
2.1 Design and Manufacture 5-hole probe .................................................... 8
2.1.1 Design of probe geometry .............................................................................................. 8
2.1.2 Manufacture process of the probe................................................................................. 12
2.2 Probe Orientation Mechanism and Experimental Apparatus ................ 18

........................................................................................................ 21
Instrumentation and Data Acquisition System .......................................................... 21
3.1 Hardware Specifications ........................................................................ 21
3.1.1 Arduino Mega 2560 Microcontroller............................................................................ 22
3.1.2 Freescale Semiconductor MPXV7002DP Differential Pressure Sensors ..................... 23
3.1.3 System Schematic ......................................................................................................... 27
3.2 Programming with Arduino Mega 2560 Microcontroller ..................... 29
3.2.1 Data real-time and logging program ............................................................................. 29
3.2.2 Analog Noise and Filter Noise ..................................................................................... 30

........................................................................................................ 36
Least Square Polynomial Fit Identification and Calibration ..................................... 36
4.1 Identification and Calibration Method................................................... 36
4.1.1 Calibration Coefficients ................................................................................................ 36
4.1.2 Data Collection and Scaling Technique ....................................................................... 38
4.2 Data Reduction using Least Square Polynomial Fit .............................. 44

........................................................................................................ 55
Validation, Analysis and Discussion ......................................................................... 55

– viii –
5.1 Discrete Validation .................................................................................55
5.2 Continuous Validation ............................................................................62
5.3 Results and Discussion ...........................................................................66

........................................................................................................ 68
Conclusions and Future Work .................................................................................... 68
6.1 Achievements .........................................................................................68
6.2 Limitations and next steps ......................................................................69
References .................................................................................................................. 70
Appendix .................................................................................................................... 73
A. MATLAB Programs ...............................................................................73
B. Manufacturing Logbook .......................................................................100
C. Experiments Logbook ..........................................................................101
D. Project Timeline ...................................................................................105

– ix –
Nomenclature

Symbols
AOA Angle of attack Degree
AOS Sideslip angle Degree
𝐶𝑝𝑎𝑣𝑒 Average pressure coefficient -
𝐶𝑝𝛼 Angle of attack pressure coefficient -
𝐶𝑝𝛽 Sideslip angle pressure coefficient -
𝐶𝑝5 Fifth hole pressure coefficient -
𝑑 Hole diameter mm
𝐷 Probe diameter mm
𝐼 Turbulence intensity
𝑃 Static pressure Pa
𝑃0 Total pressure Pa
𝑃1 Pressure of hole 1 Pa
𝑃2 Pressure of hole 2 Pa
𝑃3 Pressure of hole 3 Pa
𝑃4 Pressure of hole 4 Pa
𝑃5 Pressure of hole 5 Pa
𝑅𝑀𝑆𝐸 Root-mean squared errors -
𝑅2 Coefficient of Determination -
𝑅𝑒 Reynolds number -
𝑉 Test section velocity or 𝑌 -directional mean velocity m/s
component
𝑢 Velocity components with respect to the x axes m/s
𝑣, Velocity components with respect to the y axes m/s
𝑤 Velocity components with respect to the z axes m/s

Greek Symbols
𝛼 Angle of attack Degree
𝛽 Sideslip angle Degree
𝜇 Viscosity N ⋅ s/m2
𝜈 Kinematic viscosity m2 /s
𝜌 Density of air kg/m3

–x–
List of Figures

Figure 1-1 An Air data boom system [16] ...................................................................5

Figure 1-2 A 5-hole air data probe and a micro air data system [18] ...........................6

Figure 2-1 Types of cone holes [19] ..........................................................................10

Figure 2-2 A CATIA sketch of 5-hole probe at 3 views (3D, side and front views) .11

Figure 2-3 A CAD sketch of the probe ......................................................................11

Figure 2-4 All necessary equipment, tools and gadgets .............................................14

Figure 2-5 (a) Initial manufacture process. (b) Complete process .............................16

Figure 2-6 General view of entire probe ....................................................................17

Figure 2-7 Actual probe tip ........................................................................................17

Figure 2-8 Three-view CAD model of experiment rig...............................................18

Figure 2-9 Simulated 3D model of experiment rig ....................................................18

Figure 2-10 Actual constructed experiment rig ..........................................................19

Figure 3-1 Arduino MEGA 2560 Microcontroller .....................................................22

Figure 3-2 Sensor sketch along with breakout board .................................................24

Figure 3-3 Integrated Pressure Sensor Schematic ......................................................24

Figure 3-4 Characteristic line of sensor [22] ..............................................................25

Figure 3-5 Flowchart of auto-zero for sensor .............................................................27

Figure 3-6 System diagram ........................................................................................27

Figure 3-7 Data acquisition system schematic ...........................................................28

Figure 3-8 Flowchart of programming .......................................................................30

Figure 3-9 Kalman filter flowchart.............................................................................31

Figure 4-1 Convention of holes’ names .....................................................................38

– xi –
Figure 4-2 Scale-to-P2 function of raw data for P1, P3, P4 ...................................... 39

Figure 4-3 Contour of P1 pressure data ..................................................................... 41

Figure 4-4 Contour of P5 pressure data ..................................................................... 42

Figure 4-5 Contour of P3 pressure data ..................................................................... 42

Figure 4-6 Contour of P4 pressure data ..................................................................... 43

Figure 4-7 Contour of P2 pressure data ..................................................................... 43

Figure 4-8 Flowchart of five-hole conical probe data reduction scheme .................. 44

Figure 4-9 Surface-fitting of AOA ............................................................................ 48

Figure 4-10 Surface-fitting of AOS ........................................................................... 49

Figure 4-11 Surface-fitting of Cp5 ............................................................................ 53

Figure 4-12 Surface-fitting of Cpave ......................................................................... 54

Figure 5-1 Angle of attack at 12 m/s with 0 sideslip overtime .................................. 57

Figure 5-2 Angle of attack at 20 m/s with 0 sideslip overtime .................................. 58

Figure 5-3 Sideslip angle at 12 m/s with 0 angle of attack overtime ........................ 59

Figure 5-4 Sideslip angle at 20 m/s with 0 angle of attack overtime ........................ 59

Figure 5-5 RMS errors of all combination points at 12 m/s ...................................... 60

Figure 5-6 RMS errors of all combination points at 20 m/s ...................................... 61

Figure 5-7 CAD models of potentiometer frame ....................................................... 63

Figure 5-8 Actual potentiometer frame set up into 3-component balance ................ 63

Figure 5-9 Potentiometer construction and scheme................................................... 63

Figure 5-10 Potentiometer calibration ....................................................................... 64

Figure 5-11 Potentiometer calibration in a linear parts ............................................. 65

Figure 5-12 AOA Continuous Validation at 12 m/s .................................................. 66

Figure 5-13 Probe tip faults and abnormality ............................................................ 67

– xii –
List of Tables

Table 2-1 Constraints during grouping and machining ................................... 12

Table 2-2 Necessary equipment, gadgets and tools ........................................ 14

Table 2-3 Relevant equipment and tools used for rig construction ................. 20

Table 3-1 Arduino hardware specification ...................................................... 23

Table 3-2 Sensor features ................................................................................ 25

Table 3-3 Comparison among filters ............................................................... 35

Table 4-1 Pressure coefficients at combination points .................................... 47

Table 4-2 Computed data at each calibrated points ........................................ 52

– xiii –
INTRODUCTION

Introduction

In this chapter, instruments measuring direction and magnitude of airflow


will be introduced. Five-hole air data probe will be discussed based on literature
review. In the end, objectives and roadmap of this dissertation will be presented.

1.1 Literature Review


Multi-hole air-data probes has been studied and developed in order to measure
three dimensional flow fields since the 50's. Such probes constitute reliable and
robust measurement tool that can simultaneously obtain the magnitude of all three
components of velocity vector, or in other words, during operation, they could
measure accurately both total, static pressures and direction of airflow at once.
Perhaps the most common-in-use design is the five-hole probe out of the numerous
designs varying numbers of holes of probe. This is often optimum for
characterizing turbomachinery flows, free-jet flows, combustor flows, and for
wind tunnel surveys (for example behind aircraft or automobile models, or in more
fundamental studies). With the proper calibration, such probes have proven to be
able in obtaining the scalar and vector properties of the flow field in terms of the
static and total pressure as well as the three dimensional velocity vectors in
relevant steady flow fields (Bryer and Pankhurst [1], Everett et al. [2], Treaster
and Yocum [3]. In recent decades, there has been a variety of developments of
sophisticated methods of flow field measurement like Hot-Wire Anemometry

Son C.T. Nguyen 1


INTRODUCTION

(HWA), Laser-Doppler Velocimetry (LDV) and Particle-Image Velocimetry


(PIV). As agreed in [4] [5], HWA and LDV are point instruments, whereas PIV
can generate information along a plane cutting across the velocity field of
consideration. Point instruments require traversing along the domain of interest to
map out a velocity field. Of all these methods, the hot wire anemometer is the most
vulnerable when exposed to the flow and can easily be damaged if not handled
properly. It is therefore not appropriate for industrial applications and for UAV
application. LDV and PIV require direct optical access to the test area, which is a
limitation to the experimental rig, as well as the range of working media. Five-
hole probe, however have some advantages over other methods as their
maintenance, relatively low cost, and simplicity in operation. Hence, it allows
five-hole probe to be robust and reliable tools most appropriate for many purposes
including research and industry.

Due to their geometry, five-hole Pitot tubes require significant expertise to be


constructed in small dimensions. Although some approaches of probe manufacture
were considered in [6] [5], the available studies concerning the fabrication of these
probes are rare. Most of the published work concerns different calibration methods
of multi- hole probes. Treaster and Houtz [7] and Treaster and Yocum [3] were
among the first researchers that fabricated, calibrated and performed
measurements with 5-hole Pitot tubes. In Ref. [3] the authors describe the
development and employment of a 3.18mm diameter prism-type sensor and a
3.81mm diameter conical-type sensor that were calibrated at Reynolds numbers
ranging from 2000 to 7000. Before this study Treaster and Houtz [7] were
probably the first authors that described an actual method for fabricating and
calibrating miniature 5-hole probes with tip diameters ranging from1.07mmto
1.68mm. Ligrani et al. [8] describe the employment of a 1.22mm tip diameter
miniature 5-hole pressure probe to measure the three mean velocity vector
components, using a non-nulling procedure at various locations within a curved
channel. In addition, Naughton et al. [9] introduced a miniature fast response 5-
hole conical probe for supersonic flow field measurements while a more recent
study performed by Allen et al. [10] discusses the fabrication and calibration of a

Son C.T. Nguyen 2


INTRODUCTION

MEMS-based 5-sensor probe. The recent developments in multi-hole probes


technology as well as examples of their applications are extensively reviewed by
Telionis and Rediniotis [4]. However, as suggested in [6] [5], the manufacture
approaches from soldering tubes along with machining tip to CNC machining as
well as additive manufacturing, such as direct metal laser sintering or selective
laser annealing, was highly accurate but quite costly.

B.F. Hall and T. Povey [6] employed Oxford probe, which is an open access five-
hole probe designed for experimental aerodynamic measurements. The open
access probe can be manufactured by the end user via additive manufacturing
(metal or plastic). The probe geometry, drawings, calibration maps, and software
are available under a creative commons license. The purpose is to widen access to
aerodynamic measurement techniques in education and research environments.
There are many situations in which the open access probe will allow results of
comparable accuracy to a well-calibrated commercial probe. They discuss the
applications and limitations of the probe, and compare the calibration maps for 16
probes manufactured in different materials and at different scales, but with the
same geometrical design.

S.J. Lien, et al [11] studied the problems of misalignment to flow direction and
the need to drill a tapping hole on a measurement surface to obtain total and static
pressures make the use of Preston probe in skin friction measurement in a turbulent
flow a cumbersome task. The suitability of a multi-hole pressure probe in a non-
nulling mode to overcome these problems was, therefore, investigated. The near-
wall effect on multi-hole pressure probe readings was examined both
experimentally and theoretically. The results indicate that the presence of the wall
had negligible overall effect. Experiments were carried out in a pipe, on a flat plate
and on a swept forward facing step to simulate one, two, and three-dimensional
turbulent flows. The skin friction coefficient determined using the multi-hole
pressure probe was found to have good agreement with published data.

R. Paul, et al [12] demonstrated a novel calibration algorithm for five-hole


pressure probe. Here the steady-state measurements of three velocity components,

Son C.T. Nguyen 3


INTRODUCTION

inflow angles, static and total pressures simultaneously for a point in a flow field.
Authors defined non-dimensional pressure coefficients in various ways. Here in
this work, a new set of pressure coefficients were, which overcome the limitations
and gave less computational errors in calculating the flow parameters. In this
technique, the effect of pressure recorded by central hole is considered in
describing these coefficients. 4th order regression analysis, the average goodness
of fit was obtained for all zones as 0.9979 and 0.9910 for α and β respectively, and
which are even better than that in the all existing methods.

M. Yasar, et al [13], author investigated a multi-tube pressure probe calibration


method in swirling flows. Calculation of flow direction associated with, α, and
yaw, Ψ, angles, magnitudes of local static and dynamic pressures can be obtained
by the use of a calibration method for 3 tube probe and 5 tube probe chapters of a
multi-tube pressure probe. The 5-tube probe was tested in a conventional air
cyclone in which a strong rotational flow prevailed while the 3-tube probe was
used in a low swirl flow field in a pipe which is internally fitted with a helical
coiled wire insert. This method was based on the rotational sensitivity of the
pressure probe handled through non-dimensional calibration parameters. He
concluded that in comparison to LDV and Hot-wire probe measurements, the
presented method is simple and cheap with not much difference in measured
quantities.

Meanwhile, G.L. Morrison [14] introduced a refined calibration technique for


five-hole pressure probes operating in the non-nulling mode. The four 3D
calibration surface equations required to reduce data obtained from the probe are
curve-fit using a 3D curve-fitting program. The relatively simple equations are
quick and easy to use for data reduction. The shape of the 3D surfaces is useful in
determining if a probe should not be used due to any machining abnormality or
damage a probe has sustained. The contours can also be used to determine the
range of flow angles a particular probe can measure.

J.C. Gonsalez and E.A. Arrington [15] fabricated set of new five-hole flow angle
pressure probes in order to properly calibrate the test section for total pressure,

Son C.T. Nguyen 4


INTRODUCTION

static pressure, and flow angle. The probes have nine pressure ports: five total
pressure ports on a hemispherical head and four static pressure ports located 14.7
diameters downstream of the head. The probes were calibrated in the NASA Glenn
3.5-in-diameter free-jet calibration facility. After completing calibration data
acquisition for two probes, two data prediction models were evaluated. Prediction
errors from a linear discrete model proved to be no worse than those from a full
third-order multiple regression model. The linear discrete model only required
calibration data acquisition according to an abridged test matrix, thus saving
considerable time and financial resources over the multiple regression model that
required calibration data acquisition according to a more extensive test matrix.
Uncertainties in calibration coefficients and predicted values of flow angle, total
pressure, static pressure, Mach number, and velocity were examined. These
uncertainties consider the instrumentation that will be available in the Icing
Research Tunnel for future test section.

Figure 1-1 An Air data boom system [16]


There has been a variety of commercial multi-hole air probes as well as air data
boom system selling around the world. On the one hand, an air data boom system
is not the same as the multi-hole air probe since this is a combination between
Pitot-static tube and guide vanes for angle of attack and sideslip angle. Such
system is not only bulky (its entire weight is around 1 kg and its dimension is
about 0.8m for test boom and 0.138 x 0.076 x 0.017m for data system) but also
expensive (of around 2000 USD for a full-component system including a Pitot-
static system and smart vanes, see in [16]). This is not suitable for a low cost, small
UAV platform. On the other hand, typical multi-hole probes that is currently sold

Son C.T. Nguyen 5


INTRODUCTION

are products from AEROPROBE Corporation [17]. However, such probes’ price
is really high (up to around 2500 USD for just a standard system including a multi-
hole probe and an air data system) corresponding to their accuracy, operating
range, response time and maintainability. However, the calibration services or data
system are usually support packages (see in [18]), which means that the total
expense for a fully completed probe system is extremely high which is completely
unsuitable for a low-cost UAV platform. This study demonstrates the in-house
inexpensive fabrication, and individual calibration and validation of a 5-hole
probe in wind tunnel with acceptable accuracy, in which the calibration based on
an inexpensive method presented later on Chapter 4 and 5.

Figure 1-2 A 5-hole air data probe and a micro air data system [18]

1.2 Objectives and Roadmap


In this dissertation, the design and manufacture of a low cost five-hole air data
probe are demonstrated and calibration is then carried out in wind tunnel. After
that, the probe’s surface fitting models are validated for some scenarios. A brief
roadmap to the dissertation is presented as follows.

Chapter 1 provides an introduction to the research topics, objectives and roadmaps


of this dissertation. In chapter 2, all aspects of designing a five-hole probe are
discussed and a final design is presented for manufacture. Then, such design is
constructed by a demonstrated inexpensive process for a homebuilt probe. Chapter
2 also describes construction of experimental rig placing probe in test section
during calibration and validation.

Son C.T. Nguyen 6


INTRODUCTION

Chapter 3 presents Data Acquisition System Hardware including all electronics


instruments along with consideration of their sensitivity and architecture of the
entire system. After that, programming for such system is demonstrated, where
workflow is illustrated from real-time data displaying to data logging and some
noise filters are evaluated for decreasing effect of noise to signal.

Chapter 4 performs probe calibration method based on previous available studies,


considering about the calibration coefficients and process of data collection and
raw data post process. Also, a data reduction technique, which is Least Square
Polynomial Fit, is conducted for computing angle and velocity. The evaluation on
calibration results is mentioned and discussed based on the statistical parameters
such as coefficient of determination and root-mean-square of errors.

Chapter 5 presents process of validating polynomial fitting models of angle of


attack, sideslip angle and airspeed that was built in Chapter 4. There are two types
of validation that are carried out, one is discrete validation and the other is
continuous validation. The results of validation are evaluated and discussed in the
end of chapter with some comments on source of errors.

This study is a collaboration between me and my co-worker, Do Cat Tuan.


Specifically, we cooperate in period of design and manufacture 5-hole probe, and
data acquisition system building (Chapter 2 and Chapter 3). All the rest are our
own individual work, where my dissertation mainly focuses on identification and
calibration using Least Square Fit Polynomial while Tuan Do’s dissertation using
Least Square Fit Rational Polynomial.

Son C.T. Nguyen 7


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

Design and Manufacture 5-hole Probe and


Orientation System

There are three sections in this chapter:

- Section 2.1 (Probe Configuration and Manufacturing) introduces the


design of probe configuration that will be employed in this thesis and the
structure of probe as well as procedure of manufacturing.
- Section 2.2 (Probe Orientation System) illustrates Orientation System
design and construction which plays a role of probe alignment and rotation
of pitch and yaw direction. Some of constraints will be considered as
standards of acceptable accuracy as the system need to be precise to be the
reference during calibration.

2.1 Design and Manufacture 5-hole probe


2.1.1 Design of probe geometry

There has been a variety of different probe designs, especially probe’s tip
configuration that could be used to measure three-dimensional airflow. The
configurations vary from shape of the probe tip to the number of pressure holes as
well as hole geometries at tip. In [4], a numerous tip shapes have been employed
with acceptable results. Most popular ones are the cone, the pyramid and the
hemisphere. Each of these shapes have advantages and disadvantages with regard

Son C.T. Nguyen 8


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

to complexity level of fabrication and probe response to aerodynamic flow. On


another hand, conical and pyramid geometries are easier to fabricate, which is
suitable for a low-cost, home-built probe development in our thesis. Grouping 5
holes with a relative precision during fabrication is considerably important, which
leads to a huge comfort since conical and pyramid probes are chosen to be
constructed. Meanwhile, B. Hall and T. Povey [6] recognized that even though
five-hole probes, with different tip shapes regardless of spherical, conical or
pyramidal, have similar behavior, probes with sharp face edges (truncated cone or
pyramid) tend to be less sensitive to Reynolds than hemispherical ones because of
its well-defined flow separation points. In addition, even probes’ tip of hemisphere
gives accurate measurements without the need for calibration. The mathematical
formulas which were studied for such probe’s shape that can be used to directly
compute the airspeed, angle of attack and sideslip angle from relationship between
pressure taps, manufacturing such probe is sufficiently challenging. Therefore, in
our case, we prefer fabricating conical probe to pyramidal ones since the precision
level of manufacturing a cone probe in limited laboratory conditions was still
remained. It would be fabricated with a few well-known gadgets, tools and a
modified machining approach as well as it would be possible to manufacture such
probe from inexpensively available materials.
The tip chamfer angles influence capability of measured angles in both angle of
attack and sideslip angle, while size of probe tip effects on probe sensitivity, which
means that at large angle, the probe would have less disturbances with small cone
angle, as stated in [6]. Therefore, opting for the cone angle of tip would be a
compromise between maximizing valuable range of flow angle and rising
sensitivity. The impact of Reynolds number on calibration of 5-hole probes was
investigated in [19] for those in Figure 2-1. At small Re, approximate 15x103, cone
angle of 90 degrees for both conical and pyramid have the lowest sensitivity.
Consequently, 90-degree cone angle is a reasonably accurate measurements of the
angle of attack and sideslip angle at low speeds and a proper diameter and
moreover, can be calibrated for the measuring range of +/- 20 degrees, which is in
agreement with recommendation of [20] [6]. In terms of hole geometries, there are

Son C.T. Nguyen 9


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

also two common types: the forward facing holes and tip surface perpendicular.
The terms forward facing and perpendicular, as mentioned in [19], refer to whether
the axes of holes were parallel to the axis of the probe, thus facing forward into
the flow, or perpendicular to the surface of the cone. (Figure 2-1). Compare to the
forward facing probes, cone surface perpendicular ones have smaller surface area
of hole, and such probe could have similar four surrounding hole geometries
regardless of asymmetry of cone machining faults. However, that hole
configuration could lead to the expense of more complicated manufacturing that
is not suitable for a low-cost homebuilt we aim to. This is why forward facing
probe has been chosen.

Figure 2-1 Types of cone holes [19]


As given in [4], the level of accuracy of probes’ measurements is proportional to
the number of pressure taps, and thus, more advanced expensive complex
fabricating techniques are conducted coming at a considerable expense. Hence,
designing a 5-hole probe is possible to construct the probe, especially in period of
grouping to desired precise holes’ positions. Consequently, in this thesis, we opted
to design, manufacture and calibrate a 5-hole air-data probe with a 90-degree cone
angle.
The probe length is 175 mm, and its tip outer diameter is 8 mm. Each inner
pressure holes have diameter of 1 mm. Then, the ratio of the hole diameter to the

Son C.T. Nguyen 10


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

outer tip diameter is 0.125, which is relatively small and comparable to the one in
[21] and fairly close to newer designs, such as those in [6] and [5], [20]. A CAD
sketch of the five-hole probe we designed is given in Figure 2-2 and Figure 2-2.

Figure 2-2 A CATIA sketch of 5-hole probe at 3 views (3D, side and front views)

Figure 2-3 A CAD sketch of the probe


As illustrated in Figure 2-3, the hole arrangement is plus-sign, which has a center
hole named P5, two top and bottom holes named P1 and P3 respectively and the
rest left and right holes named P4 and P2 respectively (P stands for Port). The

Son C.T. Nguyen 11


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

couple of P1 and P3 is also called pitch measuring hole as they play an essential
role of identify pitch angle. It is similar for the couple of P2 and P4 in measuring
yaw angle. The term of pitch and yaw here is replacements for angle of attack
(AOA) and sideslip (AOS), because when probe is calibrated in wind tunnel pitch
angle is the same as AOA and so is that of yaw angle and AOS. Common
substance options, as mentioned in study of [20] [6] and commercial products of
[17], are stainless steel, therefore, such material is employed along with an encased
aluminum tube and a mechanical resin, DEVCON S5, in our probe construction
(demonstrated in Figure 2-4).

2.1.2 Manufacture process of the probe

Manufacturing of a 5-hole conical probe, in small dimensions, is a delicate and


difficult task while available studies or tutorials are extremely limited in providing
guidance or suggesting fabrication process to someone eager for creating a home-
built low cost one. Special care has to be taken, when grouping 5 tubes and
forming the probe to the desirable shape, to avoid air bubbles appearance or tube
clogging. Sizing probe is a very important step, as mentioned above, in which we
decided all its parameters including tip shape of a 90-degree conical forward
facing tip and its diameter ratio of 0.125 with inner diameter of 1 mm. The next
step is to establish a construction process that is a combination and a compromise
of some factors such as materials characteristics, machining limitations, timing
and desire of tolerance and clogging, in order to create a desirable probe. Some
constraints during forming plus-sign configuration and considerable requirements
during machining are listed below Table 2-1:

Table 2-1 Constraints during grouping and machining


For Forming Plus-sign
No. No. Machining Requirements
Configuration
Mandatory processing time
1 of glue is between 15 – 20 1 Conical angle is 90 degrees.
minutes

Son C.T. Nguyen 12


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

Plus-sign configuration has


2 to be rigidly shaped before 2 Symmetrical cone
gluing
Gluing at least air bubbles in
3 3 Smoothed tip
encased tube
Glue is completely rigid
Clogging due to chip, dust has
4 after 20 hours, then tip 4
to be cleaned off the small tubes
processing in the next day
Clogging due to glue has to
5 be cleaned off the small
tubes as much as possible

An initial construction process has been employed, which is seen as a flowchart


in Figure 2-5 (a). The first step made by stacking together 5 stainless steel tubes
to form a plus-sign frame before take it into an encased tube. A plus-sign frame,
therefore, was built and the material used was acrylic glass. In order to ensure
minimum tolerance, all parts of the frame were sketched and cut by laser machine.
Then, by using super-fast glue, these parts were assembled quickly, and thus, it
was convenient to collapse it to transfer the block of 5 tubes into encased
aluminum outer tube. After positioning 5 tubes, gluing part of these tubes together
by a super-fast glue is necessary due to the main mechanical glue did not allow
them to be rigidly fixed during gluing. The reason of just gluing a part of the block
instead of gluing full block is that these kind of glue could be totally blown off
during machining which causes machining faults at probe tip. Therefore,
mechanical plastic steel glue is mandatory for not only stacking 5 tubes together
but also main surface of probe tip to ensure as perfectly smooth as possible. Since
constraints of timing of processing mechanical glue is within 20 minutes, all
preparations from building tube position frame to fast gluing 5 tubes had to be
completed prior to filling up encased tube with mechanical glue and block of 5
tubes and putting the block into the encased tube. Table 2-2 and Figure 2-4
illustrate some relevant mechanical tools and gadgets along with their functions
during probe processing.

Son C.T. Nguyen 13


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

Table 2-2 Necessary equipment, gadgets and tools


No. Names Periods Notes
Components are created by
Plus-sign
1 Pre-fabrication acrylic glass using laser cutting
grouping frame
machine.
502 super-fast Assemble plus-sign grouping
2 Pre-fabrication
glue frame and block of 5 holes.
Devcon S5 plastic Use 1 set for creating 1 probe.
3 steel (mechanical Fabrication Decrease amounts of air bubbles
glue) during filling up
Pressurized air Prevent clogging during glue
4 Fabrication
supplying filling up and machining.
Bench drilling Function as a rotating axis along
5 Fabrication
machine probe axis for machining.
Sharpening
6 Fabrication Abrade probe’s tip.
machine
Abrasive grinding
P600 & P800: coarse grinding
7 paper P600, P800, Fabrication
P1000: fine grinding
P1000

Figure 2-4 All necessary equipment, tools and gadgets


When it comes to the machining stage, the probe was fixed at shaft of a bench
drilling machine and a sharpening machine was used to abrade its tip. In order to
machine an angle of 90-degree, sharpening machine would be rigidly positioned

Son C.T. Nguyen 14


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

at a 45-degree incline with regard to axis of drill shaft. We decided to process tip
in two steps, in first step, tip probe would be abraded coarsely to form a regularly
conical and desired 90-degree cone angle. After that, fine grinding tip will be
conducted to ensure creating a smooth tip’s surface for decreasing aerodynamic
boundary separation phenomenon. However, after 3 trial versions, we recognized
clogging phenomenon due to abrasive dust was a huge problem rising
instantaneously whenever a continuous abrading process was conducted, where
the temperature rises at a very high value more than threshold value of glue and
high enough to create a mixture of chip and glue leading to clogging. So, an
improvement was applied when a discrete-time sharpening was compulsory and
cleaning dust was added whenever probe got cooling. The machining process was
finally completed in Figure 2-5 (b) and there was a lot notes and faults experience
during home-built manufacturing illustrated in the Manufacture Logbook
Appendix.

Son C.T. Nguyen 15


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

Figure 2-5 (a) Initial manufacture process. (b) Complete process


Finally, such five-hole probe was fully completed with some its actual pictures,
where its five holes were connected to plastic tubes linking to pressure sensors.
Figure 2-6 shows an overall view of the probe along with plastic tubes and
connectors. Figure 2-7 shows its tip in front view.

Son C.T. Nguyen 16


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

Figure 2-6 General view of entire probe

Figure 2-7 Actual probe tip

Son C.T. Nguyen 17


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

2.2 Probe Orientation Mechanism and Experimental


Apparatus
After fabrication, the probe will be calibrated in the Open Circuit Wind Tunnel at
Aerospace Laboratory at Department of Aerospace Engineering, Bach Khoa
University. The calibration method employed in this thesis was of non-nulling
mode requires probe to be inserted into a known flow field and then be able to
rotate in both the yaw and pitch planes. For this setup, the probe is placed in the
middle of the test section of the wind tunnel on a rotating mechanism that is able
to rotate the probe in two axes (yaw and pitch) to make reference of angle of attack
and sideslip while measuring the 5 pressures at each combination point.

Figure 2-8 Three-view CAD model of experiment rig

Figure 2-9 Simulated 3D model of experiment rig


A simple inexpensive experimental rig has been built that has two independent
rotational axes, controlled manually and collecting value via reading on measuring
scale with tolerance of +/- 0.5 degree (a half of minimum scale increment). Sizing

Son C.T. Nguyen 18


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

such mechanism has to be appropriate to wind tunnel’s test section dimensions of


50x48x40 cm (length x width x height). Therefore, shaft of pitching rotation is 50
cm long and its diameter fit to diameter of available hole of experiment rig at test
section (120 mm). A shelf for placing probe would be within acceptable heights
of test section with regard to upper wall of the test section. Figure 2-8, Figure 2-9
and Figure 2-10 present a CAD model and actually constructed transverse
mechanism.

Figure 2-10 Actual constructed experiment rig

Son C.T. Nguyen 19


DESIGN AND MANUFACTURE 5-HOLE PROBE AND ORIENTATION SYSTEM

Some equipment and tools relevant to construction and setting up are listed in
Table 2-3

Table 2-3 Relevant equipment and tools used for rig construction
No. Names Functions Notes
Laser cutting Sketch shape of
1
machine pads on HDF pad.

Forstner
Drill AOS pivot
2 drilling bit 20
hole
mm

Wood drilling Drill AOA pivot


3
bit 12 mm hole

Wood drilling Drill probe hole on


4
bit 8 mm keeper
Wood drilling Drill holes of fixing
5
bit 4 mm bolts

360 degree
6 For lower pad
ruler

Bench drilling
7
machine
Sharpening
8
machine
9 Wood cutter Cutting HDF
Abrasive
9 grinding paper Grinding pivots
P150 & P600

10 Level Precisely aligning

Son C.T. Nguyen 20


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

Instrumentation and Data Acquisition


System

For calibration stage, data measurements have to be conducted, and there


would be a system of acquiring these data points and logging them into files that
will be used later. Therefore, a data acquisition system is critically important that
allows us not only to measure and collect set of pressures values of the five-hole
probe but also to post-process and validate the probe. The data acquisition system
includes five pressure sensors and a microprocessor for measuring pressures at
five holes and an extra pressure sensor for measuring Pitot-static airspeed as
reference (this will be presented later in the Validation section). The pressure
sensors from Freescale Semiconductor, named MPXV7002DP differential
pressure sensors, and the microprocessor Arduino Mega 2560 were employed. In
this chapter, there are two main parts: one describes all hardware specifications
including pressure sensors and microcontroller, the other presents system’s
schematic and programming microcontroller to measure and log data from
sensors.

3.1 Hardware Specifications


In this section, we discuss the electronics used to build data acquisition system,
which consist of an Arduino MEGA 2560 microcontroller and arrays of pressure
sensors.

Son C.T. Nguyen 21


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

3.1.1 Arduino Mega 2560 Microcontroller

Arduino is an open-source physical computing platform based on a simple i/o


board and a development environment that implements the Processing/Wiring
language. Arduino can be used to develop stand-alone interactive objects or can
be connected to software on your computer (e.g. Flash, Processing, MaxMSP).

An Arduino microcontroller was employed because it is kind of a user-friendly


board for newbies to build an electronics system and programming. Moreover, the
Arduino MEGA is the most robust that we can start working with it for many
process at moment of time. Arduino microprocessor is also the most suitable board
for sensors in order to easily receive analog signals from pressure sensor.
Therefore, Arduino MEGA is eligible for our mission of building and coding
desired system.

Technical Specifications: The Arduino Mega 2560 is a microcontroller board


based on the ATmega2560. As seen in its actual photo Figure 3-1, it has 54 digital
input/output pins (of which 14 can be used as PWM outputs), 16 analog inputs, 4
UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB connection, a
power jack, an ICSP header, and a reset button. It contains everything needed to
support the microcontroller; simply connect it to a computer with a USB cable or
power it with a AC-to-DC adapter or battery to get started. The Table 3-1 below
lists some details of this microcontroller.

Figure 3-1 Arduino MEGA 2560 Microcontroller

Son C.T. Nguyen 22


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

In our experiments setup, the Arduino Mega 2560 is powered via the USB
connection and it supplies 5V DC for all pressure sensors. Arduino receives analog
signals from pressure sensors and convert analog signal into digital signal (the
signal Analog is read by pins A0-A5). After that, Arduino Mega sends signal to
computer. We have to process digital signal to a pressure value.

Table 3-1 Arduino hardware specification

Microcontroller ATmega2560

Operating Voltage 5V

Input Voltage (Recommended) 7-12V

Input Voltage (Limits) 6-20V

Digital I/O Pins 54 (of which 14 provide PWM output)

Analog Input Pins 16

Flash Memory 256 KB

DC Current per I/O Pin 40 mA

DC Current per 3.3V Pin 50 mA

Flash Memory 256 KB of which 8 KB used by bootloader

SPRAM 8KB

EEPROM 4KB

Clock Speed 16 MHz

3.1.2 Freescale Semiconductor MPXV7002DP Differential Pressure


Sensors

Freescale Semiconductor MPXV7002DP is a pressure sensor used for presenting


air-data probe because it is a differential pressure sensor reliably operating at a
wide range of pressure. MPXV7002DP pressure sensor was employed along with
a breakout board to transform air pressure signal into resistors change for
computing voltage change at analog output. In order to receive analog signal, the
sensor with breakout board were connected to the Arduino Mega microcontroller

Son C.T. Nguyen 23


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

at Analog, GND and +5V pins. The breakout board connected to pressure sensor
is shown in Figure 3-2.

Figure 3-2 Sensor sketch along with breakout board


Features: MPXV7002DP series piezo-resistive transducers are monolithic silicon
pressure sensors. This transducer combines advanced micromachining techniques,
thin-film metallization, and bipolar processing to provide an accurate, high level
analog output signal that is proportional to the applied pressure. It can be used
with a wide range pressure ±2000𝑃𝑎. Its typical error is 2.5% and its maximum
error is 6.25%. The pressure sensor is limited to temperature from 100 𝐶 to 600 𝐶.
Furthermore, this MPXV7002DP sensor can be used for differential and gauge
configurations. Figure 3-3 shows block diagram of the internal circuitry integrated
on such pressure sensor.

Figure 3-3 Integrated Pressure Sensor Schematic


MPXV7002DP can measure a wide pressure range with high accuracy. Sensor is
supplied voltage by 5V DC from a microprocessor (Arduino Mega 2560
Microprocessor) (Table 3-2). Its error is accepted and can be reduced by filter.

Son C.T. Nguyen 24


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

Moreover, an important technical specification is response time, which is defined


as the time for the incremental change in the output to go from 10% to 90% of its
final value when subjected to a specified step change in pressure.

Table 3-2 Sensor features

CHARACTERISTIC SYMBOL MIN TYP MAX UNIT

PRESSURE RANGE POP -2.0 2.0 kPa

SUPPLY VOLTAGE VS 4.75 5.0 5.25 Vdc

SUPPLY CURRENT Io 10 mAdc

ACCURACY ±2.5% ±6.25% %VFSS

SENSITIVITY V/P 1.0 V/kPa

RESPONSE TIME tR 1.0 ms

The sensor output signal is relative to pressure input. The characteristic of sensor
is a linear line in which the output voltage is a first-order function with different
pressure. If the differential pressure increases, the output voltage of sensor will
increase.

Figure 3-4 Characteristic line of sensor [22]

Son C.T. Nguyen 25


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

From the characteristic line Figure 3-4, we have:

𝑉𝑜𝑢𝑡 = 𝑉𝑠 × (0.2 × 𝑃(𝑘𝑃𝑎) + 0.5) ± 6.25%𝑉𝐹𝑆𝑆

After that, the pressure is calculated:

𝑉𝑜𝑢𝑡 ± 6.25%𝑉𝐹𝑆𝑆
𝑃 (𝑘𝑃𝑎) = ( − 0.5) : 0.2
𝑉𝑠

This equation is used to transform voltage change (which is read by Arduino


Mega) into differential pressure.

Auto-zero is a compensation technique based on sampling the offset of the sensor


at reference pressure in order to correct the sensor output for long-term offset drift
or variation. There is an important consideration when implementing auto-zero. In
order to use this technique, a zero pressure reference condition must be known to
exist in the system. We choose the atmosphere at sea-level for a zero pressure
reference condition and implement auto-zero at this condition. After implementing
auto-zero, we measure differential pressures for five hole. This process is showed
in Figure 3-5.

Implementing auto-zero for sensors can be done by a microprocessor:

- Sample the sensor output when a sensor is measured at atmospheric


condition. Store current zero pressure offset as CZPO.
- Sample the sensor output at the current applied pressure. Call this SP.
- Subtract the stored offset correction, CZPO, from SP. The pressure being
measured is calculated as:
𝑆𝑃 − 𝐶𝑍𝑃𝑂
𝑃𝑚𝑒𝑎𝑠 =
𝑆
(S: sensitivity of the sensor = 1V/kPa)

Son C.T. Nguyen 26


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

Figure 3-5 Flowchart of auto-zero for sensor

3.1.3 System Schematic

In the data acquisition system, we have a five-hole probe for measuring pressure
at five ports and we have a pitot probe to measure velocity in order to compare
five-hole probe. Consequently, we have six pressure sensors MPXV7002DP and
an Arduino Mega. Six sensors will connect to Arduino Mega and computer will
receive signals which is transferred by Arduino Mega. (see Figure 3-6)

Figure 3-6 System diagram

Son C.T. Nguyen 27


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

In this part, the schematic of Arduino Mega and six pressure sensors is presented
in Figure 3-7. The sensors are connected to Arduino Mega:

o Sensors are powered by 5V DC


o Sensors are connected to GND
o Output sensors of five-hole probe are analog signals and connected to pin
A1, A2, A3, A4, A5 of Arduino
o Output sensor of pitot probe is connected to pin A0 of Arduino.

Figure 3-7 Data acquisition system schematic

Son C.T. Nguyen 28


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

3.2 Programming with Arduino Mega 2560


Microcontroller
3.2.1 Data real-time and logging program

After designing schematic for Arduino Mega microcontroller and pressure sensor
arrays, the next important step is to program Arduino in order to measure pressure
data for six sensors and log data to files. This code operates for each measurement
at each combination angle location in matrix of calibration.

The Arduino is firstly programmed by the calibration equation in order to identify


initial pressures. The initial pressures are the offset values for auto-zero. For each
sensor, the offset values are different.

Secondly, the Arduino is coded in order to calculate the real pressures, which are
equal to the measured pressures minus the value offset. In this step, the Arduino
is run in loop so as that it can calculate pressures as much as possible.

Thirdly, the real pressures, which are identified before, are used to plot the
pressure graphs in real-time. In this step, there are six graphs for six sensors.

Fourth, after finishing the loop, we plot again the recorded pressure data for six
sensors.

The pressure data is very noisy that a filter is necessary to filter noise for the
measured data. And the noise filter is presented later in the next part.

Finally, the pressure data for six sensors is exported to excel file. The overall flow
of the program is presented in below block diagram (see Figure 3-8).

Son C.T. Nguyen 29


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

Measure the offset


value for auto-zero

Calculate the real-


time pressure

Plot the real pressure


data in real-time

Plot the recorded


pressure data

Use clutter filter to


reduce noise

Export the data to file

Figure 3-8 Flowchart of programming

3.2.2 Analog Noise and Filter Noise

The pressure sensor MPXV7002DP is noisy. Its typical error is 2.5% and its
maximum error is 6.5%. Although the error is small, the result of pressure data is
affected very much. For instance, the analog signal noise is equal to 1 or 2 so that
the pressure changes about ±10𝑃𝑎 . Nevertheless, this change affects the
calibration very much. Consequently, the clutter filter is very important in out
experiment.

In our experiment, there are three clutter filters to be used in different conditions.
There are Kalman Filter, Moving Average and Low-pass Filter.

3.2.2.1 Kalman Filter

Kalman filtering is an algorithm that uses a series of measurements observed over


time, containing statistical noise and other inaccuracies, and produces estimates of

Son C.T. Nguyen 30


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

unknown variables that tend to be more accurate than those based on a single
measurement alone, by estimating a joint probability distribution over the
variables for each timeframe. [23]

For our experiments, the Kalman filter works in a three-step loop (Figure 3-9).
First, we create the initial conditions. Next is the prediction step, the Kalman filter
creates estimates of the current state variables, along with their uncertainties. The
following step is update, which is depends on measurement and prediction.

Figure 3-9 Kalman filter flowchart


Reduce noise by using Kalman filter (For each time step t): Initial conditions,
Prediction, Update:

o Initial conditions
𝑥 (0), 𝑃(0) (3.1)
o Predict next state
𝑥(𝑡) = 𝐹 ∗ 𝑥(𝑡 − 1) + 𝐵 ∗ 𝑢 (3.2)
Predict next covariance

𝑃(𝑡) = 𝐹 ∗ 𝑃(𝑡 − 1) ∗ 𝐹 𝑇 + 𝑄 (3.3)


o Compute the Kalman gain
𝑃(𝑡) ∗ 𝐻 𝑇
𝐾= (3.4)
𝐻 ∗ 𝑃 (𝑡 ) ∗ 𝐻 𝑇 + 𝑅
o Update the state estimation

Son C.T. Nguyen 31


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

𝑥 (𝑡 ) = 𝑥 (𝑡 ) +∗ (𝑚𝑒𝑎𝑠𝑢𝑟𝑒𝑚𝑒𝑛𝑡 (𝑡 ) − 𝐻 ∗ 𝑥 (𝑡 )) (3.5)
o Update covariance estimation
𝑃(𝑡 ) = (1 − 𝐾 ∗ 𝐻 ) ∗ 𝑃(𝑡) (3.6)
𝑥 (𝑡 ) = 𝐹 ∗ 𝑥 (𝑡 − 1) + 𝐵 ∗ 𝑢 + 𝑃𝑟𝑜𝑐𝑒𝑠𝑠𝑁𝑜𝑖𝑠𝑒 (3.7)
𝑧(𝑡 ) = 𝐻 ∗ 𝑥 (𝑡 ) + 𝑂𝑏𝑒𝑟𝑣𝑎𝑡𝑖𝑜𝑛𝑁𝑜𝑖𝑠𝑒 (3.8)
- Our state vector is just the output reading of our sensor
𝑥 (𝑡 ) = [𝑠𝑒𝑛𝑠𝑜𝑟 𝑜𝑢𝑡𝑝𝑢𝑡 𝑣𝑜𝑙𝑡𝑎𝑔𝑒] (3.9)
- Assume does not vary very quickly. The value right now is the same
as a short moment ago: 𝐹 = 1
- No control input to the system: 𝐵 = 0
- Output voltage is the only observable: 𝐻 = 1
- Process noise has covariance Q
- Observation noise has covariance R
- Assume the process variance is very low set 𝑄 = 1𝑒 − 8
- Adjust it later through experimentation to obtain desired filter
performance. Determine R, the variance of Raw sensor
measurements.
After using Kalman filter, the advantage of this clutter filter is the highly accurate
result with the pressure fluctuation is equal to 1𝑃𝑎. However, the time response is
very slow, it takes many times to achieve that result.

3.2.2.2 Moving Average

A widely used indicator in technical analysis that helps smooth out signal by
filtering out the “noise” from random fluctuations. The moving average filter (MA
filter) is a simple Low Pass FIR (Finite Impulse Response) filter commonly used
for smoothing an array of sampled data/signal. It takes N samples of input at a
time and take the average of those N-samples and produces a single output point.
It is a very simple Low Pass Filter (LPF) structure that comes handy for scientists
and engineers to filter unwanted noisy component from the intended data.[24]

Moving average filter operates by averaging a number of points from the input
signal to produce each point in the output signal. In equation form, this is written:

Son C.T. Nguyen 32


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

𝑁−1
1
𝑦(𝑖) = ∑ 𝑥(𝑖 + 𝑗) (3.10)
𝑁
𝑗=0

where x(i) is the input signal, y(i) is the output signal, and N is the number of
points in the average (note: N is an odd number).

The MA filter perform three important functions:

1) It takes M input points, computes the average of those N-points and produces
a single output point.
2) Due to the computation/calculations involved , the filter introduces a definite
amount of delay.
3) The filter acts as a Low Pass Filter (with poor frequency domain response and
a good time domain response).

As the filter length increases (the parameter N) the smoothness of the output
increases, whereas the sharp transitions in the data are made increasingly blunt.
This implies that this filter has excellent time domain response but a poor
frequency response. In other words, the moving average is an exceptionally good
smoothing filter (the action in the time domain), but an exceptionally bad low-pass
filter (the action in the frequency domain).

For our case, we need low-noise signals around a dynamics pressure values which
represent for the velocity set for the flow passing through the test section of wind
tunnel, in order to calculate an average value of the acquired array of data signals.
Therefore, a good time-domain signal is great for the case, which means the MA
filter is one of best choices. Also, MA filter is an easy and fast-response way to
apply for our Matlab program, especially for the offline post-processing part
which influences our adjustment on each experiment result of each hole. In our
program, we initially opted span N of 25 since we refer to a source code from a
Matlab webminar of smoothing signals of a temperature analog sensor and finally
we increased the value to 31 to reduce more noise due to our high sense of pressure
sensors.

Son C.T. Nguyen 33


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

After using Moving Average, the accuracy is lower than Kalman Filter’s accuracy
while the time response of Moving Average is faster than time response of Kalman
Filter.

3.2.2.3 Low-pass Filter

A low-pass filter (LPF) is a filter that passes signals with a frequency lower than
a certain cutoff frequency and attenuates signals with frequencies higher than the
cutoff frequency.

One simple low-pass filter circuit consists of a resistor in series with a load, and a
capacitor in parallel with the load. The capacitor exhibits reactance, and blocks
low-frequency signals, forcing them through the load instead. At higher
frequencies the reactance drops, and the capacitor effectively functions as a short
circuit. The combination of resistance and capacitance gives the time constant of
the filter = 𝑅𝐶 . The break frequency, also called the turnover frequency or cutoff
frequency (in hertz), is determined by the time constant: (more details in [25])

1
𝜏 = 𝑅𝐶 = (3.11)
2𝜋𝑓𝑐
The effect of an infinite impulse response low-pass filter can be simulated on a
computer by analyzing an RC filter's behavior in the time domain, and then
discretizing the model. This discrete-time implementation of a simple RC low-
pass filter is:

𝑦𝑖 = 𝛼𝑥𝑖 + (1 − 𝛼)𝑦𝑖−1 (3.12)


∆𝑡
where: 𝑥𝑖 input signal, 𝑦𝑖 filter signal, 𝛼 = , ∆𝑡 is the sampling period
∆𝑡+𝑅𝐶
For our case of low-pass filter, the cutoff frequency is 𝑓𝑐 = 0.5 and the sampling
period is ∆𝑡 = 0.01.

We find that the noise is reduced and the result is better while the time response
is rapid.

Son C.T. Nguyen 34


INSTRUMENTATION AND DATA ACQUISITION SYSTEM

3.2.2.4 Summary

After evaluating three clutter filters, we recognize that the low-pass filter is
suitable for the calibration. Furthermore, moving average is suitable for
continuous validation. (see Table 3-3)

Table 3-3 Comparison among filters


Kalman Filter Moving Average Low-pass Filter
Pressure Accuracy 1𝑃𝑎 2𝑃𝑎 1𝑃𝑎
Time response Very low Very fast Fast
Used in condition Continuous Calibration &
Validation Discrete Validation

Son C.T. Nguyen 35


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Least Square Polynomial Fit Identification


and Calibration

This chapter will present probe calibration procedure including considering


calibration coefficients of standard method and process of collecting data along
with treatment for raw collected data. Then, a data reduction using Least square
surface fitting technique will be presented and calibration results will be showed
and discussed.

4.1 Identification and Calibration Method


4.1.1 Calibration Coefficients

There are two types of calibrations, one using nulling mode, which means the
probe would be aligned until at precise zero pitch and yaw angle before
calibration, and the another one using non-nulling mode, which just requires probe
placed at a fixed position within zero position’s tolerance and sees it at imperfect
zero position. For the former scenario, it is considerably costly due to spending a
huge amount of time to accurately adjust a perfect zero position. The latter
scenario, however, accepts an imperfect zero position and then calibration results
will tell how probe position was inaccurate and this still has no impact on accurate
measuring capability of the probe. This was shown to be adequate and less time-
consuming than conventional nulling mode by several studies, e.g., [3], [5], [6],
[13], [14], [20], [26]. Then, relationships between measured pressures at five holes
and true, local static and total pressure or velocity must be determined. These

Son C.T. Nguyen 36


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

relationships are expressed as non-dimensional coefficients which is also see as a


function of flow angles.

During the calibration, flow direction and magnitude must be known and pressure
data will be measured and recorded at each calibrating point. Angle of attack and
sideslip angle vary on a wide range of +/- 20 degrees, in order to calculate or
identify all dimensionless coefficients for determination of flow angularities
model structures. Then, these mathematical models will be used as functions to
compute the flow angles and further flow velocity from measured pressure data in
the actual airflow. In this thesis, a convention of numbering holes of probe is
illustrated in Figure 4-1 and calibration coefficients are defined as follows (4.1),
(4.2), (4.3), (4.4), which are standard non-dimensional coefficients in [3], [14].

𝑃3 − 𝑃1
𝐶𝑃𝛼 = (4.1)
𝑃5 − 𝑃𝑎𝑣𝑒
𝑃2 − 𝑃4
𝐶𝑃𝛽 = (4.2)
𝑃5 − 𝑃𝑎𝑣𝑒
𝑃5 − 𝑃
𝐶𝑃5 = (4.3)
𝑃0 − 𝑃
𝑃𝑎𝑣𝑒 − 𝑃
𝐶𝑃𝑎𝑣𝑒 = (4.4)
𝑃0 − 𝑃
where:

𝑃1 , 𝑃2 , 𝑃3 , 𝑃4 , 𝑃5 : pressure of 5 holes
𝑃1 +𝑃2 +𝑃3 +𝑃4
𝑃𝑎𝑣𝑒 =
4

𝑃: Local static pressure

𝑃0 : Local stagnation pressure

Son C.T. Nguyen 37


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Figure 4-1 Convention of holes’ names


At fan rotational frequency of 18 Hz (the airflow velocity is about 12 m/s), the
probe was calibrated within the range of AOA and AOS of maximum +20 degrees
and minimum of -20 degrees at 5-degree intervals. Therefore, a grid calibrated
matrix of 9x9=81 points was formed. Data recorded over a relatively long, ∆𝑡 of
40s for each point, since it took sufficient time for the wind tunnel fan to stabilize
the airflow velocity and transient pressure inside tubes.

4.1.2 Data Collection and Scaling Technique

As mentioned at Programming in Chapter 3, a real-time pressure data


plotting and logging program was built to display and record velocity, location in
calibration matrix and pressure of five holes at each location. During data
measurement, a noise filter was employed to reduce fluctuations or separate signal
from noise. There were three noise filters was investigated including Kalman
Filter, Moving Average Filter and Low-pass Filter. The Low-pass Filter has shown
the best result of noise filtering out of three filters in calibration.

After measuring all points of the matrix, a pressure distribution was plotted
at each hole of probe to initial evaluation. A large amounts of data record was
observed and we found a huge problem as at zero AOA and AOS point, the
displayed pressure value of four holes surrounding center hole were not the same
or at least fluctuated around each other value. There were big gaps among them
and each pressure tap behaved at different range of pressure, which means that
there was definitely at least a factor influencing calibration that went wrong.
Section of 4.3 below demonstrated all influencing factors in more details and came

Son C.T. Nguyen 38


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

to a conclusion to what caused the phenomenon. The hole geometry had a


profound impact on pressure tap behaviors as the diameter of each hole was not
the same due to two main reasons: Material’s faults leading to different diameter
along the hole and imperfect conical tip leading to different area on tip surface of
each hole. Therefore, we had to scale the values of all surrounding pressure holes
to correct initial condition. Since pressure at four surrounding holes at (AOA,
AOS) = (0, 0) degree are ideally the same and pressure tap P2 shown most
appropriate value compared to [14], [20], P2 was opted for adjusting other taps
(P1, P3, P4). The scaling procedure was conducted on a velocity range that the
probe will be employed in realistic application. Since the ultimate target of
utilizing probe is to compute the three-dimensional airflow for an UAV during
flight, which will operate with stall speed of 12 m/s and cruise speed of 20 m/s,
the surrounding holes were scaled on that range and the procedure was similar to
calibration, when pressure data at single point of airflow velocity range was
recorded in ∆𝑡 = 10𝑠 (Wind tunnel airflow velocities were 12, 14, 18 and 20 m/s).

140 Scale to P2
y = 0.6953x - 2.9513
120 y = 1.4305x + 12.405 R² = 0.9969
R² = 0.999
Pressure of P2 (Pa)

100

80 y = 1.2867x + 9.1643
P1
R² = 0.9995
60 P3
P4
40 Linear (P1)
20 Linear (P3)
Linear (P4)
0
0 50 100 150 200
Pressure (Pa)

Figure 4-2 Scale-to-P2 function of raw data for P1, P3, P4


As seen in Figure 4-2, goodness of fit between measured data of (P1, P3, P4)
versus P2 and the curve fit function are really good, 0.999, 0.9969 and 0.9995 for

Son C.T. Nguyen 39


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

P1, P3 and P4 respectively. So, these linear models will be employed to


calibration. However, there were lots of troubles happened in our first experiments
led to a very long troubleshooting, so before later calibration for any changes or
new five-hole probe, it was critically important to check all experimental
conditions and note them down to experiments logbook (See more details in
Appendix Experiments Logbook). There were some main troubles that we listed
below could negatively affect measurement results or lead to uncertainties or
errors during calibration:

 There must be a proper static source for each differential pressure sensor.
 Proper scale functions have to be correctly utilized.
 Check for probe system whether clogging or leaks in tubes happens.
 Check for any electronics and electrical issues of data acquisition system,
e.g., voltage of employed Arduino microprocessor must be 5 volts,
concisely use breadboard, all wires have to be precisely connected to board.

Consequently, a pressure distribution has been plotted after data processing in


Figure 4-3, Figure 4-4, , Figure 4-6,

Son C.T. Nguyen 40


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Figure 4-7, where pressure distribution is refined by neglected bad points using
third-order polynomial fit function. From the figures, it is easier to estimate where
is actual zero-point (AOA, AOS) = (0, 0) of the probe during calibration and the
best available range of probe usage. For further evaluation related to this issue, we
need some validations that will be mentioned later in Chapter 5.

As shown in the Figure 4-3, Figure 4-4, , Figure 4-6,

Figure 4-7, the five pressure taps of a specific probe respond to varying flow
angles. The iso-lines show arcs of increasing pressure as the hole of each tube is
oriented into the flow. The curvature of iso-lines become more circular as the
pressure increases, since the flow is more directly into the hole and exhibits greater
dependence upon the twisting of the hole with respect to mean flow. The pressure
field at Port 2 and Port 4 show how a manufacturing error while grouping these
ports since the center of arcs of the two are not at the same location while Figure
4-3 and show a perfectly symmetry of port 1 and port 3. Figure 4-4 presents the
center pressure tap (P5) response which should resemble concentric circles
centered about the probe axis. From this figure, it is easily determined that the

Son C.T. Nguyen 41


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

probe axis was not correctly aligned with the flow when AOA and AOS are both
zero. This happened when the probe was manually mounted to the transverse
system and the system to test section of wind tunnel. In fact, the probe axis is
parallel to the airflow for 𝐴𝑂𝐴 ≈ −3° and 𝐴𝑂𝑆 ≈ −2°.

Figure 4-3 Contour of P1 pressure data

Son C.T. Nguyen 42


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Figure 4-4 Contour of P5 pressure data

Figure 4-5 Contour of P3 pressure data

Son C.T. Nguyen 43


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Figure 4-6 Contour of P4 pressure data

Figure 4-7 Contour of P2 pressure data

Son C.T. Nguyen 44


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

4.2 Data Reduction using Least Square Polynomial Fit


Previous available literatures employed data reduction techniques to relationships
between aforementioned non-dimensional numbers. Bryer [1] and Krause [27]
used graphical methods, and Treaser [3] used a classical look-up table, where
arrays of calibration data are searched. Results could be obtained by interpolation
or local curve fits from values around measured quantities. While technique
presented by Wendt and Reichert [28] requires the probe to be perfectly
symmetric, where a simplified set of all curve fits of the entire calibration data
were obtained. Such techniques are hard to execute due to the manufacture of a
perfect probe is costly and further technically impossible in home-built condition.
Additionally, the use of look-up tables obtained from calibration data can lead to
increased uncertainties since a single bad data point in calibration data will greatly
affect the data reduction when flow angles are such that the bad data point is
included in the data analysis.

Figure 4-8 Flowchart of five-hole conical probe data reduction scheme

Son C.T. Nguyen 45


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

The refined technique proposed by Morrison [14], however, not only is able to
smooth out the effects of bad calibration points but also does not require a
perfectly symmetrical probe. As it is pointed out in the study, the technique
consists of performing surface-fits of the entire set of calibration data which
compensate for asymmetric probes and eliminate bad data points that could
negatively affect probe measurement. Data reduction technique used in this thesis
was similar because of its advantages, but the surface-fits method employed here
is least-square polynomial surface fit. Third-order polynomial linear regression
models were established and embedded in our program by using MATLAB Curve
Fitting ToolboxTM, which is also directly applied in [15]. This calibration results
will be tested in validation and compared to rational polynomial regression models
in my co-worker’s thesis, which were built by Table Curve 3D used in [14]. Figure
4-8 shows the overall scheme of data reduction using aforementioned method,
where the process of computing airspeed will be demonstrated later.

MATLAB Curve Fitting Toolbox™ Product [29] provides a functions for fitting
curves and surfaces to data. The toolbox allows us to perform exploratory data
analysis, preprocess and post-process data, compare candidate models, and
remove outliers. We can conduct regression analysis using the library of linear and
nonlinear models provided or specify our own custom equations. The library
provides optimized solver parameters and starting conditions to improve the
quality of our fits. The toolbox also supports nonparametric modeling techniques,
such as splines, interpolation, and smoothing. After creating a fit, we can apply a
variety of post-processing methods for plotting, interpolation, and extrapolation;
estimating confidence intervals; and calculating integrals and derivatives.

The surface-fitting technique applied in the toolbox is linear least square method
to fit linear model to data, where linear models stand for calibration coefficients
of surface-fit models and data stands for AOA pressure coefficients, AOS pressure
coefficients and the combination point of AOA and AOS in the calibration matrix
at which the pressure values at five holes were measured. The linear model is
defined as an equation that is linear in the coefficients. As mentioned earlier, the

Son C.T. Nguyen 46


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

approximately computed models are third-order polynomial three-dimensional


functions of AOA coefficients and AOS coefficients as seen in equation (4.5) and
(4.6) below.
2
𝛼 = 𝐾0𝛼 + 𝐾1𝛼 𝐶𝑃𝛼 + 𝐾2𝛼 𝐶𝑃𝛽 + 𝐾3𝛼 𝐶𝑃𝛼 + 𝐾4𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽
(4.5)
2 3 2 2 3
+𝐾5𝛼 𝐶𝑃𝛽 + 𝐾6𝛼 𝐶𝑃𝛼 + 𝐾7𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 + 𝐾8𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 + 𝐾9𝛼 𝐶𝑃𝛽
2
𝛽 = 𝐾0𝛽 + 𝐾1𝛽 𝐶𝑃𝛼 + 𝐾2𝛽 𝐶𝑃𝛽 + 𝐾3𝛽 𝐶𝑃𝛼 + 𝐾4𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽
2 2 3
(4.6)
3 2
+𝐾5𝛽 𝐶𝑃𝛽 + 𝐾6𝛽 𝐶𝑃𝛼 + 𝐾7𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽 + 𝐾8𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽 + 𝐾9𝛽 𝐶𝑃𝛽
Before solving this least-square problem, a set of coefficients for each data point
have been calculated in (Table 4-1).

In order to solve the leas-square problem, functions 𝛼 = 𝑓(𝐶𝑃𝛼 , 𝐶𝑃𝛽 ) and 𝛽 =


𝑓(𝐶𝑃𝛼 , 𝐶𝑃𝛽 ) are written in following matrices form:

2 2 3 2 2 3
1 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽
𝐴1 𝐾𝐼
2 2 3 2 2 3
𝐴2 1 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 𝐾𝐼𝐼
𝐴3 1 𝐶𝑃𝛼 2
𝐶𝑃𝛽 𝐶𝑃𝛼 2
𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 3
𝐶𝑃𝛼 2
𝐶𝑃𝛼 𝐶𝑃𝛽 2
𝐶𝑃𝛼 𝐶𝑃𝛽 3
𝐶𝑃𝛽 𝐾𝐼𝐼𝐼
𝐴4 2 2 3 2 2 3 𝐾
= 1 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 × 𝐼𝑉 (4.7)
. .
.
. .
.
. .
.
[𝐴𝑁 ] 2 2 3 2 2 3 [ 𝐾𝑁 ]
[1 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛼 𝐶𝑃𝛽 𝐶𝑃𝛽 ]
It can be written as:

[𝐴] = [𝐶 ] × [𝐾] (4.8)


where

[K] is the 10x1 column vector containing the calibration coefficients;

[C] is the Nx10 matrix containing the flow angle pressure coefficients (i.e.,
2
𝐶𝑃𝛼 , 𝐶𝑃𝛽 , 𝐶𝑃𝛼 , …;

[A] is the Nx1 column vector containing the flow property (AOA, AOS) under
consideration and called from calibration data record. And N is the total number
of calibration data points, which is 81 points in our case as mentioned earlier.

Son C.T. Nguyen 47


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Given the data collected from experiments measurements, this least square
problem could be solved by employing matrix algebra. The matrix algebra
required to determine the calibration coefficients is

[𝐾] = [𝐶 𝑇 𝐶 ]−1 [𝐶 ]𝑇 [𝐴] (4.9)


Table 4-1 Pressure coefficients at combination points
AOA AOS AOA AOS
-20 -20 -1.1552 -1.0978 0 0 -0.0012 0.04168
-15 -20 -0.8196 -1.0687 5 0 0.23391 -0.0549
-10 -20 -0.2357 -0.9211 10 0 0.48045 0.06349
-5 -20 0.05958 -0.9534 15 0 0.80156 -0.0283
0 -20 0.3209 -0.9515 20 0 1.09247 -0.0722
5 -20 0.60693 -0.9233 -20 5 -1.64 0.89941
10 -20 0.85672 -0.992 -15 5 -1.5645 0.61497
15 -20 1.18841 -1.0646 -10 5 -0.5661 0.34543
20 -20 1.83183 -1.2671 -5 5 -0.2229 0.2941
-20 -15 -1.4042 -0.7468 0 5 0.1071 0.21465
-15 -15 -1.0712 -0.6875 5 5 0.25695 0.25187
-10 -15 -0.2904 -0.6292 10 5 0.57173 0.24539
-5 -15 -0.0148 -0.6008 15 5 0.87523 0.27337
0 -15 0.15694 -0.4728 20 5 1.22761 0.26074
5 -15 0.48191 -0.6411 -20 10 -1.6587 0.99944
10 -15 0.64963 -0.6153 -15 10 -0.9521 0.66561
15 -15 1.07173 -0.8104 -10 10 -0.5856 0.66268
20 -15 1.42985 -0.8442 -5 10 -0.081 0.49049
-20 -10 -1.5106 -0.3992 0 10 0.07343 0.46022
-15 -10 -0.9336 -0.3549 5 10 0.41133 0.50488
-10 -10 -0.4716 -0.3935 10 10 0.66842 0.54105
-5 -10 -0.172 -0.4838 15 10 1.00676 0.37701
0 -10 0.12528 -0.4845 20 10 1.23732 0.41988
5 -10 0.35665 -0.4921 -20 15 -1.7464 1.35351
10 -10 0.61154 -0.4506 -15 15 -1.1243 1.1505
15 -10 1.0084 -0.6657 -10 15 -0.5538 0.92105
20 -10 1.29963 -0.6236 -5 15 -0.1197 0.75913
-20 -5 -1.7019 -0.1002 0 15 0.22484 0.78941
-15 -5 -1.0901 -0.0632 5 15 0.48362 0.80372
-10 -5 -0.5836 -0.1433 10 15 0.79789 0.71183
-5 -5 -0.2007 -0.2523 15 15 1.11466 0.69394
0 -5 -0.0198 -0.2249 20 15 1.6044 0.76112
5 -5 0.21844 -0.2313 -20 20 -1.7507 1.86467
10 -5 0.54827 -0.2435 -15 20 -1.1317 1.55805
15 -5 0.82918 -0.3106 -10 20 -0.4394 1.27893
20 -5 1.09014 -0.3162 -5 20 0.04424 1.05067
-20 0 -1.7791 0.24633 0 20 0.4196 1.20977
-15 0 -1.0617 0.20079 5 20 0.81187 1.12792
-10 0 -0.5935 0.12149 10 20 0.94041 0.99925
-5 0 -0.271 0.08001 15 20 1.22189 0.93528
20 20 1.90249 1.09281

Son C.T. Nguyen 48


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

After solving the problem by using MATLAB Curve-Fitting Toolbox, the


coefficients have been determined so that we have the fitting functions for AOA
(Figure 4-9), AOS (Figure 4-10) as follows:
2
𝛼 = −0.4247 + 17 × 𝐶𝑃𝛼 + 0.7274 × 𝐶𝑃𝛽 + 1.887 × 𝐶𝑃𝛼 − 0.9299
2 3
× 𝐶𝑃𝛼 𝐶𝑃𝛽 − 4.475 × 𝐶𝑃𝛽 − 0.8884 × 𝐶𝑃𝛼 − 0.6526 (4.10)
2 2 3
× 𝐶𝑃𝛼 𝐶𝑃𝛽 − 2.3 × 𝐶𝑃𝛼 𝐶𝑃𝛽 + 0.3373 × 𝐶𝑃𝛽
𝑅2 = 0.99186
2
𝛽 = −1.088 + 2.085 × 𝐶𝑃𝛼 + 20.75 × 𝐶𝑃𝛽 + 0.2853 × 𝐶𝑃𝛼 + 1.31
2 3
× 𝐶𝑃𝛼 𝐶𝑃𝛽 − 0.6213 × 𝐶𝑃𝛽 + 0.1417 × 𝐶𝑃𝛼 − 1.558 (4.11)
2 2 3
× 𝐶𝑃𝛼 𝐶𝑃𝛽 − 1.119 × 𝐶𝑃𝛼 𝐶𝑃𝛽 − 1.056 × 𝐶𝑃𝛽
𝑅2 = 0.99202

Figure 4-9 Surface-fitting of AOA

Son C.T. Nguyen 49


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Figure 4-10 Surface-fitting of AOS


The fitting surfaces and goodness of fit for the angle of attack and sideslip angle
are shown in Figure 4-9 and Figure 4-10. Coefficient of determination, or 𝑅2 , will
be calculated to evaluate the goodness of the fit between the measured data points
and the surface solved from least square problems. Theoretically, this coefficient
indicates how successful the fit is in explaining the variation of the data. Put
another way, 𝑅2 is the square of the correlation between the response values and
the predicted response values. It is also called the square of the multiple correlation
coefficient and the coefficient of multiple determination. The larger the 𝑅2 is, the
more variability is explained by the linear regression model. In other words, the
larger the 𝑅2 is, the better fitting ability between measured data points and surface
function. 𝑅2 is defined as the ratio of the sum of squares of the regression (SSR)
and the total sum of squares (SST). SSR is defined as
𝑛

𝑆𝑆𝑅 = ∑ 𝑤𝑖 (𝑦̂𝑖 − 𝑦̅)2 (4.12)


𝑖=1

SST is also called the sum of squares about the mean, and is defined as

Son C.T. Nguyen 50


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

𝑆𝑆𝑇 = ∑ 𝑤𝑖 (𝑦𝑖 − 𝑦̅)2 (4.13)


𝑖=1

where SST = SSR + SSE. Given these definitions, 𝑅2 is expressed as

𝑆𝑆𝑅 𝑆𝑆𝐸
𝑅2 = =1− (4.14)
𝑆𝑆𝑇 𝑆𝑆𝑇
And SSE is the sum of squared error and is defined as
𝑛

𝑆𝑆𝐸 = ∑ 𝑤𝑖 (𝑦𝑖 − 𝑦̂𝑖 )2 (4.15)


𝑖=1

𝑅2 can take on any value between 0 and 1, with a value closer to 1 indicating that
a greater proportion of variance is accounted for by the model. As seen in the
Figure 4-9 and Figure 4-10, the coefficient of determination value for angle of
attack data fitting is 0.99186 and that for sideslip angle data fitting is 0.99202,
which means that the fits explain 99.186% and 99.202% of the total variation in
the flow angles data about models. These values are really good compared to
results of [5], [14], [20]. At each surface models, the root-mean-square deviations
were also computed, which is 1.2439 degree for deviations between actual AOA
and AOA models and 1.232 degree for AOS and AOS models. These could be
seen as qualitative numbers to estimate the errors in measurement ability of the
probe in discrete validation.

Next step of computing airspeed, where the airspeed 𝑉𝑎 can be computed from
static pressure 𝑃𝑠 and total pressure 𝑃𝑡 , defined as

2(𝑃𝑡 − 𝑃𝑠 )
𝑉𝑎 = √ (4.16)
𝜌𝑎𝑖𝑟

where 𝜌𝑎𝑖𝑟 denotes the air density at experiment’s level. It is possible to measure
static pressure and total pressure during calibration by using a pitot-static tube
aligned with the direction of the airflow, then these results could be used to
determined 𝐶𝑃5 and 𝐶𝑃𝑎𝑣𝑒 models, which can be finally used to computing
airspeed in the future. The relationship between static pressure/total pressure and
the two coefficients is defined as:

Son C.T. Nguyen 51


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

𝑃 = 𝐶𝑃5 𝑃𝑎𝑣𝑒 − 𝐶𝑃𝑎𝑣𝑒 𝑃5 (4.17)


𝑃5 − 𝑃
𝑃0 = 𝑃 + (4.18)
𝐶𝑃5
Least-square polynomial technique has also been employed for this process, which
is a third-order polynomial surface fitting to data calculated from 𝐶𝑃5 and 𝐶𝑃𝑎𝑣𝑒 .
The least-square problem was solved in similar way of AOA and AOS models
mentioned above. This means that surface-fits for 𝐶𝑃5 and 𝐶𝑃𝑎𝑣𝑒 as functions of
AOA and AOS were obtained for the data are shown below:

𝐶𝑃5 = 𝑎 + 𝑏𝛼 + 𝑐𝛽 + 𝑑𝛼 2 + 𝑒𝛼𝛽 + 𝑓𝛽2 + 𝑔𝛼 3 + ℎ𝛼 2 𝛽 + 𝑖𝛼𝛽2 (4.19)


𝐶𝑃𝑎𝑣𝑒 = 𝐴 + 𝐵𝛼 + 𝐶𝛽 + 𝐷𝛼 2 + 𝐸𝛼𝛽 + 𝐹𝛽2 + 𝐺𝛼 3 + 𝐻𝛼 2 𝛽 + 𝐼𝛼𝛽2 (4.20)
Where (a, b, …, i) and (A, B, …, I) is determined by the surface-fit polynomial
least square that mentioned above.

Table 4-2 shows the computed data at each points, which were used to build model
structure.

Son C.T. Nguyen 52


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Table 4-2 Computed data at each calibrated points


AOA AOS AOA AOS
-20 -20 0.25389 -0.2518 5 0 0.55137 -0.1226
-15 -20 0.24867 -0.2411 10 0 0.5373 -0.1733
-10 -20 0.26744 -0.34 15 0 0.48087 -0.2238
-5 -20 0.26027 -0.3533 20 0 0.34849 -0.3202
0 -20 0.30265 -0.3415 -20 5 0.4266 -0.0012
5 -20 0.3253 -0.3311 -15 5 0.34027 -0.0395
10 -20 0.28207 -0.3487 -10 5 0.43209 -0.1334
15 -20 0.19142 -0.4005 -5 5 0.41863 -0.1771
20 -20 -0.0062 -0.5282 0 5 0.48324 -0.1308
-20 -15 0.28228 -0.1442 5 5 0.49368 -0.1291
-15 -15 0.26241 -0.1639 10 5 0.47152 -0.1823
-10 -15 0.35536 -0.2715 15 5 0.38149 -0.239
-5 -15 0.37348 -0.2975 20 5 0.28871 -0.3166
0 -15 0.57544 -0.264 -20 10 0.37146 -0.0627
5 -15 0.4477 -0.2524 -15 10 0.51123 -0.0727
10 -15 0.49398 -0.283 -10 10 0.37658 -0.1669
15 -15 0.28087 -0.3374 -5 10 0.39838 -0.2216
20 -15 0.15715 -0.4306 0 10 0.49439 -0.179
-20 -10 0.38662 -0.0747 5 10 0.4604 -0.1933
-15 -10 0.47611 -0.091 10 10 0.43422 -0.2283
-10 -10 0.42633 -0.1797 15 10 0.31382 -0.3063
-5 -10 0.38729 -0.2263 20 10 0.28237 -0.3641
0 -10 0.47143 -0.2165 -20 15 0.29565 -0.1212
5 -10 0.46197 -0.2029 -15 15 0.34345 -0.1316
10 -10 0.44997 -0.2571 -10 15 0.34179 -0.2136
15 -10 0.34422 -0.3171 -5 15 0.32931 -0.2715
20 -10 0.23233 -0.3798 0 15 0.42777 -0.2466
-20 -5 0.44387 -0.0164 5 15 0.40691 -0.2426
-15 -5 0.4776 -0.0397 10 15 0.37368 -0.2865
-10 -5 0.44217 -0.1309 15 15 0.28494 -0.3627
-5 -5 0.38879 -0.1911 20 15 0.13497 -0.4653
0 -5 0.43246 -0.1585 -20 20 0.15382 -0.2258
5 -5 0.65538 -0.1461 -15 20 0.21577 -0.2143
10 -5 0.47467 -0.1971 -10 20 0.21874 -0.2919
15 -5 0.39803 -0.2646 -5 20 0.23887 -0.3552
20 -5 0.29671 -0.3288 0 20 0.22223 -0.3198
-20 0 0.42746 -0.0076 5 20 0.25395 -0.3221
-15 0 0.54348 -0.0231 10 20 0.23489 -0.3812
-10 0 0.44114 -0.1116 15 20 0.2176 -0.442
-5 0 0.36424 -0.1555 20 20 0.00482 -0.5498
0 0 0.48168 -0.1252

Son C.T. Nguyen 53


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

After solving the problem by using MATLAB Curve-Fitting Toolbox, the


coefficients have been determined that we had the fitting functions below in:

𝐶𝑃5 = 0.5218 + 0.004994 × 𝛼 − 0.001548 × 𝛽 − 0.0003794 × 𝛼 2


+ 1.123𝑒_ − 05 × 𝛼𝛽 − 0.0005842 × 𝛽2 − 2.131𝑒 (4.21)
− 05 × 𝛼 3 + 3.531𝑒 − 06 × 𝛼 2 𝛽 − 3.323𝑒 − 06 × 𝛼𝛽2
𝐶𝑃𝑎𝑣𝑒 = −0.1393 − 0.001765 × 𝛼 + 0.0005282 × 𝛽 − 5.558𝑒 − 05
× 𝛼 2 − 4.054𝑒 − 05 × 𝛼𝛽 − 0.0005052 × 𝛽2 − 1.649𝑒 (4.22)
− 05 × 𝛼 3 − 1.235𝑒 − 06 × 𝛼 2 𝛽 + 1.047𝑒 − 06 × 𝛼𝛽2

Figure 4-11 Surface-fitting of Cp5

Son C.T. Nguyen 54


LEAST SQUARE POLYNOMIAL FIT IDENTIFICATION AND CALIBRATION

Figure 4-12 Surface-fitting of Cpave


As a result, shown in Figure 4-11 and Figure 4-12, goodness of fit for the 𝐶𝑃5 is
0.83845 and for the 𝐶𝑃𝑎𝑣𝑒 is 0.95675. The values of these coefficients are not too
high in compared to probes studied by authors [3], [12], [14], [20]. But these
results are acceptable since the fabrication of the center hole and cone angle was
insufficiently precise in comparison with other studies’ probes which is
manufactured by much more sophisticated process.

Son C.T. Nguyen 55


VALIDATION, ANALYSIS AND DISCUSSION

Validation, Analysis and Discussion

After the calibration, the mathematical models of the probe including AOA, AOS,
𝐶𝑃5 and 𝐶𝑃𝑎𝑣𝑒 must be validated to evaluate how good they are via goodness of fit
and value error for new data set. Such calibration results are validated in two
separate processes, one is the discrete validation and the other is continuous
validation. Therefore, we will discuss these two kinds of validation and analyze
the results as well as discuss about source of errors. There are three main sections
in this chapter:

- Section 5.1 discusses about many aspects of the discrete validation


including experimental conditions and results
- Section 5.2 introduces about the extra experiment setup for the continuous
validation and then conduct such validation process along with the setup.
After that, results will be presented.
- Section 5.3 presents some discussions on the two validations, comparison
results, and source of errors.

5.1 Discrete Validation


Discrete validation is a process testing calibration models at each discrete point of
the calibration matrix. All the points have to be re-measured at the same
experimental condition as calibrating in order to re-test goodness of fit and value
errors of the surface-fitting models. This validation was conducted in the wind
tunnel, where the probe is evaluated at a low airflow speed of about 12 m/s and a
high airflow speed of about 20 m/s. Since our probe will be employed during UAV

Son C.T. Nguyen 56


VALIDATION, ANALYSIS AND DISCUSSION

flight, the two levels of speed correspond to two limits of typical operation of the
UAV platform. They are stall speed and maximum cruise speed, respectively. At
speed of 12 m/s, the angle of attack is varied from −20° to 20° at 5° intervals in
each sideslip, which is also varied in that range. At high speed of 20 m/s, the AOA
is just varied from −10° to 10° in 5° increments at 0° AOS, and similarly, the
sideslip is varied from −10° to 10° in 5° increments at 0° AOA. There were such
differences because, at speed of 12 m/s, the probe was calibrated at every
combination points of AOA and AOS. So, it is essentially important to re-test all
measured points. Nonetheless, at speed of 20 m/s, which is the cruise speed of the
UAV so such range of test is not only aerodynamically meaningful for real flight
tests but also less time-consuming.

A first-order low-pass filter with a cutoff frequency of 0.1 Hz is applied to the


output of each sensor. Specifically, at each speed, each angle of attack, the test is
run for 25 seconds, and samples are collected at 4 Hz, i.e., we end up with 100
samples in total for each of two tests. Thus, the total number of samples for all the
angle of attack tests at each speed is 500 and we had two sets of data at low and
high speed for each angle (AOA/AOS). Figure 5-1 and Figure 5-2 shows the
discrete validation results of AOA with 0° sideslip at 12 m/s and 20 m/s. The
following analysis of this set of data is based on [20]. The AOA goodness of fit
and measurement errors were calculated. The measurement errors are defined as
the difference between the measured values computed from probe’s surface-fitting
models and the reference value recorded at each discrete point. They are calculated
in terms of root-mean-square (RMS), which is defined in equation (5.1). Given
these data, measuring angle of attack had 𝑅2 = 0.97148 and root-mean-square
error of 1.06° at the low speed; and 𝑅2 = 0.98728 and RMS of 0.81° at the high
speed.

𝑁
1
𝑅𝑀𝑆 = √ ∑ 𝑒𝑖2 (5.1)
𝑁
𝑖=1

Son C.T. Nguyen 57


VALIDATION, ANALYSIS AND DISCUSSION

where N is the number of samples, which is 500 for each speed, and 𝑒𝑖 is the 𝑖𝑡ℎ
sample of the measurement error. Assuming the error is normally distributed about
the nonzero mean value, then, for each speed, the number of samples that are
within the range ±𝑅𝑀𝑆 is equal to

1 𝑅𝑀𝑆 − 𝜇 𝑅𝑀𝑆 + 𝜇
(𝐸𝑅𝐹 ( ) + 𝐸𝑅𝐹 ( )) (5.2)
2 𝜎√2 𝜎√2
where 𝜎 is the standard deviation of the error, 𝜇 is the mean value, and 𝐸𝑅𝐹(𝜂) is
the error function defined as
𝜂
1 2
𝐸𝑅𝐹 (𝜂 ) = ∫ 𝑒 𝜉 𝑑𝜉 (5.3)
√2
−𝜂

Hence, 71.46% of the measurement error samples are within ±1.06° at the low
speed and 63.44% are in the range ±0.81° at the high speed.

Angle of attack at 12m/s with 0 sideslip


15 Solid lines: Measurements by the probe
Dashed lines: Reference values by experiment rig
10

5
AOA (deg)

0
0 5 10 15 20 25
-5

-10

-15
Time (s)

Figure 5-1 Angle of attack at 12 m/s with 0 sideslip overtime

Son C.T. Nguyen 58


VALIDATION, ANALYSIS AND DISCUSSION

Angle of attack at 20m/s with 0 sideslip


15 Solid lines: Measurements by the probe
Dashed lines: Reference values by experiment rig

10

5
AOA (deg)

0
0 5 10 15 20 25
-5

-10

-15
Time (s)

Figure 5-2 Angle of attack at 20 m/s with 0 sideslip overtime


Figure 5-3 and Figure 5-4 shows validation results for the considered values of the
sideslip with 0◦ angle of attack at 12m/s and 20m/s speeds. The samples of the
measurement error are collected in the same way as in the angle of attack case.
The goodness of fit is 0.95802 and RMS error is 1.31° at low speed, and goodness
of fit is 0.98728 and RMS error is 0.92° at high speed. 69.38% of the samples lie
within ±1.31° at low speed and 80.17% lie within ±0.92° at high speed. The
Figure 5-5 and Figure 5-6 present the statistical results of RMS errors at all AOA
and AOS combination points that low speed and high speed validation was
conducted. Corresponding total RMS errors are 1.8375° for AOA and 1.6765°
for AOS at 12 m/s, 1.4011° for AOA and 1.4040° for AOS at 20 m/s.

Son C.T. Nguyen 59


VALIDATION, ANALYSIS AND DISCUSSION

Sideslip angle at 12m/s with 0 angle of attack


15 Solid lines: Measurements by the probe
Dashed lines: Reference values by experiment rig

10

5
AOS (deg)

0
0 5 10 15 20 25
-5

-10

-15
Time (s)

Figure 5-3 Sideslip angle at 12 m/s with 0 angle of attack overtime

Sideslip angle at 20m/s with 0 angle of attack


15 Solid lines: Measurements by the probe
Dashed lines: Reference values by experiment rig

10

5
AOS (deg)

0
0 5 10 15 20 25
-5

-10

-15
Time (s)

Figure 5-4 Sideslip angle at 20 m/s with 0 angle of attack overtime

Son C.T. Nguyen 60


VALIDATION, ANALYSIS AND DISCUSSION

Figure 5-5 RMS errors of all combination points at 12 m/s

Son C.T. Nguyen 61


VALIDATION, ANALYSIS AND DISCUSSION

Figure 5-6 RMS errors of all combination points at 20 m/s

Son C.T. Nguyen 62


VALIDATION, ANALYSIS AND DISCUSSION

5.2 Continuous Validation


Due to some drawbacks of the discrete validation and in order to test the probe in
real flights, where UAV’s angle of attack and sideslip angle continuously change,
the probe is tested in continuous validation scenario. At each point in discrete
validation, although the experimental condition was intentionally carried out
resembling calibration period, there was unknown uncontrollable test parameters
that was unexpectedly not as same as before. For example, at the point running
test, the wind tunnel’s fan was manually adjusted from zero to desired speed, and
each reference angle point was also manually positioned, which means that the fan
speed and reference angle would imperfectly be the same as its latest run. This
affected the results’ accuracy since at low speed a small differential pressure
caused by wind tunnel airflow variation could lead to a huge change in computed
angles. This was also true for computing the measurement errors as reference
values would be tolerant by positioning error.

Within this thesis’s scope, there was continuous validation for only continuously
varying angles of attack at a fixed sideslip angle location due to experimental setup
limitations. In order to carry out such test, an extra experiment frame was built
and setup in purpose of collecting data of rotating pitch angle as it acts as reference
angle of attack. This electronics frame needs to meet some requirements of
accuracy and condition of available wind tunnel employed in this dissertation.
Specifically, a potentiometer was used to measure the reference angle. This means
that the frame holding the potentiometer has to be rigid, and only potentiometer’s
knob is rotary. Based on actual wind tunnel situation Figure 5-7, which is showed
that there was a three-component balance already installed, a frame was
constructed and placed clinging to the three-component balance. Figure 5-7 and
Figure 5-8 demonstrated such sketch and the constructed frame in some views.

Son C.T. Nguyen 63


VALIDATION, ANALYSIS AND DISCUSSION

Figure 5-7 CAD models of potentiometer frame

Figure 5-8 Actual potentiometer frame set up into 3-component balance

Figure 5-9 Potentiometer construction and scheme


Potentiometer is a manually variable resistor with 3 terminals as seen in Figure
5-9. Two terminals are connected to both ends of a resistive element, which are
the GND and +5V pins in the Arduino MEGA microcontroller, and the third

Son C.T. Nguyen 64


VALIDATION, ANALYSIS AND DISCUSSION

terminal connects to a sliding contact, called a wiper, moving over the resistive
element connecting to the analog pin of the Arduino. The position of the wiper
determines the output voltage of the potentiometer. The potentiometer essentially
functions as a variable voltage divider. The resistive element can be seen as two
resistors in series (potentiometer resistance), where the wiper position determines
the resistance ratio of the first resistor to the second resistor. In our setup, such
wiper was connected to the shaft of AOA axis of the probe so the third terminal
could display analog values while angle of attack changing. Since the
potentiometer has its characteristics curve and a full circle of wiper is not 360°,
which means that 1° of wiper wrongly shows corresponding analog value of 1° of
AOA, the next step is to calibrate the potentiometer to correctly perform and
record data of angle changes from the true angle values. The calibration was
conducted in similar way we calibrated probe that all analog values were recorded
during all angle points’ measurements and then a curve fits this data set.

300
y = -4E-15x6 + 2E-11x5 - 2E-08x4 + 2E-05x3 - 0.0068x2 + 1.3668x - 33.576
250 R² = 0.9983

200
Angle (deg)

150

100 Measured points


Polynomial fit
50

-50
0 200 400 600 800 1000
Analog values

Figure 5-10 Potentiometer calibration


Figure 5-10 shows the results of the calibration that a six-order polynomial fitting
function was determined with 𝑅2 = 0.9983. However, the range of AOA changes

Son C.T. Nguyen 65


VALIDATION, ANALYSIS AND DISCUSSION

is ±20°, which is a part of range of wiper, therefore a curve-fit on a full range is


not necessary and decreases the accuracy. Also, we recognized middle range of
wiper showing an almost linearity, hence, operating range of AOA would be on
this calibration range. As seen in Figure 5-11, a better model was determined with
higher goodness of fit, 𝑅2 = 0.9993, and the angle range was also adjusted to the
range of the probe’s AOAs.

40
y = 0.1701x - 84.328
30 R² = 0.9993

20

10
Angle (deg)

-10

-20

-30

-40
300 400 500 600 700
Analog values

Figure 5-11 Potentiometer calibration in a linear parts


After the potentiometer calibration, the continuous validation was carried out,
where the pitching axis shaft of the probe rig was manually rotated from −20° to
+20° at a rotating speed of about one degree per second with the 0° sideslip angle.
The validation results are given in Figure 5-12. From its data, computed goodness
of fit is 0.990942 and RMS error is 1.30536°.

Son C.T. Nguyen 66


VALIDATION, ANALYSIS AND DISCUSSION

AOA_polynomial
(produced by the probe)
25 AOA_reference (measured
by the potentiometer)
20
15
10
AOA (deg)

5
0
0 40 80 120 160 200 240 280 320
-5
-10
-15
-20
-25
Time (s)

Figure 5-12 AOA Continuous Validation at 12 m/s

5.3 Results and Discussion


Measurement errors in percent were also determined in terms of root-mean-square
for airspeed, and airflow velocity reference is the measurements from Pitot-static
tube. As seen in Figure 3-7, an extra differential pressure sensor was connected to
an available Pitot-static tube inside test section. The airspeed validation was
carried out in discrete mode and given statistical graph Figure 5-5 and Figure 5-6
shows that all measured points had RMS error of velocity around 5%. In details,
RMS error of airspeed is 5.233% at low speed, and 4.006% at high speed.

Given RMS errors of angles measurement in previous sections 5.1, note that these
discrepancies are due to calibration errors as well as instrumentation errors which
could lead to cumulative error of up to one degree. The calibration errors come
from non-perfect probe tip that has 4 different hole geometries. Specifically, P3
hole was initially far from the rest due to a misalignment of five holes grouping.
Such misalignment contributed to a larger area of the hole compared to the others.

Son C.T. Nguyen 67


VALIDATION, ANALYSIS AND DISCUSSION

This leads to higher pressure values than others. Although the scaling was
conducted to eliminate this phenomenon, it still affected the calibration results,
especially at high angles of attack and sideslip angles. Moreover, the surface of
probe tip, mostly at edge of holes, was not visibly smooth, Figure 5-13 leading to
different boundary separation of surrounding holes, especially at high angles and
low speed. This does affect the probe calibration when 𝑅𝑒 < 20 × 103 in our
case, and thus free-stream turbulence may influence the accuracy of probes that
are sensitive to Reynolds number as investigated in [19]. This is seen as big gaps
between measurements (by the probe) and reference values (by rotating
mechanism) at some bad points, i.e., 𝐴𝑂𝐴 = −10° (at 12 m/s) in Figure 5-1,
𝐴𝑂𝑆 = −10° (at 12 m/s) in Figure 5-3 and 𝐴𝑂𝑆 = −10° (at 20 m/s) in Figure 5-4.
In addition, during calibration, the reference values were visibly recorded by
reading values on protractor, which has minimum grad of one degree, so its
accuracy while reading is within 0.5° . This could lead to a case of imperfect
reference value and finally impacted calibration results. In terms of
instrumentation errors, all source of error would come from the sensitivity of
pressure sensors (as presented in Chapter 3) and potentiometer, which was used to
measure reference value during continuous validation. However, mathematical
models of the probe could be identified and calibrated to give a good surface fitting
to the data. Then, the probe could be used to measure the airspeed and the direction
of the actual flow.

Figure 5-13 Probe tip faults and abnormality

Son C.T. Nguyen 68


CONCLUSIONS AND FUTURE WORK

Conclusions and Future Work

6.1 Achievements
Here are some achievements of this thesis:

- The configuration design of a five-hole air data probe, which has a 90-
degree conical tip and five forward facing holes, was built based on
investigation previous available studies.
- The manufacture preparation and process were demonstrated to satisfy the
simplicity and low cost requirements. It can be clearly seen as a good shape
for such probe and target of building a home-built probe was obtained. An
effective experiment rig was also constructed.
- The instruments and data acquisition system was built with careful
consideration of all aspects including hardware specification and work flow
of programming pressure sensors and a microcontroller in order to measure
pressures of five-hole probe.
- By using least-squares polynomial fitting function for data reduction,
mathematical models (AOA, AOS and airspeed) of five-hole probe were
obtained with high goodness of fit and acceptable measured errors in
comparison with previous studies.
- The mathematical models were then evaluated by two separate validation
types (discrete and continuous), the data measurements error and goodness
of fit (for measuring angle of attack, sideslip angle and airspeed) were
computed and discussed.

Son C.T. Nguyen 69


CONCLUSIONS AND FUTURE WORK

6.2 Limitations and next steps


There are some limitations:

- The tip probe was not smoothed and its cone angle was not abraded
perfectly. The tolerance of rotating mechanism system is ±0.50 . The
turbulence intensity of wind tunnel is about 1.758 % higher than the
standard. Because of limitations stated above, the root-mean squared errors
are still high.
- Due to the limit time in fulfilling this thesis, the five-hole probe is just
evaluated in the wind tunnel conditions, and not validated in real flight
conditions.

Future works:

- Instead of abrading by sharping machine, the probe tip can be abraded by


simplified CNC milling machining (or lathe machining) in order to achieve
as perfect as possible.
- Because of the tolerance of rotating mechanism, this system must be
redesigned with smallest errors. It can be placed in the test section and
rotate automatically by stepper motors for both pitch and yaw motions.
- The calibration of probe was affected by turbulence intensity which could
be investigated in the future.
- Surface-fitting models of the probe are going to be validated in high
accurate automated transverse system in both axes. They can also be
validated in flight test where the five-hole probe will be placed in UAV and
measure the magnitude and the direction of the airflow during flights.

Son C.T. Nguyen 70


References

[1] D. Bryer and R. Pankhurst, “Pressure-probe Methods for Determining Wind


Speed and Flow Direction,” HMSO, 1971.

[2] K. Everett, A. Gerner, and D. Durston, “Seven-hole cone probes for high
angle flow measurements: theory and calibration,” AIAA J., vol. 21, no. 7,
pp. 992–998, 1983.

[3] A. L. Yocum and A. M. Treaster, “The Calibration and Application of Five-


Hole Probes,” in PENNSYLVANIA STATE UNIV UNIVERSITY PARK
APPLIED RESEARCH LAB, 1978, no. TM-78-10.

[4] D. Telionis, Y. Yang, and O. Rediniotis, “Recent Developments in Multi-


Hole Probe ( MHP ) Technology,” 20th Int. Congr. Mech. Eng., vol. 21,
2009.

[5] D. P. Georgiou and K. F. Milidonis, “Fabrication and calibration of a sub-


miniature 5-hole probe with embedded pressure sensors for use in extremely
confined and complex flow areas in turbomachinery research facilities,”
Flow Meas. Instrum., vol. 39, pp. 54–63, 2014.

[6] B. F. Hall and T. Povey, “The Oxford Probe: an open access five-hole probe
for aerodynamic measurements,” Meas. Sci. Technol., vol. 28, no. 3, p.
35004, 2017.

[7] A. Treaser and H. Houtz, “Fabricating and calibrating five-hole probes,” in


Fluid Measurements and Instrumentation Forum-1986, 1986, pp. 1–4.

[8] P. Ligrani, B. Singer, and L. Baun, “Miniatrue five-hole pressure probe for
measurement of three mean velocity components in low-speed flows,” J.
REFERENCES

Phys. E., vol. 22, no. 10, pp. 868–876, 1989.

[9] J. W. Naughton, L. N. Cattafesta, and G. S. Settles, “Miniature, fast-


response five-hole conical probe for supersonic flowfield measurements,”
AIAA J., vol. 31, no. 3, pp. 453–458, 1993.

[10] R. Allen, L. Traub, E. Johansen, O. Rediniotis, and T. Tsao, “A MEMS-


Based 5-Sensor Probe,” AIAA Aerosp. Sci. Meet. Exhib., vol. 38, 2000.

[11] S. J. Lien and N. A. Ahmed, “An examination of suitability of multi-hole


pressure probe technique for skin friction measurement in turbulent flow,”
Flow Meas. Instrum., vol. 22, no. 3, pp. 215–224, 2011.

[12] A. R. Paul, R. R. Upadhyay, and A. Jain, “A novel calibration algorithm for


five-hole pressure probe,” vol. 3, no. 2, pp. 89–95, 2011.

[13] M. Y. Gündog̈du and M. Ö. Çarpinliog̈lu, “A multi-tube pressure probe


calibration method for measurements of mean flow parameters in swirling
flows,” Flow Meas. Instrum., vol. 9, no. 4, pp. 243–248, 1998.

[14] G. L. Morrison, M. T. Schobeiri, and K. R. Pappu, “Five-hole pressure


probe analysis technique,” Flow Meas. Instrum., vol. 9, no. 3, pp. 153–158,
1998.

[15] J. Gonsalez and E. A. Arrington, “Five-hole Flow Angle Probe Calibration


for the NASA Glenn Icing Research Tunnel,” AIAA J., 1999.

[16] Swiss-Airdata, “Swiss Air Data System.” pp. 1–2, 2017.

[17] Aeroprobe, “Aeroprobe Catalog,” vol. 1, no. 540. 2013.

[18] Aeroprobe, “Micro Air Data System Data Sheet.” p. 4, 2017.

[19] R. G. Dominy and H. P. Hodson, “An Investigation of Factors Influencing


the Calibration of Five- Hole Probes for Three-Dimensional Flow
Measurements,” J. Turbomach., vol. 115, no. 3, pp. 513--519, 1993.

[20] O. Arifianto, “A Low-cost Unmanned Aerial Vehicle Research Platform:


Development, Modeling, and Advanced Control Implementation,” pp. 1–
116, 2013.

Son C.T. Nguyen 72


REFERENCES

[21] D. W. Bryer, D. E. Walshe, and H. C. Garner, “Pressure Probes Selected for


Three-Dimensional Flow Measurement,” 1958.

[22] Freescale, “Freescale Semiconductor Integrated Silicon Pressure Sensor


On-Chip Signal Conditioned , Temperature Compensated and Calibrated,”
Sensors (Peterborough, NH), pp. 2007–2009, 2009.

[23] “Kalman Filter,” 2017. [Online]. Available:


https://en.wikipedia.org/wiki/Kalman_filter.

[24] S. W. Smith, “Moving Average Filters,” in Digital Signal Processing, 2003,


pp. 277–284.

[25] “Low-pass Filter,” 2017. [Online]. Available:


https://en.wikipedia.org/wiki/Low-pass_filter.

[26] S. W. Lee and S. B. Jun, “Reynolds number effects on the non-nulling


calibration of a cone-type five-hole probe for turbomachinery applications,”
J. Mech. Sci. Technol., vol. 19, no. 8, pp. 1632–1648, 2005.

[27] N. Krause and J. Dttdzitlski, “Flow-Direction Measurement with Fixed-


Position Probes,” Washington D.C, 1969.

[28] B. a. Reichert and B. J. Wendt, “A new algorithm for five-hole probe


calibration, data reduction, and uncertainty analysis,” no. September, 1994.

[29] Mathworks, “Curve Fitting Toolbox.” pp. 1–18, 2013.

Son C.T. Nguyen 73


APPENDIX

Appendix

A. MATLAB Programs
[Function] ‘lowpassfilter.m’
function [blo,alo]=lowpassfilter(cf,st)
% cf = cutoff frequency
% st = sampling time
% a,b = coefficients of discrete-time transfer function
% cf = 0.5;
% st = 0.01;
omega = 2*pi*cf;
num = omega;
den = [1 omega];
H = tf(num, den);
Hd = c2d(H,st);
blo = Hd.num{1}(2:2);
alo = Hd.den{1}(2:2);

[Function] ‘findsheet.m’
function [a,b,apos,bpos] = findsheet(nameofsheet)

nameofsheet = char(nameofsheet);
for i=1:length(nameofsheet)
if nameofsheet(i) == 'a'
break
end
end

for j=1:length(nameofsheet)
if nameofsheet(j) == 'b'
break
end
end
a = nameofsheet(i+1:j-1); a = str2double(a);
b = nameofsheet(j+1:length(nameofsheet)); b = str2double(b);

apos = (a+25)/5; bpos = (b+25)/5;

Son C.T. Nguyen 74


APPENDIX

[Function] ‘pimport.m’ (For import data from created Excel sheets to


workspace)
function [P1,P2,P3,P4,P5] = pimport(file)
% Must: sheet name 'a(-)xxb(-)xx'; 81 sheets, range at cell e.g, A1
% file is the name of the Excel file
% output Pp is a structure type data, with position a and b
% value: Pp.P1, Pp.P2, Pp.P3, Pp.P4, Pp.P5
% Note: Excel file has to be eliminated default sheet, e.g, 'Sheet1'
% by NHH
numberofdata = 81;
P1 = zeros(9);
P2 = zeros(9);
P3 = zeros(9);
P4 = zeros(9);
P5 = zeros(9);

[~,nameofsheet] = xlsfinfo(file);

for i = 1:numberofdata
[~,range,~] = xlsread(file,i,'A2');
temp = xlsread(file,i,char(range));
[~,~,a,b] = findsheet(nameofsheet{i});
P1(a,b) = temp(1);
P2(a,b) = temp(2);
P3(a,b) = temp(3);
P4(a,b) = temp(4);
P5(a,b) = temp(5);
end

For scale measured data: ‘realtime_lowpass_filter_for_scale.m’


%% Low pass filter and Scale
% By Tuan Do and Son NCT

%% Acquire and analyze data from a pressure sensor

%% Connect to Arduino
% Use the arduino command to connect to an Arduino device.
clear all
clc
a = arduino;

%% Acquire and display live data


close all
figure

subplot(511)
xlabel('Time')
ylabel('P1 (Pa)')
ax1 = gca;
ax1.YGrid = 'on';
% ax1.YLim = [-10 40];
axis auto
h1 = animatedline;

Son C.T. Nguyen 75


APPENDIX

subplot(512)
xlabel('Time')
ylabel('P2 (Pa)')
ax2 = gca;
ax2.YGrid = 'on';
% ax2.YLim = [-10 40];
axis auto
h2 = animatedline;

subplot(513)
xlabel('Time')
ylabel('P3 (Pa)')
ax3 = gca;
ax3.YGrid = 'on';
% ax3.YLim = [-10 40];
axis auto
h3 = animatedline;

subplot(514)
xlabel('Time')
ylabel('P4 (Pa)')
ax4 = gca;
ax4.YGrid = 'on';
% ax4.YLim = [-10 40];
axis auto
h4 = animatedline;

subplot(515)
xlabel('Time')
ylabel('P5 (Pa)')
ax5 = gca;
ax5.YGrid = 'on';
% ax5.YLim = [-10 40];
axis auto
h5 = animatedline;

stop = 0;
startTime = datetime('now');
sum1=0;
sum2=0;
sum3=0;
sum4=0;
sum5=0;
for i=0:9
sensorValue1=readVoltage(a,'A1')*1024/5-512;
sensorValue2=readVoltage(a,'A2')*1024/5-512;
sensorValue3=readVoltage(a,'A3')*1024/5-512;
sensorValue4=readVoltage(a,'A4')*1024/5-512;
sensorValue5=readVoltage(a,'A5')*1024/5-512;
sum1=sum1+sensorValue1;
sum2=sum2+sensorValue2;
sum3=sum3+sensorValue3;
sum4=sum4+sensorValue4;
sum5=sum5+sensorValue5;
end
offset1=sum1/10;
offset2=sum2/10;
offset3=sum3/10;
offset4=sum4/10;
offset5=sum5/10;
Son C.T. Nguyen 76
APPENDIX

% Live data
while stop < 200
% Read analog pin
sensorValue1=readVoltage(a,'A1')*1024/5-offset1;
Vout1=(5*sensorValue1)/1024;

sensorValue2=readVoltage(a,'A2')*1024/5-offset2;
Vout2=(5*sensorValue2)/1024;

sensorValue3=readVoltage(a,'A3')*1024/5-offset3;
Vout3=(5*sensorValue3)/1024;

sensorValue4=readVoltage(a,'A4')*1024/5-offset4;
Vout4=(5*sensorValue4)/1024;

sensorValue5=readVoltage(a,'A5')*1024/5-offset5;
Vout5=(5*sensorValue5)/1024;
% Calculate pressure from voltage (based on data sheet)
P1 = (Vout1-2.5)*1000;
P2 = (Vout2-2.5)*1000;
P3 = (Vout3-2.5)*1000;
P4 = (Vout4-2.5)*1000;
P5 = (Vout5-2.5)*1000;

% Get current time


t = datetime('now') - startTime;
% t = 50
% Add points to animation
addpoints(h1,datenum(t),P1);
% Update axes
ax1.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h2,datenum(t),P2);
ax2.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h3,datenum(t),P3);
ax3.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h4,datenum(t),P4);
ax4.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h5,datenum(t),P5);
ax5.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

drawnow
% Check stop condition
stop = stop + 1;
% stop = readDigitalPin(a,'D12');
end
%% Plot the recorded data
[timeLogs,P1Logs] = getpoints(h1);
[timeLogs,P2Logs] = getpoints(h2);

Son C.T. Nguyen 77


APPENDIX

[timeLogs,P3Logs] = getpoints(h3);
[timeLogs,P4Logs] = getpoints(h4);
[timeLogs,P5Logs] = getpoints(h5);
timeSecs = (timeLogs-timeLogs(1))*24*3600;
%% Smooth out readings with Lowpass filter and Scale
P1Logs=P1Logs';
P2Logs=P2Logs';
P3Logs=P3Logs';
P4Logs=P4Logs';
P5Logs=P5Logs';

% cutoff frequency (Hz);


% sampling time (s);
% [blo,alo] = lowpassfilter(cutoff frequency,sampling time);
[blo,alo] = lowpassfilter(0.1,0.05);

P1f=zeros(length(P1Logs),1);
P2f=zeros(length(P2Logs),1);
P3f=zeros(length(P3Logs),1);
P4f=zeros(length(P4Logs),1);
P5f=zeros(length(P5Logs),1);

for i=2:length(P1Logs)
P1f(i) = -alo*P1f(i-1)+blo*P1Logs(i);
P2f(i) = -alo*P2f(i-1)+blo*P2Logs(i);
P3f(i) = -alo*P3f(i-1)+blo*P3Logs(i);
P4f(i) = -alo*P4f(i-1)+blo*P4Logs(i);
P5f(i) = -alo*P5f(i-1)+blo*P5Logs(i);
end
%%
% Plot the original and the low pass filtered pressure signal, and
illustrate the
% uncertainty.

figure
subplot(511)
plot(timeSecs,P1Logs,'b',timeSecs,P1f,'r--');
title('Raw vs low pass filter data');
xlabel('Elapsed time (sec)');
ylabel('P1 (Pa)');
legend('P1 raw','P1 lowpass')

subplot(512)
plot(timeSecs,P2Logs,'b',timeSecs,P2f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P2 (Pa)');
legend('P2 raw','P2 lowpass')

subplot(513)
plot(timeSecs,P3Logs,'b',timeSecs,P3f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P3 (Pa)');
legend('P3 raw','P3 lowpass')

subplot(514)
plot(timeSecs,P4Logs,'b',timeSecs,P4f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P4 (Pa)');
Son C.T. Nguyen 78
APPENDIX

legend('P4 raw','P4 lowpass')

subplot(515)
plot(timeSecs,P5Logs,'b',timeSecs,P5f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P5 (Pa)');
legend('P5 raw','P5 lowpass');

%% Save results to a file


for i=1:length(timeSecs)
if timeSecs(i)>=40
break
end
end
T =
table(timeSecs(i:end)',P1Logs(i:end),P2Logs(i:end),P3Logs(i:end),...

P4Logs(i:end),P5Logs(i:end),P1f(i:end),P2f(i:end),P3f(i:end),P4f(i:end
)...

,P5f(i:end),'VariableNames',{'Time_sec','P1_Pa','P2_Pa','P3_Pa','P4_Pa
',...

'P5_Pa','lowpassP1','lowpassP2','lowpassP3','lowpassP4','lowpassP5'});
filename = 'For_Scale_Data_Lowpass_Filter_Lan10.xlsx'; %Note: Must
create this file first!
% Write table to file
writetable(T,filename,'sheet','295Hz')
% Print confirmation to command line
fprintf('Results table with %g pressure measurements saved to file
%s\n',...
length(timeSecs),filename)

For measurements: ‘realtime_lowpass_filter_scale.m’


%% Low pass filter and Scale
% By Tuan Do and Son NCT
%% Acquire and analyze data from a pressure sensor
%% Connect to Arduino
% Use the arduino command to connect to an Arduino device.
clear all
% clc
a = arduino;

%% Acquire and display live data


close all
figure

subplot(511)
xlabel('Time')
ylabel('P1 (Pa)')
ax1 = gca;
ax1.YGrid = 'on';
% ax1.YLim = [-10 40];
axis auto
h1 = animatedline;

Son C.T. Nguyen 79


APPENDIX

subplot(512)
xlabel('Time')
ylabel('P2 (Pa)')
ax2 = gca;
ax2.YGrid = 'on';
% ax2.YLim = [-10 40];
axis auto
h2 = animatedline;

subplot(513)
xlabel('Time')
ylabel('P3 (Pa)')
ax3 = gca;
ax3.YGrid = 'on';
% ax3.YLim = [-10 40];
axis auto
h3 = animatedline;

subplot(514)
xlabel('Time')
ylabel('P4 (Pa)')
ax4 = gca;
ax4.YGrid = 'on';
% ax4.YLim = [-10 40];
axis auto
h4 = animatedline;

subplot(515)
xlabel('Time')
ylabel('P5 (Pa)')
ax5 = gca;
ax5.YGrid = 'on';
% ax5.YLim = [-10 40];
axis auto
h5 = animatedline;

stop = 0;
startTime = datetime('now');
sum1=0;
sum2=0;
sum3=0;
sum4=0;
sum5=0;

for i=0:9
sensorValue1=readVoltage(a,'A1')*1024/5-512;
sensorValue2=readVoltage(a,'A2')*1024/5-512;
sensorValue3=readVoltage(a,'A3')*1024/5-512;
sensorValue4=readVoltage(a,'A4')*1024/5-512;
sensorValue5=readVoltage(a,'A5')*1024/5-512;
sum1=sum1+sensorValue1;
sum2=sum2+sensorValue2;
sum3=sum3+sensorValue3;
sum4=sum4+sensorValue4;
sum5=sum5+sensorValue5;
end
offset1=sum1/10;
offset2=sum2/10;
offset3=sum3/10;

Son C.T. Nguyen 80


APPENDIX

offset4=sum4/10;
offset5=sum5/10;

% Live data
tic

while stop < 250


% Read analog pin
sensorValue1=readVoltage(a,'A1')*1024/5-offset1;
Vout1=(5*sensorValue1)/1024;%-2.5;

sensorValue2=readVoltage(a,'A2')*1024/5-offset2;
Vout2=(5*sensorValue2)/1024;%-2.5;

sensorValue3=readVoltage(a,'A3')*1024/5-offset3;
Vout3=(5*sensorValue3)/1024;%-2.5;

sensorValue4=readVoltage(a,'A4')*1024/5-offset4;
Vout4=(5*sensorValue4)/1024;%-2.5;

sensorValue5=readVoltage(a,'A5')*1024/5-offset5;
Vout5=(5*sensorValue5)/1024;%-2.5;

% Calculate pressure from voltage (based on data sheet)


P1 = (Vout1-2.5)*1000;
P2 = (Vout2-2.5)*1000;
P3 = (Vout3-2.5)*1000;
P4 = (Vout4-2.5)*1000;
P5 = (Vout5-2.5)*1000;

% Get current time


t = datetime('now') - startTime;
% t = 50
% Add points to animation
addpoints(h1,datenum(t),P1);
% Update axes
ax1.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h2,datenum(t),P2);
ax2.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h3,datenum(t),P3);
ax3.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h4,datenum(t),P4);
ax4.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h5,datenum(t),P5);
ax5.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

drawnow
% Check stop condition
stop = stop + 1;
Son C.T. Nguyen 81
APPENDIX

% stop = readDigitalPin(a,'D12');
end
tg =toc;

%% Plot the recorded data

[timeLogs,P1Logs] = getpoints(h1);
[timeLogs,P2Logs] = getpoints(h2);
[timeLogs,P3Logs] = getpoints(h3);
[timeLogs,P4Logs] = getpoints(h4);
[timeLogs,P5Logs] = getpoints(h5);
timeSecs = (timeLogs-timeLogs(1))*24*3600;

%% Smooth out readings with Lowpass filter and Scale


P1Logs=P1Logs';
P2Logs=P2Logs';
P3Logs=P3Logs';
P4Logs=P4Logs';
P5Logs=P5Logs';

% cutoff frequency = 0.5Hz;


% sampling time = 0.01;
% [blo,alo] = lowpassfilter(cutoff frequency,sampling time);
[blo,alo] = lowpassfilter(0.1,0.05);

P1f = zeros(length(P1Logs),1);
P2f = zeros(length(P2Logs),1);
P3f = zeros(length(P3Logs),1);
P4f = zeros(length(P4Logs),1);
P5f = zeros(length(P5Logs),1);

for i=2:length(P1Logs)
P1f(i) = -alo*P1f(i-1)+blo*P1Logs(i);
P2f(i) = -alo*P2f(i-1)+blo*P2Logs(i);
P3f(i) = -alo*P3f(i-1)+blo*P3Logs(i);
P4f(i) = -alo*P4f(i-1)+blo*P4Logs(i);
P5f(i) = -alo*P5f(i-1)+blo*P5Logs(i);
end

% Scale to P2
P1s2=1.4932.*P1f+8.8706;
P3s2=0.7035.*P3f-4.0602;
P4s2=1.2945.*P4f+8.6707;

%% Save results to a file


for i=1:length(timeSecs)
if timeSecs(i)>=40
break
end
end

Torigin =
table(timeSecs(i:end)',P1Logs(i:end),P2Logs(i:end),P3Logs(i:end),P4Log
s(i:end)...

,P5Logs(i:end),P1f(i:end),P2f(i:end),P3f(i:end),P4f(i:end),P5f(i:end),
...

Son C.T. Nguyen 82


APPENDIX

'VariableNames',{'Time_sec','P1_Pa','P2_Pa','P3_Pa','P4_Pa','P5_Pa',..
.
'lowpassP1','lowpassP2','lowpassP3','lowpassP4','lowpassP5'});

Ts2 =
table(P1s2(i:end),P3s2(i:end),P4s2(i:end),'VariableNames',{'P1s2','P3s
2','P4s2'});
Ts2mean =
table(mean(P1s2(i:end)),mean(P2f(i:end)),mean(P3s2(i:end)),mean(P4s2(i
:end)),...

a = -20; % Goc AOA


b = -20; % Goc AOS

%Note: Must create this file first!


filename2 = 'Lowpass_Filter_Scale_toP2_Lan10.xlsx';

% Write table to file


namesheet=['a',num2str(a),'b',num2str(b)];
% Write Torigin to 5 xlsx files
writetable(Torigin,filename2,'sheet',namesheet,'Range','A3');

% Write Ts(i) to 5 xlsx files


writetable(Ts2,filename2,'sheet',namesheet,'Range','L3');

% Write Ts(i)mean to 5 xlsx files


writetable(Ts2mean,filename2,'sheet',namesheet,'Range','B1');

% Print confirmation to command line


fprintf('Results table with %g pressure measurements saved to
files\n',...
length(timeSecs))

For data processing: ‘process_data.m’


%% Processing pressure data - Made by Tuan Do and Son NCT HK13
% 18/10/2017
% This code is used for processing pressure data of 5-hole airdata
probe.
% Before using this code, you must import pressure distribution of 81-
sheet
% data by file pimport.m. After that the pressure will be in matrix 9x9
for 5
% hole.And can use this code to estimate AOA,AOS,velocity.

% Alpha,AOA: the angle of attack


% Beta,AOS : sideslip angle
% P1,P2,P3,P4,P5: pressure of 5 holes in matrix
% P1_arr,P2_arr,P3_arr,P4_arr,P5_arr: pressure of 5 holes in colummns
% Pave_arr: average of P1,P2,P3,P4 in column
% Cpa = (P3-P1)/(P5-Pave);
% Cpb = (P4-P2)/(P5-Pave)
% Cp5 = (P5-Ps)./Pd;
% Cpave = (Pave-Ps)./Pd;
close all

Son C.T. Nguyen 83


APPENDIX

%% Initial AOA AOS P1 P2 P3 P4 P5


alpha_b = [-20:5:20];
beta_b = [-20:5:20];
alpha = [];
beta = [];
alpha_arr=xlsread('angle.xlsx','Sheet1','A2:A82');
beta_arr=xlsread('angle.xlsx','Sheet1','B2:B82');
for i = 1:9
alpha = [alpha;alpha_b];
beta = [beta;repmat(beta_b(i),9,1)];
end
P1_arr =
[P1(1:9,1);P1(1:9,2);P1(1:9,3);P1(1:9,4);P1(1:9,5);P1(1:9,6);P1(1:9,7)
;P1(1:9,8);P1(1:9,9)];
P2_arr =
[P2(1:9,1);P2(1:9,2);P2(1:9,3);P2(1:9,4);P2(1:9,5);P2(1:9,6);P2(1:9,7)
;P2(1:9,8);P2(1:9,9)];
P3_arr =
[P3(1:9,1);P3(1:9,2);P3(1:9,3);P3(1:9,4);P3(1:9,5);P3(1:9,6);P3(1:9,7)
;P3(1:9,8);P3(1:9,9)];
P4_arr =
[P4(1:9,1);P4(1:9,2);P4(1:9,3);P4(1:9,4);P4(1:9,5);P4(1:9,6);P4(1:9,7)
;P4(1:9,8);P4(1:9,9)];
P5_arr =
[P5(1:9,1);P5(1:9,2);P5(1:9,3);P5(1:9,4);P5(1:9,5);P5(1:9,6);P5(1:9,7)
;P5(1:9,8);P5(1:9,9)];
Pave_arr=0.25.*(P1_arr+P2_arr+P3_arr+P4_arr);

%% Plot contour of pressure distribution P1 P2 P3 P4 P5

figure
% position = [2,6,8,4,5];

figure
% subplot(3,3,position(1))
fitP1 = fit([beta_arr,alpha_arr],P1_arr,'poly32') %Fit curve by
polynomial degrees 2-2
plot(fitP1,[beta_arr,alpha_arr],P1_arr,'Style', 'Contour')
colormap(jet)
title 'P1'
ylabel 'alpha'
xlabel 'beta'
axis equal

figure
% subplot(3,3,position(2))
fitP2 = fit([beta_arr,alpha_arr],P2_arr,'poly32') %Fit curve by
polynomial degrees 3-2
plot(fitP2,[beta_arr,alpha_arr],P2_arr,'Style', 'Contour')
colormap(jet)
title 'P2'
ylabel 'alpha'
xlabel 'beta'
axis equal

figure
% subplot(3,3,position(3))
fitP3 = fit([beta_arr,alpha_arr],P3_arr,'poly32') %Fit curve by
polynomial degrees 2-2

Son C.T. Nguyen 84


APPENDIX

plot(fitP3,[beta_arr,alpha_arr],P3_arr,'Style', 'Contour')
colormap(jet)
title 'P3'
ylabel 'alpha'
xlabel 'beta'
axis equal

figure
% subplot(3,3,position(4))
fitP4 = fit([beta_arr,alpha_arr],P4_arr,'poly32')%Fit curve by
polynomial degrees 3-2
plot(fitP4,[beta_arr,alpha_arr],P4_arr,'Style', 'Contour')
colormap(jet)
title 'P4'
ylabel 'alpha'
xlabel 'beta'
axis equal

figure
% subplot(3,3,position(5))
fitP5 = fit([beta_arr,alpha_arr],P5_arr,'poly32') %Fit curve by
polynomial degrees 3-2
plot(fitP5,[beta_arr,alpha_arr],P5_arr,'Style', 'Contour')
colormap(jet)
title 'P5'
ylabel 'alpha'
xlabel 'beta'
axis equal

%% Compute AOA and AOS from pressure


Cpa_arr = (P3_arr-P1_arr)./(P5_arr-Pave_arr);
Cpb_arr = (P4_arr-P2_arr)./(P5_arr-Pave_arr);

% Determine the polynomial math model of AOA and AOS


figure
[AOA_arr_p,gof_AOA] = fit([Cpa_arr,Cpb_arr],alpha_arr,'poly33') %Fit
curve by polynomial degrees 3-3

plot(AOA_arr_p,[Cpa_arr,Cpb_arr],alpha_arr)
colormap(jet)
str_AOA = ['Rsquare = ',num2str(gof_AOA.rsquare)];
str_AOA_2 = ['RMS = ',num2str(gof_AOA.rmse)];
txaoa = text(max(xlim),max(ylim),max(zlim),str_AOA);
txaoa_2 = text(max(xlim),max(ylim),max(zlim)-5,str_AOA_2);
txaoa.FontSize = 12;
txaoa_2.FontSize = 12;
txaoa.FontWeight = 'bold';
txaoa_2.FontWeight = 'bold';
title 'Surface fitting AOA vs Cpa & Cpb'
xlabel 'Cpa'
ylabel 'Cpb'
zlabel 'AOAfit'

figure
[AOS_arr_p,gof_AOS] = fit([Cpa_arr,Cpb_arr],beta_arr,'poly33') %Fit
curve by polynomial degrees 3-2

plot(AOS_arr_p,[Cpa_arr,Cpb_arr],beta_arr)
colormap(jet)

Son C.T. Nguyen 85


APPENDIX

str_AOS = ['Rsquare = ',num2str(gof_AOS.rsquare)];


str_AOS_2 = ['RMS = ',num2str(gof_AOS.rmse)];
txaos = text(max(xlim),max(ylim),max(zlim),str_AOS);
txaos_2 = text(max(xlim),max(ylim),max(zlim)-5,str_AOS_2);
txaos.FontSize = 12;
txaos_2.FontSize = 12;
txaos.FontWeight = 'bold';
txaos_2.FontWeight = 'bold';
title 'Surface fitting AOS vs Cpa & Cpb'
xlabel 'Cpa'
ylabel 'Cpb'
zlabel 'AOSfit'

% Compute AOA and AOS from polynomial math model


fAOA_arr_p = [];
fAOS_arr_p = [];
for j = 1:81
fAOA_arr_p = [fAOA_arr_p; AOA_arr_p(Cpa_arr(j),Cpb_arr(j))];
fAOS_arr_p = [fAOS_arr_p; AOS_arr_p(Cpa_arr(j),Cpb_arr(j))];
end

% Compute AOA and AOS from rational polynomial math model


% Mo hinh toan ban dau
AOA_arr_r=(-
0.20175057+28.894914*Cpa_arr+0.58910631*Cpb_arr+1.0617993*Cpb_arr.^2).
/...
(1+0.090804237*Cpa_arr+0.24477601*Cpa_arr.^2-
0.0030580947*Cpb_arr+0.13151559*Cpb_arr.^2);
AOS_arr_r=(-1.8560523+2.233568*Cpa_arr-
0.42386211*Cpa_arr.^2+21.598595*Cpb_arr-1.5772074*Cpb_arr.^2)./...
(1+0.037520638*Cpa_arr+0.19113571*Cpa_arr.^2-
0.15621087*Cpb_arr+0.11445667*Cpb_arr.^2);

%% Compute Velocity from pressure


Ps = 50; %Static pressure
Pd = 93.3; %Dynamic pressure
Cp5_arr = (P5_arr-Ps)./Pd;
Cpave_arr = (Pave_arr-Ps)./Pd;

% Determine the polynomial math model of Cp5 and Cpave (depend on AOA
and
% AOS)
figure
[Cp5_arr_p,gof_Cp5] = fit([alpha_arr,beta_arr],Cp5_arr,'poly32') %Fit
curve by polynomial degrees 3-2
plot(Cp5_arr_p,[alpha_arr,beta_arr],Cp5_arr)
colormap(jet)
str_Cp5 = ['Rsquare = ',num2str(gof_Cp5.rsquare)];
% str_Cp5_2 = ['RMS = ',num2str(gof_Cp5.rmse)];
txCp5 = text(max(xlim),max(ylim),max(zlim),str_Cp5);
% txCp5_2 = text(max(xlim),max(ylim),max(zlim)-0.2,str_Cp5_2);
txCp5.FontSize = 12;
% txCp5_2.FontSize = 12;
txCp5.FontWeight = 'bold';
% txCp5_2.FontWeight = 'bold';
title 'Surface fitting Cp5 vs alpha & beta'
xlabel 'alpha'
ylabel 'beta'
zlabel 'Cp5Fit'

Son C.T. Nguyen 86


APPENDIX

figure
[Cpave_arr_p,gof_Cpave] = fit([alpha_arr,beta_arr],Cpave_arr,'poly32')
%Fit curve by polynomial degrees 3-2
plot(Cpave_arr_p,[alpha_arr,beta_arr],Cpave_arr)
colormap(jet)
str_Cpave = ['Rsquare = ',num2str(gof_Cpave.rsquare)];
% str_Cpave_2 = ['RMS = ',num2str(gof_Cpave.rmse)];
txCpave = text(max(xlim),max(ylim),max(zlim),str_Cpave);
% txCpave_2 = text(max(xlim),max(ylim),max(zlim)-0.2,str_Cpave_2);
txCpave.FontSize = 12;
% txCpave_2.FontSize = 12;
txCpave.FontWeight = 'bold';
% txCpave_2.FontWeight = 'bold';
title 'Surface fitting Cpave vs alpha & beta'
xlabel 'alpha'
ylabel 'beta'
zlabel 'CpaveFit'

fCp5_arr = [];
fCpave_arr = [];
for j = 1:81
% fCp5_arr = [fCp5_arr; Cp5_arr_p(fAOA_arr_p(j),fAOS_arr_p(j))];
fCp5_arr = [fCp5_arr; Cp5_arr_p(alpha_arr(j),beta_arr(j))];
% fCpave_arr = [fCpave_arr;
Cpave_arr_p(fAOA_arr_p(j),fAOS_arr_p(j))];
fCpave_arr = [fCpave_arr; Cpave_arr_p(alpha_arr(j),beta_arr(j))];
end

% Compute static and total pressure from math model of Cp5 and Cpave
Ps_arr = (fCp5_arr.*Pave_arr - fCpave_arr.*P5_arr)./(fCp5_arr -
fCpave_arr);
Pt_arr = Ps_arr + (P5_arr - Ps_arr)./fCp5_arr;

% Compute velocity of flow


V_arr = sqrt(2.*(Pt_arr - Ps_arr)./1.225);

%% Export Data

TableAOA =
table(Cpa_arr,Cpb_arr,alpha_arr,'VariableNames',{'Cpa_arr','Cpb_arr','
AOA'}); %For Table Curve
TableAOS =
table(Cpa_arr,Cpb_arr,beta_arr,'VariableNames',{'Cpa_arr','Cpb_arr','A
OS'}); %For Table Curve
TableCp5 =
table(alpha_arr,beta_arr,Cp5_arr,'VariableNames',{'alpha','beta','Cp5'
});%For Table Curve
TableCpave =
table(alpha_arr,beta_arr,Cpave_arr,'VariableNames',{'alpha','beta','Cp
ave'});%For Table Curve
Pressure =
table(alpha_arr,beta_arr,P1_arr,P2_arr,P3_arr,P4_arr,P5_arr,'VariableN
ames',{'alpha','beta','P1','P2','P3','P4','P5'});
Results =
table(alpha_arr,beta_arr,fAOA_arr_p,fAOS_arr_p,AOA_arr_r,AOS_arr_r,V_a
rr,'VariableNames',{'alpha','beta','AOA_p','AOS_p','AOA_r','AOS_r','Ve
locity'});
% writetable(TableAOA,'Data_processing_S2_Lan10.xlsx','Sheet','AOA')

Son C.T. Nguyen 87


APPENDIX

% writetable(TableAOS,'Data_processing_S2_Lan10.xlsx','Sheet','AOS')
% writetable(TableCp5,'Data_processing_S2_Lan10.xlsx','Sheet','Cp5')
%
writetable(TableCpave,'Data_processing_S2_Lan10.xlsx','Sheet','Cpave')
%
writetable(Pressure,'Data_processing_S2_Lan10.xlsx','Sheet','Pressure'
)
%
writetable(Results,'Data_processing_S2_Lan10.xlsx','Sheet','Results')

For discrete validation: ‘Validation.m’


%% Low pass filter and Scale
% Edited in 18/11/2017
% By Tuan Do and Son NCT
% Need lowpassfilter.m
%% Acquire and analyze data from a pressure sensor

%% Connect to Arduino
% Use the arduino command to connect to an Arduino device.
clear all
% clc
a = arduino;

%% Acquire and display live data


close all
figure

subplot(321)
xlabel('Time')
ylabel('P0 (Pa)')
ax0 = gca;
ax0.YGrid = 'on';
% ax4.YLim = [-10 40];
axis auto
h0 = animatedline;

subplot(323)
xlabel('Time')
ylabel('P1 (Pa)')
ax1 = gca;
ax1.YGrid = 'on';
% ax1.YLim = [-10 40];
axis auto
h1 = animatedline;

subplot(325)
xlabel('Time')
ylabel('P2 (Pa)')
ax2 = gca;
ax2.YGrid = 'on';
% ax2.YLim = [-10 40];
axis auto
h2 = animatedline;

subplot(324)
xlabel('Time')
Son C.T. Nguyen 88
APPENDIX

ylabel('P3 (Pa)')
ax3 = gca;
ax3.YGrid = 'on';
% ax3.YLim = [-10 40];
axis auto
h3 = animatedline;

subplot(326)
xlabel('Time')
ylabel('P4 (Pa)')
ax4 = gca;
ax4.YGrid = 'on';
% ax4.YLim = [-10 40];
axis auto
h4 = animatedline;

subplot(322)
xlabel('Time')
ylabel('P5 (Pa)')
ax5 = gca;
ax5.YGrid = 'on';
% ax5.YLim = [-10 40];
axis auto
h5 = animatedline;

stop = 0;
startTime = datetime('now');
sum0=0;
sum1=0;
sum2=0;
sum3=0;
sum4=0;
sum5=0;
for i=0:9
sensorValue0=readVoltage(a,'A0')*1024/5-512;
sensorValue1=readVoltage(a,'A1')*1024/5-512;
sensorValue2=readVoltage(a,'A2')*1024/5-512;
sensorValue3=readVoltage(a,'A3')*1024/5-512;
sensorValue4=readVoltage(a,'A4')*1024/5-512;
sensorValue5=readVoltage(a,'A5')*1024/5-512;
sum0=sum0+sensorValue0;
sum1=sum1+sensorValue1;
sum2=sum2+sensorValue2;
sum3=sum3+sensorValue3;
sum4=sum4+sensorValue4;
sum5=sum5+sensorValue5;
end
offset0=sum0/10;
offset1=sum1/10;
offset2=sum2/10;
offset3=sum3/10;
offset4=sum4/10;
offset5=sum5/10;

% Live data
tic

while stop < 250


% Read analog pin

Son C.T. Nguyen 89


APPENDIX

sensorValue0=readVoltage(a,'A0')*1024/5-offset0;
Vout0=(5*sensorValue0)/1024;%-2.5;

sensorValue1=readVoltage(a,'A1')*1024/5-offset1;
Vout1=(5*sensorValue1)/1024;%-2.5;

sensorValue2=readVoltage(a,'A2')*1024/5-offset2;
Vout2=(5*sensorValue2)/1024;%-2.5;

sensorValue3=readVoltage(a,'A3')*1024/5-offset3;
Vout3=(5*sensorValue3)/1024;%-2.5;

sensorValue4=readVoltage(a,'A4')*1024/5-offset4;
Vout4=(5*sensorValue4)/1024;%-2.5;

sensorValue5=readVoltage(a,'A5')*1024/5-offset5;
Vout5=(5*sensorValue5)/1024;%-2.5;

% Calculate pressure from voltage (based on data sheet)


P0 = (Vout0-2.5)*1000;
P1 = (Vout1-2.5)*1000;
P2 = (Vout2-2.5)*1000;
P3 = (Vout3-2.5)*1000;
P4 = (Vout4-2.5)*1000;
P5 = (Vout5-2.5)*1000;

% Get current time


t = datetime('now') - startTime;
% t = 50
% Add points to animation
addpoints(h0,datenum(t),P0);
% Update axes
ax0.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h1,datenum(t),P1);
ax1.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h2,datenum(t),P2);
ax2.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h3,datenum(t),P3);
ax3.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h4,datenum(t),P4);
ax4.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h5,datenum(t),P5);
ax5.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

drawnow
% Check stop condition
stop = stop + 1;
Son C.T. Nguyen 90
APPENDIX

% stop = readDigitalPin(a,'D12');
end
tg =toc;

%% Plot the recorded data


[timeLogs,P0Logs] = getpoints(h0);
[timeLogs,P1Logs] = getpoints(h1);
[timeLogs,P2Logs] = getpoints(h2);
[timeLogs,P3Logs] = getpoints(h3);
[timeLogs,P4Logs] = getpoints(h4);
[timeLogs,P5Logs] = getpoints(h5);
timeSecs = (timeLogs-timeLogs(1))*24*3600;

%% Smooth out readings with Lowpass filter and Scale


P0Logs=P0Logs';
P1Logs=P1Logs';
P2Logs=P2Logs';
P3Logs=P3Logs';
P4Logs=P4Logs';
P5Logs=P5Logs';

% cutoff frequency = 0.1Hz;


% sampling time = 0.01;
% [blo,alo] = lowpassfilter(cutoff frequency,sampling time);
[blo,alo] = lowpassfilter(0.1,0.05);

P0f = zeros(length(P0Logs),1);
P1f = zeros(length(P1Logs),1);
P2f = zeros(length(P2Logs),1);
P3f = zeros(length(P3Logs),1);
P4f = zeros(length(P4Logs),1);
P5f = zeros(length(P5Logs),1);

for i=2:length(P1Logs)
P0f(i) = -alo*P0f(i-1)+blo*P0Logs(i);
P1f(i) = -alo*P1f(i-1)+blo*P1Logs(i);
P2f(i) = -alo*P2f(i-1)+blo*P2Logs(i);
P3f(i) = -alo*P3f(i-1)+blo*P3Logs(i);
P4f(i) = -alo*P4f(i-1)+blo*P4Logs(i);
P5f(i) = -alo*P5f(i-1)+blo*P5Logs(i);
end

%% Scale data theo file P ,file


'For_Scale_Data_Lowpass_filter_Lan10.xlsx'

% Tu 15Hz
% Scale to P2
P1s2=1.4932.*P1f+8.8706;
P3s2=0.7035.*P3f-4.0602;
P4s2=1.2945.*P4f+8.6707;

Pave2 = 0.25*(P1s2+P2f+P3s2+P4s2);

%% Log data from time i and save results to a file


for i=1:length(timeSecs)
if timeSecs(i)>=40
break
end
end
Son C.T. Nguyen 91
APPENDIX

% Checking AOA and AOS


% Checking Va via Cpave and Cp5
Cpa2 = (P3s2(i:end)-P1s2(i:end))./(P5f(i:end)-Pave2(i:end));
Cpb2 = (P4s2(i:end)-P2f(i:end))./(P5f(i:end)-Pave2(i:end));

% Mo hinh toan lan 10


% Polynomial
AOA_p2 = -0.4247 + 17.*Cpa2 + 0.7274.*Cpb2 + 1.887.*Cpa2.^2 + -
0.9299.*Cpa2.*Cpb2 + ... %Scale to P2
-4.475.*Cpb2.^2 + -0.8884 .*Cpa2.^3 + -0.6526.*Cpa2.^2.*Cpb2 + -
2.3.*Cpa2.*Cpb2.^2+0.3373.*Cpb2.^3;

AOS_p2 = -1.088 + 2.085.*Cpa2 + 20.75.*Cpb2 + 0.2853.*Cpa2.^2 +


1.31.*Cpa2.*Cpb2 + ... %Scale to P2
-0.6213.*Cpb2.^2 + 0.1417.*Cpa2.^3 +-1.558.*Cpa2.^2.*Cpb2 + -
1.119.*Cpa2.*Cpb2.^2-1.056.*Cpb2.^3;

% Rational
AOA_r2=(-1.2254019 +16.782773*Cpa2+1.9651122*Cpb2-3.8120139*Cpb2.^2-
3.8120139*Cpb2.^3)./...
(1-
0.23637319*Cpa2+0.1017577*Cpa2.^2+0.03940954*Cpa2.^3+0.064433961*Cpb2+
0.11055663*Cpb2.^2);

AOS_r2=(-1.2697656+0.36613886*Cpa2-
0.80333996*Cpa2.^2+20.905432*Cpb2+2.2642222*Cpb2.^2-
1.8756618*Cpb2.^3)./...
(1-
0.095888709*Cpa2+0.05245401*Cpa2.^2+0.019332082*Cpa2.^3+0.10135788*Cpb
2);

% Mo hinh toan Cp5 & Cpave


C_p52 = 0.5218 + 0.004994.*AOA_p2 + -0.001548.*AOS_p2 + -
0.0003794.*AOA_p2.^2 + ...
1.123e-05.*AOA_p2.*AOS_p2 + -0.0005842.*AOS_p2.^2 + -2.131e-
05.*AOA_p2.^3 + ...
3.531e-06.*AOA_p2.^2.*AOS_p2 + -3.323e-06.*AOA_p2.*AOS_p2.^2;

C_pave2 = -0.1393 + -0.001765.*AOA_p2 + 0.0005282.*AOS_p2 + -5.558e-


05.*AOA_p2.^2 + ...
-4.054e-05.*AOA_p2.*AOS_p2 + -0.0005052.*AOS_p2.^2 + -1.649e-
05.*AOA_p2.^3 + ...
-1.235e-06.*AOA_p2.^2.*AOS_p2 + 1.047e-06.*AOA_p2.*AOS_p2.^2;

Ps_arr2 = (C_p52.*Pave2(i:end) - C_pave2.*P5f(i:end))./(C_p52 -


C_pave2);
Pt_arr2 = Ps_arr2 + (P5f(i:end) - Ps_arr2)./C_p52;
Va2 = sqrt(2*(Pt_arr2 - Ps_arr2)./1.225); %Van toc tu mo hinh toan

Ps_arr1 = (C_p51.*Pave1(i:end) - C_pave1.*P5f(i:end))./(C_p51 -


C_pave1);
Pt_arr1 = Ps_arr1 + (P5f(i:end) - Ps_arr1)./C_p51;
Va1 = sqrt(2*(Pt_arr1 - Ps_arr1)./1.225); %Van toc tu mo hinh toan

Son C.T. Nguyen 92


APPENDIX

Va_ref = sqrt(2.*P0f(i:end)./1.225); %Van toc tham chieu tu Pitot tube


Va_ref_mean = mean(Va_ref(i:end)); % Van toc tham chieu trung binh

a = 0; % Goc AOA
b = 0; % Goc AOS

saisoAOA2_rms = rms(abs(AOA_p2 - a)); %Don vi: deg


saisoAOS2_rms = rms(abs(AOS_p2 - b)); %Don vi: deg
saisoVa2_rms = rms(abs(Va2 - Va_ref)./Va_ref*100); %Don vi: %

% Write table to file


Torigin =
table(timeSecs(i:end)',P1Logs(i:end),P2Logs(i:end),P3Logs(i:end),P4Log
s(i:end)...

,P5Logs(i:end),P0f(i:end),P1f(i:end),P2f(i:end),P3f(i:end),P4f(i:end),
P5f(i:end),...

'VariableNames',{'Time_sec','P1_Pa','P2_Pa','P3_Pa','P4_Pa','P5_Pa',..
.

'lowpassP0','lowpassP1','lowpassP2','lowpassP3','lowpassP4','lowpassP5
'});

Ts2 =
table(P1s2(i:end),P3s2(i:end),P4s2(i:end),'VariableNames',{'P1s2','P3s
2','P4s2'});

Ts2mean =
table(mean(P1s2(i:end)),mean(P2f(i:end)),mean(P3s2(i:end)),mean(P4s2(i
:end)),...

mean(P5f(i:end)),mean(AOA_p2),mean(AOS_p2),mean(Va2),saisoAOA2_rms,sai
soAOS2_rms,mean(saisoVa2_rms),...

'VariableNames',{'P1scale','lowpassP2','P3scale','P4scale','lowpassP5'
,'AOA','AOS','Speed','saisoAOA','saisoAOS','saisoVa'});
Tresults2 =
table(AOA_p2,AOS_p2,AOA_r2,AOS_r2,Va2,Va_ref,'VariableNames',{'AOA_p',
'AOS_p','AOA_r','AOS_r','Speed','Speed_Pitot'});
%Note: Must create this file first!
filename2 = 'Validation_Lan10_LPF_S2_18Hz.xlsx';
% Write table to file
namesheet=['a',num2str(a),'b',num2str(b)];
writetable(Torigin,filename2,'sheet',namesheet,'Range','A3');
writetable(Ts2,filename2,'sheet',namesheet,'Range','M3');
writetable(Tresults2,filename2,'sheet',namesheet,'Range','P3');
writetable(Ts2mean,filename2,'sheet',namesheet,'Range','B1');
system('taskkill /F /IM EXCEL.EXE');

system('taskkill /F /IM EXCEL.EXE');


% Print confirmation to command line
fprintf('Results table with %g pressure measurements saved to file
\n',...
length(timeSecs))

Son C.T. Nguyen 93


APPENDIX

For continuous validation: ‘Test.m’


%% Low pass filter and Scale
% Edited in 18/11/2017
% By Tuan Do and Son NCT
% Need lowpassfilter.m
%% Acquire and analyze data from a pressure sensor

%% Connect to Arduino
% Use the arduino command to connect to an Arduino device.
clear all
% clc
a = arduino;

%% Acquire and display live data


close all
figure(1)

subplot(321)
xlabel('Time')
ylabel('P0 (Pa)')
ax0 = gca;
ax0.YGrid = 'on';
% ax4.YLim = [-10 40];
axis auto
h0 = animatedline;

subplot(323)
xlabel('Time')
ylabel('P1 (Pa)')
ax1 = gca;
ax1.YGrid = 'on';
% ax1.YLim = [-10 40];
axis auto
h1 = animatedline;

subplot(325)
xlabel('Time')
ylabel('P2 (Pa)')
ax2 = gca;
ax2.YGrid = 'on';
% ax2.YLim = [-10 40];
axis auto
h2 = animatedline;

subplot(324)
xlabel('Time')
ylabel('P3 (Pa)')
ax3 = gca;
ax3.YGrid = 'on';
% ax3.YLim = [-10 40];
axis auto
h3 = animatedline;

subplot(326)
xlabel('Time')
ylabel('P4 (Pa)')
ax4 = gca;
ax4.YGrid = 'on';

Son C.T. Nguyen 94


APPENDIX

% ax4.YLim = [-10 40];


axis auto
h4 = animatedline;

subplot(322)
xlabel('Time')
ylabel('P5 (Pa)')
ax5 = gca;
ax5.YGrid = 'on';
% ax5.YLim = [-10 40];
axis auto
h5 = animatedline;

figure(2)
xlabel('Time')
ylabel('Angle (deg)')
ax6 = gca;
ax6.YGrid = 'on';
% ax5.YLim = [-10 40];
axis auto
h6 = animatedline;

stop = 0;
startTime = datetime('now');
sum0=0;
sum1=0;
sum2=0;
sum3=0;
sum4=0;
sum5=0;
for i=0:9
sensorValue0=readVoltage(a,'A0')*1024/5-512;
sensorValue1=readVoltage(a,'A1')*1024/5-512;
sensorValue2=readVoltage(a,'A2')*1024/5-512;
sensorValue3=readVoltage(a,'A3')*1024/5-512;
sensorValue4=readVoltage(a,'A4')*1024/5-512;
sensorValue5=readVoltage(a,'A5')*1024/5-512;
sum0=sum0+sensorValue0;
sum1=sum1+sensorValue1;
sum2=sum2+sensorValue2;
sum3=sum3+sensorValue3;
sum4=sum4+sensorValue4;
sum5=sum5+sensorValue5;
end
offset0=sum0/10;
offset1=sum1/10;
offset2=sum2/10;
offset3=sum3/10;
offset4=sum4/10;
offset5=sum5/10;

% Live data
tic

while stop < 500


% Read analog pin
sensorValue0=readVoltage(a,'A0')*1024/5-offset0;
Vout0=(5*sensorValue0)/1024;%-2.5;

Son C.T. Nguyen 95


APPENDIX

sensorValue1=readVoltage(a,'A1')*1024/5-offset1;
Vout1=(5*sensorValue1)/1024;%-2.5;

sensorValue2=readVoltage(a,'A2')*1024/5-offset2;
Vout2=(5*sensorValue2)/1024;%-2.5;

sensorValue3=readVoltage(a,'A3')*1024/5-offset3;
Vout3=(5*sensorValue3)/1024;%-2.5;

sensorValue4=readVoltage(a,'A4')*1024/5-offset4;
Vout4=(5*sensorValue4)/1024;%-2.5;

sensorValue5=readVoltage(a,'A5')*1024/5-offset5;
Vout5=(5*sensorValue5)/1024;%-2.5;

% Calculate pressure from voltage (based on data sheet)


P0 = (Vout0-2.5)*1000;
P1 = (Vout1-2.5)*1000;
P2 = (Vout2-2.5)*1000;
P3 = (Vout3-2.5)*1000;
P4 = (Vout4-2.5)*1000;
P5 = (Vout5-2.5)*1000;

%Potentionmeter
pot_analog_value = readVoltage(a,'A6')*1024/5;
angle = pot_analog_value*0.1681-84.647; %Calibration from -30 -> 30

% Get current time


t = datetime('now') - startTime;
% t = 50
% Add points to animation
addpoints(h0,datenum(t),P0);
% Update axes
ax0.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h1,datenum(t),P1);
ax1.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h2,datenum(t),P2);
ax2.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h3,datenum(t),P3);
ax3.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h4,datenum(t),P4);
ax4.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h5,datenum(t),P5);
ax5.XLim = datenum([t-seconds(30) t]);
datetick('x','keeplimits')

addpoints(h6,datenum(t),angle);
ax6.XLim = datenum([t-seconds(30) t]);
Son C.T. Nguyen 96
APPENDIX

datetick('x','keeplimits')

drawnow
% Check stop condition
stop = stop + 1;
% stop = readDigitalPin(a,'D12');
end
tg =toc;

%% Plot the recorded data


[timeLogs,P0Logs] = getpoints(h0);
[timeLogs,P1Logs] = getpoints(h1);
[timeLogs,P2Logs] = getpoints(h2);
[timeLogs,P3Logs] = getpoints(h3);
[timeLogs,P4Logs] = getpoints(h4);
[timeLogs,P5Logs] = getpoints(h5);
[timeLogs,Potentionmeter] = getpoints(h6);
timeSecs = (timeLogs-timeLogs(1))*24*3600;

%% Smooth out readings with Lowpass filter and Scale


P0Logs=P0Logs';
P1Logs=P1Logs';
P2Logs=P2Logs';
P3Logs=P3Logs';
P4Logs=P4Logs';
P5Logs=P5Logs';
Potentionmeter=Potentionmeter';

P0f = smooth(P0Logs,25);
P1f = smooth(P1Logs,25);
P2f = smooth(P2Logs,25);
P3f = smooth(P3Logs,25);
P4f = smooth(P4Logs,25);
P5f = smooth(P5Logs,25);
Pot = smooth(Potentionmeter,25);

%% Scale data theo file P ,file


'For_Scale_Data_Lowpass_filter_Lan10.xlsx'

% Tu 15Hz
% Scale to P2
P1s2=1.4932.*P1f+8.8706;
P3s2=0.7035.*P3f-4.0602;
P4s2=1.2945.*P4f+8.6707;

Pave2 = 0.25*(P1s2+P2f+P3s2+P4s2);

%% Plot the original and the low pass filtered pressure signal, and
illustrate the
% uncertainty.

figure(3)
subplot(323)
plot(timeSecs,P1Logs,'b',timeSecs,P1f,'r--',timeSecs,P1s2,'g--');
title('Raw vs low pass filter data');
xlabel('Elapsed time (sec)');
ylabel('P1 (Pa)');
legend('P1 raw','P1 low pass filtered','P1 lpf scale')

Son C.T. Nguyen 97


APPENDIX

subplot(325)
plot(timeSecs,P2Logs,'b',timeSecs,P2f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P2 (Pa)');
legend('P2 raw','P2 low pass filtered')

subplot(324)
plot(timeSecs,P3Logs,'b',timeSecs,P3f,'r--',timeSecs,P3s2,'g--');
xlabel('Elapsed time (sec)');
ylabel('P3 (Pa)');
legend('P3 raw','P3 low pass filtered','P3 lpf scale')

subplot(326)
plot(timeSecs,P4Logs,'b',timeSecs,P4f,'r--',timeSecs,P4s2,'g--');
xlabel('Elapsed time (sec)');
ylabel('P4 (Pa)');
legend('P4 raw','P4 low pass filtered','P4 lpf scale')

subplot(322)
plot(timeSecs,P5Logs,'b',timeSecs,P5f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P5 (Pa)');
legend('P5 raw','P5 low pass filtered');

subplot(321)
plot(timeSecs,P0Logs,'b',timeSecs,P0f,'r--');
xlabel('Elapsed time (sec)');
ylabel('P0 (Pa)');
legend('P0 raw','P0 low pass filtered');

figure(4)
plot(timeSecs,Potentionmeter,'b');
xlabel('Elapsed time (sec)');
ylabel('Angle (deg)');
legend('Potentionmeter');

%% Log data from time i and save results to a file


for i=1:length(timeSecs)
if timeSecs(i)>=40
break
end
end
tic
% Checking AOA and AOS
% Checking Va via Cpave and Cp5
Cpa2 = (P3s2(i:end)-P1s2(i:end))./(P5f(i:end)-Pave2(i:end));
Cpb2 = (P4s2(i:end)-P2f(i:end))./(P5f(i:end)-Pave2(i:end));

% Mo hinh toan lan 10


% Polynomial
AOA_p2 = -0.4247 + 17.*Cpa2 + 0.7274.*Cpb2 + 1.887.*Cpa2.^2 + -
0.9299.*Cpa2.*Cpb2 + ... %Scale to P2
-4.475.*Cpb2.^2 + -0.8884 .*Cpa2.^3 + -0.6526.*Cpa2.^2.*Cpb2 + -
2.3.*Cpa2.*Cpb2.^2+0.3373.*Cpb2.^3;

Son C.T. Nguyen 98


APPENDIX

AOS_p2 = -1.088 + 2.085.*Cpa2 + 20.75.*Cpb2 + 0.2853.*Cpa2.^2 +


1.31.*Cpa2.*Cpb2 + ... %Scale to P2
-0.6213.*Cpb2.^2 + 0.1417.*Cpa2.^3 +-1.558.*Cpa2.^2.*Cpb2 + -
1.119.*Cpa2.*Cpb2.^2-1.056.*Cpb2.^3;

% Rational
AOA_r2=(-0.39594992 +17.644205*Cpa2+0.68876656*Cpb2+2.3146267*Cpa2.^2-
5.4772663*Cpb2.^2+0.036251293*Cpa2.*Cpb2)./...

(1+0.014074689*Cpa2+0.11382881*Cpb2+0.079427094*Cpa2.^2+0.23705264*Cpb
2.^2+0.036232922*Cpa2.*Cpb2);

AOS_r2=(-1.132527+2.4886463*Cpa2+20.881162*Cpb2+0.23468287*Cpa2.^2-
0.7543408*Cpb2.^2+2.4706064*Cpa2.*Cpb2)./...
(1+0.055357355*Cpa2-
0.0077806289*Cpb2++0.088378771*Cpa2.^2+0.06409505*Cpb2.^2++0.051033568
*Cpa2.*Cpb2);

% Mo hinh toan Cp5 & Cpave


C_p52 = 0.5218 + 0.004994.*AOA_p2 + -0.001548.*AOS_p2 + -
0.0003794.*AOA_p2.^2 + ...
1.123e-05.*AOA_p2.*AOS_p2 + -0.0005842.*AOS_p2.^2 + -2.131e-
05.*AOA_p2.^3 + ...
3.531e-06.*AOA_p2.^2.*AOS_p2 + -3.323e-06.*AOA_p2.*AOS_p2.^2;

C_pave2 = -0.1393 + -0.001765.*AOA_p2 + 0.0005282.*AOS_p2 + -5.558e-


05.*AOA_p2.^2 + ...
-4.054e-05.*AOA_p2.*AOS_p2 + -0.0005052.*AOS_p2.^2 + -1.649e-
05.*AOA_p2.^3 + ...
-1.235e-06.*AOA_p2.^2.*AOS_p2 + 1.047e-06.*AOA_p2.*AOS_p2.^2;

Ps_arr2 = (C_p52.*Pave2(i:end) - C_pave2.*P5f(i:end))./(C_p52 -


C_pave2);
Pt_arr2 = Ps_arr2 + (P5f(i:end) - Ps_arr2)./C_p52;
Va2 = sqrt(2*(Pt_arr2 - Ps_arr2)./1.225); %Van toc tu mo hinh toan

Va_ref = sqrt(2.*P0f(i:end)./1.225); %Van toc tham chieu tu Pitot tube


Va_ref_mean = mean(Va_ref(i:end)); % Van toc tham chieu trung binh

a = 0; % Goc AOA
b = 0; % Goc AOS

saisoAOA2_rms = rms(abs(AOA_p2 - a)); %Don vi: deg


saisoAOS2_rms = rms(abs(AOS_p2 - b)); %Don vi: deg
saisoVa2_rms = rms(abs(Va2 - Va_ref)./Va_ref*100); %Don vi: %

% Write table to file


Torigin =
table(timeSecs(i:end)',P1Logs(i:end),P2Logs(i:end),P3Logs(i:end),P4Log
s(i:end)...

,P5Logs(i:end),P0f(i:end),P1f(i:end),P2f(i:end),P3f(i:end),P4f(i:end),
P5f(i:end),...

'VariableNames',{'Time_sec','P1_Pa','P2_Pa','P3_Pa','P4_Pa','P5_Pa',..
.

Son C.T. Nguyen 99


APPENDIX

'lowpassP0','lowpassP1','lowpassP2','lowpassP3','lowpassP4','lowpassP5
'});

Ts2 =
table(P1s2(i:end),P3s2(i:end),P4s2(i:end),'VariableNames',{'P1s2','P3s
2','P4s2'});
Ts2mean =
table(mean(P1s2(i:end)),mean(P2f(i:end)),mean(P3s2(i:end)),mean(P4s2(i
:end)),...

mean(P5f(i:end)),mean(AOA_p2),mean(AOS_p2),mean(Va2),saisoAOA2_rms,sai
soAOS2_rms,mean(saisoVa2_rms),...

'VariableNames',{'P1scale','lowpassP2','P3scale','P4scale','lowpassP5'
,'AOA','AOS','Speed','saisoAOA','saisoAOS','saisoVa'});
Tresults2 =
table(AOA_p2,AOS_p2,AOA_r2,AOS_r2,Va2,Va_ref,Pot(i:end),...

'VariableNames',{'AOA_p','AOS_p','AOA_r','AOS_r','Speed','Speed_Pitot'
,'Angle'});

Note: Must create this file first!


filename2 = 'Validation_Realtime_Lan10pr_LPF_S2_18Hz.xlsx';
fprintf('==========\nScale to P2:\nAOA %4.2f deg\nSai so AOA %4.2f
deg\nAOS %4.2f deg\nSai so AOS %4.2f deg\nSai so Va %4.2f percent
\n',a,saisoAOA2_rms,b,saisoAOS2_rms,saisoVa2_rms)
% Write table to file
namesheet=['a',num2str(a),'b',num2str(b),'Lan8'];
writetable(Torigin,filename2,'sheet',namesheet,'Range','A3');
writetable(Ts2,filename2,'sheet',namesheet,'Range','M3');
writetable(Tresults2,filename2,'sheet',namesheet,'Range','P3');
writetable(Ts2mean,filename2,'sheet',namesheet,'Range','B1');
system('taskkill /F /IM EXCEL.EXE');

% Print confirmation to command line


fprintf('Results table with %g pressure measurements saved to file
\n',...
length(timeSecs))

Son C.T. Nguyen 100


APPENDIX

B. Manufacturing Logbook

Son C.T. Nguyen 101


APPENDIX

C. Experiments Logbook
Experiment for determine scale function (10th measurements)
Use code realtime_lowpass_filter_for_scale Lần đo này để tạo hàm scale mới (scale trên dải vận tốc từ 8 - 20 m/s)
Dây cắm USB ngắn đảm bảo điện áp cấp cho sensor Vận tốc lần này là khoảng 12-29.5 Hz Lấy I từ 40 timesecs
Sampling Fan So lan thi
STT Date Time start Time End AOA AOS Static port
Mearsurement Frequency nghiem
1 18-11-17 16:00 16:05 0 0 200 12 Connect to static port of pitot dai 1
2 18-11-17 16:10 16:15 0 0 200 15 Connect to static port of pitot dai 1
3 18-11-17 15:55 16:00 0 0 200 18 Connect to static port of pitot dai 1
4 18-11-17 16:18 16:20 0 0 200 21 Connect to static port of pitot dai 1
5 18-11-17 16:23 02:24 0 0 200 23.5 Connect to static port of pitot dai 1
6 18-11-17 16:21 16:22 0 0 200 26.8 Connect to static port of pitot dai 1
7 18-11-17 16:23 16:25 0 0 200 29.5 Connect to static port of pitot dai 1

Evaluate noise filters

Use code Test.m Thử bộ lọc


Dây cắm USB ngắn đảm bảo điện áp cấp cho sensor
STT Date File excel Cutoff frequency Sampling time Sheet
File 'Validation_Realtime_Lan10_LPF_S2_18Hz'
1 23-11-17 Validation_Realtime 16:48:00 00:07:12 a-2020b1aaaaa
2 23-11-17 Validation_Realtime 12:00:00 00:14:24 a-2020b1aaaa
3 23-11-17 Validation_Realtime 12:00:00 01:12:00 a-2020b1aaa
4 23-11-17 Validation_Realtime 00:00:00 01:12:00 a-2020b1aa
5 23-11-17 Validation_Realtime 02:24:00 01:12:00 a-2020b11a
6 23-11-17 Validation_Realtime 00:00:00 00:07:12 a-2020b1_6a
7 23-11-17 Validation_Realtime 00:00:00 00:07:12 a-2020b1_7a
8 23-11-17 Validation_Realtime 00:00:00 00:07:12 a-2020b1_8a
9 23-11-17 Validation_Realtime 00:00:00 00:07:12 a-2020b1_9a
10 23-11-17 Validation_Realtime 00:00:00 00:07:12 a-2020b1_10a
11 23-11-17 Validation_Realtime 00:00:00 00:03:36 a-2020b1_11a
File 'Validation_Realtime_Lan10pr_LPF_S2_18Hz'
12 30-11-17 Validation_Realtime 00:00:00 00:03:36 a0b0Lan2
13 30-11-17 Validation_Realtime 00:00:00 00:03:36 a0b0Lan3
14 30-11-17 Validation_Realtime smooth, 25 a0b0Lan4
File 'Validation_Realtime_Lan10pr_LPF_S2_18Hz'
15 30-11-17 Validation_Realtime smooth, 25 a0b0Lan5
16 30-11-17 Validation_Realtime 00:00:00 00:03:36 a0b0Lan5lpf
18 30-11-17 Validation_Realtime no filter a0b0Lan50f
19 30-11-17 Validation_Realtime smooth, 25 a0b0Lan6
20 30-11-17 Validation_Realtime smooth, 25 a0b0Lan7
21 30-11-17 Validation_Realtime no filter a0b0Lan70f
22 30-11-17 Validation_Realtime 00:00:00 00:02:53 a0b0Lan7lpf
23 30-11-17 Validation_Realtime smooth, 25 a0b0Lan8

Son C.T. Nguyen 102


APPENDIX

Measured data collection (10th measurements)


Lần đo này thử nghiệm hàm scale mới lowpassfilter (hàm scale trên dải vận
Use code realtime_lowpass_filter_scale
tốc từ 12 - 20 m/s)
Vận tốc lần này là khoảng 12 m/s để đánh giá sự nhạy áp suất của lỗ đến kết
Dây cắm USB ngắn đảm bảo điện áp cấp cho sensor
quả

Sampling Fan So lan thi


STT Date Time start Time End AOA AOS Static port
Mearsurement Frequency nghiem

1 19-11-17 17:01 0 0 250 18.04 Connect to static port of pitot dai 1


2 19-11-17 07:08 07:09 5 0 250 18.04 Connect to static port of pitot dai 1
3 19-11-17 07:10 07:11 10 0 250 18 Connect to static port of pitot dai 1
4 19-11-17 07:12 07:15 15 0 250 18.01 Connect to static port of pitot dai 1
5 19-11-17 07:16 07:17 20 0 250 18.02 Connect to static port of pitot dai 1
6 19-11-17 07:18 07:19 -5 0 250 18.01 Connect to static port of pitot dai 1
7 19-11-17 07:23 07:24 -10 0 250 18 Connect to static port of pitot dai 1
8 19-11-17 07:25 07:27 -15 0 250 18.01 Connect to static port of pitot dai 1
9 19-11-17 07:28 07:29 -20 0 250 18.02 Connect to static port of pitot dai 1
10 19-11-17 07:37 07:38 0 5 250 18.02 Connect to static port of pitot dai 1
11 19-11-17 07:39 07:40 5 5 250 18.02 Connect to static port of pitot dai 1
12 19-11-17 07:41 07:43 10 5 250 17.98 Connect to static port of pitot dai 1
13 19-11-17 07:44 07:45 15 5 250 18 Connect to static port of pitot dai 1
14 19-11-17 07:46 07:47 20 5 250 18.01 Connect to static port of pitot dai 1
15 19-11-17 07:48 07:49 -5 5 250 18 Connect to static port of pitot dai 1
16 19-11-17 07:50 07:52 -10 5 250 18.04 Connect to static port of pitot dai 1
17 19-11-17 07:53 07:54 -15 5 250 18 Connect to static port of pitot dai 1
18 19-11-17 07:55 07:58 -20 5 250 18 Connect to static port of pitot dai 1
19 19-11-17 07:59 08:01 0 10 250 18.02 Connect to static port of pitot dai 1
20 19-11-17 08:02 08:04 5 10 250 18.02 Connect to static port of pitot dai 1
21 19-11-17 08:05 08:06 10 10 250 18.02 Connect to static port of pitot dai 1
22 19-11-17 08:07 08:08 15 10 250 18 Connect to static port of pitot dai 1
23 19-11-17 08:09 08:10 20 10 250 18.05 Connect to static port of pitot dai 1
24 19-11-17 08:10 08:14 -5 10 250 18.05 Connect to static port of pitot dai 1
25 19-11-17 08:15 08:16 -10 10 250 18.03 Connect to static port of pitot dai 1
26 19-11-17 08:17 08:19 -15 10 250 18.04 Connect to static port of pitot dai 1
27 19-11-17 08:19 08:20 -20 10 250 18.03 Connect to static port of pitot dai 1
28 19-11-17 08:22 08:23 0 15 250 18.02 Connect to static port of pitot dai 1
29 19-11-17 08:23 08:24 5 15 250 18.04 Connect to static port of pitot dai 1
30 19-11-17 08:25 08:26 10 15 250 18.03 Connect to static port of pitot dai 1
31 19-11-17 08:27 08:29 15 15 250 18.03 Connect to static port of pitot dai 1
32 19-11-17 08:30 08:31 20 15 250 18.03 Connect to static port of pitot dai 1
33 19-11-17 08:32 08:32 -5 15 250 18.03 Connect to static port of pitot dai 1
34 19-11-17 08:32 08:33 -10 15 250 18 Connect to static port of pitot dai 1
35 19-11-17 08:34 08:35 -15 15 250 18.02 Connect to static port of pitot dai 1
36 19-11-17 08:36 08:37 -20 15 250 18.03 Connect to static port of pitot dai 1
37 19-11-17 08:41 08:42 0 20 250 18.02 Connect to static port of pitot dai 1
38 19-11-17 08:43 08:44 5 20 250 18.02 Connect to static port of pitot dai 1
39 19-11-17 08:45 08:46 10 20 250 18.01 Connect to static port of pitot dai 1
40 19-11-17 08:47 08:48 15 20 250 18.01 Connect to static port of pitot dai 1
41 19-11-17 08:49 08:50 20 20 250 18 Connect to static port of pitot dai 1
42 19-11-17 08:51 08:52 -5 20 250 18.01 Connect to static port of pitot dai 1
43 19-11-17 08:53 08:55 -10 20 250 18 Connect to static port of pitot dai 1
44 19-11-17 08:56 08:57 -15 20 250 18.02 Connect to static port of pitot dai 1
45 19-11-17 08:58 08:59 -20 20 250 18.02 Connect to static port of pitot dai 1
46 19-11-17 09:00 09:01 0 -5 250 18 Connect to static port of pitot dai 1
47 19-11-17 09:02 09:03 5 -5 250 18.05 Connect to static port of pitot dai 1
48 19-11-17 09:04 09:06 10 -5 250 18.01 Connect to static port of pitot dai 1
49 19-11-17 09:07 09:08 15 -5 250 18.01 Connect to static port of pitot dai 1
50 19-11-17 09:09 09:10 20 -5 250 18.01 Connect to static port of pitot dai 1
51 19-11-17 09:11 09:12 -5 -5 250 18.01 Connect to static port of pitot dai 1
52 19-11-17 09:13 09:15 -10 -5 250 18.01 Connect to static port of pitot dai 1
53 19-11-17 09:16 09:18 -15 -5 250 18.01 Connect to static port of pitot dai 1
54 19-11-17 09:18 09:19 -20 -5 250 18 Connect to static port of pitot dai 1
55 19-11-17 09:21 09:22 0 -10 250 18 Connect to static port of pitot dai 1
56 19-11-17 09:23 09:24 5 -10 250 18 Connect to static port of pitot dai 1
57 19-11-17 09:25 09:26 10 -10 250 18.01 Connect to static port of pitot dai 1
58 19-11-17 09:28 09:29 15 -10 250 18.01 Connect to static port of pitot dai 1
59 19-11-17 09:30 09:31 20 -10 250 18 Connect to static port of pitot dai 1
60 19-11-17 09:32 09:34 -5 -10 250 18 Connect to static port of pitot dai 1
61 19-11-17 09:34 09:35 -10 -10 250 18 Connect to static port of pitot dai 1
62 19-11-17 09:36 09:37 -15 -10 250 18 Connect to static port of pitot dai 1
63 19-11-17 09:38 09:39 -20 -10 250 18 Connect to static port of pitot dai 1
64 19-11-17 09:41 09:42 0 -15 250 18 Connect to static port of pitot dai 1
65 19-11-17 09:43 09:44 5 -15 250 18 Connect to static port of pitot dai 1
66 19-11-17 09:46 09:47 10 -15 250 18 Connect to static port of pitot dai 1
67 19-11-17 09:50 09:51 15 -15 250 18 Connect to static port of pitot dai 1
68 19-11-17 09:52 09:53 20 -15 250 18 Connect to static port of pitot dai 1
69 19-11-17 09:54 09:55 -5 -15 250 18.01 Connect to static port of pitot dai 1
70 19-11-17 09:57 09:58 -10 -15 250 18 Connect to static port of pitot dai 1
71 19-11-17 10:00 10:01 -15 -15 250 18 Connect to static port of pitot dai 1
72 19-11-17 10:02 10:03 -20 -15 250 18 Connect to static port of pitot dai 1
73 19-11-17 10:06 10:07 0 -20 250 18 Connect to static port of pitot dai 1
74 19-11-17 10:08 10:09 5 -20 250 18 Connect to static port of pitot dai 1
75 19-11-17 10:10 10:11 10 -20 250 18.01 Connect to static port of pitot dai 1
76 19-11-17 10:13 10:14 15 -20 250 18 Connect to static port of pitot dai 1
77 19-11-17 10:16 10:17 20 -20 250 18.01 Connect to static port of pitot dai 1
78 19-11-17 10:18 10:19 -5 -20 250 18 Connect to static port of pitot dai 1
79 19-11-17 10:21 10:22 -10 -20 250 18 Connect to static port of pitot dai 1
80 19-11-17 10:23 10:24 -15 -20 250 18 Connect to static port of pitot dai 1
81 19-11-17 10:27 10:28 -20 -20 250 18 Connect to static port of pitot dai 1

Son C.T. Nguyen 103


APPENDIX

Discrete validation at low speed (fan speed level: 18 Hz)


Use code Validation Lần đo này thử nghiệm hàm scale mới (hàm scale trên dải vận tốc từ 12 - 20 m/s)
Dây cắm USB ngắn đảm bảo điện áp cấp cho sensor Vận tốc lần này là khoảng 12 m/s để đánh giá sự nhạy áp suất của lỗ đến kết quả

Sampling Fan So lan thi


STT Date Time start Time End AOA AOS Static port
Mearsurement Frequency nghiem
1 19-11-17 18:17 18:19 0 0 250 18.04 Connect to static port of pitot dai 1
2 19-11-17 19:39 19:40 5 0 250 18.03 Connect to static port of pitot dai 1
3 19-11-17 19:42 19:44 10 0 250 18.03 Connect to static port of pitot dai 1
4 19-11-17 19:49 19:50 15 0 250 18.03 Connect to static port of pitot dai 1
5 19-11-17 19:55 19:56 20 0 250 18.03 Connect to static port of pitot dai 1
6 19-11-17 20:02 20:03 -5 0 250 18.02 Connect to static port of pitot dai 1
7 19-11-17 20:07 20:08 -10 0 250 18.02 Connect to static port of pitot dai 1
8 19-11-17 20:11 20:13 -15 0 250 18.02 Connect to static port of pitot dai 1
9 19-11-17 20:15 20:17 -20 0 250 18.02 Connect to static port of pitot dai 1
10 19-11-17 20:20 20:21 0 5 250 18.02 Connect to static port of pitot dai 1
11 19-11-17 20:25 20:27 5 5 250 18.02 Connect to static port of pitot dai 1
12 20-11-17 06:58 06:59 10 5 250 18 Connect to static port of pitot dai 1
13 20-11-17 07:02 07:03 15 5 250 18 Connect to static port of pitot dai 1
14 20-11-17 07:06 07:10 20 5 250 18 Connect to static port of pitot dai 1
15 20-11-17 07:16 07:17 -5 5 250 18.02 Connect to static port of pitot dai 1
16 20-11-17 07:26 07:27 -10 5 250 18 Connect to static port of pitot dai 1
17 20-11-17 07:28 07:29 -15 5 250 18.01 Connect to static port of pitot dai 1
18 20-11-17 07:31 07:32 -20 5 250 18 Connect to static port of pitot dai 1
19 20-11-17 07:34 07:35 0 10 250 18 Connect to static port of pitot dai 1
20 20-11-17 07:36 07:37 5 10 250 18 Connect to static port of pitot dai 1
21 20-11-17 07:38 07:39 10 10 250 18.01 Connect to static port of pitot dai 1
22 20-11-17 07:41 07:42 15 10 250 18.01 Connect to static port of pitot dai 1
23 20-11-17 07:43 07:44 20 10 250 18.03 Connect to static port of pitot dai 1
24 20-11-17 07:45 07:46 -5 10 250 18 Connect to static port of pitot dai 1
25 20-11-17 07:47 07:48 -10 10 250 18 Connect to static port of pitot dai 1
26 20-11-17 07:50 07:51 -15 10 250 18 Connect to static port of pitot dai 1
27 20-11-17 07:52 07:53 -20 10 250 18.01 Connect to static port of pitot dai 1
28 20-11-17 07:54 07:55 0 15 250 18.02 Connect to static port of pitot dai 1
29 20-11-17 07:57 07:58 5 15 250 18 Connect to static port of pitot dai 1
30 20-11-17 07:59 08:00 10 15 250 18.02 Connect to static port of pitot dai 1
31 20-11-17 08:02 08:03 15 15 250 18.02 Connect to static port of pitot dai 1
32 20-11-17 08:04 08:05 20 15 250 18.02 Connect to static port of pitot dai 1
33 20-11-17 08:06 08:07 -5 15 250 18 Connect to static port of pitot dai 1
34 20-11-17 08:08 08:09 -10 15 250 18 Connect to static port of pitot dai 1
35 20-11-17 08:10 08:11 -15 15 250 18.02 Connect to static port of pitot dai 1
36 20-11-17 08:12 08:13 -20 15 250 18 Connect to static port of pitot dai 1
37 20-11-17 08:19 08:20 0 20 250 18 Connect to static port of pitot dai 1
38 20-11-17 08:22 08:23 5 20 250 18 Connect to static port of pitot dai 1
39 20-11-17 08:24 08:25 10 20 250 18 Connect to static port of pitot dai 1
40 20-11-17 08:25 08:26 15 20 250 18 Connect to static port of pitot dai 1
41 20-11-17 08:28 08:29 20 20 250 18 Connect to static port of pitot dai 1
42 20-11-17 08:30 08:31 -5 20 250 18 Connect to static port of pitot dai 1
43 20-11-17 08:31 08:32 -10 20 250 18.02 Connect to static port of pitot dai 1
44 20-11-17 08:33 08:34 -15 20 250 18.03 Connect to static port of pitot dai 1
45 20-11-17 08:36 08:37 -20 20 250 18.02 Connect to static port of pitot dai 1
46 20-11-17 08:39 08:40 0 -5 250 18.01 Connect to static port of pitot dai 1
47 20-11-17 08:41 08:42 5 -5 250 18.02 Connect to static port of pitot dai 1
48 20-11-17 08:43 08:44 10 -5 250 18.02 Connect to static port of pitot dai 1
49 20-11-17 08:45 08:46 15 -5 250 18.03 Connect to static port of pitot dai 1
50 20-11-17 08:47 08:48 20 -5 250 18.02 Connect to static port of pitot dai 1
51 20-11-17 08:51 08:52 -5 -5 250 18.01 Connect to static port of pitot dai 1
52 20-11-17 08:53 08:54 -10 -5 250 18.03 Connect to static port of pitot dai 1
53 20-11-17 08:56 08:57 -15 -5 250 18.02 Connect to static port of pitot dai 1
54 20-11-17 08:58 08:59 -20 -5 250 18 Connect to static port of pitot dai 1
55 20-11-17 09:02 09:03 0 -10 250 18.02 Connect to static port of pitot dai 1
56 20-11-17 09:03 09:04 5 -10 250 18.01 Connect to static port of pitot dai 1
57 20-11-17 09:05 09:06 10 -10 250 18.01 Connect to static port of pitot dai 1
58 20-11-17 09:08 09:09 15 -10 250 18.02 Connect to static port of pitot dai 1
59 20-11-17 09:10 09:11 20 -10 250 18.02 Connect to static port of pitot dai 1
60 20-11-17 09:12 09:13 -5 -10 250 18.03 Connect to static port of pitot dai 1
61 20-11-17 09:16 09:17 -10 -10 250 18 Connect to static port of pitot dai 1
62 20-11-17 09:22 09:23 -15 -10 250 18.03 Connect to static port of pitot dai 1
63 20-11-17 09:20 09:21 -20 -10 250 18.02 Connect to static port of pitot dai 1
64 20-11-17 09:27 09:28 0 -15 250 18.01 Connect to static port of pitot dai 1
65 20-11-17 09:29 09:30 5 -15 250 18.02 Connect to static port of pitot dai 1
66 20-11-17 09:32 09:33 10 -15 250 18.02 Connect to static port of pitot dai 1
67 20-11-17 09:35 09:36 15 -15 250 18.01 Connect to static port of pitot dai 1
68 20-11-17 09:37 09:38 20 -15 250 18.02 Connect to static port of pitot dai 1
69 20-11-17 09:40 09:41 -5 -15 250 18.01 Connect to static port of pitot dai 1
70 20-11-17 09:42 09:43 -10 -15 250 18.01 Connect to static port of pitot dai 1
71 20-11-17 09:45 09:46 -15 -15 250 18.01 Connect to static port of pitot dai 1
72 20-11-17 09:47 09:48 -20 -15 250 18.01 Connect to static port of pitot dai 1
73 20-11-17 09:51 09:52 0 -20 250 18.02 Connect to static port of pitot dai 1
74 20-11-17 09:53 09:54 5 -20 250 18.03 Connect to static port of pitot dai 1
75 20-11-17 09:56 09:57 10 -20 250 18.02 Connect to static port of pitot dai 1
76 20-11-17 09:59 10:00 15 -20 250 18.01 Connect to static port of pitot dai 1
77 20-11-17 10:01 10:02 20 -20 250 18 Connect to static port of pitot dai 1
78 20-11-17 10:04 10:05 -5 -20 250 18.02 Connect to static port of pitot dai 1
79 20-11-17 10:07 10:08 -10 -20 250 18.02 Connect to static port of pitot dai 1
80 20-11-17 10:10 10:11 -15 -20 250 18.02 Connect to static port of pitot dai 1
81 20-11-17 10:12 10:13 -20 -20 250 18.02 Connect to static port of pitot dai 1

Son C.T. Nguyen 104


APPENDIX

82 20-11-17 10:23 10:24 0 0 250 18.01 Connect to static port of pitot dai 1
83 20-11-17 10:25 10:26 5 0 250 18.02 Connect to static port of pitot dai 1
84 20-11-17 10:27 10:28 10 0 250 18.01 Connect to static port of pitot dai 1
85 20-11-17 10:31 10:32 15 0 250 18.02 Connect to static port of pitot dai 1
86 20-11-17 10:33 10:34 20 0 250 18.03 Connect to static port of pitot dai 1
87 20-11-17 10:36 10:37 -5 0 250 18.02 Connect to static port of pitot dai 1
88 20-11-17 10:39 10:40 -10 0 250 18.02 Connect to static port of pitot dai 1
89 20-11-17 10:41 10:42 -15 0 250 18.02 Connect to static port of pitot dai 1
90 20-11-17 10:44 10:45 -20 0 250 18.02 Connect to static port of pitot dai 1
91 20-11-17 10:47 10:48 0 5 250 18.03 Connect to static port of pitot dai 1
92 20-11-17 10:50 10:51 5 5 250 18.01 Connect to static port of pitot dai 1
93 20-11-17 10:52 10:53 10 5 250 18.01 Connect to static port of pitot dai 1
94 20-11-17 10:54 10:55 15 5 250 18.01 Connect to static port of pitot dai 1
95 20-11-17 10:56 10:57 20 5 250 18.01 Connect to static port of pitot dai 1
96 20-11-17 10:58 10:59 -5 5 250 18.02 Connect to static port of pitot dai 1
97 20-11-17 11:01 11:02 -10 5 250 18.02 Connect to static port of pitot dai 1
98 20-11-17 11:03 11:04 -15 5 250 18 Connect to static port of pitot dai 1
99 20-11-17 11:05 11:06 -20 5 250 18 Connect to static port of pitot dai 1
100 20-11-17 11:08 11:09 0 10 250 18 Connect to static port of pitot dai 1
101 20-11-17 11:10 11:11 5 10 250 18 Connect to static port of pitot dai 1
102 20-11-17 11:13 11:14 10 10 250 18.01 Connect to static port of pitot dai 1
103 20-11-17 11:15 11:16 15 10 250 18.02 Connect to static port of pitot dai 1
104 20-11-17 11:17 11:18 20 10 250 18.01 Connect to static port of pitot dai 1
105 20-11-17 11:20 11:21 -5 10 250 18 Connect to static port of pitot dai 1
106 20-11-17 11:22 11:23 -10 10 250 18 Connect to static port of pitot dai 1
107 20-11-17 11:24 11:25 -15 10 250 18.03 Connect to static port of pitot dai 1
108 20-11-17 11:26 11:27 -20 10 250 18 Connect to static port of pitot dai 1
109 20-11-17 11:30 11:31 0 15 250 18.02 Connect to static port of pitot dai 1
110 20-11-17 11:32 11:33 5 15 250 18.02 Connect to static port of pitot dai 1
111 20-11-17 11:34 11:35 10 15 250 18 Connect to static port of pitot dai 1
112 20-11-17 11:36 11:37 15 15 250 18 Connect to static port of pitot dai 1
113 20-11-17 11:38 11:39 20 15 250 18 Connect to static port of pitot dai 1
114 20-11-17 11:41 11:42 -5 15 250 18 Connect to static port of pitot dai 1
115 20-11-17 11:44 11:45 -10 15 250 18 Connect to static port of pitot dai 1
116 20-11-17 11:46 11:47 -15 15 250 18 Connect to static port of pitot dai 1
117 20-11-17 11:48 11:49 -20 15 250 18 Connect to static port of pitot dai 1

Discrete validation at high speed (fan speed level: 29.5 Hz)


Use code Validation Lần đo này thử nghiệm hàm scale mới lowpassfilter (hàm scale trên dải vận tốc từ 12 - 20 m/s)
Dây cắm USB ngắn đảm bảo điện áp cấp Vận tốc lần này là khoảng 20 m/s để đánh giá sự nhạy áp suất của lỗ đến kết quả
Sampling Fan So lan thi
STT Date Time start Time End AOA AOS Static port
Mearsurement Frequency nghiem
1 20-11-17 13:32 13:33 0 0 250 29.51 Connect to static port of pitot dai 1
2 20-11-17 13:34 13:35 5 0 250 29.5 Connect to static port of pitot dai 1
3 20-11-17 13:36 13:37 10 0 250 29.5 Connect to static port of pitot dai 1
4 20-11-17 13:38 13:39 -5 0 250 29.51 Connect to static port of pitot dai 1
5 20-11-17 13:41 13:43 -10 0 250 29.55 Connect to static port of pitot dai 1
6 20-11-17 13:46 13:47 0 5 250 29.5 Connect to static port of pitot dai 1
7 20-11-17 13:48 13:49 5 5 250 29.5 Connect to static port of pitot dai 1
8 20-11-17 13:50 13:51 10 5 250 29.5 Connect to static port of pitot dai 1
9 20-11-17 13:52 13:53 -5 5 250 29.5 Connect to static port of pitot dai 1
10 20-11-17 13:55 13:56 -10 5 250 29.5 Connect to static port of pitot dai 1
11 20-11-17 13:57 13:58 0 10 250 29.5 Connect to static port of pitot dai 1
12 20-11-17 13:59 14:00 5 10 250 29.52 Connect to static port of pitot dai 1
13 20-11-17 14:01 14:02 10 10 250 29.5 Connect to static port of pitot dai 1
14 20-11-17 14:04 14:05 -5 10 250 29.5 Connect to static port of pitot dai 1
15 20-11-17 14:06 14:07 -10 10 250 29.51 Connect to static port of pitot dai 1
16 20-11-17 14:09 14:10 0 -5 250 29.5 Connect to static port of pitot dai 1
17 20-11-17 14:12 14:13 5 -5 250 29.53 Connect to static port of pitot dai 1
18 20-11-17 14:14 14:15 10 -5 250 29.49 Connect to static port of pitot dai 1
19 20-11-17 14:16 14:17 -5 -5 250 29.5 Connect to static port of pitot dai 1
20 20-11-17 14:19 14:20 -10 -5 250 29.53 Connect to static port of pitot dai 1
21 20-11-17 14:23 14:24 0 -10 250 29.49 Connect to static port of pitot dai 1
22 20-11-17 14:26 14:27 5 -10 250 29.5 Connect to static port of pitot dai 1
23 20-11-17 14:29 14:30 10 -10 250 29.5 Connect to static port of pitot dai 1
24 20-11-17 14:37 14:38 -5 -10 250 29.5 Connect to static port of pitot dai 1
25 20-11-17 14:39 14:40 -10 -10 250 29.5 Connect to static port of pitot dai 1

Son C.T. Nguyen 105


APPENDIX

D. Project Timeline

Son C.T. Nguyen 106


APPENDIX

Son C.T. Nguyen 107

Vous aimerez peut-être aussi