\chapter{EXPERIMENT REQUIREMENTS AND CONSTRAINTS}\label{sec:experiment_requirements_and_constraints}

\section{Functional Requirements}\label{sec:functional_requirements}
    %Durch die neuen Commands müssen die Texte nur an einer Stelle geschrieben werden und können im ganzen Dokument genutzt werden. Ein t am Ende des Befehls markiert den Text des entsprechenden requirements
    
    \newcommand{\fone}{F.1.}\newcommand{\fonet}{\deleted{The experiment shall measure incident particle radiation during the whole flight of the balloon.}}
    \newcommand{\foneone}{F.1.1.}\newcommand{\foneonet}{The experiment shall measure the energy losses of the incident particles.}
    \newcommand{\fonetwo}{F.1.2.}\newcommand{\fonetwot}{\replaced{The experiment shall classify the particles based on their velocity \deleted[5]{(kinetic energy)}.}{The experiment shall separate between light and heavy particles.}}
    \newcommand{\ftwoone}{F.2.1.}\newcommand{\ftwoonet}{The experiment shall measure the temperature \change{inside and outside the experiment} during the whole flight.}
    \newcommand{\ftwotwo}{F.2.2.}\newcommand{\ftwotwot}{The experiment shall measure the pressure \change{inside and outside the experiment} during the whole flight.}
    \newcommand{\fthree}{F.3.}\newcommand{\fthreet}{\change{The experiment shall store the measured data.}}
    \newcommand{\fthreeone}{F.3.1.}\newcommand{\fthreeonet}{\deleted{The \ac{CSA} shall collect the free charge carriers created by the different detector stages and convert them into a voltage pulse.}}
    \newcommand{\fthreetwo}{F.3.2.}\newcommand{\fthreetwot}{\deleted{The microcontroller shall store the \ac{PHA} words transmitted by the \ac{FPGA} along with a time stamp, and housekeeping data in binary format on an SD card.}}
    \newcommand{\fthreethree}{F.3.3.}\newcommand{\fthreethreet}{\deleted{The microcontroller shall send the \ac{PHA} words, along with a time stamp, and housekeeping data in binary format to the ground station via \ac{UDP} and the \ac{BEXUS} E-Link.}}
    \newcommand{\fthreefour}{F.3.4.}\newcommand{\fthreefourt}{\deleted{The microcontroller shall store the setting and configuration of the \ac{FPGA} on a flash memory during the whole flight.}}
    \newcommand{\fthreefive}{F.3.5.}\newcommand{\fthreefivet}{\deleted{The microcontroller shall be able to boot the \ac{FPGA} with the settings stored on the flash memory.}}
    \newcommand{\fthreesix}{F.3.6.}\newcommand{\fthreesixt}{\deleted{The microcontroller shall process commands transmitted from the ground station using the \ac{BEXUS} E-Link.}}

    \begin{tabular}{p{1.1cm}p{11.9cm}ll}
        % \fone: & \fonet \\
        \foneone: & \foneonet \\
        \fonetwo: & \fonetwot \\
        \ftwoone: & \ftwoonet \\
        \ftwotwo: & \ftwotwot \\
        \fthree: & \fthreet \\
        % \\
        % \fthreeone: & \fthreeonet \\
        % \fthreetwo: & \fthreetwot \\
        % \fthreethree: & \fthreethreet \\
        % \fthreefour: & \fthreefourt \\
        % \fthreefive: & \fthreefivet \\
        % \fthreesix: & \fthreesixt \\
    \end{tabular}\\


