%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Spiketrain analysis} \selectlanguage{english} \enterm[Actionspotentials]{Actionspotentials} (\enterm{spikes}) are the carriers of information in the nervous system. Thereby it is mainly the time at which the spikes are generated that is of importance. The waveform of the action potential is largely stereotyped and does not carry information. The result of the processing of electrophysiological recordings are series of spike times, which are then termed \enterm{spiketrains}. If measurements are repeated we yield several \enterm{trials} of spiketrains (\figref{rasterexamplesfig}). Spiketrains are times of events, the action potentials. The analysis of these leads into the realm of the so called \enterm[point process]{point processes}. \begin{figure}[ht] \includegraphics[width=1\textwidth]{rasterexamples} \titlecaption{\label{rasterexamplesfig}Raster-plot.}{Raster-plot of ten realizations of a stationary point process (homogeneous point process with a rate $\lambda=20$\;Hz, left) and an inhomogeneous point process (perfect integrate-and-fire neuron dirven by Ohrnstein-Uhlenbeck noise with a time-constant $\tau=100$\,ms, right). Each vertical dash illustrates the time at which the action potential was observed. Each line represents the event of each trial.} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Point processes} A temporal \enterm{point process} is a stochastic process that generates a sequence of events at times $\{t_i\}$, $t_i \in \reZ$. \begin{ibox}{Examples of point processes} Every point process is generated by a temporally continuously developing process. An event is generated whenever this process reaches a certain threshold. For example: \begin{itemize} \item Action potentials/heart beat: created by the dynamics of the neuron/sinoatrial node \item Earthquake: defined by the dynamics of the pressure between tectonical plates. \item Evoked communication calls in crickets/frogs/birds: shaped by the dynamics of nervous system and the muscle appartus. \end{itemize} \end{ibox} \begin{figure}[t] \texpicture{pointprocessscetch} \titlecaption{\label{pointprocessscetchfig} Statistics of point processes.}{A point process is a sequence of instances in time $t_i$ that can be characterized through the inter-event-intervals $T_i=t_{i+1}-t_i$ and the number of events $n_i$. } \end{figure} In the neurosciences, the statistics of point processes is of importance since the timing of the neuronal events (the action potentials) is crucial for information transmission and can be treated as such a process. Point processes can be described using the intervals between successive events $T_i=t_{i+1}-t_i$ and the number of observed events within a certain time window $n_i$ (\figref{pointprocessscetchfig}). The events originating from a point process can be illustrated in form of a scatter- or raster plot in which each vertical line indicates the time of an event. The event from two different point processes are shown in \figref{rasterexamplesfig}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Intervalstatistics} The intervals $T_i=t_{i+1}-t_i$ between successive events are real positive numbers. In the context of action potentials they are referred to as \enterm{interspike intervals}. The statistics of these are described using the common measures. \begin{figure}[t] \includegraphics[width=0.96\textwidth]{isihexamples}\vspace{-2ex} \titlecaption{\label{isihexamplesfig}Interspike interval histogram}{of the spikes depicted in \figref{rasterexamplesfig}.} \end{figure} \begin{exercise}{isis.m}{} Implement a function \code{isis()} that calculates the interspike intervals from several spike trains. The function should return a single vector of intervals. The action potentials recorded in the individual trials are stored as vectors of spike times within a \codeterm{cell-array}. Spike times are given in seconds. \end{exercise} \subsection{First order interval statistics} \begin{itemize} \item Probability density $p(T)$ of the intervals $T$ (\figref{isihexamplesfig}). Normalized to $\int_0^{\infty} p(T) \; dT = 1$. \item Average interval: $\mu_{ISI} = \langle T \rangle = \frac{1}{n}\sum\limits_{i=1}^n T_i$. \item Standard deviation of the interspike intervals: $\sigma_{ISI} = \sqrt{\langle (T - \langle T \rangle)^2 \rangle}$\vspace{1ex} \item \enterm{Coefficient of variation}: $CV_{ISI} = \frac{\sigma_{ISI}}{\mu_{ISI}}$. \item \enterm{Diffusion coefficient}): $D_{ISI} = \frac{\sigma_{ISI}^2}{2\mu_{ISI}^3}$. \end{itemize} \begin{exercise}{isihist.m}{} Implement a function \code{isiHist()} that calculates the normalized interspike interval histogram. The function should take two input arguments; (i) a vector of interspike intervals and (ii) the width of the bins used for the histogram. It further returns the probability density as well as the centers of the bins. \end{exercise} \begin{exercise}{plotisihist.m}{} Implement a function that takes the return values of \code{isiHist()} as input arguments and then plots the data. The plot should show the histogram with the x-axis scaled to milliseconds and should be annotated with the average ISI, the standard deviation and the coefficient of variation. \end{exercise} \subsection{Interval correlations} So called \enterm{return maps} are used to illustrate interdependencies between successive interspike intervals. The return map plots the delayed interval $T_{i+k}$ against the interval $T_i$. The parameter $k$ is called the \enterm{lag} $k$. Stationary and non-stationary return maps are distinctly different \figref{returnmapfig}. \begin{figure}[t] \includegraphics[width=1\textwidth]{returnmapexamples} \includegraphics[width=1\textwidth]{serialcorrexamples} \titlecaption{\label{returnmapfig}Interspike interval analyses of a stationary and a non-stationary pointprocess.}{Upper plots show the return maps and the lower panels depict the serial correlation of successive intervals separated by the lag $k$.} \end{figure} Such dependencies can be further quantified using the \enterm{serial correlations} \figref{returnmapfig}. The serial correlation is the correlation coefficient of the intervals $T_i$ and the intervals delayed by the lag $T_{i+k}$: \[ \rho_k = \frac{\langle (T_{i+k} - \langle T \rangle)(T_i - \langle T \rangle) \rangle}{\langle (T_i - \langle T \rangle)^2\rangle} = \frac{{\rm cov}(T_{i+k}, T_i)}{{\rm var}(T_i)} = {\rm corr}(T_{i+k}, T_i) \] The resulting correlation coefficient $\rho_k$ is usually plotted against the lag $k$ \figref{returnmapfig}. $\rho_0=1$ is the correlation of each interval with itself and is always 1. \begin{exercise}{isiserialcorr.m}{} Implement a function \code{isiserialcorr()} that takes a vector of interspike intervals as input argument and calculates the serial correlation. The function should further plot the serial correlation. \pagebreak[4] \end{exercise} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Count statistics} % \begin{figure}[t] % \includegraphics[width=0.48\textwidth]{poissoncounthist100hz10ms}\hfill % \includegraphics[width=0.48\textwidth]{poissoncounthist100hz100ms} % \titlecaption{\label{countstatsfig}Count Statistik.}{} % \end{figure} The number of events $n_i$ (counts) in a time window $i$ of the duration $W$ yields positive integer random numbers that are commonly quantified using the following measures: \begin{itemize} \item Histogram of the counts $n_i$. \item Average number of events: $\mu_N = \langle n \rangle$. \item Variance of the counts: $\sigma_n^2 = \langle (n - \langle n \rangle)^2 \rangle$. \item \determ{Fano Faktor} (The variance divided by the average): $F = \frac{\sigma_n^2}{\mu_n}$. \end{itemize} And in particular the average firing rate $r$ (spike count per time interval , \determ{Feuerrate}) that is given in Hertz \sindex[term]{Feuerrate!mittlere Rate} \begin{equation} \label{firingrate} r = \frac{\langle n \rangle}{W} \; . \end{equation} % \begin{figure}[t] % \begin{minipage}[t]{0.49\textwidth} % Poisson process $\lambda=100$\,Hz:\\ % \includegraphics[width=1\textwidth]{poissonfano100hz} % \end{minipage} % \hfill % \begin{minipage}[t]{0.49\textwidth} % LIF $I=10$, $\tau_{adapt}=100$\,ms:\\ % \includegraphics[width=1\textwidth]{lifadaptfano10-100ms} % \end{minipage} % \titlecaption{\label{fanofig}Fano factor.}{} % \end{figure} \begin{exercise}{counthist.m}{} Implement a function \code{counthist()} that calculates and plots the distribution of spike counts observed in a certain time window. The function should take two input arguments: (i) a \codeterm{cell-array} of vectors containing the spike times in seconds observed in a number of trials and (ii) the duration of the time window that is used to evaluate the counts. \end{exercise} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Homogeneous Poisson process} The Gaussian distribution is, due to the central limit theorem, the standard for continuous measures. The equivalent in the realm of point processes is the \enterm{Poisson distribution}. In a \enterm[Poisson process!homogeneous]{homogeneous Poisson process} the events occur at a fixed rate $\lambda=\text{const.}$ and are independent of both the time $t$ and occurrence of previous events (\figref{hompoissonfig}). The probability of observing an even within a small time window of width $\Delta t$ is given by \begin{equation} \label{hompoissonprob} P = \lambda \cdot \Delta t \; . \end{equation} In an \enterm[Poisson process!inhomogeneous]{inhomogeneous Poisson process}, however, the rate $\lambda$ depends on the time: $\lambda = \lambda(t)$. \begin{exercise}{poissonspikes.m}{} Implement a function \code{poissonspikes()} that uses a homogeneous Poisson process to generate events at a given rate for a certain duration and a number of trials. The rate should be given in Hertz and the duration of the trials is given in seconds. The function should return the event times in a cell-array. Each entry in this array represents the events observed in one trial. Apply \eqnref{hompoissonprob} to generate the event times. \end{exercise} \begin{figure}[t] \includegraphics[width=1\textwidth]{poissonraster100hz} \titlecaption{\label{hompoissonfig}Rasterplot of spikes of a homogeneous Poisson process with a rate $\lambda=100$\,Hz.}{} \end{figure} \begin{figure}[t] \includegraphics[width=0.45\textwidth]{poissonisihexp20hz}\hfill \includegraphics[width=0.45\textwidth]{poissonisihexp100hz} \titlecaption{\label{hompoissonisihfig}Distribution of interspike intervals of two Poisson processes.}{} \end{figure} The homogeneous Poisson process has the following properties: \begin{itemize} \item Intervals $T$ are exponentially distributed (\figref{hompoissonisihfig}): \begin{equation} \label{poissonintervals} p(T) = \lambda e^{-\lambda T} \; . \end{equation} \item The average interval is $\mu_{ISI} = \frac{1}{\lambda}$ . \item The variance of the intervals is $\sigma_{ISI}^2 = \frac{1}{\lambda^2}$ . \item Thus, the coefficient of variation is always $CV_{ISI} = 1$ . \item The serial correlation is $\rho_k =0$ for $k>0$, since the occurrence of an event is independent of all previous events. Such a process is also called a \enterm{renewal process}. \item The number of events $k$ within a temporal window of duration $W$ is Poisson distributed: \[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \] (\figref{hompoissoncountfig}) \item The Fano Faktor is always $F=1$ . \end{itemize} \begin{exercise}{hompoissonspikes.m}{} Implement a function \code{hompoissonspikes()} that uses a homogeneous Poisson process to generate spike events at a given rate for a certain duration and a number of trials. The rate should be given in Hertz and the duration of the trials is given in seconds. The function should return the event times in a cell-array. Each entry in this array represents the events observed in one trial. Apply \eqnref{poissonintervals} to generate the event times. \end{exercise} \begin{figure}[t] \includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz10ms}\hfill \includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz100ms} \titlecaption{\label{hompoissoncountfig}Count statistics of Poisson spiketrains.}{} \end{figure} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Time-dependent firing rate} So far we discussed stationary spiketrains. The statistical properties of these did not change within the observation time (stationary point processes. Most commonly, however, this is not the case. A sensory neuron, for example, might respond to a stimulus by modulating its firing rate (non-stationary point process). How the firing rate $r(t)$ changes over time is the most important measure, when analyzing non-stationary spike trains. The unit of the firing rate is Hertz, i.e. the number of action potentials per second. There are different ways to estimate the firing rate and three of these methods will are illustrated in \figref{psthfig}. All of these have their own justifications and pros- and cons. In the following we will discuss the methods shown in \figref{psthfig} more closely. \begin{figure}[tp] \includegraphics[width=\columnwidth]{firingrates} \titlecaption{Bestimmung der zeitabh\"angigen Feuerrate.}{\textbf{A)} Rasterplot eines Spiketrains. \textbf{B)} Feurerrate aus der instantanen Feuerrate bestimmt. \textbf{C)} klassisches PSTH mit der Binning Methode. \textbf{D)} Feuerrate durch Faltung mit einem Gauss Kern bestimmt.}\label{psthfig} \end{figure} \subsection{Instantane Feuerrate} \begin{figure}[tp] \includegraphics[width=\columnwidth]{isimethod} \titlecaption{Instantane Feuerrate.}{Skizze eines Spiketrains (oben). Die Pfeile zwischen aufeinanderfolgenden Aktionspotentialen mit den Zahlen in Millisekunden illustrieren die Interspikeintervalle. Der Kehrwert des Interspikeintervalle ergibt die instantane Feuerrate.}\label{instrate} \end{figure} Ein sehr einfacher Weg, die zeitabh\"angige Feuerrate zu bestimmen ist die sogenannte \determ[Feuerrate!instantane]{instantane Feuerrate} (\enterm[firing rate!instantaneous]{instantaneous firing rate}). Dabei wird die Feuerrate aus dem Kehrwert der Interspikeintervalle, der Zeit zwischen zwei aufeinander folgenden Aktionspotentialen (\figref{instrate} A), bestimmt. Die abgesch\"atzte Feuerrate (\figref{instrate} B) ist g\"ultig f\"ur das gesammte Interspikeintervall. Diese Methode hat den Vorteil, dass sie sehr einfach zu berechnen ist und keine Annahme \"uber eine relevante Zeitskala (der Kodierung oder des Auslesemechanismus der postsynaptischen Zelle) macht. $r(t)$ ist allerdings keine kontinuierliche Funktion, die Spr\"unge in der Feuerrate k\"onnen f\"ur manche Analysen nachteilig sein. Au{\ss}erdem wird die Feuerrate nie gleich Null, auch wenn lange keine Aktionspotentiale generiert wurden. \begin{exercise}{instantaneousRate.m}{} Implementiere die Absch\"atzung der Feuerrate auf Basis der instantanen Feuerrate. Plotte die Feuerrate als Funktion der Zeit. \end{exercise} \subsection{Peri-Stimulus-Zeit-Histogramm} W\"ahrend die Instantane Rate den Kehrwert der Zeit von einem bis zum n\"achsten Aktionspotential misst, sch\"atzt das sogenannte \determ{Peri-Stimulus-Zeit-Histogramm} (\enterm{peri stimulus time histogram}, \determ[PSTH|see{Peri-Stimulus-Zeit-Histogramm}]{PSTH}) die Wahrscheinlichkeit ab, zu einem Zeitpunkt Aktionspotentiale anzutreffen. Es wird versucht die mittlere Rate \eqnref{firingrate} im Grenzwert kleiner Beobachtungszeiten abzusch\"atzen: \begin{equation} \label{psthrate} r(t) = \lim_{W \to 0} \frac{\langle n \rangle}{W} \; , \end{equation} wobei die Anzahl $n$ der Aktionspotentiale, die im Zeitintervall $(t,t+W)$ aufgetreten sind, \"uber trials gemittelt wird. Eine solche Rate enspricht der zeitabh\"angigen Rate $\lambda(t)$ des inhomogenen Poisson-Prozesses. Das PSTH \eqnref{psthrate} kann entweder \"uber die Binning-Methode oder durch Verfaltung mit einem Kern bestimmt werden. Beiden Methoden gemeinsam ist die Notwendigkeit der Wahl einer zus\"atzlichen Zeitskala, die der Beobachtungszeit $W$ in \eqnref{psthrate} entspricht. \subsubsection{Binning-Methode} \begin{figure}[tp] \includegraphics[width=\columnwidth]{binmethod} \titlecaption{Bestimmung des PSTH mit der Binning Methode.}{Der gleiche Spiketrain wie in \figref{instrate}. Die grauen Linien markieren die Grenzen der Bins und die Zahlen geben die Anzahl der Spikes in jedem Bin an (oben). Die Feuerrate ergibt sich aus dem mit der Binbreite normierten Zeithistogramm (unten).}\label{binpsth} \end{figure} Bei der Binning-Methode wird die Zeitachse in gleichm\"aßige Abschnitte (Bins) eingeteilt und die Anzahl Aktionspotentiale, die in die jeweiligen Bins fallen, gez\"ahlt (\figref{binpsth} A). Um diese Z\"ahlungen in die Feuerrate umzurechnen muss noch mit der Binweite normiert werden. Das ist \"aquivalent zur Absch\"atzung einer Wahrscheinlichkeitsdichte. Es kann auch die \code{hist()} Funktion zur Bestimmung des PSTHs verwendet werden. \sindex[term]{Feuerrate!Binningmethode} Die bestimmte Feuerrate gilt f\"ur das gesamte Bin (\figref{binpsth} B). Das so berechnete PSTH hat wiederum eine stufige Form, die von der Wahl der Binweite anh\"angt. $r(t)$ ist also keine stetige Funktion. Die Binweite bestimmt die zeitliche Aufl\"osung der Absch\"atzung. \"Anderungen in der Feuerrate, die innerhalb eines Bins vorkommen k\"onnen nicht aufgl\"ost werden. Mit der Wahl der Binweite wird somit eine Annahme \"uber die relevante Zeitskala des Spiketrains gemacht. \pagebreak[4] \begin{exercise}{binnedRate.m}{} Implementiere die Absch\"atzung der Feuerrate mit der ``binning'' Methode. Plotte das PSTH. \end{exercise} \subsubsection{Faltungsmethode} \begin{figure}[tp] \includegraphics[width=\columnwidth]{convmethod} \titlecaption{Bestimmung des PSTH mit der Faltungsmethode.}{Der gleiche Spiketrain wie in \figref{instrate}. Bei der Verfaltung des Spiketrains mit einem Faltungskern wird jeder Spike durch den Faltungskern ersetzt (oben). Bei korrekter Normierung des Kerns ergibt sich die Feuerrate direkt aus der \"Uberlagerung der Kerne.}\label{convrate} \end{figure} Bei der Faltungsmethode werden die harten Kanten der Bins der Binning-Methode vermieden. Der Spiketrain wird mit einem Kern verfaltet, d.h. jedes Aktionspotential wird durch den Kern ersetzt. Zur Berechnung wird die Aktionspotentialfolge zun\"achst ``bin\"ar'' dargestellt. Dabei wird ein Spiketrain als (Zeit-)Vektor dargestellt, in welchem die Zeitpunkte der Aktionspotentiale als 1 notiert werden. Alle anderen Elemente des Vektors sind 0. Anschlie{\ss}end wir dieser bin\"are Spiketrain mit einem Gau{\ss}-Kern bestimmter Breite verfaltet: \[r(t) = \int_{-\infty}^{\infty} \omega(\tau) \, \rho(t-\tau) \, {\rm d}\tau \; , \] wobei $\omega(\tau)$ der Filterkern und $\rho(t)$ die bin\"are Antwort ist. Bildlich geprochen wird jede 1 in $\rho(t)$ durch den Filterkern ersetzt (Abbildung \ref{convrate} A). Wenn der Kern richtig normiert wurde (Integral gleich Eins), ergibt sich die Feuerrate direkt aus der \"Uberlagerung der Kerne (Abb. \ref{convrate} B). \sindex[term]{Feuerrate!Faltungsmethode} Die Faltungsmethode f\"uhrt, anders als die anderen Methoden, zu einer stetigen Funktion was insbesondere f\"ur spektrale Analysen von Vorteil sein kann. Die Wahl der Kernbreite bestimmt, \"ahnlich zur Binweite, die zeitliche Aufl\"osung von $r(t)$. Die Breite des Kerns macht also auch wieder eine Annahme \"uber die relevante Zeitskala des Spiketrains. \pagebreak[4] \begin{exercise}{convolutionRate.m}{} Verwende die Faltungsmethode um die Feuerrate zu bestimmen. Plotte das Ergebnis. \end{exercise} \section{Spike-triggered Average} Die graphischer Darstellung der Feuerrate allein reicht nicht aus um den Zusammenhang zwischen neuronaler Antwort und einem Stimulus zu analysieren. Eine Methode um mehr \"uber diesen Zusammenhang zu erfahren, ist der \enterm{spike-triggered average} (\enterm[STA|see{spike-triggered average}]{STA}). Der STA \begin{equation} STA(\tau) = \langle s(t - \tau) \rangle = \frac{1}{N} \sum_{i=1}^{N} s(t_i - \tau) \end{equation} der $N$ Aktionspotentiale zu den Zeiten $t_i$ in Anwort auf den Stimulus $s(t)$ ist der mittlere Stimulus, der zu einem Aktionspotential in der neuronalen Antwort f\"uhrt. Der STA l\"a{\ss}t sich relativ einfach berechnen, indem aus dem Stimulus f\"ur jeden beobachteten Spike ein entsprechender Abschnitt ausgeschnitten wird und diese dann gemittelt werde (\figref{stafig}). \begin{figure}[t] \includegraphics[width=\columnwidth]{sta} \titlecaption{Spike-triggered Average eines P-Typ Elektrorezeptors und Stimulusrekonstruktion.}{Der STA (links): der Rezeptor wurde mit einem ``white-noise'' Stimulus getrieben. Zeitpunkt 0 ist der Zeitpunkt des beobachteten Aktionspotentials. Die Kurve ergibt sich aus dem gemittelten Stimulus je 50\,ms vor und nach einem Aktionspotential. Stimulusrekonstruktion mittels STA (rechts). Die Zellantwort wird mit dem STA gefaltet um eine Rekonstruktion des Stimulus zu erhalten.}\label{stafig} \end{figure} Aus dem STA k\"onnen verschiedene Informationen \"uber den Zusammenhang zwischen Stimulus und neuronaler Antwort gewonnen werden. Die Breite des STA repr\"asentiert die zeitliche Pr\"azision, mit der Stimulus und Antwort zusammenh\"angen und wie weit das Neuron zeitlich integriert. Die Amplitude des STA (gegeben in der gleichen Einheit wie der Stimulus) deutet auf die Empfindlichkeit des Neurons bez\"uglich des Stimulus hin. Eine hohe Amplitude besagt, dass es einen starken Stimulus ben\"otigt, um ein Aktionspotential hervorzurufen. Aus dem zeitlichen Versatz des STA kann die Zeit abgelesen werden, die das System braucht, um auf den Stimulus zu antworten. Der STA kann auch dazu benutzt werden, aus den Antworten der Zelle den Stimulus zu rekonstruieren (\figref{stafig} B). Bei der \determ[invertierte Rekonstruktion]{invertierten Rekonstruktion} wird die Zellantwort mit dem STA verfaltet. \begin{exercise}{spikeTriggeredAverage.m}{} Implementiere eine Funktion, die den STA ermittelt. Verwende dazu den Datensatz \file{sta\_data.mat}. Die Funktion sollte folgende R\"uckgabewerte haben: \vspace{-1ex} \begin{itemize} \setlength{\itemsep}{0ex} \item den Spike-Triggered-Average. \item die Standardabweichung der individuellen STAs. \item die Anzahl Aktionspotentiale, die zur Berechnung des STA verwendet wurden. \vspace{-2ex} \end{itemize} \end{exercise} \begin{exercise}{reconstructStimulus.m}{} Rekonstruiere den Stimulus mithilfe des STA und der Spike Zeiten. Die Funktion soll Vektor als R\"uckgabewert haben, der genauso gro{\ss} ist wie der Originalstimulus aus der Datei \file{sta\_data.mat}. \end{exercise} \selectlanguage{english}