\documentclass[12pt,a4paper,pdftex]{exam}

\usepackage[german]{babel}
\usepackage{pslatex}
\usepackage[mediumspace,mediumqspace,Gray]{SIunits}      % \ohm, \micro
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}

%%%%% layout %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\pagestyle{headandfoot}
\ifprintanswers
\newcommand{\stitle}{L\"osungen}
\else
\newcommand{\stitle}{\"Ubung}
\fi
\header{{\bfseries\large \stitle}}{{\bfseries\large Punktprozesse 2}}{{\bfseries\large 27. Oktober, 2015}}
\firstpagefooter{Prof. Dr. Jan Benda}{Phone: 29 74573}{Email:
jan.benda@uni-tuebingen.de}
\runningfooter{}{\thepage}{}

\setlength{\baselineskip}{15pt}
\setlength{\parindent}{0.0cm}
\setlength{\parskip}{0.3cm}
\renewcommand{\baselinestretch}{1.15}

%%%%% listings %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}
\lstset{
  language=Matlab,
  basicstyle=\ttfamily\footnotesize,
  numbers=left,
  numberstyle=\tiny,
  title=\lstname,
  showstringspaces=false,
  commentstyle=\itshape\color{darkgray},
  breaklines=true,
  breakautoindent=true,
  columns=flexible,
  frame=single,
  xleftmargin=1em,
  xrightmargin=1em,
  aboveskip=10pt
}

%%%%% math stuff: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{bm} 
\usepackage{dsfont}
\newcommand{\naZ}{\mathds{N}}
\newcommand{\gaZ}{\mathds{Z}}
\newcommand{\raZ}{\mathds{Q}}
\newcommand{\reZ}{\mathds{R}}
\newcommand{\reZp}{\mathds{R^+}}
\newcommand{\reZpN}{\mathds{R^+_0}}
\newcommand{\koZ}{\mathds{C}}

%%%%% page breaks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\continue}{\ifprintanswers%
\else
\vfill\hspace*{\fill}$\rightarrow$\newpage%
\fi}
\newcommand{\continuepage}{\ifprintanswers%
\newpage
\else
\vfill\hspace*{\fill}$\rightarrow$\newpage%
\fi}
\newcommand{\newsolutionpage}{\ifprintanswers%
\newpage%
\else
\fi}