\section{Performance Requirements}\label{sec:performance_requirements}

    \newcommand{\poneone}{P.1.1.}\newcommand{\poneonet}{The experiment shall be able to record at least \replaced[3]{200 particle}{300} interactions per second.}
    \newcommand{\ponetwo}{P.1.2.}\newcommand{\ponetwot}{\change{The experiment shall classify the particles relative to a threshold velocity \deleted[5]{(kinetic energy)}.}}
    \newcommand{\ptwoone}{P.2.1.}\newcommand{\ptwoonet}{The temperature sensors shall measure the temperature \replaced[3]{in the \ac{BEXUS} temperature profiles.}{in a range from \replaced{-40}{-70}\,$^\circ\text{C}$ to \replaced{+125}{+40}\,$^\circ\text{C}$.}}
    \newcommand{\ptwotwo}{P.2.2.}\newcommand{\ptwotwot}{The pressure sensors shall measure the air pressure \replaced[3]{in the \ac{BEXUS} pressure profiles.}{in a range from \replaced{10}{0}\,mbar to \replaced{1100}{1020}\,mbar.}}
    \newcommand{\ptwothree}{P.2.3.}\newcommand{\ptwothreet}{\change[3]{The temperature sensors shall measure the temperature with a precision of $\pm$2\,$^\circ$C}}
    \newcommand{\ptwofour}{P.2.4.}\newcommand{\ptwofourt}{\change[3]{The pressure sensors shall measure the air pressure with a precision of $\pm$5\,mbar.}}
    \newcommand{\ptwofive}{P.2.5.}\newcommand{\ptwofivet}{\change[3]{The temperature sensors shall measure the temperature with a frequency of one measurement every ten seconds.}}
    \newcommand{\ptwosix}{P.2.6.}\newcommand{\ptwosixt}{\change[3]{The pressure sensors shall measure the air pressure with a frequency of one measurement every ten seconds.}}

    
    \newcommand{\pthree}{P.3.}\newcommand{\pthreet}{\deleted{The \ac{FPGA} shall sample the \ac{ADC} values with 3\,MHz and store the last 64 sampled \ac{ADC} values continuously.}}
    \newcommand{\pthreeone}{P.3.1.}\newcommand{\pthreeonet}{The \ac{FPGA} shall sample the \ac{ADC} values with 3\,MHz and store the last 64 sampled \ac{ADC} values continuously.}
    \newcommand{\pthreetwo}{P.3.2.}\newcommand{\pthreetwot}{The \ac{FPGA} shall multiply the 16 defined ADC values with 16 given values of a stored pulse shape and then store the resulting sum. The \ac{FPGA} shall search the stored sums for a maximum (above a certain trigger level) and in case the trigger level is exceeded send a trigger signal to the microcontroller.}

    \begin{tabular}{p{1.1cm}p{11.9cm}ll}
        \poneone: & \poneonet \\
        \ponetwo: & \ponetwot \\
        %Monsta 300 und Ping 30 interactions per second
        %particle interactions in silicon per second during the whole flight.\\
        \ptwoone: & \ptwoonet \\
        \ptwotwo: & \ptwotwot \\
        \ptwothree: & \ptwothreet \\
        \ptwofour: & \ptwofourt \\
        \ptwofive: & \ptwofivet \\
        \ptwosix: & \ptwosixt \\
        % \pthree: & \pthreet \\
        % \pthreeone: & \pthreeonet \\
        % \pthreetwo: & \pthreetwot \\
        % \pthreethree: & \pthreethreet \\
    \end{tabular}\\
    % \an{Requirements sollen auf unserer Science basieren. Pierre soll mal ausrechnen, was das IRENA an max. Events pro Sekunde schafft. Bei CHAOSjunior hatten wir counts bis 60 pro s, wenn nur ein Detektor getriggert werden musste... : packetsize/packetfreq $= \frac{\SI{512}{byte}}{\SI{0.02}{s}} = \SI{25}{Kbyte/s}=\SI{200}{kbit/s}$,
    % $\frac{\SI{200}{kbit/s}}{\SI{96}{byte/particle}\mathrm{(von \ Ava)}}=\SI{260}{particle/s}$. \\\\Bei Design requirements wurden die "bexus temperature profiles" nicht angemerkt.\\\\P.1.2. enth\"alt range und accuracy f\"ur den Cherenkov\\\\
    % keine Accuracy und range f\"ur die dEdx-Messungen. Schwierig ohne gute Berechnungen, Simulationen, etc. Nicht verifizierbar (at least in time)\\\\druck pr\"azision gibt uns nach Us standard atmosph\"are aufl\"osung von unter 100 m bei H\"ohe.\\\\Wie oft wird Druck/Temp gemessen (Software) --> Pierre: momentan alle 8 sek innen und au\ss en (1 sek versetzt)\\\\Verification anpassen}


\section{Design Requirements}\label{sec:design_requirements}

    \newcommand{\done}{D.1.}\newcommand{\donet}{The mass of the experiment shall not exceed \replaced{14.0\,kg.}{12.5\,kg.}}
    \newcommand{\dtwo}{D.2.}\newcommand{\dtwot}{The volume of the experiment \change{without the mounting rails} shall not exceed 50\,cm x 40\,cm x 40\,cm.}
    \newcommand{\dthreeone}{D.3.1.}\newcommand{\dthreeonet}{\replaced[3]{The experiment shall be designed to maintain functionality in the \ac{BEXUS} vibration environments.}{The mounting solution shall be designed to endure vibrations occurring during the flight.}}
    \newcommand{\dthreetwo}{D.3.2.}\newcommand{\dthreetwot}{\change[3]{The experiment shall be designed to meet the \ac{BEXUS} shock requirements.}}
    \newcommand{\dthreethree}{D.3.3.}\newcommand{\dthreethreet}{\change[3]{The experiment shall be designed to meet the \ac{BEXUS} static load requirements.}}
    \newcommand{\dfourone}{D.4.1.}\newcommand{\dfouronet}{The \acf{HV} for the \ac{PMT} \change{of the Cherenkov detector} shall be generated inside the experiment without causing any hazardous situations for people working on the instrument/gondola.}
    \newcommand{\dfourtwo}{D.4.2.}\newcommand{\dfourtwot}{The experiment shall be designed to avoid corona discharges.}
    \newcommand{\dfourthree}{D.4.3.}\newcommand{\dfourthreet}{\change{The experiment shall use the same aerogel planned to be used for \ac{AHEPaM}.}}
    \newcommand{\dfiveone}{D.5.1.}\newcommand{\dfiveonet}{The experiment shall be designed to maintain functionality in the \ac{BEXUS} temperature profiles.}
    \newcommand{\dfivetwo}{D.5.2.}\newcommand{\dfivetwot}{The experiment shall be designed to maintain functionality in the \ac{BEXUS} pressure profiles.}
    \newcommand{\dfivethree}{D.5.3.}\newcommand{\dfivethreet}{The  pressure  sensor  shall  stop  the  data  storage  on  the  SD  memory  card during the descent at an air pressure \replaced{above}{of} 800\,mbar.}
    \newcommand{\dsixone}{D.6.1.}\newcommand{\dsixonet}{The experiment shall be designed to be powered by the battery power source of the \ac{BEXUS} balloon.}
    \newcommand{\dsixtwo}{D.6.2.}\newcommand{\dsixtwot}{The experiment shall be designed so that the maximum power consumption does not exceed \replaced[3]{360}{50}\,Wh.}
    % \newcommand{\dseven}{D.7.}\newcommand{\dsevent}{The trigger signal shall consist of the PHA words for all channels of all detector segments. \textcolor{red}{Ist das notwendig? Kommt von TANOS}}
    \newcommand{\dsevenone}{D.7.1.}\newcommand{\dsevenonet}{The experiment's Ethernet connection shall be designed to be compatible with the Ethernet connection provided by EuroLaunch.}
    \newcommand{\dseventwo}{D.7.2.}\newcommand{\dseventwot}{The data rate of the downlink shall not exceed 200 kbit/s.}
    \newcommand{\dseventhree}{D.7.3.}\newcommand{\dseventhreet}{The data stored on the SD-card and sent down via E-Link shall consist of the \ac{PHA} words for all channels, a time stamp and housekeeping data.}
    \newcommand{\dsevenfour}{D.7.4.}\newcommand{\dsevenfourt}{The data rate of the uplink shall not exceed 4.8 kbit/s.}
    \newcommand{\deight}{D.8.}\newcommand{\deightt}{\replaced{The experiment shall have a free line of sight to the top.}{The data storage on the SD memory card shall not exceed 16 GB of data.}}
    \newcommand{\dnine}{D.9.}\newcommand{\dninet}{\change[3]{The pressure housing shall have maximum leakage rate of 0.3\,$\frac{\text{mbar}\cdot\text{l}}{\text{s}}$ in the \ac{BEXUS} pressure profiles.}}
    
    \newcommand{\deightone}{D.8.1.}\newcommand{\deightonet}{The data storage on the SD memory card shall not exceed 16 GB of data.}
    \newcommand{\deighttwo}{D.8.2.}\newcommand{\deighttwot}{If a restart of the data storage procedure is required, there shall be no overwriting of stored data.}
    % \newcommand{\dnine}{D.9.}\newcommand{\dninet}{\change{The experiment shall have a free line of sight to the top.}}

    \begin{tabular}{p{1.1cm}p{11.9cm}ll}
        \done: & \donet \\ %plastik?
        \dtwo: & \dtwot \\
        \dthreeone: & \dthreeonet \\
        \dthreetwo: & \dthreetwot \\
        \dthreethree: & \dthreethreet \\
        %D.3.3: & The mounting solution shall be designed to endure possible shocks (e.g. impact of landing).\\
        \dfourone: & \dfouronet \\
        \dfourtwo: & \dfourtwot \\
        \dfourthree: & \dfourthreet \\
        %D.4.1: & The experiment shall be designed to maintain functionality in the BEXUS vibration profile.\\
        %D.4.2: & The experiment shall be designed to be able to maintain functionality in the case of possible shocks (e.g. impact of landing).\\
        \dfiveone: & \dfiveonet \\
        \dfivetwo: & \dfivetwot \\
        \dfivethree: & \dfivethreet \\
        \dsixone: & \dsixonet \\
        \dsixtwo: & \dsixtwot \\
        % \dseven: & \dsevent \\
        \dsevenone: & \dsevenonet \\
        \dseventwo: & \dseventwot \\
        \dseventhree: & \dseventhreet \\
        \dsevenfour: & \dsevenfourt \\
        \deight: & \deightt \\
        % \deightone: & \deightonet \\
        % \deighttwo: & \deighttwot \\
        \dnine: & \dninet \\
    \end{tabular}\\
    % \an{Hat schon jemand die Pr\"asentation mit den BEXUS shock und Vibrations-Anforderungen gefunden?}\\
    % \an{Wir hatten tats\"achlich ein vibration requirement.}\\
    % \an{Verifikation von leakage rate (haben wir (ohne Temperatur-Variation)) und vibration und shock, etc. --> Machen wir das? Eher nicht, weil Jasper und Sophie Bauchschmerzen haben...}\\
    % \an{Mit der angegebenen Leakage Rate fallen wir auf ungef\"ahr 500 mbar in 5 Stunden. --> Mehr als safe}


\section{Operational Requirements}\label{sec:operational_requirements}

    \newcommand{\oone}{O.1.}\newcommand{\oonet}{The experiment shall be able to conduct measurements autonomously (i.e. there shall be no need to send signals from ground \change{station} in normal operation mode).}
    \newcommand{\otwo}{O.2.}\newcommand{\otwot}{The experiment shall be able to send data to the ground \change{station}.}
    \newcommand{\othree}{O.3.}\newcommand{\othreet}{\change{The experiment shall be able to receive commands from the ground station.}}
    \newcommand{\ofour}{O.4.}\newcommand{\ofourt}{\change{The experiment shall shut down the \ac{HV} for low pressure environments.}}
    \newcommand{\ofive}{O.5.}\newcommand{\ofivet}{\change{The experiment shall shut down the \ac{HV} in case of a failure of the electronics boards.}}

    \begin{tabular}{p{1.1cm}p{11.9cm}ll}
        \oone: & \oonet \\
        \otwo: & \otwot \\
        \othree: & \othreet \\
        \ofour: & \ofourt \\
        \ofive: & \ofivet \\
        
        %O.3: & The pressure sensor shall stop the data storage on the SD memory card during the descent at an air pressure of 800 hPa.\\
    \end{tabular}


\section{Constraints}\label{sec:constraints}

    \newcommand{\cone}{C.1.}\newcommand{\conet}{All team members are students at the CAU. Therefore, the amount of time each member can put into the project is limited.}
    \newcommand{\ctwo}{C.2.}\newcommand{\ctwot}{Most team members have to write exams. Therefore, during exam periods these team members cannot contribute to the project to the normal extent.}
    \newcommand{\cthree}{C.3.}\newcommand{\cthreet}{Hannah Sophie Grimm plans to leave Kiel in September/October 2024.}
    \newcommand{\cfour}{C.4.}\newcommand{\cfourt}{\change{Clara Pittschellis leaves Kiel for a semester abroad in September 2024.}}
    \newcommand{\cfive}{C.5.}\newcommand{\cfivet}{\change{Tom Ruge transferred from \acs{CAU} Kiel to \acs{FH} Kiel in March 2024 and left the project.}}
    \newcommand{\csix}{C.6.}\newcommand{\csixt}{\change{Due to the interest of the Department of Experimental Physics to test for the \ac{AHEPaM} instrument, the \ac{CHAOS} design cannot differ significantly from \ac{AHEPaM}.}}
    \newcommand{\cseven}{C.7.}\newcommand{\csevent}{\change{The manufacturing of the mechanical housing is time critical and needs to start before the \acs{CDR}.}}

    \begin{tabular}{p{1.1cm}p{11.9cm}ll}
        \cone: & \conet \\
        \ctwo: & \ctwot \\
        \cthree: & \cthreet \\
        \cfour: & \cfourt \\
        \cfive: & \cfivet \\
        \csix: & \csixt \\
        \cseven: & \csevent \\
    \end{tabular}