%% Chapter 4 : Model for PV Energy Evaluation

\section{Air Mass Ratio}
\
\
\
\
Solar radiation has to pass through the earth's atmosphere to reach the surface. The atmosphere consists of various components which absorb a part of the solar radiation, hence reducing the solar radiation reaching the earth's surface. Moreover, longer the path the solar radiation takes through the atmosphere, more is the absorption and eventually more is the reduction in the amount of radiation reaching the surface.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m1}
\caption{The Air Mass Ratio is a measure of the amount of atmosphere the Sun's rays must pass through to reach Earth's surface [5]}
\label{figc3h1} %% to refer use, \ref{}
\end{figure}

From the Fig (\ref{figc3h1}) we say that the air mass ratio is the ratio of the actual distance h_{2} taken by the radiation through the atmosphere to reach the surface and the shortest distance h_{1} when the sun is directly overhead, with an additional assumption that the earth's surface is flat. The eq (\ref{amr}) give the air mass ratio formula.

\begin{equation}
\label{amr}
\text{Air Mass Ratio}\quad m=\frac{h_{2}}{h_{1}}=\frac{1}{•\sin{\beta}}
\end{equation}\\
where,\\
$ m $ = Air Mass Ratio \\
$ \beta $ = Altitude angle of the Sun $ (Degrees) $ \\

\section{Earth's Orbit}
\
\
\
\
Earth revolves around the sun in an elliptical orbit, as the eccentricity of this orbit is small the orbit is fairly circular. However, the distance of the earth from the sun varies everyday, with the furthest distance being when earth is at the aphelion and the shortest distance being when earth is at the perihelion. The Fig (\ref{figc4h2}) illusrates this variation in the distance of earth from the sun. We see that the summer solstice and the winter solstice happen at the aphelion and perihelion respectively; whereas the equinoxes happen visually in the midway between aphelion and perihelion.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m2}
\caption{Tilt of the Earth's Axis with respect to the Ecliptic Plane [5]}
\label{figc4h2} %% to refer use, \ref{}
\end{figure}

The eq (\ref{eo}) gives the variation of earth's distance from the sun.

\begin{equation}
\label{eo}
d=1.5\times10^{8}\left \{\ 1+0.017 \sin \left[ \frac{360(n-93)}{365} \right] \right\} \ \text{km}
\end{equation}\\
where,\\
$ d $ = Distance of Earth from Sun $ (km) $\\
$ n $ = Julian day number\\

\section{Solar Declination}
\
\
\
\
Earth revolves around the sun in an elliptical orbit with its north-south axis tilted at an angle of 23.45^{\circ}; this causes the apparent movement of the sun in the day sky to be the highest during the summers in the northern-hemisphere and lowest during the winters. Hence, the sun reaches the highest point in the sky on summer solstice (21^{st} June) when it is directly overhead the Tropic of cancer at latitude 23.45^{\circ}, and it is at the lowest point on the winter solstice (21^{st} December) when it is directly overhead the Tropic of Capricorn at the latitude 23.45^{\circ} below the equator. Moreover on both the vernal (21^{st} March) and autumnal (21^{st} September) equinox the sun is directly overhead the equator at latitude 0^{\circ}. The Fig (\ref{figc4h3}) illustrates this apparent movement of the sun in the day sky.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m3}
\caption{The angle between Sun and Equator is called Solar Declination [5]}
\label{figc4h3} %% to refer use, \ref{}
\end{figure}

Hence, the angle formed between the plane of the equator and the line drawn from the center of the sun to the earth's center is called the solar declination angle, which is given by eq (\ref{sdec}).

