%%% Appendix for detailed workings out from CH5
\chapter{Detailed FMMD analyses}

For clarity the detailed workings of the FMMD analysis stages in many of the examples
in chapter 5 have been moved here for reference.

\section{Bubba Oscillator FMMD analyses}

Detailed workings of the FMMD for the Bubba Oscillator
are presented below.

\subsection{PHS45 Detailed Analysis}

FMEA study of a resistor and capacitor in use as a phase changer.

\label{detail:PHS45}

\begin{table}[h+]
\center
\caption{PhaseShift: Failure Mode Effects Analysis: Single Faults} % title of Table
\label{tbl:firstorderlp}

\begin{tabular}{|| l | c |  l ||} \hline
% \textbf{Failure Scenario} & &  \textbf{First Order}        &   & \textbf{Symptom}          \\ 
 %                          & &  \textbf{Low Pass Filter}    &   &                           \\
       \textbf{Failure} &  \textbf{$PHS45$ }         & \textbf{Symptom} \\ % \textbf{Derived Component}          \\ 
 \textbf{cause}   &   \textbf{Effect}                &                             \\ % \textbf{Failure Mode}          \\
                      
               \hline
     FS1: R  SHORT    &   0 degree's of phase shift      &    $0\_phaseshift$  \\        
     %                      90 degree's of phase shift   &  &    $90\_phaseshift$         
     FS2: R  OPEN     &    No Signal                     &    $nosignal$           \\ \hline
     FS3: C  SHORT    &    Grounded,No Signal            &    $nosignal$           \\ 
     FS4: C  OPEN     &    0 degree's of phase shift     &    $0\_phaseshift$           \\ \hline

\hline
\end{tabular}
\end{table}  
% PHS45 

Collecting symptoms from table~\ref{tbl:firstorderlp}, a {\dc}, $PHS45$ is created with the following failure modes:
$$    
    fm(PHS45) = \{  0\_phaseshift, nosignal   \} .
$$
\clearpage


\subsection{Bubba Oscillator: One Large Functional Group: Detailed Analysis}
\label{detail:BUBOSC1}
\begin{table}[h+]
\caption{Bubba Oscillator: Failure Mode Effects Analysis: One Large Functional Group} % title of Table
\label{tbl:bubbalargefg}
\center
\begin{tabular}{|| l | l | c | c | l ||} \hline
% \textbf{Failure Scenario} & &  \textbf{Bubba}        &   & \textbf{Symptom}          \\ 
%                           & &  \textbf{Oscillator}    &   &                           \\
                           
 \textbf{Failure} & & \textbf{$BubbaOscillator$ }      &   & \textbf{Symptom}         \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &           \\
 
               \hline


     FS1: $PHS45_1$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
    % FS3: $PHS45_1$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 

     FS3: $NIBUFF_1$  $L_{up}$      &  &  output high No Oscillation &  &    $NO_{osc}$           \\  
     FS4: $NIBUFF_1$  $L_{dn}$      &  &  output low No Oscillation  &  &     $NO_{osc}$              \\       
     FS5: $NIBUFF_1$  $N_{oop}$     &  &  output low No Oscillation  &  &     $NO_{osc}$                \\  
     FS6: $NIBUFF_1$  $L_{slew}$    &  &  signal lost                &  &   $NO_{osc}$          \\  \hline 

     FS7: $PHS45_2$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS8: $PHS45_2$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  
     %FS10: $PHS45_2$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 


     FS9: $NIBUFF_2$  $L_{up}$      &  &  output high No Oscillation &  &    $NO_{osc}$           \\  
     FS10: $NIBUFF_2$  $L_{dn}$      &  &  output low No Oscillation  &  &     $NO_{osc}$              \\       
     FS11: $NIBUFF_2$  $N_{oop}$     &  &  output low No Oscillation  &  &     $NO_{osc}$                \\  
     FS12: $NIBUFF_2$  $L_{slew}$    &  &  signal lost                &  &   $NO_{osc}$          \\  \hline 

    FS13: $PHS45_3$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS14: $PHS45_3$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
   %  FS17: $PHS45_3$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 

     FS15: $NIBUFF_3$  $L_{up}$      &  &  output high No Oscillation &  &    $NO_{osc}$           \\  
     FS16: $NIBUFF_3$  $L_{dn}$      &  &  output low No Oscillation  &  &     $NO_{osc}$              \\       
     FS17: $NIBUFF_3$  $N_{oop}$     &  &  output low No Oscillation  &  &     $NO_{osc}$                \\  
     FS18: $NIBUFF_3$  $L_{slew}$    &  &  signal lost                &  &   $NO_{osc}$          \\  \hline 

    FS19: $PHS45_4$  $0\_phaseshift$        &  &  osc frequency high               &  &   $HI_{fosc}$          \\  
     FS20: $PHS45_4$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
  %   FS24: $PHS45_4$  $90\_phaseshift$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 

     FS21: $INVAMP$  $OUTOFRANGE$             &  &  signal lost                      &  &   $NO_{osc}$          \\  
    FS22: $INVAMP$  $ZEROOUTPUT$             &  &  signal lost                      &  &   $NO_{osc}$          \\  
    FS23: $INVAMP$  $NOGAIN$             &  &  signal lost                      &  &   $NO_{osc}$          \\  
    FS24: $INVAMP$  $LOWPASS$             &  &  signal lost                      &  &   $NO_{osc}$          \\  \hline 
  

 % FS1: $CAP_{10nF}$  $OPEN$          &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 
 % FS1: $CAP_{10nF}$  $SHORT$         &  &  osc frequency low                &  &   $LO_{fosc}$          \\  \hline 
\hline

\end{tabular}
\end{table}  
Collecting symptoms from table~\ref{tbl:bubbalargefg}, the {\dc} $ BubbaOscillator $ is created with the following failure modes:
$$    
    fm(BubbaOscillator) = \{ NO_{osc}, HI_{fosc}   \} .
$$
%
%Collecting symptoms from table~\ref{} it can be shown that for single failure modes, applying $fm$ to the bubba oscillator 
%gives three failure modes:
%
%$$ fm(BubbaOscillator) = \{ NO_{osc}, HI_{fosc}\} . $$ %, LO_{fosc} \} . $$

\clearpage
\subsection{BUFF45: Detailed Analysis}
\label{detail:BUFF45}



