diff --git a/.gitattributes b/.gitattributes
index bac69065a191e9850adac04c07ccfc308c8aaa59..42aa792159d3f31d61bbf352b5a42563ac674277 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2592,6 +2592,8 @@ doc/papers/2011/europar/Makefile -text
 doc/papers/2011/europar/coherent-dedispersion.jgr -text
 doc/papers/2011/europar/colinear.fig -text
 doc/papers/2011/europar/delay.fig -text
+doc/papers/2011/europar/dispersed-signal-data-2.sh -text
+doc/papers/2011/europar/dispersed-signal.jgr -text
 doc/papers/2011/europar/execution_times.jgr -text
 doc/papers/2011/europar/llncs.cls -text
 doc/papers/2011/europar/llncs2e.zip -text
diff --git a/doc/papers/2011/europar/Makefile b/doc/papers/2011/europar/Makefile
index df209b774156297fa3ea808536f4c6fe4ba8ee43..c2a9d7160b4ca0155f54dfb856b5435b166e02b1 100644
--- a/doc/papers/2011/europar/Makefile
+++ b/doc/papers/2011/europar/Makefile
@@ -4,7 +4,7 @@ BIB_SOURCES =	lofar.bib
 
 FIG_SOURCES =	delay.fig lofar-stations.fig
 
-JGR_SOURCES =	stations-beams.jgr execution_times.jgr coherent-dedispersion.jgr
+JGR_SOURCES =	stations-beams.jgr execution_times.jgr coherent-dedispersion.jgr dispersed-signal.jgr
 
 JPG_SOURCES =	
 
@@ -68,3 +68,6 @@ lpr::		lofar.ps
 
 clean::
 		rm -f $(GEN_FILES)
+
+dispersed-signal.pdf:	dispersed-signal-data-2.sh
+
diff --git a/doc/papers/2011/europar/dispersed-signal-data-2.sh b/doc/papers/2011/europar/dispersed-signal-data-2.sh
new file mode 100755
index 0000000000000000000000000000000000000000..fb926119444ad49815f7c497970a71142647a301
--- /dev/null
+++ b/doc/papers/2011/europar/dispersed-signal-data-2.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+LINE=$1
+
+if [ "$LINE" = "" ]
+then
+  LINE=0
+fi
+
+
+SB=`echo "$LINE/16/5+200" | bc -l`
+
+DM=13.76517
+kDM=4148.808000
+V1=`echo "(512+200)*200/1024" | bc -l`
+V2=`echo "(512+$SB)*200/1024" | bc -l`
+DT=`echo "1000*$kDM*$DM*(1/($V1*$V1)-1/($V2*$V2))" | bc -l`
+
+RAISE=$LINE
+SHIFT=$DT
+
+if [ "$2" = "noshift" ]
+then
+  SHIFT=0 
+fi
+
+N=0
+
+for j in `seq 1 8`
+do
+  for i in \
+    0.0774172   0.03210746 -0.0445541   0.00610412 -0.0319828   0.02593199 \
+    0.07882975 -0.04888158  0.01236247 -0.02991732 -0.02594422  0.03068228 \
+    0.39840362  0.70129715  0.81479671  0.62009142  0.48787918  0.41444714 \
+    0.49326743  0.53368318  0.46734203  0.24543242  0.15654414
+  do
+    echo "-0.3 + $N/23 * 1.88 - $SHIFT" | bc -l
+    echo "$i+$RAISE" | bc -l
+    N=$((N+1))
+  done
+done
diff --git a/doc/papers/2011/europar/dispersed-signal.jgr b/doc/papers/2011/europar/dispersed-signal.jgr
new file mode 100644
index 0000000000000000000000000000000000000000..51da2bc66a1ce05a347892834a6b89499395fce1
--- /dev/null
+++ b/doc/papers/2011/europar/dispersed-signal.jgr
@@ -0,0 +1,93 @@
+newgraph
+  clip
+  xaxis
+    label : Time (ms)
+    min 0
+    max 4
+    size 2
+    mhash 5
+    no_auto_hash_labels
+    shell : seq 0 2 | awk '{ printf "hash_label at %d : %.2f\n",2*$1,$1 * 1.88; }'
+  yaxis
+    label : Frequency (MHz)
+    hash 0
+    min -0.2
+    size 2
+    shell : seq 0 3 | awk '{ f = (512 + 200 + $1 * 1/16/3)*200/1024; printf "hash_label at %d : %.3f\n",$1,f; }'
+
+newline
+  color 0 0 1
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 0
+
+newline
+  color 0 0 1
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 1
+
+newline
+  color 0 0 1
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 2
+
+newline
+  color 0 0 1
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 3
+
+newgraph
+  x_translate 2.5
+
+  clip
+  xaxis
+    label : Time (ms)
+    min 0
+    max 4
+    size 2
+    mhash 5
+    no_auto_hash_labels
+    shell : seq 0 2 | awk '{ printf "hash_label at %d : %.2f\n",2*$1,$1 * 1.88; }'
+  yaxis
+    label : Frequency (MHz)
+    hash 0
+    min -0.2
+    size 2
+    shell : seq 0 3 | awk '{ f = (512 + 200 + $1 * 1/16/3)*200/1024; printf "hash_label at %d : %.3f\n",$1,f; }'
+    nodraw
+
+newline
+  color 1 0 0
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 0 noshift
+
+newline
+  color 1 0 0
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 1 noshift
+
+newline
+  color 1 0 0
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 2 noshift
+
+newline
+  color 1 0 0
+  linethickness 2.0
+  linetype solid
+  pts
+    shell : ./dispersed-signal-data-2.sh 3 noshift
+
diff --git a/doc/papers/2011/europar/lofar.pdf b/doc/papers/2011/europar/lofar.pdf
index f18f8ff6e0a00f87bd7537526a1a683f8379f801..16b8a995b9ebca62ea6be6ac4d045f57336b2228 100644
Binary files a/doc/papers/2011/europar/lofar.pdf and b/doc/papers/2011/europar/lofar.pdf differ
diff --git a/doc/papers/2011/europar/lofar.tex b/doc/papers/2011/europar/lofar.tex
index 7cb899fa0922840211f7ad1968ea0826ce481913..5249c58a20731eb908410f1b965a79cc89d93a03 100644
--- a/doc/papers/2011/europar/lofar.tex
+++ b/doc/papers/2011/europar/lofar.tex
@@ -211,17 +211,27 @@ The beamformer transforms chunks representing station data into chunks represent
 
 \subsection{Channel-level Dedispersion}
 