\begin{equation}
\label{sdec}
\delta =23.45 \sin \left[ \frac{360}{365} (n-81)\right]
\end{equation}\\
where,\\
$ \delta $ = Declination angle $ (Degrees) $\\

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m4}
\caption{A south-facing collector tipped up to an angle equal to its latitude is perpendicular to the Sun's rays at noon during Equinoxes [5]}
\label{figc4h4} %% to refer use, \ref{}
\end{figure}

The Fig (\ref{sdec}) shows the utilization of the solar declination angle in setting up the tilt of a solar panel for maximum energy output. It can be seen that, if the PV module located at a particular latitude is given a tilt equal to the tilt of the latitude the sun would be directly overhead the PV module on the equinoxes giving the best annual energy output performance for a fixed tilt PV module system.

\newpage

\section{Sun's Position}
\
\
\
\
The position of the sun in the sky is described using two angles: the azimuth and the altitude angle. The azimuth angle by convention is the angle made by the with respect to the south, being positive in the eastern direction and negative in the western direction. The altitude angle is angle made by the sun as measured positively from the earth's surface to its vertical position in the sky. The Fig (\ref{figc4h7}) illustrates the azimuth and altitude angles clearly.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m7}
\caption{Sun's Position described by its Altitude angle and Azimuth angle [5]}
\label{figc4h7} %% to refer use, \ref{}
\end{figure}

The eq (\ref{alt},\ref{azm}) give the formulas for the altitude and azimuth angles, it can be seen that they are functions of the latitude, the hour angle and the solar declination.

\begin{equation}
\label{alt}
\sin{(\beta)}=\cos{(L)}\cos{(\delta)}cos{(H)}+\sin{(L)}\sin{(\delta)}
\end{equation}\\
where,\\
$ \beta  $ = Altitude Angle $ (Degrees) $\\
$ H $ = Hour Angle $ (Degrees) $\\

\begin{equation}
\label{azm}
\sin{(\phi_{S})}=\frac{\cos{(\delta)}\sin{(H)}}{\cos{(\beta)}}
\end{equation}\\
where,\\
$ \phi_{S}  $ = Azimuth Angle of Sun $ (Degrees) $\\

The Fig (\ref{figc4h9}) illustrates the concept of the hour angle. It is the number of degrees that the earth rotates before the sun is directly overhead the local meridian (line of longitude passing through the location). So, the hour angle can also be defined as the difference between the local and the sun's meridian; it is positive till the point the sun crosses the local meridian ,and then on negative.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m8}
\caption{The Hour angle is he number of degrees the Earth must turn before the sun is directly over the local meridian [5]}
\label{figc4h9} %% to refer use, \ref{}
\end{figure}

The eq (\ref{ha}) gives the formula for the hour angle. The factor $ \frac{15^{\circ}}{\text{hour}} $ appears as the earth takes one hour to rotate through 15^{\circ}.

\begin{equation}
\label{ha}
\text{Hour Angle}\ H=\left(\frac{15^{\circ}}{\text{hour}}\right).(\text{hours before solar noon})
\end{equation}

The eq (\ref{hac}) provides the necessary condition for determining if th azimuth is greater or lesser than 90^{\circ} away from the south. This condition has to be applied because during spring and summer in the early morning and late afternoon the magnitude of sun's azimuth is liable to be more than 90^{\circ}; which would eventually cause the ambiguous nature of the inverse sine in eq (\ref{azm})to manifest itself.

\begin{equation}
\label{hac}
\text{if,} \quad \cos{(H)}\geq\frac{\tan{(\delta)}}{\tan{(L)}}; \hspace{1cm} \text{then,} \ |\phi_{S}|\leq90^{\circ}; \hspace{1cm} \text{otherwise,} \ |\phi_{S}|>90^{\circ}
\end{equation}

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{SunPath1}
\caption{Sun Path Diagram generated by the Sun Path Diagram App}
\label{figc4h8} %% to refer use, \ref{}
\end{figure}

The Fig (\ref{figc4h8}) shows the output of the Sun Path Diagram App developed, for the Julian Day of 100 at 30^{\circ} latitude at a resolution of 5 minutes. The red and blue curves show the summer and winter soltice sun paths, whereas the green curve shows the sun path during the two equinoxes, and the black curve shows the sun path for the 100^{th} Julian Day.

\newpage

\section{Relationship Between Solar Time and Civil Time}

The Solar Time (ST) is the time, where everything is measured relative to the solar noon at the longitude of the location, whereas the  Civil Time (CT) is the time, where everything is measured relative to the solar noon at the longitude of the regional time zone. In order to have a connection between the ST and CT two adjustments : Longitude adjustment and Equation of time adjustment, have to be done.\\

The Longitude correction involves the time taken by the sun to travel between the regional time meridian and the location time meridian. It takes 4 minutes for the sun to pass through 1^{\circ} of longitude due to the earth's rotation. Hence the factor of $ \frac{4 \ \text{min}}{\text{degree}} $ is seen in the eq (\ref{solartime}).\\

The Equation of time adjustment is required due to the earth's ellipticl orbit around the sun, which causes the length of the solar day (Solar noon to solar noon) to vary throughout the year. The Fig (\ref{figc4h10}) shows the variation in the length of the solar day throughout the year.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m10}
\caption{The Equation of Time plotted for all year days [5]}
\label{figc4h10} %% to refer use, \ref{}
\end{figure}

The eq (\ref{eot}) give the expression for calculating equation of time.

\begin{equation}
\label{eot}
E= 9.87\sin{(2B)} -7.53\cos{(B)} -1.5\sin{(B)} \quad \text{minutes}
\end{equation}

\begin{equation}
\label{eotb}
B=\frac{360}{364}(n-81)
\end{equation}\\
where,\\
$ E $ = Equation of Time $ (mins) $ \\
$ B $ = Equation of Time angle $ (Degrees) $

Finally, combining everything together we get the connection between the ST and CT whic is given by the eq (\ref{solartime}).

\begin{equation}
\label{solartime}
\text{Solar Time (ST)}= \text{Clock Time (CT)}+ \frac{4 \ \text{min}}{\text{degree}}(\text{Local Time Meridian}- \text{Local Logitude})^{\circ} + E(\text{min})
\end{equation}

\subsection{Sunrise and Sunset Times}
\
\
\
\
The eq (\ref{alt},\ref{azm}) can be used to calculate the sun rise and sun set times approximately. These equations are solve for the hour angle  by putting \beta = 0 (since altitude angle of the sun during sun rise and set is zero) as seen in eq (\ref{sunrise1},\ref{sunrise2}),

\begin{equation}
\label{sunrise1}
\sin{(\beta)}=\cos{(L)}\cos{(\delta)}cos{(H)}+\sin{(L)}\sin{(\delta)}=0
\end{equation}

\begin{equation}
\label{sunrise2}
\cos{(H)}=-\frac{\sin{(L)}\sin{(\delta)}}{\cos{(L)}\cos{(\delta)}}=-\tan{(L)}\tan{(\delta)}
\end{equation}

Hence, solving for the hour angle we get eq (\ref{sunrise3}).

\begin{equation}
\label{sunrise3}
H_{SR}=\cos^{-1}{(-\tan{(L)}\tan{(\delta)})} \quad \text{(+ for sunrise)}
\end{equation}

As we have see that the earth rotates $ 15^{\circ}/h $, we get the geometric sunrise time from the eq (\ref{sunrise4}).

\begin{equation}
\label{sunrise4}
\text{Sunrise(geometric)}= 12:00-\frac{H_{SR}}{15^{\circ}/h}
\end{equation}

The geometric sun rise time refers to the point in time when the sun's center has crossed the horizon, which makes it inaccurate. Moreover, the the refraction caused by the atmosphere causes the sun to appear to rise about 2.4 minutes earlier than the geometric sun rise time and set 2.4 minutes later. Also, the definition of sun rise and sun set according to the weather services is the time when the upper limb of the sun crosses the horizon, but for us it is the crossing of the sun's center across the horizon. Futhermore, this is complicated even more by the fact that the sun rises and sets quicker around equinoxes than around the solstices due to the additional sideward movement the the later periods. Hence, in order to adjust to all these factors an adjustment factor called Q is given by the U.S. Department of Energy in 1978, its expression is given in eq (\ref{sunrise5}).

\begin{equation}
\label{sunrise5}
Q=\frac{3.467}{\cos{(L)}\cos{(\delta)}\sin{(H_{SR})}} \quad (\text{min})
\end{equation}\\
where,\\
$ Q $ = Adjustment factor $ (mins) $ \\

\newpage

\section{Types of Radiation}
\
\
\
\
The solar radiation striking the solar collector (PV modules) consists of three components. The first one is the direct-beam radiation, it is the part of solar radiation which passes in a straight line through the atmosphere to the solar collector. The second is the diffuse radiation, it the part of solar radiation which is scattered by the molecules and aerosols. Finally the last one is the reflected radiation, it is the part of solar radiation which gets reflected from the ground surface onto the solar collectors surface. The Fig (\ref{figc4h11}) illustrates the three components of solar radiation which are impressed on the solar collectors surface.\\

Note: All the equations henceforth for solar radiation were developed by Threkeld and Jordan (1958), these equations are used in the AHRAE Clear-Day Solar Flux Model.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{m11}
\caption{Solar radiation striking a collector is a combination of Direct Beam, Diffuse and Reflected radiations [5]}
\label{figc4h11} %% to refer use, \ref{}
\end{figure}

The Fig (\ref{figc4h12}) shows the extra-terrestrial solar insolation, which is the the solar radiation passing perpendicularly through an imaginary surface just outside earth's surface.

\begin{figure}[H]
\centering
\includegraphics[scale=1]{m12}
\caption{Extraterrestrial Solar Flux [5]}
\label{figc4h12} %% to refer use, \ref{}
\end{figure}

The eq (\ref{etr1}) gives the expression for the extra-terrestrial solar insolation.

\begin{equation}
\label{etr1}
I_{0}=\text{SC}. \left[1+0.0334\cos\left(\frac{360n}{365}\right)\right] \quad (\text{W/m}^{2})
\end{equation}\\
where,\\
$ I_{0} $ = Extra Terrestrial Solar Insolation $ (W/m^{2}) $ \\
$ SC $ = Solar constant $ (1.353 kW/m^{2}) $ \\

\subsection{Beam Radiation}
\
\
\
\
The earth's atmosphere with its mixture of gases and man made aerosols causes the attenuation of the beam radiation passing through it due to absorption. The attenuation can be quantified approximately using the exponential decal function as given in the eq (\ref{beam1}).

\begin{equation}
\label{beam1}
I_{B}=Ae^{-km}
\end{equation}\\
where,\\
$ I_{B} $ = Beam portion of the radiation $ (W/m^{2})$\\
$ A $ = Apparent Extra-Terrestrial Flux $ (kW/m^{2})$\\
$ k $ = Optical depth \\

A given in eq (\ref{beam2}) is the apparent extra-terrestrial insolation, k given in eq (\ref{beam3}) is a dimenionless quantity called the optical depth and m is the air mass ratio as computed in eq (\ref{amr}).

\begin{equation}
\label{beam2}
A=1160+75\sin\left[\frac{360}{365}(n-275)\right] \quad (\text{W/m}^{2})
\end{equation}

\begin{equation}
\label{beam3}
k=0.174+0.035\sin\left[\frac{360}{365}(n-100)\right]
\end{equation}

The Fig (\ref{figc4h13}) illustrayes the direct beam radiation incident on a solar collector.

\begin{figure}[H]
\centering
\includegraphics[scale=1]{m14}
\caption{Incidence angle between Sun and normal to the collector surface [5]}
\label{figc4h13} %% to refer use, \ref{}
\end{figure}

The component of direct beam radiation striking the surface of the solar collector is given by the eq (\ref{beamc1}).

\begin{equation}
\label{beamc1}
I_{BC}=I_{B}\cos{(\theta)}
\end{equation}\\
where,\\
$ I_{BC} $ = Beam radiation normal to the surface of the collector $ (W/m^{2})$\\
$ \theta $ = Angle between a line drawn normal to the solar collector face and the incoming beam
radiation $ (Degrees)$\\

The Fig (\ref{figc4h14) shows a complicated geometry of a solar collector, which has a tilt angle and an azimuth angle. The computation of the incidence angle of this solar collector is done with the eq (\ref{beamc3).

\begin{figure}[H]
\centering
\includegraphics[scale=1]{m13}
\caption{Solar and Collector Azimuth and Altitude angles along with Collector Tilt angle [5]}
\label{figc4h14} %% to refer use, \ref{}
\end{figure}

\begin{equation}
\label{beamc3}
\cos{(\theta)}=\cos{(\beta)}\cos{(\phi_{S}-\phi_{C})}\sin{(\Sigma)}+\sin{(\beta)}\cos{(\Sigma)}
\end{equation}\\
where,\\
$ \phi_{S} $ = Azimuth angle of Sun $ (Degrees)$\\
$ \phi_{C} $ = Azimuth angle of the solar collector $ (Degrees)$\\
$ \sigma $ = Tilt angle of the solar collector $ (Degrees)$\\

\subsection{Diffuse Radiation}
\
\
\
\
The computation of diffuse radiation is complicated, as it includes the radiation scattered by the atmospheric gases, moisture etc., and also the radiation reflected from the surface which is scattered again by the atmosphere back to ground. It is fair to assume diffuse radiation to be coming with equal intensity from all directions (sky is assumed to be isotropic).

\begin{figure}[H]
\centering
\includegraphics[scale=1]{m16}
\caption{Diffuse radiation on a collector is assumed to be proportional to the fraction of the sky that the collector "sees"  [5]}
\label{figc4h15} %% to refer use, \ref{}
\end{figure}

The eq (\ref{diff1})shows that the diffuse radiation is always dirrectly proportional to the beam radiation, where C given by the eq (\ref{diff2}) is the sky diffuse factor.

\begin{equation}
\label{diff1}
I_{DH}=CI_{B}
\end{equation}\\
where,\\
$ I_{DH} $ = Diffused portion of the radiation striking the solar collector $ (W/m^{2})$\\
$ C $ = Sky-Diffuse factor\\

\begin{equation}
\label{diff2}
C=0.095+0.04\sin\left[\frac{360}{365}(n-100)\right]
\end{equation}

The diffuse radiation striking the solar collector depend on the amount of sky seen by the collector. Moreover, the amount of sky seen by a solar collector is inversely proportional to its tilt angle in a sinusoidal way as given in the eq (\ref{diffc1}).

\begin{equation}
\label{diffc1}
I_{DC}=I_{DH}\left(\frac{1+\cos{(\Sigma)}}{2}\right)=CI_{B}\left(\frac{1+\cos{(\Sigma)}}{2}\right)
\end{equation}

\subsection{Reflected Radiation}
\
\
\
\
The beam and diffuse radiation incident on the ground surface, results in the their reflection off the ground surface. In the simplest model it is fair to assume that the reflected radiation from the ground surface is in equal intensity in all directions as illustrated in the Fig (\ref{figc4h16}).

\begin{figure}[H]
\centering
\includegraphics[scale=1]{m15}
\caption{The ground is assumed to reflect radiation with equal intensities in all directions [5]}
\label{figc4h16} %% to refer use, \ref{}
\end{figure}

The Component reflected radiation striking the solar collector depend on the amount of ground seen by the collector. Moreover, the amount of ground seen by a solar collector is directly proportional to its tilt angle in a sinusoidal way as given in the eq (\ref{ref1}).

\begin{equation}
\label{ref1}
I_{RC}=\rho(I_{BH}+I_{DH})\left(\frac{1-\cos{(\Sigma)}}{2}\right)
\end{equation}\\
where,\\
$ I_{RC} $ = Reflected portion of the radiation striking the solar collector $ (W/m^{2})$\\
$ \rho $ = Ground Reflectance $ (Range 0.1-0.8) $\\

\subsection{Total Solar Radiation}
\
\
\
\
The total radiation striking the solar collector is the sum of the beam, diffuse and reflected  as computed in the previous sections, it is given in the eq (\ref{totc1}).

\begin{equation}
\label{totc1}
I_{C}=I_{BC}+I_{DC}+I_{RC}
\end{equation}\\
where,\\
$ I_{C} $ = Total radiation incident on the solar collector $ (W/m^{2})$

A more detailed equation for the total solar radiation striking the solar collector is given by eq (\ref{totc2}), by substituting eq (\ref{beamc1},\ref{diffc1},\ref{ref1}) in eq (\ref{totc1}).

\begin{equation}
\label{totc2}
    \begin{aligned}
        I_{C}
        =Ae^{-km} \left[ \cos{(\beta)}\cos{(\phi_{S}-\phi_{C})}\sin{(\Sigma)} \\
       & + \sin{(\beta)}\cos{(\Sigma)} + C\left(\frac{1+\cos{(\Sigma)}}{2}\right) \\ \\
      & +\rho(\sin{(\beta)}+C)\left.\left(\frac{1-\cos{(\Sigma)}}{2}\right)\right]
   \end{aligned}
\end{equation}

\section{Radiation Equations}
\
\
\
\
The equation developed in the previous sections for the beam, diffuse and reflected radiation striking the solar collector are modified for different orientations of the Solar PV modules: Fixed Tilt, Seasonal Tilt, Single Axis Tracker and Double Axis Tracker, and presented in the following sub-sections\\

\subsection{Fixed Tilt Equations}
\
\
\
\
The equations for the beam, diffuse and reflected radiations striking the solar PV module in a fixed tilt orientation are given by eq (\ref{ft1},\ref{ft2},\ref{ft3}).

\begin{equation}
\label{ft1}
I_{BC}=I_{B}\cos{(\theta)}
\end{equation}

\begin{equation}
\label{ft2}
I_{DC}=CI_{B}\left(\frac{1+\cos{(\Sigma)}}{2}\right)
\end{equation}

\begin{equation}
\label{ft3}
I_{RC}=\rho I_{B}(\sin{(\beta)}+C)\left(\frac{1-\cos{(\Sigma)}}{2}\right)
\end{equation}

\subsection{Seasonal Tilt Equations}
\
\
\
\
The equations for the beam, diffuse and reflected radiations striking the solar PV module in a fixed tilt orientation are given by eq (\ref{st1},\ref{st2},\ref{st3}).

\begin{equation}
\label{st1}
I_{BC}=I_{B}\cos{(\theta_{\text{Tilt Type}})}
\end{equation}

\begin{equation}
\label{st2}
I_{DC}=CI_{B}\left(\frac{1+\cos{(\Sigma_{\text{Tilt Type}})}}{2}\right)
\end{equation}

\begin{equation}
\label{st3}
I_{RC}=\rho I_{B}(\sin{(\beta)}+C)\left(\frac{1-\cos{(\Sigma_{\text{Tilt Type}})}}{2}\right)
\end{equation}\\
where,\\
\textit{Tilt Type} = It can be normal, summer and winter season tilt\\

\subsection{Single-Axis Tracker Equations}
\
\
\
\
The equations for the beam, diffuse and reflected radiations striking the solar PV module in a fixed tilt orientation are given by eq (\ref{sat1},\ref{sat2},\ref{sat3}).

\begin{equation}
\label{sat1}
\Sigma_{effective}=90^{\circ}-\beta +\delta
\end{equation}

\begin{equation}
\label{sat2}
I_{BC}=I_{B}\cos{(\delta)}
\end{equation}

\begin{equation}
\label{sat3}
I_{DC}=CI_{B} \left[ \frac{1+\cos{(90^{\circ}-\beta+\delta)}}{2} \right]
\end{equation}

\begin{equation}
\label{sat4}
I_{RC}=\rho(I_{BH}+I_{DH})\left[\frac{1-\cos{(90^{\circ}-\beta+\delta)}}{2}\right]
\end{equation}

\subsection{Dual Axis Tracker Equations}
\
\
\
\
The equations for the beam, diffuse and reflected radiations striking the solar PV module in a fixed tilt orientation are given by eq (\ref{tda1},\ref{tda2},\ref{tda3}).

\begin{equation}
\label{tda1}
I_{BC}=I_{B}
\end{equation}

\begin{equation}
\label{tda2}
I_{DC}=CI_{B} \left[ \frac{1+\cos{(90^{\circ}-\beta)}}{2} \right]
\end{equation}

\begin{equation}
\label{tda3}
I_{RC}=\rho(I_{BH}+I_{DH})\left[\frac{1-\cos{(90^{\circ}-\beta)}}{2}\right]
\end{equation}

\newpage

\section{Power Flow through Solar PV Grid Connected System}
\
\
\
\
The Fig (\ref{PVloss}) illustrates the power flow through a solar PV system and the various losses incurred in the this system.

\begin{figure}[H]
\centering
\includegraphics[scale=0.80]{SolarPVLosses}
\caption{Flow Diagram - Power Flow and Power Losses in a Solar PV System}
\label{PVloss} %% to refer use, \ref{}
\end{figure}

\subsection{Shading, Soiling and Incidence Angle Loss}
\
\
\
\
As seen in chapter 2, shading of PV modules leads to a reduction in power output. Shading is caused by shadows cast by near (near shading) as well as far (far shading) objects. These shadows inhibit the solar radiation from striking the PV modules causing shading and the subsequent loss in power output. To avoid shading losses the design of the PV arrays should be such that they do not cast shadow on each other, any near by objects casting shadow on the PV modules should be removed and the location of the PV system should be such that no far away objects cast shadow on the modules.\\

Soil and dust accumulated on the PV module surface reduces the amount of radiation striking the module surface causing reduction in power output. To avoid power loss due to soiling regular cleaning of PV modules has to be performed.\\

As the surface of the PV module is made out of glass there is some radiation which is reflected from the PV module surface. This results in module power loss due to the incidence angle of the beam radiation. The ASHRAE (American Society of Heating, Refrigeration, and Air Conditioning ) model for IAM is given in eq (\ref{iam}). It is a simple model as it requires only one parameter $ b_{0} $, however its accuracy reduces at higher incidence angles (Abella et al., 2003).

\begin{equation}
\label{iam}
IAM=1-b_{0} \left[ \frac{1}{ \cos {(\theta)}}-1 \right]
\end{equation}\\
where,\\
$ IAM $ = Incidence Angle Modifier\\
$ b_{0} $ = Constant\\
$ \theta $ = Incidence Angle  $ ^{\circ}C $\\

From the Fig (\ref{IAM1}) it can be observed that the IAM factor reduces from 1 at 0^{\circ} to 0 at 90^{\circ}. Hence, more the incident angle more is the reflection of the radiation from the PV module surface  . To avoid IAM losses significantly single axis or double axis tracker systems are used as they always try to maintain the incidence angle to the minimum (especially the double axis tracking system).

\begin{figure}[H]
\centering
\includegraphics[scale=0.75]{IAM}
\caption{ASHRAE IAM Model}
\label{IAM1} %% to refer use, \ref{}
\end{figure}

\subsection{Effect of Temperature and Irradiance on PV Module Output}
\
\
\
\
The PV module rated power given in the datasheet by the manufacturer is experimentally measured under the STC conditions of 25^{\circ}C temperature and 1000 W/m^{2} of irradiance. However, in the field the temperature and irradiance levels change continuously throughout the day and the year depending on the location of the PV system.\\

As we have seen in chapter 2, PV module power is directly proportional to solar irradiance and inversely proportional to temperature, there will be conditions when the module will generate lower than rated power (due to either high temperature or low irradiance or both), similarly thre can be conditions when the module generates more than the rated power (due to either low temperature or high irradiance or both). The eq (\ref{PVTemIrr}) gives the relationship between the actual power generated by the module.

\begin{equation}
\label{PVTemIrr}
P_{Actual}=P_{Rated}\left[1-\bigtriangledown T]\right \frac{G_{Actual}}{G_{STC}}
\end{equation}\\
where,\\
$ P_{Actual} $ = Actual Power generated by the PV mdule $ (W) $\\
$ P_{Rated} $ = PV module rated power $ (W) $\\
$ \bigtriangledownT $ = Difference between Ambient and STC temperatures $ (^{\circ}C)$\\
$ G_{Actual} $ = Actual Solar Irradiance $ (W/m^{2}) $\\
$ G_{STC} $ = STC Solar Irradiance $ (W/m^{2}) $\\

\subsection{Array Mismatch and Ohmic Loss}
\
\
\
\
Mismatch losses are caused due to the differences in the outputs of individual modules in an array. The major differences between modules are of two kinds: difference in open-circuit voltage and/or difference in short-circuit current. These difference eventually cause lowering of the power output of the entire array.\\

The Fig (\ref{MisMat1}) shows two modules connected in series. In a series connection voltages of individual modules get added to give the total voltage of the string and the current flowing through all modules is the same. Hence, in this case the difference in open-circuit voltage is benign, but difference in short-circuit current is severe as the current output of the entire string is determined by the lowest current producing module, this severely reduces the the power output of the entire string.

\begin{figure}[H]
\centering
\includegraphics[scale=0.75]{Mismatch1}
\caption{Mismach in Series Connnected Modules [PV Education]}
\label{MisMat1} %% to refer use, \ref{}
\end{figure}

Similarly in Fig (\ref{MisMat2}) shows two modules connected in parallel. In a parallel connection currents of individual modules get added to give the total current of the array and the voltage across all modules is the same. Hence, in this case the difference in  short-circuit curren is benign, but difference in open-circuit voltage is severe as the voltage output of the entire array is determined by the lowest voltage producing string, this severely reduces the the power output of the entire array. Hence, in order to reduce these array mismatch losses the manufacturing process of the modules have to be standardized so that every module is exactly similar to the other.

DC cabling is done to interconnect modules within a string, strings within an array and then to connect the PV system to the inverters. Also, AC cabling is done to connect the inverters to the transformer, and the transformer to the grid. All these cables add to the resistance of the PV system causing huge ohmic losses. Hence, in order to reduce these ohmic losses, the length of the cabling should be minimum and the cable material should be of low resistivity.

\begin{figure}[H]
\centering
\includegraphics[scale=1]{Mismatch2}
\caption{Mismach in Parallely Connnected Modules [PV Education]}
\label{MisMat2} %% to refer use, \ref{}
\end{figure}

\subsection{Inverter and Transformer Loss}
\
\
\
\
Inverters are at the heart of the Solar PV system, the convert the DC power generated in modules to AC power which can be fed to the grid. Additionally they perform the task of maximum power point tracking, which helps in extracting maximum power from the PV modules at every temperature and irradiance condition. However, inverters are power electronic devices which are made up of high frequency switching devices; the switching devices cause loss in power due to the swtiching losses. To avoid inverter losses, a good quality inverter should be used.\\

Transformers are another indispensible part of the grid connected Solar PV systems. They step-up the voltage of the PV system output, so that the power can be transferred to the transmission lines operating at higher voltages. But, transformers consist of copper coils which result in resistive losses, and iron cores which cause iron losses. Hence, the power output to the grid from the the PV system is reduced.

\newpage

\section{MATLAB Model Algorithm}

The Fig (\ref{figc4halgo1} ) depicts an simplified flowchart of the algorithm which is developed for the creation of the Solar Energy Estimation Application.

\begin{figure}[H]
\centering
\includegraphics[scale=0.5]{SolarAppAlgorithm}
\caption{Solar Photovoltaic Energy Estimation Schematic}
\label{figc4halgo1} %% to refer use, \ref{}
\end{figure}

\newpage

Based on the theory discussed in previous sections of this chapter and the algorithm developed as illustrated in Fig (\ref{PVloss},\ref{figc4halgo1}); a GUI based application for energy estimation solar photovoltaic grid connected power plants is developed in MATLAB, the results of which are presented in the next section and the application GUIs can be found in the Appendix.

\section{Results of Solar Energy Estimation App}
\
\
\
\
This section illustrates the results of energy simulation of Backbone 5MW Solar Power Plant. It is situated in Samakhiyali, Kutch, Gujarat. It has 145W Thin Film modules which are supported by a single axis east-west tracker system. Monthly enrgy output of the plant have been simulated in both the developed MATLAB application and then a comparison is done with the PVsyst simulation of the same plant.\\

The Table (\ref{SolarAppTab1}) gives the site and PV module information of the Backbone 5MW SPVP.

\begin{table}[H]
  \centering
  \caption{BackBone 5MW SPVP Information Table}
    \begin{tabular}{|l|c|}
    \hline
    \multicolumn{2}{|c|}{\textbf{BackBone 5MW SPVP}} \bigstrut\\
    \hline
    \multicolumn{2}{|c|}{\textbf{SITE INFORMATION}} \bigstrut\\
    \hline
    \textbf{LATITUDE} & 23.357 \bigstrut\\
    \hline
    \textbf{LONGITUDE} & 70.358 \bigstrut\\
    \hline
    \textbf{PLANT CAPACITY (MW)} & 5 \bigstrut\\
    \hline
    \multicolumn{2}{|c|}{\textbf{PV MODULE INFORMATION}} \bigstrut\\
    \hline
    \textbf{DESCRIPTION} & Micro-Amorphous \bigstrut\\
    \hline
    \textbf{MAKE} & NT-145AX \bigstrut\\
    \hline
    \textbf{CRYSTALLINE/THIN-FILM} & Thin-Film \bigstrut\\
    \hline
    \textbf{RATING (W)} & 145 \bigstrut\\
    \hline
    \textbf{Vmpp (V)} & 64.2 \bigstrut\\
    \hline
    \textbf{Impp (A)} & 2.26 \bigstrut\\
    \hline
    \textbf{Voc (V)} & 85.5 \bigstrut\\
    \hline
    \textbf{Isc (A)} & 2.54 \bigstrut\\
    \hline
    \textbf{TEMP COEFF OF Voc} & -0.32 \bigstrut\\
    \hline
    \textbf{TEMP COEFF OF Isc} & 0.07 \bigstrut\\
    \hline
    \textbf{TEMP COEFF OF Pmp} & -0.28 \bigstrut\\
    \hline
    \textbf{TOTAL MODULES} & 34485 \bigstrut\\
    \hline
    \textbf{LENGTH (mm)} & 1412 \bigstrut\\
    \hline
    \textbf{BREADTH (mm)} & 1112 \bigstrut\\
    \hline
    \textbf{AREA (m2)} & 1.570144 \bigstrut\\
    \hline
    \end{tabular}%
  \label{SolarAppTab1}%
\end{table}%

Figure (\ref{PVG1}) hows the graph of energy output of Backbone 5MW SPV for the year 2014 for different orientations computed using developed MATLAB application.

\begin{figure}[H]
\centering
\includegraphics[scale=1]{PVresultG1}
\caption{MATLAB Application Backbone Plant month-wise energy estimation for different orientations}
\label{PVG1} %% to refer use, \ref{}
\end{figure}

In the tables FT-Fixed Tilt, ST-Seasonal Tilt, E-W-Single Axis East-West Tracker, N-S-Single Axis North-South Tracker and D-A- Double Axis Tracker\\

\begin{table}[H]
  \centering
  \caption{MATLAB BackBone Application Simulation}
    \begin{tabular}{|l|r|r|r|r|r|r|}
    \hline
    \multicolumn{7}{|c|}{\textbf{MATLAB BackBone Application Simulation}} \bigstrut\\
    \hline
       & \multicolumn{1}{l|}{\textbf{Actual }} & \multicolumn{1}{l|}{\textbf{FT}} & \multicolumn{1}{l|}{\textbf{ST}} & \multicolumn{1}{l|}{\textbf{E-W}} & \multicolumn{1}{l|}{\textbf{N-S }} & \multicolumn{1}{l|}{\textbf{D-A}} \bigstrut\\
    \hline
    \textbf{Jan} & 624 & 908 & 968 & 674 & 1095 & 1134 \bigstrut\\
    \hline
    \textbf{Feb} & 678.7 & 876 & 909 & 712 & 1014 & 1064 \bigstrut\\
    \hline
    \textbf{Mar} & 917.5 & 1087 & 1066 & 992 & 1215 & 1317 \bigstrut\\
    \hline
    \textbf{Apr} & 997.4 & 817 & 832 & 800 & 859 & 1029 \bigstrut\\
    \hline
    \textbf{May} & 1030 & 787 & 832 & 858 & 845 & 1045 \bigstrut\\
    \hline
    \textbf{Jun} & 921 & 708 & 741 & 822 & 744 & 944 \bigstrut\\
    \hline
    \textbf{Jul} & 693 & 575 & 575 & 640 & 617 & 764 \bigstrut\\
    \hline
    \textbf{Aug} & 646.9 & 613 & 613 & 633 & 670 & 782 \bigstrut\\
    \hline
    \textbf{Sep} & 682.8 & 640 & 640 & 602 & 714 & 769 \bigstrut\\
    \hline
    \textbf{Oct} & 697.7 & 763 & 763 & 641 & 871 & 902 \bigstrut\\
    \hline
    \textbf{Nov} & 562.7 & 829 & 878 & 628 & 987 & 1011 \bigstrut\\
    \hline
    \textbf{Dec} & 619.9 & 949 & 1020 & 685 & 1160 & 1191 \bigstrut\\
    \hline
    \end{tabular}%
  \label{PVresultTab1}%
\end{table}%

From Figure (\ref{PVG1}) and Table (\ref{PVresultTab1}) we see that the MATLAB application estimates the month-wise energy estimation of Backbone 5MW SPV for different orientation types. It can be seen that that there is a consistent increase in estimated energy from FT to D-A; the only outlier being the E-W estimation, this is because the tracking system has maximum and minimum azimuths of 45 and -45 respectively, and it would have been beneficial to have larger azimuths for tracking.\\

Figure (\ref{PVG2}) shows the graph of energy output of Backbone 5MW SPV for different orientations computed using PVsyst.

\begin{figure}[H]
\centering
\includegraphics[scale=1]{PVresultG2}
\caption{PVsyst Backbone Plant month-wise energy estimation for different orientations}
\label{PVG2} %% to refer use, \ref{}
\end{figure}

\begin{table}[H]
  \centering
  \caption{Pvsyst BackBone Simulation Results}
    \begin{tabular}{|l|r|r|r|r|r|r|}
    \hline
    \multicolumn{7}{|c|}{\textbf{Pvsyst BackBone Simulation Results}} \bigstrut\\
    \hline
       & \multicolumn{1}{l|}{\textbf{Actual }} & \multicolumn{1}{l|}{\textbf{FT}} & \multicolumn{1}{l|}{\textbf{ST}} & \multicolumn{1}{l|}{\textbf{E-W}} & \multicolumn{1}{l|}{\textbf{N-S }} & \multicolumn{1}{l|}{\textbf{D-A}} \bigstrut\\
    \hline
    \textbf{Jan} & 624 & 866 & 967 & 908 & 985 & 1176 \bigstrut\\
    \hline
    \textbf{Feb} & 678.7 & 789 & 820 & 874 & 841 & 1023 \bigstrut\\
    \hline
    \textbf{Mar} & 917.5 & 943 & 903 & 1155 & 975 & 1250 \bigstrut\\
    \hline
    \textbf{Apr} & 997.4 & 858 & 872 & 1146 & 895 & 1189 \bigstrut\\
    \hline
    \textbf{May} & 1030 & 850 & 874 & 1183 & 923 & 1210 \bigstrut\\
    \hline
    \textbf{Jun} & 921 & 746 & 771 & 1028 & 825 & 1049 \bigstrut\\
    \hline
    \textbf{Jul} & 693 & 585 & 601 & 742 & 637 & 751 \bigstrut\\
    \hline
    \textbf{Aug} & 646.9 & 574 & 586 & 710 & 610 & 721 \bigstrut\\
    \hline
    \textbf{Sep} & 682.8 & 741 & 745 & 903 & 761 & 952 \bigstrut\\
    \hline
    \textbf{Oct} & 697.7 & 859 & 870 & 1003 & 903 & 1144 \bigstrut\\
    \hline
    \textbf{Nov} & 562.7 & 799 & 872 & 845 & 887 & 1058 \bigstrut\\
    \hline
    \textbf{Dec} & 619.9 & 804 & 911 & 808 & 929 & 1081 \bigstrut\\
    \hline
    \end{tabular}%
  \label{PVresultTab2}%
\end{table}%

From Figure (\ref{PVG2}) and Table (\ref{PVresultTab2}) we see the month-wise energy estimation of Backbone 5MW SPV for different orientation types computed using PVsyst. It can be seen that that there is a consistent increase in estimated energy from FT to D-A; here too the only outlier being the E-W estimation.\\

Table (\ref{PVresultTab3}) shows the month-wise percentage errors in the energy estimation of Backbone plant for different orientations computed using the developed MATLAB application with PVsyst being the reference.

\begin{table}[H]
  \centering
  \caption{Comparison of PVsyst and MATLAB Application}
    \begin{tabular}{|l|r|r|r|r|r|}
    \hline
    \multicolumn{6}{|c|}{\textbf{Comparison of PVsyst and MATLAB Application}} \bigstrut\\
    \hline
       & \multicolumn{1}{l|}{\textbf{FT}} & \multicolumn{1}{l|}{\textbf{ST}} & \multicolumn{1}{l|}{\textbf{E-W}} & \multicolumn{1}{l|}{\textbf{N-S }} & \multicolumn{1}{l|}{\textbf{D-A}} \bigstrut\\
    \hline
    \textbf{Jan} & -4.8 & -0.1 & 25.7 & -11.1 & 3.6 \bigstrut\\
    \hline
    \textbf{Feb} & -11.1 & -10.8 & 18.6 & -20.6 & -4 \bigstrut\\
    \hline
    \textbf{Mar} & -15.3 & -18 & 14.1 & -24.6 & -5.4 \bigstrut\\
    \hline
    \textbf{Apr} & 4.8 & 4.5 & 30.2 & 4  & 13.4 \bigstrut\\
    \hline
    \textbf{May} & 7.4 & 4.8 & 27.4 & 8.5 & 13.6 \bigstrut\\
    \hline
    \textbf{Jun} & 5.2 & 3.8 & 20 & 9.8 & 10 \bigstrut\\
    \hline
    \textbf{Jul} & 1.7 & 4.4 & 13.7 & 3.1 & -1.8 \bigstrut\\
    \hline
    \textbf{Aug} & -6.7 & -4.7 & 10.8 & -9.9 & -8.5 \bigstrut\\
    \hline
    \textbf{Sep} & 13.7 & 14.2 & 33.3 & 6.1 & 19.3 \bigstrut\\
    \hline
    \textbf{Oct} & 11.2 & 12.3 & 36.1 & 3.6 & 21.1 \bigstrut\\
    \hline
    \textbf{Nov} & -3.8 & -0.7 & 25.6 & -11.3 & 4.5 \bigstrut\\
    \hline
    \textbf{Dec} & -18.1 & -11.9 & 15.3 & -24.9 & -10.2 \bigstrut\\
    \hline
    \end{tabular}%
  \label{PVresultTab3}%
\end{table}%

From (\ref{PVresultTab3}) it is observed that the MATLAB application has underestimated the energy production on majority of the times as compared to PVsyst, also it can be seen that the errors for E-W is abnormally higher than other orientation types. If we consider absolute values of the errors the average error percentage between PVsyst and MATLAB application is 12.3\%, moreover if we do not take into account E-W values the error reduces to 9.3\%. This shows that the energy estimation model developed is computing reliable estimation of energy as it is using the site data and not the generalized data used by PVsyst.\\

Figure (\ref{PVG5}) shows a comparison between the energy estimation of the Backbone 5MW SPV, with its actual orientation of single axis east-west tracker computed using PVsyst (E-W1, associate error is Error1, in Table (\ref{PVresultTab4})) and MATLAB application (E-W2, associated error is Error2, in Table (\ref{PVresultTab4})).

\begin{figure}[H]
\centering
\includegraphics[scale=1]{PVresultG5}
\caption{Comparison of PVsyst, MATLAB and Actual Energy}
\label{PVG5} %% to refer use, \ref{}
\end{figure}

\begin{table}[H]
  \centering
  \caption{Comparison of PVsyst and MATLAB Application with Actual Energy}
    \begin{tabular}{|l|r|r|r|r|r|}
    \hline
    \multicolumn{6}{|c|}{\textbf{Comparison of PVsyst and MATLAB Application with Actual Energy}} \bigstrut\\
    \hline
       & \multicolumn{1}{l|}{\textbf{Actual }} & \multicolumn{1}{l|}{\textbf{E-W1}} & \multicolumn{1}{l|}{\textbf{E-W2}} & \multicolumn{1}{l|}{\textbf{Error1 \%}} & \multicolumn{1}{l|}{\textbf{Error2 \%}} \bigstrut\\
    \hline
    \textbf{Jan} & 624 & 908 & 674.3 & -45.5 & -8.1 \bigstrut\\
    \hline
    \textbf{Feb} & 678.7 & 874 & 711.5 & -28.8 & -4.8 \bigstrut\\
    \hline
    \textbf{Mar} & 917.5 & 1155 & 992.2 & -25.9 & -8.1 \bigstrut\\
    \hline
    \textbf{Apr} & 997.4 & 1146 & 799.5 & -14.9 & 19.8 \bigstrut\\
    \hline
    \textbf{May} & 1029.6 & 1183 & 858.5 & -14.9 & 16.6 \bigstrut\\
    \hline
    \textbf{Jun} & 921 & 1028 & 822.2 & -11.6 & 10.7 \bigstrut\\
    \hline
    \textbf{Jul} & 693 & 742 & 640.2 & -7.1 & 7.6 \bigstrut\\
    \hline
    \textbf{Aug} & 646.9 & 710 & 633 & -9.8 & 2.1 \bigstrut\\
    \hline
    \textbf{Sep} & 682.8 & 903 & 602.4 & -32.2 & 11.8 \bigstrut\\
    \hline
    \textbf{Oct} & 697.7 & 1003 & 640.7 & -43.7 & 8.2 \bigstrut\\
    \hline
    \textbf{Nov} & 562.7 & 845 & 628.3 & -50.2 & -11.7 \bigstrut\\
    \hline
    \textbf{Dec} & 619.9 & 808 & 684.6 & -30.3 & -10.4 \bigstrut\\
    \hline
    \end{tabular}%
  \label{PVresultTab4}%
\end{table}%

From Figure (\ref{PVG5}) and Table (\ref{PVresultTab4}) we can compare the performance of the PVsyst and MATLAB Application with actual plant data. It is observed that PVsyst overestimates the energy production with an average error percentage of 26\% (absolute values of errors), whereas the MATLAB application estimates the energy with an average error of 10\% (absolute values of errors). Hence, the developed MATLAB application performs better than PVsyst for energy estimation of the given plant.\\

Figure (\ref{PVG3}) shows a comparison between the energy estimation of the Backbone 5MW SPV, with its actual orientation of single axis east-west tracker computed the daily insolation time series file obtained from the plant (E-W3, associate error is Error3, in Table (\ref{PVresultTab5}) and using modified clear sky model (E-W4, associated error is Error4, in Table (\ref{PVresultTab5}).

\begin{table}[H]
  \centering
  \caption{ MATLAB Application Simulation Comparison of Actual, Insolation Mode and Clear Sky Model Mode}
    \begin{tabular}{|l|r|r|r|r|c|}
    \hline
    \multicolumn{6}{|c|}{\textbf{Comparison of Actual, Insolation Mode and Clear Sky Model Mode}} \bigstrut\\
    \hline
       & \multicolumn{1}{l|}{\textbf{Actual }} & \multicolumn{1}{l|}{\textbf{E-W3}} & \multicolumn{1}{l|}{\textbf{E-W4}} & \multicolumn{1}{l|}{\textbf{Error3 \%}} & \multicolumn{1}{l|}{\textbf{Error4 \%}} \bigstrut\\
    \hline
    \textbf{Jan} & 624 & 674.3 & 676.1 & -8.1 & -8.4 \bigstrut\\
    \hline
    \textbf{Feb} & 678.7 & 711.5 & 685.1 & -4.8 & -1 \bigstrut\\
    \hline
    \textbf{Mar} & 917.5 & 992.2 & 881.6 & -8.1 & 3.9 \bigstrut\\
    \hline
    \textbf{Apr} & 997.4 & 799.5 & 947.7 & 19.8 & 5 \bigstrut\\
    \hline
    \textbf{May} & 1029.6 & 858.5 & 1026.1 & 16.6 & 0.3 \bigstrut\\
    \hline
    \textbf{Jun} & 921 & 822.2 & 826.9 & 10.7 & 10.2 \bigstrut\\
    \hline
    \textbf{Jul} & 693 & 640.2 & 783.1 & 7.6 & -13 \bigstrut\\
    \hline
    \textbf{Aug} & 646.9 & 633 & 797.4 & 2.1 & -23.3 \bigstrut\\
    \hline
    \textbf{Sep} & 682.8 & 602.4 & 650.6 & 11.8 & 4.7 \bigstrut\\
    \hline
    \textbf{Oct} & 697.7 & 640.7 & 779.2 & 8.2 & -11.7 \bigstrut\\
    \hline
    \textbf{Nov} & 562.7 & 628.3 & 643.1 & -11.7 & -14.3 \bigstrut\\
    \hline
    \textbf{Dec} & 619.9 & 684.6 & 616.8 & -10.4 & 0.5 \bigstrut\\
    \hline
    \end{tabular}%
  \label{PVresultTab5}%
\end{table}%

\begin{figure}[H]
\centering
\includegraphics[scale=1]{PVresultG3}
\caption{Comparison of Insolation mode and modified Clear Sky Model mode}
\label{PVG3} %% to refer use, \ref{}
\end{figure}

From Figure (\ref{PVG3}) and Table (\ref{PVresultTab5}) we can compare two out of the three simulation modes of the MATLAB application i.e. Insolation File mode and modified clear sky model mode (SPV generation data has been correlated to the rainfall to drive clearness index). It is clearly observed that the modified clear sky mode performs better than the insolation file mode.\\

Figure (\ref{PVG4}) shows the graph of intra-day energy generation with a resolution of 15 minutes for three distinct seasonal days.

\begin{figure}[H]
\centering
\includegraphics[scale=1]{PVresultG4}
\caption{Intra-Day Energy Estimation of Backbone Plant }
\label{PVG4} %% to refer use, \ref{}
\end{figure}

Figure (\ref{PVG4}) shows the intra-day values of energy produced by Backbone 5MW SPV at a resolution of 15 minutes. The Gaussian bell shape of the curves are due to the Gaussian disintegration of the daily insolation value received from the plant. Hence, the application has the capability to compute energy for sub-hourly resolutions.\\

\newpage

Table (\ref{PVresultTab6}) gives the plant performance of the Backbone 5MW SPV (with E-W orientation) computed by the developed MATLAB application according to the IEC Standard 61724

\begin{table}[H]
  \centering
  \caption{Plant Performance Analysis}
    \begin{tabular}{|l|r|}
    \hline
    \multicolumn{2}{|c|}{\textbf{Plant Performance Analysis}} \bigstrut\\
    \hline
    \textbf{Final Yeild (Yf)} & 1.790451 \bigstrut\\
    \hline
    \textbf{Reference Yield (Yr)} & 2.0145 \bigstrut\\
    \hline
    \textbf{Array Yeild (Ya)} & 1.902521 \bigstrut\\
    \hline
    \textbf{Temperature Corrected Reference Yeild (Yt)} & 1.990852 \bigstrut\\
    \hline
    \textbf{Thermal Capture Loss (Lct)} & 0.023647 \bigstrut\\
    \hline
    \textbf{Array Capture Loss (Lc)} & 0.111979 \bigstrut\\
    \hline
    \textbf{Miscelleneous Capture Losses (Lcm)} & 0.088332 \bigstrut\\
    \hline
    \textbf{PR} & 0.888782 \bigstrut\\
    \textbf{System Losses (Ls)} & 0.11207 \bigstrut\\
    \hline
    \hline
    \textbf{CUF} & 0.204389 \bigstrut\\
    \hline
    \textbf{Temperature Corrected PR} & 0.87847 \bigstrut\\
    \hline
    \end{tabular}%
  \label{PVresultTab6}%
\end{table}%


\documentclass[11pt, oneside]{article}

\usepackage{../shared/preamble}
%\addbibresource{../shared/references.bib}

%\usepackage{sorting}

\title{Sorting}
\author{Arthur Ryman, {\tt arthur.ryman@gmail.com}}
\date{\today}

\begin{document}

\maketitle

\begin{abstract}
This article formalizes the notion of sorting to illustrate the relation between
a specification and an implementation, and how to prove that an implementation satisfies
a specification.
\end{abstract}

\section{Sorting}

Suppose we are given a finite list of numbers and are asked to sort it.
By sorting we mean that the result should contain exactly the same set of numbers, with the same multiplicities,
arranged in ascending order.

\subsection{Lists, $LIST$}

Let $LIST$ denote a finite sequence of integers.

\begin{zed}
LIST == \seq \num
\end{zed}

\subsection{Ascending Order $ascending$}

A list is in ascending order when any element that appears earlier in the list is less than
or equal to any element that appears later in the list.
Let $ascending$ denote the set of all lists that are in ascending order.

\begin{zed}
ascending == \{~ s: LIST | (\forall i, j: \dom s | i < j @ s(i) \leq s(j)) ~\}
\end{zed}

Although mathematically correct, the definition of $ascending$ is not in a
form that can be implemented efficiently on a computer.
The definition implies that if the list contains $n$ elements then
there are $n(n+1)/2$ pairs $(i, j)$ such that $i \leq j$ for which $s$ has to be checked.
The complexity of the direct, naive implementation of this check is therefore $O(n^2)$.
Clearly, we can reduce this complexity to $O(n)$.

\subsection{Refinement of Ascending Order $ascending1$}

A more efficient definition of ascending order is given by $ascending1$.

\begin{zed}
ascending1 == \{~ s: LIST | (\forall i: \dom s | i < \# s @ s(i) \leq s(i + 1)) ~\}
\end{zed}

Clearly, a direct implementation of this definition has complexity $O(n)$.

\subsection{Theorem $ascending = ascending1$}

Although the equivalence of $ascending$ and $ascending1$ is obvious to a human,
other similar optimizations may not be.
It is therefore instructive to prove the equivalence.

The plan of the proof is to prove $ascending \subseteq ascending1$ and $ascending1 \subseteq ascending$
which corresponds to unfolding the definition of equality for sets.

First prove $ascending \subseteq ascending1$.

\begin{argue}
s: ascending 							& assumption \\
\forall i, j : \dom s | i < j @ s(i) \leq s(j)		& def of $ascending$ \\
i: \dom s | i < \# s						& intro $i$ \\
j == i + 1								& intro $j$ \\
j \in \dom s							& def of $\dom$ \\
i < j									& def of $<$ \\
s(i) \leq s(j)							& $\forall$-elim \\
s(i) \leq s(i + 1)							& def of $j$ \\
\forall i: \dom s | i < \# s @ s(i) \leq s(i + 1)		& $\forall$-intro \\
s \in ascending1						& def of $ascending1$ \\
s: ascending \implies s \in ascending1		& $\implies$-intro \\
ascending \subseteq ascending1			& $s$-elim QED
\end{argue}

Next prove  $ascending1 \subseteq ascending$.
This proof requires induction on the length of the list.

\begin{argue}
s: ascending1							& assumption \\
\forall i: \dom s | i < \# s @ s(i) \leq s(i + 1)		& def of $ascending1$ \\
\# s = 0								& assumption \\
s \in ascending							& def of $ascending$ \\
\# s = 0 \implies s \in ascending				& $\implies$-intro \\
\# s = 1								& assumption \\
s in ascending							& def of $ascending$ \\
\# s = 1 \implies s \in ascending				& $\implies$-intro \\
n: \nat_1 | n > 1							& intro $n$ \\
\#s = n \implies s \in ascending				& inductive assumption

\end{argue}

%\printbibliography

\end{document}


\documentclass[12pt]{amsart}
\title{Optimal Ricci matrix computations.}
\begin{document}
\maketitle

\section{Notation}
\label{sec:Notation}

Throughout the paper we use $\times$ to denote pointwise multiplication. Consequently, we also use $f^{\times2}$ to denote pointwise powers. We also assume that operators are represented by matrices and functions are column vectors.

We will use $M_i$ to denote a row of a matrix, and $M_{:i}$ to denote its column.

Suppose $r$ is a row vector, $c$ is a column vector and $M$ is a matrix. We can perform pointwise operations between objects not having the same size. For example $c+M$ should be understood as the column is first promoted to a square matrix with the same column repeated. The same way we can promote a row to a matrix, or a number to any shape. Note that such extension of $+$ and $-$ preserves distributive property of matrix multiplication. We can also apply the promotion to pointwise multiplication $\times$.

We will exploit the following property:
\begin{align}\label{property}
    r(M\times c)&=(r\times c^T)M, \qquad r\text{ can be a matrix}\\
    (r\times M)c &= M(c\times r^T), \qquad c\text{ can be a matrix}.
\end{align}
Note that $r\times c^T$ gives a row vector, while $r\times c$ would give a matrix (both $r$ and $c$ would be promoted first).

\section{Initial computations}
We start with
\begin{align*}
    \Gamma(L, f, h) = \frac{1}{2} \left(L(f\times h) - f\times Lh-h\times Lf\right),
\end{align*}
which is a column vector.
We are interested in
\begin{align}
    \Gamma_2(L, f, f) &= \frac{1}{2}L\Gamma(L, f, f) - \Gamma(L, Lf, f)=\cdots=\nonumber
    \\&=\frac{1}{4} L^2f^{\times2}-L(f\times Lf)+\frac{1}{2}f\times L^2f+\frac{1}{2}(Lf)^{\times2}.\label{Gamma2}
\end{align}

We have a squared distance matrix $D$ (size $n\times x$), Laplace matrix $L$, and a set of functions $f$, one for each entry of $D$ (pair of points).

We have $f^{(i,j)}=D_{:i}-D_{:,j}$. We take a difference of two columns. Hence we have $n^2$ functions with $n$ entries each. This makes it hard to store all of them.

Each function $f^{(i,j)}$ is used to find one entry $R_{i,j}$ in the Ricci matrix:
\begin{align*}
    R_{i,j} = \Gamma_2(L, f^{(i,j)}, f^{(i,j)})_{i}.
\end{align*}
We take $i$-th row from a column vector $\Gamma_2(\ldots)$.
\section{One row in Ricci matrix}
\label{sec:RowInRicci}
We will try to compute the whole row of the Ricci matrix at once.

We define the functions matrix $F(i)=D_{:i}-D$.  Then $F(i)$ encodes all functions $f^{(i,\cdot)}$ as its columns.

We can use $F(i)$ in place of $f$ in the formula \eqref{Gamma2} for $\Gamma_2$. We get
\begin{align*}
    R_{i} = \left(\frac{1}{4} L^2F(i)^{\times2}-L(F(i)\times LF(i))+\frac{1}{2}F(i)\times L^2F(i)+\frac{1}{2}(LF(i))^{\times2}\right)_{i}.
\end{align*}
Since we are computing just one row, we can do that in each term. To further simplify the notation we drop $(i)$ from $F$.

Note that for matrices $(A \times B)_i = A_i\times B_i$ and $(AB)_i = A_i B$. Hence
\begin{align}\label{RicciRow}
    R_{i} = \frac{1}{4} (L^2)_i F^{\times2}-L_i(F\times LF)+\frac{1}{2}F_i\times (L^2)_iF+\frac{1}{2}(LF)^{\times2}_i.
\end{align}

First note that
\begin{align*}
LF = L(D_{:i}-D)=(LD)_{:i}-LD.
\end{align*}

We can precompute a few matrix products independent of $i$:
\begin{align*}
    A&=L^2,\\
    B&=LD,\\
    C&=AD.
\end{align*}
\textbf{Note that $B$ and $C$ are not symmetric, since products of symmetric matrices generally are not symmetric.}

Now we will look at each term in \eqref{RicciRow}. The last term is the simplest:
\begin{align*}
    (LF)^{\times2}_i&=(B_{:i}-B)^{\times2}_i=(B_{ii}-B_i)^{\times2}
    \\&=
    (B^{\times2})_i+(B^{\times2})_{ii}-2B_i\times B_{ii}.
\end{align*}
Hence it can be computed as row$\times$row operation.

    The first term can also be simplified:
    \begin{align*}
	(L^2)_i F^{\times2} &= A_i(D^{\times2}+D^{\times2}_{:i}-2D\times D_{:i})
			\\&=
			A_iD^{\times2}+A_i(D^{\times2})_{:i} -2 A_i (D\times D_{:i})
			\\&=
			(A D^{\times2})_i+(A D^{\times2})_{ii} -2 (A\times D)_iD,
    \end{align*}
    In the last step we used symmetry of $D$ and \eqref{property}. For nonsymmetric matrix column $D_{:,i}$ would simply need to be transposed instead of changing to $D_i$.
    Next we have
    \begin{align*}
	F_i\times (L^2)_iF &= (D_{ii}-D_i)\times [A_i (D_{:i}-D)]
	\\&=
	(D_{ii}-D_i)\times ((AD)_{ii}-(AD)_i)
	\\&=
	(D_{ii}-D_i)\times (C_{ii}-C_i)
	\\&=
	(D\times C)_i + (D\times C)_{ii} - D_i\times C_{ii},
    \end{align*}
    since $D_{ii}=0$.
    Finally
    \begin{align*}
	L_i(F\times LF)&=L_i((D_{:i}-D) \times (B_{:i}-B)) =
	\\&=
	L_i\left(D\times B+(D\times B)_{:i}-D\times B_{:i}-B\times D_{:i}\right)=
	\\&=
	G_i+G_{ii}-(L_i\times (B^T)_i)D-(L_i\times D_i)B
	\\&=
	G_i+G_{ii}-(L\times B^T)_{i}D-(L\times D)_iB,
    \end{align*}
    where $G=L(D\times B)$.

    To make our notation even more compact we let $diag(M)$ be a column vector composed of the diagonal elements of $M$. Then
    \begin{align*}
	\overline M = M + diag(M)
    \end{align*}
satisfies
\begin{align*}
\overline M_i = M_i+M_{ii}.
\end{align*}
With this notation we can represent a row of Ricci matrix (given by \eqref{RicciRow}) as
\begin{align*}
    R_i &= \frac{1}{4}\left( \overline{AD^{\times2}} \right)_i -  \frac{1}{2}(A\times D)_i D
    \\&
    -\left( \overline{L(D\times B)} \right)_i +(L\times B^T)_iD +(L\times D)_i B
    \\&
    + \frac{1}{2}\left(  \overline{D\times C}\right)_i - \frac{1}{2}D_i\times C_{ii}
    \\&
    + \frac{1}{2}\left(\overline{ B^{\times2}}\right)_i - B_i\times B_{ii}.
\end{align*}

\section{Full Ricci matrix}
Note that the formula for the row of the Ricci matrix contains only take a row operations for various matrices. We can also combine all overline operations. Hence

\begin{align}
    R &= \overline{\frac{1}{4}AD^{\times2} -L(D\times B) +\frac{1}{2}D\times C + \frac{1}{2}B^{\times2}}\nonumber
    \\&
    +\left((L\times B^T)-  \frac{1}{2}(A\times D)\right)D +(L\times D) B\label{2ndline}
     \\&
     - \frac{1}{2}D\times diag(C) - B\times diag(B),\nonumber
\end{align}
with $A=L^2$, $B=LD$ and $C=AD$, a $diag$ denoting a column vector composed of the diagonal of a matrix.

\section{Order of computations}
\label{sec:OrderOfComputations}

We want to minimize the number of multiplications while keeping memory requirement small. Clearly, 7 matrix multiplications and 3 extra matrices are enough. Although it should be possible to bring this down to 2 extra matrices. Furthermore, Laplacian could be just computed as needed, since it is really fast.

\subsection{Only 2 temporary matrices}
\label{sec:Only2Temporary}

We will avoid computing $A$ by taking $L$ out of the first two terms.
\begin{itemize}
    \item Compute $B\leftarrow D^{\times2}/4$ first, then $A\leftarrow LB$ (1st M-M multiply).
    \item Compute $B\leftarrow LD$ (2nd M-M multiply), then $A\leftarrow A-D\times B$.
    \item Now $R\leftarrow LA$ (3rd M-M multiply).
    \item Compute $A\leftarrow LB$ (4th M-M multiply, called C in the section above), then finish adding $diag$ terms and overline.
\end{itemize}
Now we need the second line terms from \eqref{2ndline}. We already have $B$ computed.
\begin{itemize}
    \item Find $A\leftarrow LL$ (5th M-M multiply), then $A\leftarrow \Big((L\times B^T)-  \frac{1}{2}(A\times D)\Big)$.
            \item Now $R \leftarrow R+AD$ (6th M-M multiply, full dgemm).
                \item Finally, $A\leftarrow D\times L$, then $R\leftarrow R+AB$ (7th M-M multiply, full dgemm).
\end{itemize}

\end{document}


\mainsection{Math Library}
Eventually we expect every floating point type to
have a full set of math functions.
Remember the \verb|ClearIEEE| type is must faster than
the \verb|ClearFixed<K,F>| type, but the \verb|SecretFixed<K,F>|
is generally much faster than the \verb|SecretIEEE| type.
To include the functions in the math library use
\begin{lstlisting}
    use scale_std::math::*;
\end{lstlisting}
This captures traits \verb|Floor|, \verb|FAbs|
and \verb|Sqrt| (implementing member functions
\verb|floor()|, \verb|fabs()| and \verb|sqrt()| respectively),
plus also a supertrait called
\verb|Float| which captures much of the properties
common to all floating point types.

Currently the following are available (we comment the
function out if it is not yet fully tested/implemented):

\subsection{Generic Routines}

\func{poly_eval(poly, x)}
This generic function with signature
\begin{lstlisting}
  pub fn poly_eval<S, C, const N: u64>(poly: Array<C, N>, x: S) -> S
  where
    S: Float,
    S: Add<C, Output = S>,
    S: Mul<S, Output = S>,
    C: Float,
\end{lstlisting}
allows one to evaluate a polynomial in type \verb|C|
(a clear floating point type) at a value of type
\verb|S| (which is either the {\em same} clear floating
point type, or its {\em associated} secret variant).

\func{Pade(P, Q, x)}
This generic function with signature
\begin{lstlisting}
  pub fn Pade<S, C, const N: u64>
   (poly_p: Array<C, N>, poly_q: Array<C, N>, x: S) -> S
  where
    S: Float,
    S: Add<S, Output = S>,
    S: Mul<S, Output = S>,
    S: Div<S, Output = S>,
    S: Mul<C, Output = S>,
    S: From<C>,
    C: Float,
\end{lstlisting}
allows one to evaluate the Pade approximation given
by polynomials $P$ and $Q$ in type \verb|C|
(a clear floating point type) at a value of type
\verb|S| (which is either the {\em same} clear floating
point type, or its {\em associated} secret variant).
The polynomials $P$ and $Q$ must have the same degree.

All floating point types \verb|T| have predefined constants
\begin{lstlisting}
   T::two_pi();
   T::pi();
   T::half_pi();
   T::ln2();
   T::e();
\end{lstlisting}

\subsection{ClearIEEE}
The following are all implemented via a local function call
to the SCALE C++ runtime; thus are relatively fast.
\begin{lstlisting}
    let c = ClearIEEE::from(0.5431);
    let t = c.acos();
    let t = c.asin();
    let t = c.atan();
    let t = c.cos();
    let t = c.cosh();
    let t = c.sin();
    let t = c.sinh();
    let t = c.tan();
    let t = c.tanh();
    let t = c.exp();
    let t = c.exp2()
    let t = c.log();
    let t = c.log2();
    let t = c.log10();
    let t = c.ceil();
    let t = c.fabs();
    let t = c.floor();
    let t = c.sqrt();
\end{lstlisting}
Note, \verb|exp2()| computes the function $2^x$.

\subsection{SecretIEEE}
The following functions are implemented
\begin{lstlisting}
    let s = SecretIEEE::from(0.5431);
    let t = s.acos();
    let t = s.asin();
    let t = s.atan();
    let t = s.cos();
    let t = s.cosh();
    let t = s.sin();
    let t = s.sinh();
    let t = s.tan();
    let t = s.tanh();
    let t = s.exp();
    let t = s.exp2()
    let t = s.log();
    let t = s.log2();
    let t = s.log10();
    let t = s.ceil();
    let t = s.fabs();
    let t = s.floor();
    let t = s.sqrt();
\end{lstlisting}
Note logarithms of negative values result in undefined
behaviour.

\subsection{ClearFixed}
The following functions are implemented
\begin{lstlisting}
    let c: ClearFixed<40,20>= ClearFixed::from(0.5431);
    let t = c.acos();
    let t = c.asin();
    let t = c.atan();
    let t = c.cos();
    let t = c.cosh();
    let t = c.sin();
    let t = c.sinh();
    let t = c.tan();
    let t = c.tanh();
    let t = c.exp();
    let t = c.exp2()
    let t = c.log();
    let t = c.log2();
    let t = c.log10();
    let t = c.ceil();
    let t = c.fabs();
    let t = c.floor();
    let t = c.sqrt();
\end{lstlisting}

\subsection{SecretFixed}
The following functions are implemented
\begin{lstlisting}
    let s: SecretFixed<40,20>= SecretFixed::from(0.5431);
    let s = c.acos();
    let s = c.asin();
    let s = c.atan();
    let s = c.cos();
    let s = c.cosh();
    let s = c.sin();
    let s = c.sinh();
    let s = c.tan();
    let s = c.tanh();
    let s = c.exp();
    let s = c.exp2()
    let s = c.log();
    let s = c.log2();
    let s = c.log10();
    let s = c.ceil();
    let s = c.fabs();
    let s = c.floor();
    let s = c.sqrt();
\end{lstlisting}


\chapter{Multiscale Entropy Theory}
\label{ch_entrop}
\index{entropy}
\section{Entropy and Image Restoration}

\subsection{Introduction}

The term ``entropy'' is due to Clausius (1865), and the concept of
entropy was introduced by Boltzmann into statistical mechanics
in order to measure the number of microscopic ways that a given macroscopic
state can be realized. Shannon (1948) \cite{ima:shannon48} founded the mathematical theory of
communication when he suggested that the information gained in a
measurement depends on the number of possible outcomes out of
which one is realized. Shannon also suggested that
the entropy can be used for maximization of the bit transfer rate under
a quality constraint. Jaynes (1957) \cite{entropy:jaynes57}
proposed to use the entropy measure
for radio interferometric image deconvolution,  in
order to select between a set of possible solutions that which contains the
minimum of information or, following his entropy definition, that
which has maximum entropy. In principle, the solution verifying such
a condition should be the most reliable. A great deal of work has been
carried out
in the last 30 years on the use of the entropy for the general problem
of data filtering and deconvolution
\cite{entropy:ables74,entropy:bontekoe94,entropy:burg67,entropy:frieden75,entropy:gull91,entropy:narrayan86,starck:pan96,entropy:skilling89,entropy:weir92,entropy:djafari94,entropy:djafari98}.

Traditionally information and entropy are determined from events and the
probability of their occurrence.  Signal and noise are basic building-blocks
of signal and data analysis in the physical sciences.  Instead of the
probability of an event, we are led to consider the probabilities of our
data being either signal or noise.

Observed data $Y$ in the physical sciences
are generally corrupted by noise, which is often additive and which
follows in many cases a Gaussian distribution, a Poisson distribution, or
a combination of both.  Other noise models may also be considered.
 Using Bayes' theorem to evaluate the probability distribution of the
realization of the original signal $X$,
knowing the data $Y$, we have

\begin{eqnarray}
 \mathrm{p}(X|Y) = \frac{\mathrm{p}(Y|X).\mathrm{p}(X)}{\mathrm{p}(Y)}
\label{eqn_bayes}
\end{eqnarray}
$\mathrm{p}(Y|X)$ is the conditional probability distribution of getting the data
$Y$ given an original signal $X$, i.e.\ it represents the distribution
of the noise. It is given, in the case of uncorrelated Gaussian
noise with variance $\sigma^2$, by:
\begin{eqnarray}
 \mathrm{p}(Y|X) = \mathrm{exp} \left\{
-\sum_{pixels} \frac{ (Y-X)^2}{2{\sigma}^2} \right\}
\label{eqn_proba}
\end{eqnarray}
The denominator in  equation \ref{eqn_bayes} is independent of $X$ and
 is considered as a constant (stationary noise).
$\mathrm{p}(X)$ is the a priori distribution
of the solution $X$. In the absence of any information on the solution
$X$ except its positivity, a possible course of action
is to derive the probability
of $X$ from its entropy, which is defined from information theory.

The main idea of information theory \cite{ima:shannon48} is to establish
a relation between the received information and the probability of
the observed event \cite{ima:bijaoui84}. If we note ${\cal I}(E)$ the information
related to the event $E$, and $p$ the probability of this
event happening, then we consider that
\begin{eqnarray}
%\cal{I}(E) =    f(p)
{\cal I}(E) = f(p)
\end{eqnarray}

Then we assume the two following principles:
\begin{itemize}
\item The information is a decreasing function of the probability. This
implies that the more information we have, the  less will be the probability
associated with one event.
\item Additivity of the information. If we have two independent events
$E_1$ and $E_2$, the information ${\cal I}(E)$ associated with the happening
of both is equal
to the addition of the information of each of them.
\begin{eqnarray}
{\cal I}(E) = {\cal I}(E_1) + {\cal I}(E_2)
\end{eqnarray}
\end{itemize}

Since $E_1$ (of probability $p_1$) and $E_2$ (of probability $p_2$) are
independent, then the probability of both happening is equal to the
product of $p_1$ and $p_2$.  Hence
\begin{eqnarray}
f(p_1 p_2) = f(p_1) + f(p_2)
\end{eqnarray}

Then we can say that the information measure is
\begin{eqnarray}
{\cal I}(E) = k \ln(p)
\end{eqnarray}
where k is a constant. Information must be positive, and $k$
is generally fixed at $-1$.

Another interesting measure is the mean information which is denoted
\begin{eqnarray}
H = - \sum_i p_i \ln(p_i)
\end{eqnarray}
This quantity is called the entropy of the system and was established by
Shannon in 1948 \cite{ima:shannon48}.

This measure has several properties:
\begin{itemize}
\item It is maximal when all events have the same probability
$p_i = 1/ N_e$ ($N_e$ being the number of events), and is equal to
$\ln(N_e)$. It is in this
configuration that the system is the most undefined.
\item It is minimal when one event is sure. In this case, the system is
perfectly known, and no information can be added.
\item The entropy is a positive, continuous, and symmetric function.
%\item The mean information, obtained in two steps, can be added.
\end{itemize}

If we know the entropy $H$ of the solution (the next section
describes different ways to calculate it),
we derive its probability by
\begin{eqnarray}
\mathrm{p}(X) = \mathrm{exp}(- \alpha H(X))
\label{info_prop}
\end{eqnarray}

Given the data, the most probable image is obtained by maximizing
$\mathrm{p}(X|Y)$. Taking the logarithm of equation \ref{eqn_bayes}, we
thus need to maximize
\begin{eqnarray}
 \ln (\mathrm{p}(X|Y))  = - \alpha  H(X) + \ln(\mathrm{p}(Y|X)) -
\ln(\mathrm{p}(Y))
\end{eqnarray}
The last term is a constant and can be omitted.
Then, in the case of Gaussian noise, the solution is found by minimizing
\begin{eqnarray}
J(X) = \sum_{pixels} \frac{{(Y-X)}^{2}}{2 {\sigma}^{2}} + {\alpha} H(X)
= \frac{{\chi}^2}{2} + {\alpha} H(X)
\label{eqn_j1}
\end{eqnarray}
which is a linear combination of two terms: the entropy of the signal,
and a quantity corresponding to ${\chi}^2$ in statistics measuring the
discrepancy between the data and the predictions of the model.
$\alpha$ is a parameter that can be viewed alternatively as
a Lagrangian parameter or a value fixing the relative weight between
the goodness-of-fit and the entropy H.

For the deconvolution problem, the object-data relation is given by the
convolution
\begin{eqnarray}
Y = P * X
\end{eqnarray}
where $P$ is the point spread function, and the solution is found (in the case
of Gaussian noise) by minimizing
\begin{eqnarray}
J(X) = \sum_{pixels} \frac{{(Y-P*X)}^{2}}{2 {\sigma}^{2}} + {\alpha} H(X)
\end{eqnarray}

The way the entropy is defined is fundamental, because from its definition
will depend the solution. The next section discusses the different approaches
which have been proposed in the past.

\clearpage
\newpage

\subsection{The concept of entropy}
\label{sect_entr}
We wish to estimate an unknown probability density $p(X)$ of the data.
 Shannon \cite{ima:shannon48}, in the framework of the information
 theory, has defined the entropy of an image $X$ by
\begin{eqnarray}
H_s(X) = - \sum_{k=1}^{N_b} p_k \log p_k
\end{eqnarray}
where  $X=\left\{X_1,.. X_N \right\}$ is an image
containing integer values, $N_b$ is number of possible values which can
take a given pixel $X_k$
(256 for a 8 bits image), and
 $p_k$ values are derived the histogram of $X$:
\begin{eqnarray}
p_k = {  \mbox{\#} X_j = k \over  N}
\end{eqnarray}
$\mbox{\#} X_j = k $ giving the number of pixels  $X_j = k$.

If the image contains floating values, it is possible to
to build up the histogram $L$ of values $L_i$, using
a suitable interval $\Delta$, counting up how many times $m_k$ each interval
$(L_k, L_k + \Delta)$ occurs among the N occurrences. Then the probability
that a data value belongs to an interval $k$ is $p_k = \frac{m_k}{N}$, and
each data value has a probability $p_k$.

The entropy is minimum and equal to zero when the signal is flat, and
increases when we have some fluctuations. Using this entropy in
equation~\ref{eqn_j1} leads to minimize:
\begin{eqnarray}
J(X) = \frac{{\chi}^2}{2} + {\alpha} H_s(X)
\label{eqn_j2}
\end{eqnarray}
It is a minimum entropy restoration method.

The trouble with this approach is that, because the number of occurrences is
finite, the estimate $p_k$ will be in error by an amount proportional
to $m_k^{-\frac{1}{2}}$~\cite{entropy:frieden91}. The error becomes significant when
$m_k$ is small. Furthermore this kind of entropy definition is not
easy to use for signal restoration, because the gradient of
equation~\ref{eqn_j2} is not easy to compute.
For these reasons, other
entropy functions are generally used. The main ones are:
\begin{itemize}
\item Burg \cite{entropy:burg67}:
\begin{eqnarray}
H_b(X) = -\sum_{k=1}^N \ln(X_k)
\end{eqnarray}
\item Frieden \cite{entropy:frieden75}:
\begin{eqnarray}
H_f(X) = -\sum_{k=1}^N X_k \ln(X_k)
\end{eqnarray}
\item Gull and Skilling \cite{entropy:gull91}:
\begin{eqnarray}
H_g(X) = \sum_{k=1}^N  X_k - M_k - X_k \ln({X_k \over M_k})
\end{eqnarray}
where $M$ is a given model, usually taken as a flat image
\end{itemize}
where $N$ is the number of pixels, and $k$ represents an index pixel.

Each of these entropies can be used, and they correspond to different
probability distributions that one can associate with
an image \cite{entropy:narrayan86}.
(See \cite{entropy:frieden75,entropy:skilling89} for descriptions).
The last definition of the entropy has the advantage of having a zero
 maximum when $X$ equals the model $M$.
All of these entropy measures are negative (if $X_k > 1$),
and maximum when the image is flat.
They are negative because an offset term is omitted which has no importance
for the minimization of the functional. The fact that we consider that
a signal has maximum information value when it is flat is evidently
a curious way to measure information. A consequence is that we must
now maximize the entropy if we want a smooth solution, and
the probability of $X$
must be redefined by:
\begin{eqnarray}
\mathrm{p}(X) = \mathrm{exp}(\alpha H(X))
\end{eqnarray}
The sign has been inverted
(see equation~\ref{info_prop}), which is natural if we want the best
solution to be the smoothest. These three entropies, above, lead to the
Maximum Entropy Method method (MEM), for which the
solution is found by minimizing
(for Gaussian noise)
\begin{eqnarray}
J(X) = \sum_{k=1}^N \frac{{(Y_k-X_k)}^{2}}{2 {\sigma}^{2}} - {\alpha} H(X)
\label{eqn_j3}
\end{eqnarray}

These different entropy functions  which have
been proposed for image restoration have the property of being maximal when
the image is flat, and of decreasing when we introduce some information.
So minimizing the information is equivalent to maximizing the entropy, and
this has led to the well known Maximum Entropy Method (MEM). For the Shannon
entropy (which is obtained from the histogram of the data),
this is the opposite. The entropy is null for a flat image, and increases
when the data contains some information. So, if the Shannon entropy were
used for restoration, this would lead to a Minimum Entropy Method.

In 1986, Narayan and Nityanda \cite{entropy:narrayan86}
compared several entropy functions,
 and finally
concluded by saying that all were comparable if they have good
properties, i.e.\ they enforce positivity, and they have a negative
second derivative which discourages ripple. They showed also that
results varied strongly with the background level, and
that these entropy functions produced poor results
for negative structures, i.e.\ structures under the background level
(absorption area in an image, absorption band in a spectrum, etc.), and
compact structures in the signal.
The Gull and Skilling entropy gives rise to
the difficulty of estimating a model.
Furthermore it has been shown \cite{entropy:bontekoe94}
that the solution is dependent on this choice.

The determination of the $\alpha$ parameter is also not an easy task and in
fact it is a very serious problem facing the maximum entropy method.
In the historic MAXENT algorithm of Skilling and Gull, the choice of $\alpha$
is such that it must satisfy the ad hoc constraint $\chi^2=N$ when
the deconvolution is achieved, $N$ being
 the number of degrees of freedom of the system i.e.\ the number of pixels
in image deconvolution problems.
But this choice systematically leads to an under-fitting of the data
 \cite{entropy:titterington85} which is clearly apparent for imaging problems
with little blurring. In reality, the $\chi^2$ statistic is expected to
vary in the range $N\pm\sqrt{2N}$ from one data realization to another.
 In the Quantified Maximum Entropy point of view \cite{entropy:skilling89}, the
optimum value of $\alpha$ is determined by including its probability
P($\alpha$) in Bayes' equation and then by maximizing the marginal
probability of having $\alpha$, knowing the data and the model $m$.
 In practice, a value of $\alpha$ which is too large gives a resulting image
which is too regularized
\index{regularization}
with a large loss of resolution.  A value which is too small
leads to a poorly regularized solution showing unacceptable artifacts.
Taking a flat model of the prior image softens the discontinuities
which may appear unacceptable for astronomical images often containing
stars and other point-like objects. Therefore the basic maximum entropy
method appears to be not very
appropriate for this kind of image which contains high and low spatial
frequencies
at the same time. Another point to be noted
is a ringing effect of the maximum entropy method algorithm,
producing artifacts around bright sources.

 To solve these problems while still using the maximum entropy concept, some
enhancements of the maximum entropy method have been proposed.
Noticing that neighboring pixels of reconstructed images with MAXENT
could have values differing a lot in expected flat regions \cite{entropy:charter89},
Gull and Skilling introduced the concepts of hidden image $S$ and intrinsic
 correlation function $C$ (Gaussian or cubic spline-like)
in the Preblur MAXENT algorithm.
\index{maximum entropy method}
\index{MEM}
\index{intrinsic correlation function}

 The ICF describes a minimum scale length of correlation in the desired
image $O$ which is achieved by assuming that
\begin{eqnarray}
 O=C*S
\end{eqnarray}
This corresponds to imposing a
minimum resolution on the solution $O$.
Since the hidden space image $S$ is not
spatially correlated, this can be regularized by the entropy
\begin{eqnarray}
H_g(h)=\sum_{k=1}^N  S_k - M_k - S_k \ln(\frac{S_k}{M_k})
\end{eqnarray}

Since in astronomical images many scale lengths are present, the
{\it Multi-channel Maximum Entropy Method}, developed by Weir
\index{maximum entropy method}
\index{MEM}
\cite{entropy:weir91,entropy:weir92}, uses a set of
ICFs having different scale lengths, each defining a channel. The
visible-space image is now formed by a weighted sum of
 the visible-space image
channels $O_j$:

\begin{eqnarray}
  O= \sum_{j=1}^{N_c} p_j O_j
\end{eqnarray}
where $N_c$ is the number of channels.
Like in Preblur MAXENT, each solution $O_j$ is supposed to be the result of the
convolution between a hidden image $S_j$ with a low-pass filter (ICF) $C_j$:
\begin{eqnarray}
O_j = C_j * S_j
\end{eqnarray}

But such a method has several drawbacks:
\begin{enumerate}
\item The solution depends on the width of the ICFs \cite{entropy:bontekoe94}.
\item There is no rigorous way to fix the weights $p_j$ \cite{entropy:bontekoe94}.
\item The computation time increases linearly with the number of pixels.
\item The solution obtained depends on the choice of the models $M_j$
($j = 1 \dots N_c$) which were chosen independently of the channel.
\end{enumerate}
\index{intrinsic correlation function}

In 1993, Bontekoe et al.\ \cite{entropy:bontekoe94} used a special application
of this method which
they called Pyramid Maximum Entropy on infrared image data.
\index{pyramid}
The pyramidal approach allows the user to have constant ICF width, and the
computation time is reduced. It is demonstrated \cite{entropy:bontekoe94} that
all weights can be fixed ($p_j = 1$ for each channel).

This method eliminates the first three drawbacks, and
gives better reconstruction of the sharp
and smooth structures. But in addition
to the two last drawbacks, a new one is added:
as the images $O_j$ have different sizes (due to the pyramidal approach),
\index{pyramid}
the solution $O$ is built by duplicating the pixels of
the subimages $O_j$ of each channel. This procedure is known to produce
artifacts due to the  appearance of high frequencies which are
incompatible with the
real spectrum of the true image $\hat{O}$.

However this problem can
be easily overcome by duplicating the pixels before convolving with the ICF,
or expanding the channels using linear
interpolation. Thus the introduction of the ``pyramid of resolution'' has
solved some problems and brought lots of improvements to the classic maximum
entropy method, but has also raised other questions. In order to derive the
model from a physical value, Pantin and Starck \cite{starck:pan96}
introduced the wavelet
transform, and defined entropy as follows:
\begin{eqnarray}
H(O) =  \frac{1}{\sigma_I^2}\sum_{j=1}^l \sum_{k=1}^{N_j} \sigma_j( w_{j,k}- M_{j,k}- |w_{j,k}|\ln{\frac{|w_{j,k}|}{M_{j,k}}})
\label{eqn_entr}
\end{eqnarray}
where $\sigma_I$ is the noise standard deviation in the data, $l$ is the number of scales, and
$N_j$ is the number of samples in the band $j$
($N_j = N$ for the \`a trous algorithm).
The multiscale entropy is the sum of the entropy at each scale.

The coefficients $w_{j,k}$ are wavelet coefficients, and we
take the absolute value of $w_{j,k}$ in this definition because the
values of $w_{j,k}$ can be positive or negative, and a negative signal
contains also some information in
the wavelet transform.

The advantage of such a definition of entropy is
 the fact we can use previous work concerning the wavelet transform and
image restoration \cite{starck:mur95_2,starck:sta94_1,starck:sta94_4}.
The noise behavior has already been studied in the wavelet transform
and we can estimate the standard deviation of the noise $\sigma_j$
at scale $j$. These estimates can be naturally introduced in our
models $m_j$
\begin{eqnarray}
M_{j,k} = k_{m} \sigma_j
\end{eqnarray}
 The model $M_j$ at scale $j$ represents
the value taken by a wavelet coefficient in the absence of any relevant
 signal and, in  practice, it must be a small value compared to
any significant signal value.
Following the Gull and Skilling procedure, we take $M_j$ as a fraction of the
noise because the value of
$\sigma_j$ can be considered as a sort of physical limit under which a signal
cannot be distinguished from the noise ($k_m = \frac{1}{100}$).

\subsection{Conclusion}
\label{sect_5pt}

As described above, many studies
have been carried out in order to improve the functional to be minimized.
But the question which should be raised is: what is a good entropy for
signal restoration?

Trying to answer, this corresponds to asking what is the information
in the signal. We first assume that a signal $X$ can be decomposed in
several components:
\begin{eqnarray}
 X = S + B + N
\end{eqnarray}
where $S$ is the signal of interest, $B$ lis the background, and $N$  the noise.

The entropy should verify the following criteria \cite{starck:sta98_2}:
{\bf
\begin{enumerate}
\item The information in a flat signal is zero ($S=0$, $N=0$ et $B=\mathrm{Cst}$).
\item The amount of information in a signal is independent of the background
($H(X)$ is independent of $B$).
\item The amount of information is dependent on the noise
($H(X)$ is dependent of $N$).
A given signal $X$ doesn't furnish the  same information if
the noise $N$ is high or small.
\item The entropy must work in the same way for a pixel which
has a value $B + \epsilon$, and
for a pixel which has a value $B - \epsilon$.
$H(X)$ must be a function of the absolute value of $S$ instead of $S$.
\item The amount of information is dependent on the correlation in the signal.
If the signal $S$  presents large features above the noise, it contains
a lot of information. By generating a new set of  data from $S$, by
randomly taking the pixel values in $S$, the large features will
evidently disappear, and this new signal will contain less information.
But the pixel values will be the same as in $S$.
\end{enumerate}
}
% \begin{figure}[htb]
% \centerline{
% \hbox{
% \psfig{figure=lenna256.ps,bbllx=1.8cm,bblly=12.9cm,bburx=14.5cm,bbury=25.5cm,width=8cm,height=8cm,clip=}
% \psfig{figure=scrambled_lenna.ps,bbllx=1.8cm,bblly=12.9cm,bburx=14.5cm,bbury=25.5cm,width=8cm,height=8cm,clip=}
% }}
% \caption{Lena image (left) and the same data distributed differently (right).
% These
% two images have the same entropy, using any of the standard entropy methods.}
% \label{fig_lenna}
% \end{figure}
\begin{figure}[h]
\centerline{
\vbox{
\hbox{
\psfig{figure=fig_saturn.ps,bbllx=1.7cm,bblly=12.9cm,bburx=11.2cm,bbury=25.6cm,width=9.cm,height=12.3cm,clip=}
\psfig{figure=fig_saturn_scramble.ps,bbllx=1.7cm,bblly=12.9cm,bburx=11.2cm,bbury=25.6cm,width=9.cm,height=12.3cm,clip=}
% \vspace{21cm}
}
}}
\caption{Saturn image (left) and the same data distributed differently (right).
These
two images have the same entropy, using any of the standard entropy
definitions.}
\label{fig_saturn}
\end{figure}

Fig.~\ref{fig_saturn} illustrates the last point perfectly.
The second image is obtained  by distributing randomly the Saturn image pixel
values, and the standard entropy definitions  produce the same information
measurement for both images. The concept of information becomes really
subjective, or at least it depends on the application domain. Indeed, for
someone who is
not involved in image processing, the second image contains
{\em less} information
than the first one. For someone working on image transmission, it is clear
that the second image will require more bits for lossless transmission,
and from this point of view, he/she will consider that the second
image contains
{\em more} information. Finally, for data restoration, all fluctuations
due to noise are not of interest, and do not contain relevant
information. From this physical point of view,
the standard  definition of entropy seems badly adapted to information
measurement in signal restoration.

% \clearpage
% \newpage


\documentclass[simplex.tex]{subfiles}
% NO NEED TO INPUT PREAMBLES HERE
% packages are inherited; you can compile this on its own

\begin{document}
\subsection{Law of Large Graphs}
We note that low-rank methods can often be more easily interpreted. Moreover, eigenmode is observed among the embedded latent positions, with respect to different lobes in particular. This suggests to use low-rank methods from another perspective.
For all the 70 different regions based on the Desikan atlas (35 for each hemisphere), each one is assigned to one of the 10 lobes (5 for each hemisphere), i.e. Frontal, Parietal, Occipital, Temporal, and other. And we do a permutation test as following.

70 vertices are connected spatially as in the Desikan atlas. Let the adjacency matrix of these 70 vertices to be $A$. $A_{ij} = 1$ means vertex $i$ and vertex $j$ are spatially connected. We say vertex $j$ is a neighbor of vertex $i$ if $A_{ij} = 1$. We define $l_i$ be the lobe i.d. for vertex $i$.

We define a uniform $1$-flip to be:
\begin{itemize}
\item Select a pair of adjacent vertices (vertex $i_1$ and vertex $j_1$) across the boundary of lobes uniformly, i.e. $A_{i_1 j_1} = 1$ and $l(i_1) \ne l(j_1)$;
\item Uniformly select another pair of adjacent vertices (vertex $i_2$ and vertex $j_2$ where $i_1 \ne i_2$ and $j_1 \ne j_2$) across the same boundary of lobes uniformly, i.e. $A_{i_2 j_2} = 1$ and $l(i_1) = l(i_2)$ and $l(j_1) = l(j_2)$;
\item Reassign vertex $j_1$ to lobe $l_{i_1}$ and reassign vertex $i_2$ to lobe $l_{j_2}$.
\end{itemize}

By the definition, after a uniform $1$-flip, the number of vertices in each lobe keeps the same, where only two vertices are changed to a different lobe.

We define a uniform $k$-flip to be:
\begin{itemize}
\item Sequentially run the uniform $1$-flip $k$ times.
\end{itemize}

Note that after a uniform $k$-flip, the number of vertices in each lobe still keeps the same.

Let $X = [X_1, \cdots, X_n]^{\top}$ be the latent positions, where $X_i$ is the latent position for vertex $i$ sampled from distribution $f$. Test statistic $T(X, l)$ is defined as:
\[
T(X, l) = \frac{\sum_{i \ne j, l(i) = l(j)} \|X_i - X_j \|_2}{\sum_{i \ne j, l(i) = l(j)} 1} -
\frac{\sum_{i \ne j, l(i) \ne l(j)} \|X_i - X_j \|_2}{\sum_{i \ne j, l(i) \ne l(j)} 1}
\]

$H_0$: Differences between latent positions within lobes are the same compared to across lobes, i.e. $E_f[T(X, l)] = 0$.

$H_A$: Differences between latent positions within lobes are smaller compared to across lobes, i.e. $E_f[T(X, l)] < 0$.

We ran 1000 simulations for each number of flips and plot the results for the permutation test as in Figure~\ref{fig:violin}. The x-axis represents the different number of flips, while the y-axis represents the measure according to the lobe assignment, i.e. within lobes distances minus the across lobe distances. The dashed line is the baseline for the measure based on the true lobe assignment without any flipping. As the number of flips increases, we can see a clear evidence that $H_0$ is rejected with respect to $H_A$. Thus the embedded latent positions based on the low-rank method reflect the eigenmode with respect to different lobes.

\begin{figure}
\begin{cframed}
\centering
\includegraphics[height=.8\linewidth]{../../figs/violinplot_new_flip_2norm_1_8.pdf}
\caption{\textbf{Violin plot of the permutation test.} We ran 1000 simulations for each number of flips. The x-axis represents the different number of flips, while the y-axis represents the measure according to the lobe assignment, i.e. within lobes distances minus the across lobe distances. The dashed line is the baseline for the measure based on the true lobe assignment without any flipping. As the number of flips increases, we can see a clear evidence that $H_0$ is rejected with respect to $H_A$. Thus the embedded latent positions based on the low-rank method reflect the eigenmode with respect to different lobes.}
\label{fig:violin}
\end{cframed}
\end{figure}

%
\clearpage
\end{document}


% This is part of the TFTB Reference Manual.
% Copyright (C) 1996 CNRS (France) and Rice University (US).
% See the file refguide.tex for copying conditions.

\markright{tfrrppag}
\section*{\hspace*{-1.6cm} tfrrppag}

\vspace*{-.4cm}
\hspace*{-1.6cm}\rule[0in]{16.5cm}{.02cm}
\vspace*{.2cm}

{\bf \large \sf Purpose}\\
\hspace*{1.5cm}
\begin{minipage}[t]{13.5cm}
Reassigned pseudo Page time-frequency distribution.
\end{minipage}
\vspace*{.5cm}

{\bf \large \sf Synopsis}\\
\hspace*{1.5cm}
\begin{minipage}[t]{13.5cm}
\begin{verbatim}
[tfr,rtfr,hat] = tfrrppag(x)
[tfr,rtfr,hat] = tfrrppag(x,t)
[tfr,rtfr,hat] = tfrrppag(x,t,N)
[tfr,rtfr,hat] = tfrrppag(x,t,N,h)
[tfr,rtfr,hat] = tfrrppag(x,t,N,h,trace)
\end{verbatim}
\end{minipage}
\vspace*{.5cm}

{\bf \large \sf Description}\\
\hspace*{1.5cm}
\begin{minipage}[t]{13.5cm}
        {\ty tfrrppag} computes the pseudo Page distribution and its
        reassigned version. The reassigned pseudo Page distribution is
        given by the following expressions\,:
\begin{eqnarray*}
\hspace*{-.5cm}PP_x^{(r)}(t',\nu';h)=\iint_{-\infty}^{+\infty}
PP_x(t,\nu;h)\ \delta(t'-\hat{t}(x;t,\nu))\
\delta(\nu'-\hat{\nu}(x;t,\nu))\ dt\ d\nu,
\end{eqnarray*}
where
\begin{eqnarray*}
\hat{t}(x;t,\nu)=t\ \ \mbox{ and }\ \
\hat{\nu}(x;t,\nu)=\nu+\Im\left\{\dfrac{F_x(t,\nu;\ens{D}_h)\ F_x^*(t,\nu;h)}
{2\pi|F_x(t,\nu;h)|^2}\right\}.
\end{eqnarray*}
$\ens{D}_h(t)=\frac{dh}{dt}(t)$ and $F_x(t,\nu;h)$ is the short-time
Fourier transform of $x(t)$ with a causal analysis window $h(t)$.\\

\hspace*{-.5cm}\begin{tabular*}{14cm}{p{1.5cm} p{8cm} c}
Name & Description & Default value\\
\hline
        {\ty x}     & analyzed signal ({\ty Nx=length(x)})\\
        {\ty t}     & time instant(s)          & {\ty (1:Nx)}\\
        {\ty N}     & number of frequency bins & {\ty Nx}\\
        {\ty h}     & frequency smoothing window, {\ty h(0)} being forced to {\ty 1}
                                         & {\ty window(odd(N/4))}\\
        {\ty trace} & if nonzero, the progression of the algorithm is shown
                                         & {\ty 0}\\
     \hline {\ty tfr, rtfr} & time-frequency representation and its reassigned
            version\\
        {\ty hat}   & complex matrix of the reassignment vectors\\

\hline
\end{tabular*}
\vspace*{.5cm}

When called without output arguments, {\ty tfrrpmh} runs {\ty tfrqview}.
\end{minipage}

%\newpage

{\bf \large \sf Example}
\begin{verbatim}
         sig=fmlin(128,.1,.4);
         h=window(65,'gauss');
         tfrrppag(sig,1:128,128,h,1);
\end{verbatim}
\vspace*{.5cm}

{\bf \large \sf See Also}\\
\hspace*{1.5cm}
\begin{minipage}[t]{13.5cm}
all the {\ty tfr*} functions.
\end{minipage}
\vspace*{.5cm}

{\bf \large \sf Reference}\\
\hspace*{1.5cm}
\begin{minipage}[t]{13.5cm}
[1] F. Auger, P. Flandrin ``Improving the Readability of Time-Frequency and
Time-Scale Representations by the Reassignment Method'' IEEE Transactions
on Signal Processing, Vol. 43, No. 5, pp. 1068-89, 1995.
\end{minipage}