\begin{table}[h+]
\caption{BUFF45: Failure Mode Effects Analysis} % title of Table
\label{tbl:buff45}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{BUFF45}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                           \\
\textbf{Failure} & & \textbf{$BUFF45$ }      &   & \textbf{Symptom}       \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &          \\
 
               \hline
     FS1: $PHS45_1$  $0\_phaseshift$        &  &  phase shift low              &  &   $0\_phaseshift$       \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
     %FS3: $PHS45_1$  $90\_phaseshift$         &  &  phase shift high                &  &    $90\_phaseshift$          \\  \hline 

     FS3: $NIBUFF_1$  $L_{up}$      &  &  output high   &  &    $NO_{signal}$           \\  
     FS4: $NIBUFF_1$  $L_{dn}$      &  &  output low   &  &     $NO_{signal}$              \\       
     FS5: $NIBUFF_1$  $N_{oop}$     &  &  output low   &  &     $NO_{signal}$                \\  
     FS6: $NIBUFF_1$  $L_{slew}$    &  &  signal lost                &  &   $NO_{signal}$          \\  \hline 


\hline

\end{tabular}
\end{table} 


Collecting symptoms from table~\ref{tbl:buff45}, a derived component $BUFF45$ is created which has the following failure modes:
$$
fm (BUFF45) = \{  0\_phaseshift, NO\_signal \} . % 90\_phaseshift,
$$
%

\clearpage


\subsection{PHS135BUFFERED: Failure Mode Effects Analysis} % title of Table
\label{detail:PHS135BUFFERED}


\begin{table}[h+]
\center
\caption{PHS135BUFFERED: Failure Mode Effects Analysis} % title of Table
\label{tbl:phs135buffered}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{PHS135 Buffered}         &   & \textbf{Symptom}          \\ 
  %                         & &                          &   &                           \\
 \textbf{Failure} & & \textbf{$PHS135BUFFERED$ }      &   &\textbf{Symptom}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &          \\
                      
                           
               \hline
     FS1: $PHS45_1$  $0\_phaseshift$        &  &  phase shift low              &  &   $90\_phaseshift$       \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
    %FS3: $PHS45_1$  $90\_phaseshift$         &  &  phase shift high                &  &    $180\_phaseshift$          \\  \hline 

    FS3: $PHS45_2$  $0\_phaseshift$        &  &  phase shift low              &  &   $90\_phaseshift$       \\  
     FS4: $PHS45_2$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
    % FS6: $PHS45_2$  $90\_phaseshift$         &  &  phase shift high                &  &    $180\_phaseshift$          \\  \hline 

        FS5: $PHS45_3$  $0\_phaseshift$        &  &  phase shift low              &  &   $90\_phaseshift$       \\  
     FS6: $PHS45_3$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline 
    % FS9: $PHS45_3$  $90\_phaseshift$         &  &  phase shift high                &  &    $180\_phaseshift$          \\  \hline 



\hline

\end{tabular}
\end{table} 
%
%
Collecting symptoms from table~\ref{tbl:phs135buffered}, a derived component $PHS135BUFFERED$ is created  which has the following failure modes:
$$
fm (PHS135BUFFERED) = \{ 90\_phaseshift,  NO\_signal \} .% 180\_phaseshift,
$$
%
\clearpage 


\subsection{PHS225AMP: Failure Mode Effects Analysis} % title of Table
\label{detail:PHS225AMP}
\begin{table}[h+]
\center
\caption{PHS225AMP: Failure Mode Effects Analysis} % title of Table
\label{tbl:phs225amp}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{PHS225AMP}         &   & \textbf{Symptom}          \\ 
 %                          & &  \textbf{Oscillator}    &   &                           \\
 \textbf{Failure} & & \textbf{$PHS225AMP$ }      &   & \textbf{Symptom}         \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &            \\
                               
               \hline
     FS1: $PHS45_1$  $0\_phaseshift$        &  &  phase shift low               &  &   $180\_phaseshift$       \\  
     FS2: $PHS45_1$  $no\_signal$            &  &  signal lost                      &  &   $NO_{signal}$          \\  \hline
    % FS3: $PHS45_1$  $90\_phaseshift$         &  &  phase shift high                &  &    $270\_phaseshift$          \\  \hline 

     FS3: $INVAMP$  $L_{up}$      &  &  output high   &  &    $NO_{signal}$        \\  
     FS4: $INVAMP$  $L_{dn}$      &  &  output low   &  &     $NO_{signal}$        \\       
     FS5: $INVAMP$  $N_{oop}$     &  &  output low   &  &     $NO_{signal}$        \\  
     FS6: $INVAMP$  $L_{slew}$    &  &  signal lost  &  &   $NO_{signal}$          \\  \hline 

\hline

\end{tabular}
\end{table} 
%
% Applying FMMD a {\dc} $PHS225AMP$ is created which has the following failure modes:
% $$
% fm (PHS225AMP) = \{ 180\_phaseshift,  NO\_signal \} .% 270\_phaseshift,
% $$

Collecting symptoms from table~\ref{tbl:phs225amp}, the {\dc} $PHS225AMP $ is created with the following failure modes:
$$    
    fm() = \{  180\_phaseshift,  NO\_signal   \} .
$$
\clearpage




\subsection{BUBBAOSC: Failure Mode Effects Analysis} % title of Table
\label{detail:BUBBAOSC}


\begin{table}[h+]
\center
\caption{BUBBAOSC: Failure Mode Effects Analysis} % title of Table
\label{tbl:bubba2}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{BUBBAOSC}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
                           
\textbf{Failure} & & \textbf{$BUBBAOSC$ }      &   & \textbf{Symptom}        \\ 
 \textbf{cause}   & &  \textbf{Effect}         &   &            \\
    
               \hline
     %FS1: $PHS135BUFFERED$  $180\_phaseshift$        &  &  phase shift high              &  &     $LO_{fosc}$                     \\  
     FS1: $PHS135BUFFERED$  $no\_signal$            &  &  signal lost                      &  &   $NO_{osc}$          \\  
     FS2: $PHS135BUFFERED$  $90\_phaseshift$         &  &  phase shift low                &  &    $HI_{osc}$       \\  \hline 

    % FS4: $PHS225AMP$  $270\_phaseshift$      &  &  phase shift high   &  &     $LO_{fosc}$                               \\  
     FS4: $PHS225AMP$  $180\_phaseshift$      &  &  phase shift low   &  &     $HI_{osc}$                               \\       
     FS5: $PHS225AMP$  $NO\_signal$     &  &  lost signal             &  &     $NO_{signal}$                              \\  \hline 
   

\hline

\end{tabular}
\end{table} 
%
Collecting symptoms from table~\ref{tbl:bubba2}, a {\dc} $BUBBAOSC$ is created  which has the following failure modes:
$$
fm (BUBBAOSC) = \{  HI_{osc}, NO\_signal \} . %  LO_{fosc},
$$
\clearpage