-Another major component in the pulsar-observation pipeline is real-time dedispersion.  Since light of a high frequency travels faster through the interstellar medium than light of a lower frequency, the arrival time of a pulse differs for different wave lengths. To combine data from multiple frequency channels, the channels must be aligned (shifted in time). Otherwise, the pulse will be smeared or even overlap with the next pulse, causing many details to be lost. This process, called \emph{dedispersion}, is done by post-processing software that runs after the observation has finished.  However, to observe at the lowest frequencies, or to observe fast-rotating millisecond pulsars, dedispersion must also be performed \emph{within\/} a channel, since our channels (typically 12~KHz) are too wide to ignore dispersion.
+Another major component in the pulsar-observation pipeline is real-time dedispersion.  Since light of a high frequency travels faster through the interstellar medium than light of a lower frequency, the arrival time of a pulse differs for different wave lengths. To combine data from multiple frequency channels, the channels must be aligned (shifted in time). Otherwise, the pulse will be smeared or even overlap with the next pulse, causing many details to be lost. This process, called \emph{dedispersion}, is done by post-processing software that runs after the observation has finished.  However, to observe at the lowest frequencies, or to observe fast-rotating millisecond pulsars, dedispersion must also be performed \emph{within\/} a channel, since our channels (typically 12~KHz) are too wide to ignore dispersion (see Figure \ref{fig:dispersed-signal}).
 
 \begin{figure}[ht]
-\includegraphics[width=0.5\textwidth]{coherent-dedispersion.pdf}
+\begin{minipage}[t]{0.60\textwidth}
+\center
+\includegraphics[width=\textwidth]{dispersed-signal.pdf}
+\caption{Pulse arrival times within a 12 kHz channel before (left) and after (right) channel-level dedispersion.}
+\label{fig:dispersed-signal}
+\end{minipage}
+\hfill
+\begin{minipage}[t]{0.35\textwidth}
+\center
+\includegraphics[width=\textwidth]{coherent-dedispersion.pdf}
+\caption{Pulse profiles with and without channel-level dedispersion.}
 \label{fig:dedispersion-result}
-\caption{Pulse profiles of pulsar J0034-0534, with and without channel-level dedispersion.}
+\end{minipage}
 \end{figure}
 
 Dedispersion is performed in the frequency domain, effectively by doing a 4K~Fourier transform (FFT) that splits a 12~KHz channel into 3~Hz subchannels. The phases of the observed samples are corrected by applying a Chirp function~\cite{...}, i.e., by multiplication with precomputed, subchannel-dependent, complex weights. These multiplications are programmed in assembly, to reduce the computational costs. A backward FFT is done to revert to 12~KHz channels. 
 
-Figure~\ref{fig:dedispersion-result} shows the effectiveness of channel-level dedispersion, where we observed pulsar J0034-0534 with a pulse period of 1.88~ms. By applying dedispersion, the effective time resolution is improved from 0.51~ms to 0.082~ms, revealing a narrower, more detailed pulse and a better signal-to-noise ratio. Dedispersion thus contributes significantly to the data quality, but it also comes at a significant computational cost due to the two FFTs it requires. It demonstrates the power of using a \emph{software\/} telescope: the pipeline component was implemented, verified, and optimized in only one month time.
+Figure~\ref{fig:dedispersion-result} shows the effectiveness of channel-level dedispersion, where we observed pulsar J0034-0534 with a pulse period of 1.88~ms. By applying dedispersion, the effective time resolution is improved from 0.51~ms to 0.082~ms, revealing a more detailed pulse and a better signal-to-noise ratio. Dedispersion thus contributes significantly to the data quality, but it also comes at a significant computational cost due to the two FFTs it requires. It demonstrates the power of using a \emph{software\/} telescope: the pipeline component was implemented, verified, and optimized in only one month time.
 
 \subsection{Second All-to-all Exchange}