%%%%% new commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\qt}[1]{\textbf{#1}\\}
\newcommand{\pref}[1]{(\ref{#1})}
\newcommand{\extra}{--- Zusatzaufgabe ---\ \mbox{}}
\newcommand{\code}[1]{\texttt{#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\input{instructions}


\begin{questions}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\question \qt{Homogener Poisson Prozess}
Wir wollen den homogenen Poisson Prozess benutzen um Spikes zu generieren,
mit denen wir die Analysfunktionen des vorherigen \"Ubungszettel \"uberpr\"ufen k\"onnen.

Ein homogener Poisson Prozess mit der Rate $\lambda$ (gemessen in Hertz) ist ein Punktprozess,
bei dem die Wahrschienlichkeit eines Ereignisses unabh\"angig von der Zeit $t$ und
unabh\"angig von vorherigen Ereignissen ist.
Die Wahrscheinlichkeit $P$ eines Ereignisses innerhalb eines Bins der Breite $\Delta t$ ist
\[ P = \lambda \cdot \Delta t \]
f\"ur gen\"ugend kleine $\Delta t$.
\begin{parts}
  
  \part Schreibe eine Funktion die $n$ homogene Poisson Spiketrains
  einer gegebenen Dauer $T_{max}$ mit Rate $\lambda$ erzeugt.
  \begin{solution}
    \lstinputlisting{hompoissonspikes.m}
  \end{solution}
  
  \part Benutze diese Funktion um einige Trials von Spikes zu erzeugen
  und plotte diese als Spikeraster.
  \begin{solution}
    \begin{lstlisting}
      spikes = hompoissonspikes( 10, 100.0, 0.5 );
      spikeraster( spikes )
    \end{lstlisting}
    \mbox{}\\[-3ex]
    \colorbox{white}{\includegraphics[width=0.7\textwidth]{poissonraster100hz}}
  \end{solution}
  
  \part Berechne Histogramme aus den Interspikeintervallen von $n$
  Poisson Spiketrains mit der Rate $\lambda=100$\,Hz. Ver\"andere
  \"uber die Dauer $T_{max}$ der Spiketrains und die Anzahl $n$ der
  Trials die Anzahl der Intervalle und ver\"andere auch die Binbreite
  des Histograms (fang mit 1\,ms an). Wieviele Interspikeintervalle
  werden ben\"otigt, um ein ``sch\"ones'' Histogramm zu erhalten? Wie
  lange m\"usste man also von dem Neuron ableiten?
  \begin{solution}
    About 5000 intervals for 25 bins. This corresponds to a $5000 /
    100\,\hertz = 50\,\second$ recording of a neuron firing with
    100\,\hertz.
  \end{solution}
  
  \part Vergleiche Interspike-Intervall Histogramme von Poisson-Spikes
  verschiedener Raten $\lambda$ mit der theoretisch zu erwartenden Verteilung
  der Intervalle $T$ des Poisson Prozesses
  \[ p(T) = \lambda e^{-\lambda T} \; .\]
  \begin{solution}
    \lstinputlisting{hompoissonisih.m}
    \colorbox{white}{\includegraphics[width=0.48\textwidth]{poissonisih100hz}}
    \colorbox{white}{\includegraphics[width=0.48\textwidth]{poissonisih20hz}}
  \end{solution}
  
  \part \extra Was pasiert mit den Histogrammen, wenn die Binbreite
  der Histogramme kleiner als das bei der Erzeugung der Poisson
  Spiketrains verwendete $\Delta t$ ist?
  \begin{solution}
    Die Bins zwischen der durch $\Delta t$ vorgegebenen
    Diskretisierung haben den Wert 0. Dadurch werden aber die anderen
    durch die Normierung h\"oher als sie sein sollten.
  \end{solution}
  
  \part Plotte den Mittelwert der Interspikeintervalle, die
  dazugeh\"orige Standardabweichung und den Variationskoeffizienten
  als Funktion der Rate $\lambda$ des Poisson Prozesses. Vergleiche
  die Ergebnisse mit den theoretischen Erwartungen (siehe Vorlesungsskript).
  \begin{solution}
    \lstinputlisting{hompoissonisistats.m}
    \colorbox{white}{\includegraphics[width=0.98\textwidth]{poissonisistats}}
  \end{solution}
  
  \part Plotte die seriellen Korrelationen von Poisson-Spiketrains und
  erkl\"are kurz das Ergebniss.
  \begin{solution}
    \mbox{}\\[-2ex]\hspace*{2cm}
    \colorbox{white}{\includegraphics[width=0.8\textwidth]{poissonserial100hz}}\\
    Alle Korrelationen zwischen Interspikeintervallen sind Null, da
    beim Poisson Prozess das Auftreten jedes Spikes unabh\"angig von
    den vorherigen Spikes ist.
  \end{solution}
  
  \part Vergleiche Histogramme von Spikecounts gez\"ahlt in Fenstern
  der Breite $W$ mit der Poisson Verteilung
  \[ P(k) = \frac{(\lambda W)^ke^{\lambda W}}{k!} \; , \] 
  wobei die Rate $\lambda$ aus den Daten bestimmt werden
  soll. Hinweis: es gibt eine \code{matlab} Funktion, die die
  Fakult\"at $n!$ berechnet.
  \begin{solution}
    \lstinputlisting{../code/counthist.m}
    \colorbox{white}{\includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz10ms}}
    \colorbox{white}{\includegraphics[width=0.48\textwidth]{poissoncounthistdist100hz100ms}}
  \end{solution}
  
  \part Schreibe eine Funktion, die die mittlere Anzahl, die Varianz
  und den Fano-Faktor der Anzahl der Spikes in einem Fenster der
  Breite $W$ bestimmt. Benutze die Funktion, um diese Parameter f\"ur
  verschiedene Fensterbreiten $W$ zu bestimmen. Zwei Plots sollen aus
  den Ergebnissen angefertigt werden: (i) Varianz gegen Mittelwert der counts.
  (ii) Fano Faktor als Funktion der Fensterbreite.
  \begin{solution}
    \lstinputlisting{../code/fano.m}
    \colorbox{white}{\includegraphics[width=0.98\textwidth]{poissonfano100hz}}
  \end{solution}
  
\end{parts}

\end{questions}

\end{document}