\section{Sigma Delta Detailed FMMD Analyses}

This section of the appendix contains FMEA tables for the {\sd}.

\subsection{FMMD Analysis of Summing Junction Integrator: SUMJINT}
\label{detail:SUMJINT}
\begin{table}[h+]
\center
\caption{Summing Junction Integrator($SUMJINT$): Failure Mode Effects Analysis} % title of Table
\label{tbl:sumjint}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 \textbf{Failure} & & \textbf{$SUMJINT$ }      &   & \textbf{Symptom}          \\ 
 \textbf{cause}   & &  \textbf{Effect}         &   &                           \\
             
                           
               \hline\hline 
  FS1: $R1$  $OPEN$        &  &   $V_{in}$ dominates input              &  &     $V_{in} DOM$                     \\    
  FS2: $R1$  $SHORT$        &  &  $V_{fb}$ dominates input               &  &     $V_{fb} DOM$                     \\   \hline 
  FS3: $R2$  $OPEN$        &  &   $V_{fb}$ dominates input            &  &     $V_{fb} DOM$                     \\  
  FS4: $R2$  $SHORT$        &  &  $V_{in}$ dominates input              &  &     $V_{in} DOM$                     \\ \hline 
  FS5: $IC1$  $HIGH$        &  &    output perm. high            &  &   HIGH                 \\    
  FS6: $IC1$  $LOW$         &  &    output perm. low            &  &   LOW                 \\   \hline 
  FS7: $IC1$  $NOOP$        &  &    no current to drive C1            &  &   NO\_INTEGRATION                 \\  
  FS8: $IC1$  $LOW\_SLEW$   &  &   signal delay to C1            &  &   NO\_INTEGRATION                 \\ \hline 

  FS9: $C1$  $OPEN$         &  &   no   capacitance            &  &      NO\_INTEGRATION               \\  
  FS10: $C1$  $SHORT$        &  &    no   capacitance             &  &       NO\_INTEGRATION                \\ \hline 

% \hline 
%   FS1: $IC2$  $HIGH$        &  &     output perm. high             &  &      HIGH              \\    
%   FS2: $IC2$  $LOW$         &  &     output perm. low              &  &      LOW              \\   \hline 
%   FS3: $IC2$  $NOOP$        &  &    no current drive            &  &      LOW              \\  
%   FS4: $IC2$  $LOW\_SLEW$   &  &    delayed signal            &  &      LOW\_SLEW              \\ \hline 
% \hline
\hline
\end{tabular}
\end{table}

Collecting symptoms from table~\ref{tbl:sumjint}, the {\dc} $ SUMJINT $ is created with the following failure modes:
$$    
    fm() = \{ V_{in} DOM, V_{fb} DOM,  NO\_INTEGRATION,  HIGH, LOW    \} .
$$
% Collecting the {\dc} failure modes of 
% $SUMJINT$ gives $$\{ V_{in} DOM, V_{fb} DOM,  NO\_INTEGRATION,  HIGH, LOW  \} .$$
\clearpage


\subsection{FMMD Analysis of High Impedance Signal Buffer  : HISB}
\label{detail:HISB}
\begin{table}[h+]
\center
% \center
\caption{ High Impedance Signal Buffer  : Failure Mode Effects Analysis} % title of Table
\label{tbl:HISB}
\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result}         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$HISB$ }      &   & \textbf{Symptom}         \\ 
 \textbf{cause}   & &  \textbf{Effect}     &   &            \\  
               \hline\hline 
  FS1: $IC2$  $HIGH$        &  &    output perm. high            &  &   HIGH                 \\    
  FS2: $IC2$  $LOW$         &  &    output perm. low            &  &   LOW                 \\    
  FS3: $IC2$  $NOOP$        &  &    no current to output            &  &    $NOOP$            \\  
  FS4: $IC2$  $LOW\_SLEW$   &  &   delay signal             &  &      $LOW\_{SLEW}$               \\ \hline 
\end{tabular}
\end{table} 
% \hline



Collecting symptoms from table~\ref{tbl:HISB}, the {\dc} $ HISB $ is created with the following failure modes:
$$    
    fm(HISB) = \{   HIGH, LOW, NOOP, LOW\_SLEW  \} .
$$


\clearpage

\subsection{FMMD Analysis of Digital level to analogue level converter  : DL2AL}
\label{detail:DL2AL}


\begin{table}[h+]
\center
\caption{$PD , IC3$ Digital level to analogue level converter: Failure Mode Effects Analysis} % title of Table
\label{tbl:DL2AL}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$DS2AL$ }             &   & \textbf{Symptom}         \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &           \\
                                
               \hline \hline 
  FS1: $PD $  $HIGH$        &  &    output perm. low            &  &  LOW               \\    
  FS2: $PD $  $LOW$         &  &    output perm. low            &  &   HIGH                \\   \hline 
  
\hline 
  FS3: $IC3$  $HIGH$        &  &     output perm. high             &  &      HIGH              \\    
  FS4: $IC3$  $LOW$         &  &     output perm. low              &  &      LOW              \\    
  FS5: $IC3$  $NOOP$        &  &    no current drive            &  &      LOW              \\  
  FS6: $IC3$  $LOW\_{SLEW}$   &  &    delayed signal            &  &     $LOW\_{SLEW}$              \\ \hline 
\hline

\end{tabular}
\end{table} 
%
%The symptoms of failure, i.e. $\{ LOW, HIGH,  LOW\_{SLEW}  \}$ are collected.
%
Collecting symptoms from table~\ref{tbl:DL2AL}, the {\dc} $DL2AL$ is created with the following failure modes:
$$    
    fm(DL2AL) = \{  LOW, HIGH,  LOW\_{SLEW}   \} .
$$
\clearpage


\subsection{FMMD Analysis of Digital Buffer : DIGBUF}
\label{detail:DIGBUF}

\begin{table}[h+]
\center
\caption{$ IC4, CLOCK $ Digital Buffer: Failure Mode Effects Analysis} % title of Table
\label{tbl:digbuf}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$DIGBUF$ }      &   & \textbf{Symptom}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &           \\
                                %$$ fm ( CD4013B) = \{ HIGH, LOW, NOOP \} $$
               \hline \hline 
  FS1: $CLOCK$  $STOPPED$        &  &    buffer stopped            &  &  STOPPED               \\    \hline 
   
  FS2: $IC4$  $HIGH$        &  &      buffer stopped              &  &   STOPPED              \\    
  FS3: $IC4$  $LOW$         &  &      buffer stopped              &  &   STOPPED              \\   
  FS4: $IC4$  $NOOP$        &  &    no current drive           &  &      LOW              \\  \hline 
    \hline 
