commit 61e4e0dbe2bab3e55d32d2aaaf7dd20f0f22f36b
parent 4cc2d904d4663ee6bfc5c42c531e735b72b0adcf
Author: Ivan Gankevich <i.gankevich@spbu.ru>
Date: Sat, 20 Mar 2021 21:19:35 +0300
Anemometer description.
Diffstat:
main.tex | | | 110 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
wind.mathics | | | 3 | +++ |
2 files changed, 113 insertions(+), 0 deletions(-)
diff --git a/main.tex b/main.tex
@@ -7,6 +7,8 @@
\usepackage{graphicx}
\usepackage{url}
+\DeclareMathOperator{\Mode}{Mo}
+
\begin{document}
\title{TODO
@@ -39,6 +41,114 @@
\section{Methods}
+\subsection{Three-axis wind velocity measurements with load cell anemometer}
+
+In order to generate wind velocity field using four-dimensional (one temporal
+and three spatial dimensions) auoregressive model, we need to use
+four-dimensional wind velocity autocovariance function. Using Wiener---Khinchin
+theorem it is easy to compute the function from the spectrum. Unfortunately,
+most of the existing wind velocity historical data contains only wind velocity
+magnitude and direction. We can use them to reconstruct \(x\) and \(y\)
+spectrum, but there is no way to get spectrum for \(z\) coordinate from this
+data. To solve this problem, we decided to build our own three-axis anemometer
+that measures wind velocity for all three axes at one point in space.
+
+To measure wind velocity we used resistive foil strain gauges mounted on the
+arms aligned perpendicular to the axes directions. Inside each arm we placed
+aluminum load cell with two strain gauges: one on the bending side and another
+one on the lateral side. Load cell uses Wheatstone bridge to measure the
+resistance of the gauges and compensate for temperature changes. Load cells are
+connected to the circuit that measures the resistance and transmits it to the
+microcontroller in digital format. Microcontroller then records the value for
+each load cell and transmits all of them in textual form to the main computer.
+The main computer then adds a timestamp and saves it to the database.
+
+Each load cell face the direction that is perpendicular to the directions of
+other load cells. When the wind blows in the direction of the load cell, only
+this cell bends. When the wind blows in an arbitrary direction which is not
+perpendicular to any load cell faces, then all load cells bend, but the
+pressure force is smaller. Pressures of all load cells are recorded
+simultaneously, and we can use Bernoulli's equaion to compute wind velocity
+from them.
+
+Bernoulli's equation is written as
+\begin{equation}
+ \rho\frac{\upsilon^2}{2} + \rho gz = p_0-p.
+\end{equation}
+Here \(\upsilon\) is wind velocity magnitude, \(g\) is gravitational acceleration,
+\(z\) is vertical coordinate, \(\rho\) is air density, \(p\) is pressure on the
+load cell and \(p_0\) is atmospheric pressure. Pressure force \(\vec{F}\) acting on a load
+cell is written as
+\begin{equation}
+ \vec{F} = p S \vec{n},
+\end{equation}
+where \(S\) is area of the side of the load cell on which the force is applied
+and \(\vec{n}\) is normal vector. Arms in which the load cell reside have only
+front and back sides with much larger areas than the left and right side, therefore
+we neglect forces on them. Additionally, on the ground \(\rho{}gz\) term vanishes.
+
+All in all, for all load cells we have a system of three equations
+\begin{equation}
+ \begin{cases}
+ \upsilon_x^2 \propto F_x \\
+ \upsilon_y^2 \propto F_y \\
+ \upsilon_z^2 \propto F_z \\
+ \end{cases}.
+\end{equation}
+Hence \(\upsilon_{x}=\alpha_{x}\sqrt{F_{x}}\),
+\(\upsilon_{y}=\alpha_{y}\sqrt{F_{y}}\),
+\(\upsilon_{z}=\alpha_{z}\sqrt{F_{z}}\) where \(\alpha_{x,y,z}\) are constants of
+proportionality. Therefore, to obtain wind velocity to take square root of the
+value measured by the load cell and multiply it by some coefficient determined
+empirically during anemometer calibration.
+
+\subsection{Three-dimensional ACF of wind velocity}
+
+One-dimensinoal wind velocity probability density function that is defined piecewise.
+One piece starts at \(-\infty\) and goes up
+to \(\Mode{x}\), and the second one starts at \(\Mode{x}\) and goes to \(\infty\).
+Both pieces use the formula that is similar to Weibull distribution which does not
+have \(x\) before the exponent and is similar to normal distribution which
+parameterise the power of \(x\). Probability density function is written as
+\begin{equation}
+ f(x) =
+ \begin{cases}
+ a_1\exp\left(-\left(b_1\left|x-\Mode{x}\right|\right)^{c_1}\right)
+ \qquad \text{if }x < \Mode{x} \\
+ a_2\exp\left(-\left(b_2\left|x-\Mode{x}\right|\right)^{c_2}\right)
+ \qquad \text{if }x \geq \Mode{x} \\
+ \end{cases}.
+\end{equation}
+Here \(a_{1,2}>0\), \(b_{1,2}>0\) and \(c_{1,2}>0\) are parameters of the distribution
+that control the shape of the exponent.
+
+One-dimensional autocorrelation function is written as
+\begin{equation}
+ \rho\left(t\right) = a_3 \exp\left(-\left(b_3 t\right)^{c_3} \right).
+\end{equation}
+Here \(a_3>0\), \(b_3>0\) and \(c_3>0\) are parameters of the autocorrelation
+function that control the shape of the exponent.
+
+In order to construct three-dimensional autocorrelation function we assume that
+one-dimensional autocorrelation function is the same for each coordinate and
+multiply them.
+\begin{equation}
+ \rho\left(t,x,y,z\right) = a \exp\left(
+ -\left(b_t t\right)^{c_t}
+ -\left(b_x x\right)^{c_x}
+ -\left(b_y y\right)^{c_y}
+ -\left(b_z z\right)^{c_z}
+ \right).
+\end{equation}
+Here \(a>0\), \(b_{t,x,y,z}>0\) and \(c_{t,x,y,z}>0\) are parameters of the autocorrelation
+function. Parameter \(a\) is proportional to the scalar wind velocity,
+parameter \(b_{t,x,y,z}\) is proprotional to the mode of projection of wind velocity
+on the corresponding axis (the most common wind speed in the corresponding direction).
+Parameter \(c_{t,x,y,z}\) controls the shape of the autocorrelation function in
+the corresponding direction; it does not have simple relationship to the wind
+velocity statistical parameters.
+
+
\section{Results}
\section{Discussion}
diff --git a/wind.mathics b/wind.mathics
@@ -0,0 +1,3 @@
+Print[Solve[{ux^2==a1 fx,
+ uy^2==a2 fy,
+ uz^2==a3 fz},{ux,uy,uz}]]