\hline

\end{tabular}
\end{table} 
%The symptoms of failure i.e. $\{ LOW, STOPPED  \}$ are collected.
%
Collecting symptoms from table~\ref{tbl:digbuf}, the {\dc} $ DIGBUF $ is created with the following failure modes:
$$    
    fm(DIGBUF) = \{  LOW, STOPPED   \} .
$$
%
\clearpage

\subsection{FMMD Analysis of  buffered integrating summing junction  : BISJ}
\label{detail:BISJ}
\begin{table}[h+]
\caption{ $HISB , SUMJINT$ buffered integrating summing junction($BISJ$): Failure Mode Effects Analysis} % title of Table
\label{tbl:BISJ}
\begin{tabular}{|| l | l | c | c | l ||} \hline
% \textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$BISJ$ }      &   & \textbf{Symptom}          \\ 
 \textbf{cause}   & &  \textbf{Effect}             &   &            \\
                              
                           
               \hline \hline 
  FS1: $SUMJINT$  $V_{in} DOM$         &  &    output integral of  $V_{in}$           &  &    $OUTPUT STUCK$            \\    
  FS2: $SUMJINT$  $V_{fb} DOM$         &  &    output integral of  $V_{fb}$           &  &    $OUTPUT STUCK$                  \\    
 % $$ fm(SUMJUINT^1_0) = \{ V_{in} DOM, V_{fb} DOM,  NO\_INTEGRATION,  HIGH, LOW  \} .$$
  FS3: $SUMJINT$  $NO\_INTEGRATION$         &  &    output stuck high or low           &  &    $OUTPUT STUCK$            \\    
  FS4: $SUMJINT$  $HIGH$         &  &    output stuck high           &  &    $OUTPUT STUCK$                  \\    
  FS5: $SUMJINT$  $LOW$         &  &    output stuck low           &  &    $OUTPUT STUCK$                  \\   \hline 
%\hline 
  FS6: $HISB$  $HIGH$                    &  &     output perm. high        &  &     $OUTPUT STUCK$             \\    
  FS7: $HISB$  $LOW$                     &  &     output perm. low         &  &     $OUTPUT STUCK$              \\    
  FS8: $HISB$  $ NO\_INTEGRATION$        &  &    no current drive          &  &     $OUTPUT STUCK$             \\  
  FS9: $HISB$  $LOW\_SLEW$               &  &    delayed signal            &  &      $REDUCED\_INTEGRATION$              \\ \hline 
\hline
\end{tabular}
\end{table} 

%The symptoms of failure $\{  OUTPUT STUCK  ,  REDUCED\_INTEGRATION \}$ collected , a {\dc} created
%called $BISJ$.

Collecting symptoms from table~\ref{tbl:BISJ}, the {\dc} $ BISJ $ is created with the following failure modes:
$$    
    fm(BISJ) = \{  OUTPUT STUCK  ,  REDUCED\_INTEGRATION   \} .
$$
\clearpage


\subsection{FMMD Analysis of  flip flop buffered  : FFB}
\label{detail:FFB}
\begin{table}[h+]
\caption{ $DIGBUF,DL2AL$ flip flop buffered($FFB$): Failure Mode Effects Analysis} % title of Table
\label{tbl:ffb}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
 %                          & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$DIGBUF$ }      &   & \textbf{Symptom}          \\ 
 \textbf{cause}   & &  \textbf{Effect}    &   &          \\
                              
                           
               \hline \hline 
  FS1: $DIGBUF$  $STOPPED$         &  &    output stuck          &  &    $OUTPUT STUCK$        \\    
  FS2: $DIGBUF$  $LOW$             &  &    output stuck low      &  &    $OUTPUT STUCK$    \\ \hline 
%\hline 
  FS3: $DL2AL$  $LOW$              &  &     output perm. high    &  &     $OUTPUT STUCK$          \\    
  FS4: $DL2AL$  $HIGH$             &  &     output perm. low     &  &     $OUTPUT STUCK$          \\ 
  FS5: $DL2AL$  $LOW\_SLEW$        &  &    no current drive      &  &     $LOW\_SLEW$             \\    \hline 
  
 
\hline
\hline
\end{tabular}
\end{table} 
%
%Symptoms of failure are collected $\{OUTPUT STUCK, LOW\_SLEW\}$ and a {\dc} %at the third level of symptom abstraction
%called $FFB$ created.
%
Collecting symptoms from table~\ref{tbl:ffb}, the {\dc} $ FFB $ is created with the following failure modes:
$$    
    fm(FFB) = \{ OUTPUT STUCK, LOW\_SLEW   \} .
$$

\clearpage

\subsection{FMMD Analysis of  {\sd}  : SDADC}
\label{detail:SDADC}
\begin{table}[h+]
\caption{ $FFB , BISJ $ \sd ($SDADC$): Failure Mode Effects Analysis} % title of Table
\label{tbl:sdadc}

\begin{tabular}{|| l | l | c | c | l ||} \hline
 %\textbf{Failure Scenario} & &  \textbf{failure result }         &   & \textbf{Symptom}          \\ 
  %                         & &                          &   &                             \\
 %                          & &                          &   &                             \\
\textbf{Failure} & & \textbf{$FFB$ }      &   & \textbf{Symptom}          \\ 
 \textbf{cause}   & &  \textbf{Effect}    &   &          \\
                               
               \hline \hline 
  FS1: $FFB$  $OUTPUT STUCK$                      &  &   value held high or low          &  &    $OUTPUT\_OUT\_OF\_RANGE$            \\    
  FS2: $FFB$  $LOW\_SLEW$                         &  &   values will appear larger      &  &    $OUTPUT\_INCORRECT$                  \\   
%   FS3: $IC4^0$ $NOOP$         &  &     output stuck low           &  &    $OUTPUT STUCK$                  \\ \hline 
%\hline 
  FS3: $BISJ$  $OUTPUT STUCK$                     &  &    value held high or low         &  &     $OUTPUT\_OUT\_OF\_RANGE$             \\    
  FS4: $BISJ$  $REDUCED\_INTEGRATION$             &  &    values will appear larger         &  &     $OUTPUT\_INCORRECT$              \\   \hline 
  
  
\hline

\end{tabular}
\end{table} 
%\clearpage
% The symptoms for the \sd are collected from table~\ref{tbl:sdadc}
% $$ \; \{OUTPUT\_OUT\_OF\_RANGE, OUTPUT\_INCORRECT\}.$$
% A {\dc} is created to represent the failure behaviour of the  analogue to digital converter, $SDADC$,
% $$fm(SSDADC) = \{OUTPUT\_OUT\_OF\_RANGE, OUTPUT\_INCORRECT\}$$
\fmmdglossADC

Collecting symptoms from table~\ref{tbl:sdadc}, the {\dc} $SDADC $ is created with the following failure modes:
$$    
    fm(SDADC) = \{  OUTPUT\_OUT\_OF\_RANGE, OUTPUT\_INCORRECT  \} .
$$
\clearpage



\section{Standalone temperature controller}
FMMD analysis tables from chapter~\ref{sec:chap6}.
\label{sec:readPt100}
\subsection{Read\_Pt100: Failure Mode Effects Analysis}
{
\tiny
\begin{table}[h+]
\center
\caption{ Read\_Pt100: Failure Mode Effects Analysis} % title of Table
\label{tbl:readPt100}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}            \\ 
 \textbf{cause}   &   \textbf{Effect}          &                             \\
  
 
               \hline
     FC1: $RI_{VRGE}$           &  voltage     &      $VOLTAGE\_HIGH$        \\  
                                & outside range    &                         \\ \hline 

     FC2: $RADC_{VV_ERR}$          &  voltage           &    $VAL\_ERR$      \\ 
                             &  incorrect         &                          \\    \hline  \hline 


 
     FC3: $RADC_{HIGH}$      &  voltage value     &      $VAL\_ERR$          \\   
                             &  incorrect          &                         \\ \hline 



     FC4: $RADC_{LOW}$        & voltage value           & $VOLTAGE\_LOW$     \\ 
                              & from ADC value low      &                    \\  \hline

   FC5: post condition fails       & software failure     &      $VAL\_ERR$  \\ 
     in function \cf{read\_ADC}         &   \cf{read\_ADC}     &                  \\ \hline

\end{tabular}
\end{table}
}
\fmmdglossADC
Collecting symptoms from table~\ref{tbl:readPt100}, the {\dc} $Read\_Pt100 $ is created with the following failure modes:
$$    
    fm(Read\_Pt100) = \{  VOLTAGE\_HIGH , VOLTAGE\_LOW, VAL\_ERR\} .
$$



\clearpage

\subsection{ Get\_Temperature: Failure Mode Effects Analysis }

{
\tiny
\begin{table}[h+]
\center
\caption{ Get\_Temperature: Failure Mode Effects Analysis} % title of Table
\label{tbl:gettemperature}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}          \\ 
 \textbf{cause}   &   \textbf{Effect}          &          \\
  
 
               \hline
     FC1: $Pt100:Voltage\_High$           &  Pt100 voltage too high     & Pt100\_out\_of\_range            \\  
                                          \hline
                                         
       FC2: $Pt100:Voltage\_Low$           &  Pt100 voltage too low     & Pt100\_out\_of\_range            \\  
                                          \hline     
                                         
                                     
       FC3: $Pt100\_high\_low\_mismatch$ & temperature can be calculated     & Pt100\_out\_of\_range            \\  
                                         & from either high or low           &                 \\ 
                                         & reading, but should correlate     &        \\ \hline                                       
                                         
                                  
%        FC4: $Pt100\_current$             & the current applied is     & Pt100\_out\_of\_range            \\  
%                                          & necessary to calculate resistance,        &                 \\ 
%                                          &  but should be within given bounds     &        \\ \hline                                       
%                                          
%                                                                   
                                         
       FC4: $Pt100:VAL\_ERR$              &  causes  an  incorrect    & temp\_incorrect\\
                                          & temperature  reading   & \\ \hline
                                        
  FC5: post condition fails                  & software failure     &    temp\_incorrect               \\ 
     in function \cf{convert\_ADC\_to\_T}        &   \cf{convert\_ADC\_to\_T}   &                              \\ \hline

                                         \hline
     
\end{tabular}
\end{table}
}


Collecting symptoms from table~\ref{tbl:gettemperature}, the {\dc} $Get\_Temperature$ is created with the following failure modes:
$$    
    fm(Get\_Temperature) = \{ Pt100\_out\_of\_range, temp\_incorrect   \} .
$$

%%% NOT sure I should leave this in
% FC4: presents an interesting dilemma. 
% The {\fm}, Pt100:VAL\_ERR, could cause an out of range error, but may  
% cause  an  incorrect   temperature  reading.
% An out of range error, has less consequences than an incorrect reading, because
% an out of range error is detectable.
% Because FMMD forces the analyst to choose only one symptom to tie the {\fm} to,
% the worst, or most dangerous possible
% symptom must be chosen.
%                                     

% Actually thats bollocks ! I am getting very very tired.

\clearpage

\subsection{ GetError: Failure Mode Effects Analysis }

The error value being discussed here is an important concept in PID control.
It represents how far from the control target
the measured reading of it is.
The lower the PID error value the closer to the controlled systems target/desired value.

{
\tiny
\begin{table}[h+]
\center
\caption{ GetError: Failure Mode Effects Analysis} % title of Table
\label{tbl:geterror}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}          \\ 
 \textbf{cause}   &   \textbf{Effect}          &            \\
  
 
               \hline
     FC1: $ Pt100\_out\_of\_range $      &   pre-condition violated        & KnownIncorrectErrorValue          \\  
                                         &  detectable  failure mode         &                 \\ \hline
                         
                                         
       FC2: $temp\_incorrect$           &  pre-condition violated          &  IncorrectErrorValue               \\  
                                        &  undetectable failure mode          &                                 \\ \hline     

       FC3: post condition fails                  & software failure                          &    IncorrectErrorValue               \\ 
     in function \cf{determine\_set\_point\_error}     & \cf{determine\_set\_point\_error}              &                              \\ \hline                     
                                         
     
\end{tabular}
\end{table}
}
%
Collecting symptoms from table~\ref{tbl:geterror}, the {\dc} $ GetError $ is created with the following failure modes:
$$    
    fm( GetError ) = \{  KnownIncorrectErrorValue, IncorrectErrorValue   \} .
$$
%
%
%




\clearpage
\subsection{PID: Failure Mode Effects Analysis}
{
\tiny
\begin{table}[h+]
\center
\caption{ PID: Failure Mode Effects Analysis} % title of Table
\label{tbl:pidfunction}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}          \\ 
 \textbf{cause}   &   \textbf{Effect}          &            \\
  
 
               \hline
     FC1: $ KnownIncorrectErrorValue $   &   pre-condition violated        & KnownControlValueErrorV         \\  
                                         &   detectable        &                 \\ 
                                         &   failure mode        &    \\ \hline
                                         
       FC2: $ IncorrectErrorValue $           &  pre-condition violated          &  IncorrectControlErrorV               \\  
                                        &  undetectable failure mode          &        \\ \hline     
                                         
      
       FC3: post condition fails                  & software failure     &    IncorrectControlErrorV               \\ 
     in function \cf{PID}                            &           \cf{PID}            &                              \\ \hline                     
                                                      
     
\end{tabular}
\end{table}
}



Collecting symptoms from table~\ref{tbl:pidfunction}, the {\dc} $PID$ is created with the following failure modes:
$$    
    fm(PID) = \{ KnownControlValueErrorV ,  IncorrectControlErrorV  \} .
$$

\clearpage
\subsection{ HeaterOutput: Failure Mode Effects Analysis }
{
\tiny
\begin{table}[h+]
\center
\caption{ HeaterOutput: Failure Mode Effects Analysis} % title of Table
\label{tbl:heateroutput}
\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}          \\ 
 \textbf{cause}   &   \textbf{Effect}                &          \\
               \hline
     FC1: $ PWM stuck HIGH $      &   pre-condition violated        & HeaterOnFull         \\  
                                         &  PWM module not working        &                 \\  \hline    
                                       
                                         
       FC2: $ PWM stuck LOW $           &  pre-condition violated          &  HeaterOff               \\  
                                        &  PWM module not working                   &                 \\  \hline    
                                        
        
                                        
      FC3:  HEATER $SHORT$               &  heating element resistor         & HeaterOff        \\  
                                         &  SHORT no heating effect      &                 \\  \hline    
                                       
                                         
       FC4:  HEATER $OPEN  $           &  heating element resistor          &  HeaterOff               \\  
                                        & OPEN no heating effect                  &                 \\  \hline    

      FC5: $ output\_control$ post            & The software supplies the wrong          &  HeaterOutputIncorrect               \\  
            condition failure                 &  value to the PWM register               &                 \\  \hline  
\end{tabular}
\end{table}
}


Collecting symptoms from table~\ref{tbl:heateroutput}, the {\dc} $ HeaterOutput$ is created with the following failure modes:
$$    
    fm(HeaterOutput) = \{ HeaterOnFull,  HeaterOff, HeaterOutputIncorrect  \} .
$$
\clearpage









\subsection{ LEDOutput: Failure Mode Effects Analysis }


{
\tiny
\begin{table}[h+]
\center
\caption{ LEDOutput: Failure Mode Effects Analysis} % title of Table
\label{tbl:ledoutput}

\begin{tabular}{|| l   | c |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}         \\ 
 \textbf{cause}   &   \textbf{Effect}                &            \\
  
 
               \hline
     FC1: $ Temp LED fails $      &   LED will not light       & FailureIndicated         \\  
                                  &                            &                 \\  \hline    
                                       
                                         
       FC2: $ Processor LED fails $           &   LED will not light          &  FailureIndicated               \\  
                                              &                               &                 \\  \hline    
                                        
          FC3: $ PWM LED fails $           &  LED will not light         &  FailureIndicated               \\  
                                          &                              &                 \\  \hline
                                          
           FC4:  GPIO stuck HIGH & LED permanently OFF &   FailureIndicated    \\ \hline
           
 
           FC5: GPIO stuck Low  & LED permanently ON &   FailureIndicated    \\ \hline
           
           
            FC6:  Software \cf{SetLEDs}                 &  Incorrect Indication        &  IndicationError               \\  
                  fails to set outputs correctly   &   Post condition failure     &                 \\  \hline                                             
  
                                        
                                        
\end{tabular}
\end{table}
}


Collecting symptoms from table~\ref{tbl:ledoutput}, the {\dc} $ LEDOutput $ is created with the following failure modes:
$$    
    fm() = \{  FailureIndicated,  IndicationError \} .
$$
\clearpage


\subsection{ Standalone temperature controller: Failure Mode Effects Analysis}
{
\tiny
\begin{table}[h+]
\center
\caption{Standalone temperature controller: Failure Mode Effects Analysis} % title of Table
\label{tbl:pid}

\begin{tabular}{|| l   | l |   l ||} \hline
% \textbf{Failure}   &  \textbf{failure}     & \textbf{Symptom}          \\ 
% \textbf{Scenario}  &  \textbf{effect}      &     \textbf{RADC }                     \\ \hline 
 \hline 
 \textbf{Failure} &  \textbf{Failure }         & \textbf{Symptom}        \\ 
 \textbf{cause}   &   \textbf{Effect}          &           \\
  
 
               \hline
     FC1: PID KnownControlValueError    &   As error is detectable        & ControlFailureIndicated         \\  
                                  &    error can be indicated   &                                 \\  \hline    
                                       
                                         
       FC2: PID IncorrectControlerrorV           &   undetectable   failure:      &  ControlFailure   \\  
                                              &     PID will not control properly  &                 \\  \hline    
                                        
          FC3: HeaterOutput           &  Heater will constantly         &  ControlFailureIndicated          \\  
              HeaterOnFULL            &  apply maximum power            &                                   \\  \hline
                                          
           FC4:   HeaterOutput    & no power                     &   ControlFailureIndicated    \\ 
                 HeaterOFF        & supplied to heater           &                               \\ \hline
 
           FC5: HeaterOutput            &    incorrect power levels                   &   ControlFailure    \\  
                HeaterOutputIncorrect   &   applied to heater                   &                     \\\hline
           
            FC6:  LEDOutput                 &  failure of LED system        &  KnownIndicationError               \\  
                  FailureIndicated         &   where failure is detectable  &                 \\  \hline 
                  
            FC7:  LEDOutput                 &  failure of LED system        &  UnknownIndicationError               \\  
                  IndicationError           & where failure is undetectable &                                      \\ \hline
                  
                  
                 %%  PROM\_FAULT, RAM\_FAULT, CPU\_FAULT, ALU\_FAULT, CLOCK\_STOPPED 
                  
                  
            FC8: micro-controller  &   un-defined behaviour          &   ControlFailure                        \\
                  PROM\_FAULT                 &                      &                       \\ \hline 
                  
                    FC9: micro-controller  &  un-defined behaviour        &      ControlFailure                     \\
                    RAM\_FAULT             &                              &                       \\ \hline 
                  
                    FC10: micro-controller  &  un-defined behaviour      &     ControlFailure                    \\
                    CPU\_FAULT              &                            &                       \\ \hline 
                  
                    FC11: micro-controller  &  incorrect arithmetic         &      ControlFailure                    \\
                    ALU\_FAULT               &  performed in processing     &                       \\ \hline 
                  
                           FC12: micro-controller  & processor will not run      &   ControlFailureIndicated                      \\
                   CLOCK\_STOPPED               &  indicator leds will not flash &                       \\ \hline 
                  
                FC13:  \cf{monitor}:                 &  postcondition fails       &  ControlFailure               \\  
                  software fails           &                               &                                      \\ \hline
                       
            
                  \hline
                                        
                                        
\end{tabular}
\end{table}
}


Collecting symptoms from table~\ref{tbl:pid} the {\dc} $TempController$, is created with the following failure modes:
\begin{eqnarray*}
 fm ( TempController ) = \{ ControlFailureIndicated, \\ ControlFailure, \\  KnownIndicationError, \\ UnknownIndicationError \}.
\end{eqnarray*}

\clearpage


\subsection{Statistics and FMMD: Pt100 example for single and double failures}
\label{detailed:Pt100stats}
\paragraph{Pt100: Single Failures and statistical data.} %Mean Time to Failure}
\frategloss
From an earlier example, the model for the failure mode behaviour of the Pt100 circuit,
{\bc} {\fm} statistics are added to  determine the probability of symptoms of failure.
%
The DOD electronic reliability of components
document  MIL-HDBK-217F~\cite{mil1991} gives formulae for calculating
the
%$\frac{failures}{{10}^6}$
${failures}/{{10}^6}$ % looks better
in hours for a wide range of generic components.
These figures are based on components from the 1980's and MIL-HDBK-217F
can give conservative reliability figures when applied to
modern components. 
%
Using the MIL-HDBK-217F %~\cite{mil1991}  
specifications for resistor and thermistor failure statistics, the reliability for the Pt100 example (see section~\ref{sec:Pt100}) is calculated below.
%
%
\paragraph{Resistor FIT Calculations.}
%
The formula given in MIL-HDBK-217F\cite{mil1991}[9.2] for a generic fixed film non-power resistor
is reproduced in equation \ref{resistorfit}. The meanings 
and values assigned to its co-efficients are described in table \ref{tab:resistor}.
\fmmdglossFIT
\fmodegloss
%
\begin{equation}
% fixed comp resistor{\lambda}_p = {\lambda}_{b}{\pi}_{R}{\pi}_Q{\pi}_E
resistor{\lambda}_p = {\lambda}_{b}{\pi}_{R}{\pi}_Q{\pi}_E
 \label{resistorfit}
\end{equation}

\begin{table}[ht]
\caption{Fixed film resistor Failure In Time (FIT) assessment.} % title of Table
\centering % used for centering table
\begin{tabular}{||c|c|l||}
\hline \hline
 \em{Parameter}      &  \em{Value}    &   \em{Comments} \\
                     &                &      \\ \hline \hline
 ${\lambda}_{b}$ &  0.00092        & stress/temp base failure rate  $60^o$ C  \\   \hline
 %${\pi}_T$ &  4.2         & max temp of $60^o$ C\\ \hline
 ${\pi}_R$ &  1.0         & Resistance range $< 0.1M\Omega$\\ \hline
 ${\pi}_Q$ &  15.0         & Non-Mil spec component\\ \hline
 ${\pi}_E$ &  1.0         & benign ground environment\\ \hline

\hline \hline
\end{tabular}
\label{tab:resistor}
\end{table}
\frategloss
Applying equation \ref{resistorfit} with the parameters from table \ref{tab:resistor}
give the following failures in ${10}^6$ hours:

\begin{equation}
 0.00092 \times 1.0 \times 15.0 \times 1.0 = 0.0138  \;{failures}/{{10}^{6} Hours}
 \label{eqn:resistor}
\end{equation}

While MIL-HDBK-217F gives MTTF for a wide range of common components,
it does not specify how the components will fail (in this case OPEN or SHORT). 
%
Some standards, notably EN298 only consider most types of resistor as failing in OPEN mode.
%FMD-97 gives 27\% OPEN and 3\% SHORTED, for resistors under certain electrical and environmental stresses. 
% FMD-91 gives parameter change as a third failure mode, luvvverly 08FEB2011
This example 
compromises and uses a 9:1 OPEN:SHORT ratio, for resistor failure. 
%
Thus for this example resistors are expected to fail OPEN in 90\% of cases and SHORTED 
in the other 10\%.
A standard fixed film resistor, for use in a benign environment, non military specification at
temperatures up to {60\oc} is given a probability of 13.8 failures per billion ($10^9$)
hours of operation (see equation \ref{eqn:resistor}). 
In EN61508 terminology, this figure is referred to as a Failure in Time FIT\footnote{FIT values are measured as the number of 
failures per Billion (${10}^9$) hours of operation, (roughly 114,000 years). The smaller the 
FIT number the more reliable the component.}.
%
The formula given for a thermistor in  MIL-HDBK-217F\cite{mil1991}[9.8] is reproduced in
equation \ref{thermistorfit}. The variable meanings and values are described in table \ref{tab:thermistor}.
%
\begin{equation}
% fixed comp resistor{\lambda}_p = {\lambda}_{b}{\pi}_{R}{\pi}_Q{\pi}_E
resistor{\lambda}_p = {\lambda}_{b}{\pi}_Q{\pi}_E
 \label{thermistorfit}
\end{equation}
%
\begin{table}[ht]
\caption{Bead type Thermistor Failure in time assessment} % title of Table
\centering % used for centering table
\begin{tabular}{||c|c|l||}
\hline \hline
 \em{Parameter}      &  \em{Value}    &   \em{Comments} \\
                     &                &      \\ \hline \hline
 ${\lambda}_{b}$ &  0.021        & stress/temp base failure rate bead thermistor \\   \hline
 %${\pi}_T$ &  4.2         & max temp of $60^o$ C\\ \hline
 %${\pi}_R$ &  1.0         & Resistance range $< 0.1M\Omega$\\ \hline
 ${\pi}_Q$ &  15.0         & Non-Mil spec component\\ \hline
 ${\pi}_E$ &  1.0         & benign ground environment\\ \hline

\hline \hline
\end{tabular}
\label{tab:thermistor}
\end{table}
%
\begin{equation}
 0.021 \times 1.0 \times 15.0 \times 1.0 = 0.315 \; {failures}/{{10}^{6} Hours}
 \label{eqn:thermistor}
\end{equation}
%
Thus thermistor, bead type, `non~military~spec' is given a FIT of 315.0.
%
\frategloss
%Using the RIAC finding the following (table~\ref{tab:stat_single}) can be created which
%presents the FIT values for all single failure modes.
Using the above table~\ref{tab:stat_single} is presented which lists the FIT values for all single failure modes.
%\glossary{name={FIT}, description={Failure in Time (FIT). The number of times a particular failure is expected to occur in a $10^{9}$ hour time period.}}
\fmmdglossFIT
%
\begin{table}[h+]
\caption{Pt100 FMEA Single Fault Statistics} % title of Table
\centering % used for centering table
\begin{tabular}{||l|c|c|l|l||}
\hline \hline
 \textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{MTTF}   \\
 \textbf{Case} &  \textbf{sense +} & \textbf{sense -} & \textbf{per $10^9$ hours of operation}   \\
%   R         &    wire        & res +         & res -    & description
\hline
\hline
TC:1 $R_1$ SHORT    &  High Fault        &  -       &  1.38  \\ \hline
TC:2 $R_1$  OPEN     &  Low Fault         & Low Fault     &  12.42\\ \hline
 \hline
TC:3 $R_3$  SHORT    &  Low Fault          & High Fault      & 31.5  \\ \hline
TC:4 $R_3$  OPEN     &  High Fault         & Low  Fault    &   283.5 \\ \hline
\hline
TC:5 $R_2$ SHORT     &  -         &  Low Fault   &  1.38  \\  
TC:6 $R_2$ OPEN     &  High Fault         & High Fault     & 12.42 \\ \hline
\hline
\end{tabular} 
\label{tab:stat_single}
\end{table}
%
\frategloss

The FIT for the circuit as a whole is the sum of MTTF values for all the 
test cases. The Pt100 circuit here has a  FIT of 342.6. This is an MTTF of
about $\approx 360$ years per circuit.
%
A probabilistic tree can now be drawn, with a FIT value for the overall Pt100
circuit and FIT values for all its component fault modes. % from which  it was calculated.
%
From this it can be seen that  the most likely fault is the thermistor going OPEN.
%
This circuit is around 10 times more likely to fail in this way than in any other.
%
If  a more reliable temperature sensor was required, this would probably 
be the fault~mode   scrutinised first.
%
\frategloss
%
\begin{figure}[h+]
 \centering
 \includegraphics[width=400pt,bb=0 0 856 327,keepaspectratio=true]{./CH5_Examples/stat_single.png}
 % stat_single.jpg: 856x327 pixel, 72dpi, 30.20x11.54 cm, bb=0 0 856 327
 \caption{Probablistic Fault Tree : Pt100 Single Faults}
 \label{fig:stat_single}
\end{figure}
%
%The Pt100 analysis presents a simple result for single faults. 
%
%The next analysis phase looks at how the circuit will behave under double simultaneous failure
%conditions.
%
%
\paragraph{Pt100 Example: Double Failures and statistical data.}
%
Because double simultaneous failure analysis can be performed under FMMD
failure rate statistics for double failures can also be determined.
%
\frategloss
% 
%%
%% Need to talk abou the `detection time'
%% or `Safety Relevant Validation Time' ref can book
%% EN61508 gives detection calculations to reduce
%% statistical impacts of failures.
%%
%
Considering the failure modes to be statistically independent  
the FIT values for all the combinations of
failures in the electronic examples from chapter~\ref{sec:chap5} in table~\ref{tab:ptfmea2} can be calculated. 
%
The failure mode of most concern, the undetectable {\textbf{FLOATING}} condition,
requires that resistors $R_1$ and $R_2$ both fail.
%
Multiplying the MTTF probabilities for these types of resistor failing gives the MTTF for both failing.
%
The FIT value of 12.42 corresponds to $12.42 \times {10}^{-9}$ failures per hour. 
%
Squaring this gives $ 154.3 \times {10}^{-18} $.
%
This is an astronomically small MTTF, and so small that it would
probably fall below a threshold to sensibly consider.
%
However, it is interesting from a failure analysis perspective,
because an undetectable fault  (at least at this
level in the FMMD hierarchy) has been revealed. 
%
This means that should it be required to cope with
this fault, a new way of detecting this
condition must be engineered, perhaps in higher levels of the system/FMMD hierarchy.
%
\paragraph{MTTF statistics and FMMD hierarchies.}
%
In a large FMMD model, system/top level failures can be traced
down to {\bc} {\fms}. 
%
To determine the MTTF probability
for a system level failure,   
the MTTF statistics are added for all its possible causes.
%
Thus even for large FMMD models accurate
statistics for electronic sourced failures can be calculated.
%
%\glossary{name={FIT}, description={Failure in Time (FIT). The number of times a particular failure is expected to occur in a $10^{9}$ hour time period. Associated with continuous demand systems under EN61508~\cite{en61508}}}
%
\frategloss
\fmmdglossFIT

\clearpage

\subsection{Gnuplot script for hypothetical XFMEA FMMD reasoning distance comparison}
\label{sec:gnuplotxfmeafmmdcomp}

\begin{verbatim}
#####################################################################################
# GNUPLOT SCRIPT to plot XFMEA FMMD reasoning distance
# comparisons.
#
#
# Always define floating point explicitly at initialisation, as in 'C',
# because otherwise gnuplot treats these as integers.
#
# number of failure modes per component
fm = 3.0
#
# number of components in each functional group
k = 3.0
#
# place the functional group size and failure mode per components
# size into a string to use as the graph title
#
tt = sprintf("reasoning distance comparison for |fg| = %d and |fm| = %d", k, fm)
set title tt
#
a = 0.0
b = 0.0
#
# formula for reasoning distance in one level of FMMD
# hierarchy (as given by ll)
#
fmmd(ll)=k**ll * k * fm * (k - 1)
#
# set up iterative sum in gnuplot syntax
# to iterate over FMMD levels
#
sum(a,b) = (a > b) ? 0 : fmmd(a) + sum(a+1, b)
sig_fx(c) = sum(a,c)
#
# reasoning distance for exhaustive case in FMEA
# where ll is the hierarchy level
xfmea(ll) = k**(ll+1) * ( k**(ll+1) -1 ) * fm
#
#
set xrange [0:1000]
set xlabel "Component count"
set ylabel "reasoning distance"
set logscale y
#
set terminal png
set output 'xfmea_fmmd_comp.png'
plot sig_fx(x**(1/k)), xfmea(x**(1/k))
#!sleep 20
#####################################################################################
\end{verbatim}

