Implementation of a filters

The discrete-time transfer function H(z) is often obtained from its counterpart, the continuous-time transfer function H(s) via discretization. A discrete-time transfer function has the following form:

(1)   \begin{equation*}H(z) = \frac{Y(z)}{X(z)} = \frac{\sum_{i = 0}^{N} b_i z^i}{\sum_{j = 0}^{M} a_j z^j}\end{equation*}

Herein, X(z) is the input and Y(z) is the output of the system, N and M are the degree of the numerator and denominator, respectively. Where N \leq M, meaning we are dealing with a proper transfer function. While (1) is valid for any order it is not recommended to directly use transfer functions of high order. These can namely introduce numerical problems very quickly. Rather factorize the numerator and denominator of (1) into a cascade of first and second order polynomials.

    \begin{equation*}H(z) = K \frac{\displaystyle \prod_{i = 0}^V \left( z + b_{0i} \right)}{\displaystyle \prod_{i = 0} ^W\left( z + a_{0i} \right)} \frac{\displaystyle \prod _{i = 0}^N \left( z^2 + b_{1i} z + b_{2i} \right)}{\displaystyle\prod_{i = 0}^M \left( z^2 + a_{1i} z + a_{2i} \right)}\end{equation*}

Now let us look at the simple discrete-time transfer function of order two:

    \begin{equation*}H(z) = \frac{b_0 z^2 + b_1 z + b_2}{z^2 + a_1 z + a_2}\end{equation*}

This function is non-causal, because it depends on future inputs. Therefor, both the numerator and denominator are multiplied by reciprocal of the highest order of z occuring in the denominator, in this case z^{-2}, to make the system causal. Hence, we obtain:

    \begin{equation*}H(z) = \frac{b_0 + b_1 z^{-1} + b_2 z^{-2}}{1 + a_1 z^{-1} + a_2 z^{-2}}\end{equation*}

Followingly, using the linearity and time-shifting properties of the \mathcal{Z}-transform, i.e., \mathcal{Z}(a_1 x_1[n] + a_2 x_2[n]) = a_1 X_1(z) + a_2 X_2(z) and \mathcal{Z}(q^{-k}x[n]) = z^{-k}X(z), we obtain the difference equation. Remark that the shift operator q is defined as q^kx[n] = x[n+k], the forward shift operation and q^{-k}x[n] = x[n-k], the backward shift (delay) operator. As a result we obtain,

(2)   \begin{equation*}y[n] = \frac{b_0 + b_1 q^{-1} + b_2 q^{-2}}{1 + a_1 q^{-1} + a_2 q^{-2}} x[n]\end{equation*}

Rewriting (2) gives us:

    \begin{gather*}\left( 1 + a_1 q^{-1} + a_2 q^{-2} \right) y[n] = \left( b_0 + b_1 q^{-1} + b_2 q^{-2} \right) x[n] \\\Leftrightarrow y[n] + a_1 y[n-1] + a_2 y[n-2] = b_0 x[n] + b_1 x[n-1] + b_2 x[n-2] \\\Leftrightarrow y[n] = b_0 x[n] + b_1 x[n-1] + b_2 x[n-2] - a_1 y[n-1] - a_2 y[n-2]\end{gather*}

This last equation is the difference equation which we can easily implement on our digital platform. Numerous methods exists on how to implement a filter. Four of these methods are closely related to each other. These are:

  • Direct form I
  • Direct form II
  • Transposed direct form I
  • Transposed direct form II

Direct form I

The direct form I is an FIR filter followed by an IIR filter. That is to say, it implements Y(z) followed by \frac{1}{X(z)}

(3)   \begin{equation*}y[n] = b_0 x[n] + b_1 x[n-1] + b_2 x[n - 2] - a_1 y[n-1] - a_2 y[n-2]\end{equation*}

In an algorithm you can implement it as:

yk = b0 * xn + b1 * x1 + b2 * x2 - a1 * y1 - a2 * y2
x2 = x1
x1 = xn
y2 = y1
y1 = yn

Where, x1, y1, x2 and y2 are the four state variables.

Direct form II

The direct form I is an IIR filter followed by an FIR filter. Which implements \frac{1}{X(z)} followed by Y(z).

Signal flow diagram of direct form II. Where s[n] a state variable

(4)   \begin{align*}s[n] &= x[n] - a_1 s[n-1] - a_2 s[n-2] \\y[n] &= b_0 s[n] + b_1 s[n-1] + b_2 s[n-2]\end{align*}

In an algorithm you can implement it as:

s0 =      xn - a1 * s1 - a2 * s2
yn = b0 * s0 + b1 * s1 + b2 * s2
s2 = s1
s1 = s0

Where, s0, s1, s2 are the three state variables.

Direct form I transposed

Both direct forms can be converted to an equivalent transposed form via:

  • Reverse direction of each interconnection
  • Reverse direction of each multiplier
  • Change junctions to adders and vice-versa
  • Interchange the input and output signals
Signal flow diagram of direct form I transposed.

(5)   \begin{align*}y[n] &= b_0 v[n] + b_1 v[n-1] + b_2 v[n-2] \\v[n] &= x[n] - a_1 v[n-1] - a_2 v[n-2] \\\end{align*}



In an algorithm you can implement it as:

vn = xn + s2
yn = s4 + b0 * vn
s4 = s3 + b1 * vn
s3 = b2 * vn
s2 = s1 - a1 * vn
s1 = - a2 * vn

Note that this form is very inefficient. You can easily shift the delays to the center, obtaining the direct form II.

Direct form II transposed

Signal flow diagram of direct form II transposed.

(6)   \begin{align*}s_1[n] &= b_2 x[n-1] - a_2 y[n-1] \\s_2[n] &= b_1 x[n-1]  - a_1 y[n-1] + s_1[n-1] \\y[n] &= b_0 x[n] + s_2[n]\end{align*}

In an algorithm you can implement it as:

yn = s2 + b0 * xn
s2 = s1 + b1 * xn - a1 * yn
s1 = b2 * xn - a2 * yn

Symbol to represent Emergency Response Team (ERT) Bedrijfshulpverlening (BHV)

Emergency response officers (ERT), or in Dutch Bedrijfshulpverlening (BHV), within companies are trained in providing both first aid and limiting and combating (small) fires. All to limit the consequences of accidents. Various icons are used to resemble these organisations. One symbol which I have seen quiet often is the combination of first aid and a fire symbol.

However, since there was not yet a vector format available, I created one. Using the established first aid and fire sign from ISO 7010.

Emergency Response Team (ERT), or in Dutch Bedrijfshulpverlening (BHV), icon.

On the left the fire symbol with the red color. On the right half of the first aid cross with the green color. The red and green color form a gradient in the middle.

You can download the vector file here.

Filters in Control Systems

In this blog I want to elaborate on the various types of filters that are being used in Control Systems. These filters are often used in combination with a PI, PD or PID controller to obtain a robust controller. The filters which we will discuss are:

  • Low-Pass filter
  • High-Pass filter
  • Lead-Lag filter
  • Notch filter

Using these four filters we can create other filter types, such as a Band-Stop or Band-Pass filter. The behavior of each filter can be captured by a transfer function in the continuous-time using the Laplace domain s of either first and/or second order. We use the transfer functions to describes the filter H(s) = Y(s) / U(s) and as such the relation between the input U(s) and the output Y(s). Throughout this blog we will write the equations in the form of their angular frequency \omega in [rad/s], also known as radian frequency. However, we will specify filters using their frequency f in [Hz]. Using the radial frequency notation results in a more visual compact formula. Additionally, it is also possible to specify the filters in form of their time constant \tau in [s]. The following relation holds between the angular frequency, frequency and time constant.

    \begin{equation*} \omega \triangleq 2\pi f \triangleq \frac{1}{\tau} \end{equation*}

Many forms are used within literature, one book will use angular frequencies, the other will use time-constants. Finally, for second order filters, the only filter with possibly complex poles or zeros, can be written in various ways. We will specify second order filters in terms of the damping \beta of the corresponding frequency. It is also possible to describe these formulas using the Quality factor Q. Whereas \beta describes how oscillations decay in a system after a disturbance, Q describes how underdamped the system is. The following relation holds between \beta and Q

    \begin{equation*} \beta \triangleq \frac{1}{2Q} \end{equation*}

Low-pass filter

A low-pass filter is used to pass signals with a frequency lower than a certain cut-off frequency f_\text{lp}. Below the formulas for both the first- and second-order low-pass filter is given.

    \begin{equation*} H(s) = K\cdot\frac{\omega_{\text{lp}}}{s + \omega_{\text{lp}}} \quad\quad H(s) = K\cdot\frac{\omega_{\text{lp}}^2}{s^2 + 2\beta\omega_{\text{lp}}s + \omega_{\text{lp}}^2} \end{equation*}

Herein, K denotes the gain, f_\text{lp} denotes the low-pass cut-off frequency and \beta_\text{lp} denotes the damping. Whereas the first-order supresses with 20 [dB/dec], the second-order supresses with 40 [dB/dec]. Low frequent the filter gain is K.

High-pass filter

The complement of a low-pass filter is a high-pass filter. This filter is used to pass signals with a frequency higher than a certain cut-off frequency f_\text{hp}. Below the formulas for both the first- and second-order high-pass filter is given.

    \begin{equation*} H(s) = K\cdot\frac{s}{s + \omega_{\text{hp}}} \quad\quad H(s) = K\cdot\frac{s^2}{s^2 + 2\beta\omega_{\text{hp}}s + \omega_{\text{hp}}^2} \end{equation*}

Herein, K denotes the gain, f_\text{hp} denotes the high-pass cut-off frequency and \beta_\text{hp} denotes the damping. Likewise as the low-pass filter the first-order supresses frequencies with 20 [dB/dec] and the second-order with 40 [dB/dec].

Lead-lag filter

A lead-lag filter, also known as a lead-lag compensator, is often mainly used for phase compensation rather then magnitude. Below the formula for a lead or lag filter is shown.

    \begin{equation*} H(s) = K\cdot\frac{\omega_\text{p}}{\omega_\text{z}}\cdot\frac{s + \omega_\text{z}}{s + \omega_\text{p}} \end{equation*}

Herein, f_\text{p} and f_\text{z} denote the frequency of the pole and zero, respectively. The filter functions as a lead filter if f_\text{p} > f_\text{z}  and otherwise as a lag filter. The filter has its maximum or minimum phase at \sqrt{f_\text{p}f_\text{z}}. Finally, at f = \infty the filter has a gain of Kf_\text{p} / f_\text{z} or Kf_\text{z} / f_\text{p} in case of a lead or lag filter, respectively. Naturally, the filter can be cascaded with itself by which a the filter can be a lead and lag filter simultaneously.

Notch filter

A notch filter is often used to filter undesired resonance peaks. Below the formula for a notch filter is shown.

    \begin{equation*} H(s) = K\cdot\frac{\omega_\text{p}}{\omega_\text{z}}\cdot\frac{s^2 + 2\beta_\text{z}\omega_\text{z}s + \omega_\text{z}^2}{s^2 + 2\beta_\text{p}\omega_\text{p}s + \omega_\text{p}^2} \end{equation*}

Herein, f_\text{p} and f_\text{z} denote the frequency of the pole and zero, respectively. Likewise, \beta_\text{p} and \beta_\text{z} denote the damping of the pole and zero and K is as usual the gain. When f_\text{z} = f_\text{z} the notch will target one specific frequency. The gain at that frequency is given by \beta_\text{z} / \beta_\text{p}. When f_1 \neq f_2 the notch filter is also referred as a skewed notch and the difference between gain at low and high frequencies is given by (f_\text{p} / f_\text{z})^2.

Getting things done

A while ago I read the book Getting Things Done (GTD) written by David Allan. In my own personal workflow I was already applying GTD. However, after reading the book I further refined my personal workflow. My fellow colleagues were interested and also in need of GTD. Therefore, I made a short presentation about my own personal workflow, with tips & tricks. Feel free to use the presentation for your own benefits.

Codenames

Codenames is played between two teams, red and blue on a set of twenty-five codenames. Each team consists of a single spymaster who knows the secret identity behind each codename, with the remaining players as field operatives who will contact the codenames. On each turn of the game, the spymaster provides a clue to their field operatives. The field operatives will then attempt to contact at least one of their aligned agents based on the codenames clued. The first team to activate all of their agents wins the game!

Codenames is an interesting game since it can be adapted to a variaty of themes. For instance, it can be themed to Harry Potter. As such it is also a very good game to be played with children. Therefor, I created an excel file (Update 2017-04-30: I updated and added two additional word lists to the file; i) the official word list and ii) an extensive noun word list. Download here) from the original game which includes all the necessary items for the basic game:

  • Codenames (two categories, general and Harry Potter)
  • Map cards
  • Identity cards

You can print these on sheets of paper and cut them out. Now follows a set of detailed instructions for playing the game.

Identity cards
Identity cards

Codenames.
Selection of the codenames.

Map cards.
Selection of the map cards.

Setup

Players are divided into two teams, Red and Blue. Each team consists of one spymaster, with the remaining players as field operatives. All players observe a set of twenty-five words, representing codenames for agents aligned with each team. While field operatives do not observe the identities of each of the codenames, the spymasters each get to see the identity of all codenames on the map card.

There are four different agent identities: red agent, blue agent, bystander, and assassin. One of the teams will have nine of their-colored agents in the set of codenames, while the other team will have eight agents. The team with nine agents will take the starting turn in the game. Among the eight codenames not aligned with either team, there are seven Bystanders and one Assassin. Effects for contacting these agents are described in the following section.

Game flow

On a team’s turn, their spymaster must start by providing their field operatives with a clue for the identities for their own agents. A clue consists of a single word and a number. The word should be related to the codenames that are aligned with the acting spymaster’s team, while the number represents how many codenames are related to the clue word. Further guidelines, including two special number rules, follow in the section below.

Once a clue has been given, the field operatives are free to discuss which codename(s) should be contacted. When the field operatives have decided on a guess, they may register their guess by touching the codename. The host or spymaster will reveal the identity of the codename by putting an identity card (Red Agent, Blue Agent, Bystander or Assasin) on top of it.

If the revealed agent is of the same team as the operatives, then they may continue making guesses. A maximum number of guesses may be made equal to the number given in the spymaster’s clue, plus one. Alternatively, the field operatives may pass to end their turn, so long as they have made at least one guess already on their turn. If the revealed agent is not of the same team, then the turn ends. In the special case that the assassin was revealed, then the team that performed the reveal immediately loses the game.

Spymaster Clue Guidelines

Spymaster clues consist of a single word and a number, with the following guidelines:

  • Words must be related to the meaning of the codenames being clued.
  • The number following the word cannot be used as a clue itself.
  • Clues may not include codenames or related forms of codenames. For compound codenames, this includes the constituent words that comprise the compound word. Once a codename has been guessed, it can be used in clues.

Overall, be reasonable about rules; spymasters may consult with their opposing spymaster and the host for the validity of a clue. If an invalid clue is provided, then the turn immediately ends and the opposing spymaster may declare an agent of their own color before making their own clue.

Spymasters have two special options for numbers associated with their clue words. First, spymasters may declare zero (0) as their clue, suggesting that none of the codenames are related to their declared word. In the case that zero is declared, the field operatives do not have a limit to the number of guesses that they may make before passing. The second special option is to declare “unlimited” as their clue, suggesting at least one codename is related to the declared word. As with zero, the number of guesses that may be made by field operatives before passing is unlimited.

(Modified) PERT distribution

The United States navy developed in the 1950’s a program evaluation research task (PERT). It was designed to analyze the duration of a project and the tasks within the project. Each task in the project is given the following properties:

  • Name of the task
  • Predecessor, the list of tasks that have to be completed before the task can start.
  • The amount of time it will take for a task to be finished.

The duration of a task is often not fixed. It can vary between a minimum and maximum. The PERT distribution was created to give a good estimate of what the probability is of the duration of a task. It uses the same three parameters as the Triangular distribution, namely, the minimum (\text{min}), the most likely (\text{mode}) and the maximum (\text{max}). The probability density function (PDF) is given by

    \begin{equation*} f(x) = \frac{1}{B(\alpha_1,\alpha_2)}\frac{(x - \text{min})^{\alpha_1 - 1} (\text{max} - x)^{\alpha_2 - 1}}{(\text{max} - \text{min})^{\alpha_1 + \alpha_2 - 1}} \end{equation*}

where

    \begin{equation*} \alpha_1 = 6 \left( \frac{\mu - \text{min}}{\text{max} - \text{min}} \right), \quad \alpha_2 = 6 \left( \frac{\text{max} - \mu}{\text{max} - \text{min}} \right), \quad \end{equation*}

with

    \begin{equation*} \mu = \frac{\text{min} + 4\text{mode} + \text{max}}{6} \end{equation*}

being the mean.

An additional shape parameter \gamma might be added, in which case we are dealing with the modified PERT (MPERT) distribution. The parameter influences the peakness of the distribution. The only difference with PERT is the definition of \alpha_1 and \alpha_2. These are namely defined as:

    \begin{equation*} \alpha_1 = 1 + \gamma \left( \frac{\mu - \text{min}}{\text{max} - \text{min}} \right), \quad \alpha_2 = 1 + \gamma \left( \frac{\text{max} - \mu}{\text{max} - \text{min}} \right), \quad \end{equation*}

I created some Matlab code which includes functions for the PDF, the (inverse) cumulative distribution function (CDF). The inverse CDF is important for when you want to generate random numbers. The code can be download from here.

Finally, below is an interactive example of the PDF of PERT (blue) and MPERT (red) distribution.

Published articles

During and after my Master thesis I authored and co-authored three articles. Two for a scientific journals (IEEE) and one for a Dutch professional magazine (Mechatronica & Machinebouw). While it took me a lot of time writing these articles and I do think that the current publish or perfish system is completly wrong – can write a whole blog about this or maybe read this article – I am glad I took up the challenge to write them next to my thesis.

Writing a scientific article is completely different compared to writing your thesis. For your thesis you have numerous pages to explain your story for a scientific article you only have a few. As a result, you will have to be very precise in your writing and choose the words carefully. It has to be very clear, precise and short. This can be very challenging when your story touches a lot of subjects from different fields. Angel Borja wrote a three articles on writing your article and I would like to share these with you:

  1. Six things to do before writing your manuscript
  2. 11 steps to structuring a science paper editors will take seriously
  3. Writing the first draft of your science paper — some dos and don’ts

In addition, I found the UW-Madisons Writer’s Handbook and especially the page about Transitional Words and Phrases useful.

Finally, without further ado, the three articles I have written.

Frequency-domain analysis of real-time and networked control systems with stochastic delays and data drops

Abstract—We present a novel frequency-domain analysis framework for a closed-loop model capturing a wide range of real-time and networked control systems with stochastic delays and packet drops. Our results allow for inferring the mean and variance of the output response to deterministic inputs, based on a new frequency response plot. We illustrate the usefulness of our results in the context of real-time control systems with input-to-output delays resulting from the use of a shared processor.

Keywords—Frequency-domain analysis, networked control systems, real-time systems, stochastic systems, data losses, delays

pdf

The impact of deadline misses on the control performance of high-end motion control systems

Abstract—In high-end motion control systems the real-time computational platform must execute tasks from multiple control loops operating at high sampling rates. In recent years traditional special-purpose platforms have been replaced by general purpose multi-processor platforms, which introduce significant fluctuations in execution times. While considering worst-case execution times would severely reduce the sampling rates, accepting deadline misses and assuring that the control system still meets the desired specifications is challenging. In this paper, we provide a framework to model and assert the impact of deadline misses in a real-time control loop. We consider stochastic models for deadline misses and characterize the mean and the variance of closed-loop output variables based on a time-domain analysis. We illustrate the usefulness of our framework in the control of a benchmark motion control experimental setup and in the control of a wafer stage in a lithographic machine.

Keywords—Deadline misses, data losses, packet drops, performance analysis, stochastic analysis, industrial case study, hybrid systems, cyber-physical systems, real-time systems

pdf

Smarter balancing between performance and costs in control systems

Abstract—In order to ensure the performance of control systems, the digital platforms on which they are executed are often over-dimensioned, which are unnecessary costly. State-of-the-art model based techniques make it possible to create cheaper control systems, without performance degradation.

Keywords—Deadline misses, data losses, packet drops, performance analysis, stochastic analysis, industrial case study, hybrid systems, cyber-physical systems, real-time systems

pdf

Fantasy book frame quote

A few weeks ago I saw the following tweet by Bo Marit. I really liked how the quote and the symbol reference stand out in front of the text in the frame. Since, I liked them so much I decided to be a copy-cat. However, I added also another frame with a reference to Game of Thrones.

The font that she uses for the quote is called Darleston. It is a really elegant calligraphic font created by Youssef Habchi. For the book page text I used Garamond, a standard font on most computers. I chose this font because it has an oldish style to it. While this could easily be created in Photoshop or any other graphics editor, I simply recreated it with Microsoft Word, which is maybe even easier! I simply created a two column layout, added two textboxes for the quotes and the symbol image. You can download the word file here (note: you will need the fonts Darleston and Garamond) or a pdf file here. As an frame I would recommend a simple wooden frame as Bo Marit uses, I think it gives adds elegance and makes it look more humble. Furthermore, I would not use regular A4 paper to print this on. I searched for the same type of paper you often see used in books. Most likely you will find this type of paper in your local hobby store.

Finally, my result:

Three frames with a book page and quote in front as reference.

I plan the hang the Harry Potter frame near to a light switch, the Lord of the Rings frame near to the clock and the Game of Thrones frame near to the thermostat.

GEWIS GEMOLD 2014

From 28th of May to the 1st of June GEMOLD14 takes place. GEMOLD14 is the GEWIS version of the popular Dutch television program wie is de mol?, literally translated who is the mole?. The program is about 10 candidates who have to complete several assignments with which they can earn money. However, one of the candidates is the mole, it is his solely purpose to make sure that assignments fail and the team of candidates earn as less money as possible.  At the end of each episode there is an execution, the candidates have to answer a number of questions about the identity of the mole. The candidate who answers the least amount of questions correct has to leave. Candidates can earn jokers, which turns a falsely answered question into a correct one, or free-cards with which they do not have to do the answer the questions at all and guarantees continuation to the next episode. At the end of the program there are only three candidates left, the mole and two candidates. The winner is the candidate, who is not the mole of course, who answers the most correct questions about the identity of the mole.

On the 23rd of February I got an e-mail from the GEMOLD14 committee with the message I was selected to participate as a candidate. Together with the e-mail I received a questionnaire which I immediately filled in. You can download it here, however, it is in Dutch. I also had to write a small introduction about myself for the website, which you can view here, also in Dutch. After that it was just waiting for the 28th of May.

On the 28th of May all 14 candidates gathered at GEWIS in the Metaforum at the university. Before I went to GEWIS I made a visit to the bathroom where I wrote mole on mirror with soap just as a tease for the other male candidates who might had to go to the bathroom after I went. Later we were delegated to come to balcony of the Metaforum. After a group picture with all the candidates GEMOLD14 was finally about to start. Tim the host of GEMOLD14 showed up and welcomed us. He explained some organizational matters and how jokers and free cards looked like. We handed in our mobile phones, wallets and everything else that we were not allowed to have in our possession during the weekend. Afterwards, he told us to prepare ourselves for execution! With only the questions from questionnaire  someone was already going to leave the group. Everyone was in shock, while I only had an eye for the joker and free card which Tim showed us as an example and left on a small table. With an easy pace I walked up to the table and grabbed them while everyone was gasping and watching me. Unfortunately however, one of the other organizers came up to me and told me to give them back. As polite as I am, I gave them back. Very stupid afterwards since they really lay in the open and the organizers were only to blame themselves to leave them so in the open. In the meantime the monitor was placed. Ruben, the host who did the executions, called the first name: Rik — who I think is the mole by the way — got a green screen. He was followed by Celine, Mark, Jos, Arno and Levi who all got a green screen. Then it was Wout’s turn, he was one of the finalist of GEMOLD13. Unfortunately for him he got a red screen and we were left with 13 candidates.

Wout was executed and the remaining candidates and myself gathered between the Metaforum and the Main building. Tim showed up. He asked for two volunteers who were lazy, Jos and Annebel presented themselves after which they were escorted away from the rest. Tim asked for someone who still had to recover from the shock, Mike presented himself and he was also escorted. At the end Tim needed two more volunteers who would enjoy a little walk, Ingmar and Leroy presented themselves. The rest had to fetch our bicycles and were escorted by two people from the organisation, Merel and Serge. For clearance here a list of the people:

  • Two volunteers who were lazy: Jos and Annebel.
  • One volunteer who still had to recover from the shock: Mike
  • Two volunteers who enjoyed a walk: Ingmar and Leroy
  • The rest who were gonna travel by bicycle: Wouter (me), Jorik, Celine, Wim, Levi, Rik (mole!), Patricia and Arno.

We drove to the Opwettense Watermill. Tim was waiting for us, after we parked our bicycles Tim explained us the assignment. Two people would arrive at the Watermill in approximate 10 minutes. From there on we had to guide them within one hour to the camp location were we would spend the night. We were to act as a traffic signpost and were not allowed to communicate by any other means than that. We were given three maps in which not all roads were clearly visible. On the left side the street directions were given in plain text. After the instructions of Tim we gathered in a circle around one of the maps, discussing which positions were best to post someone as a signpost. In this discussing Levi took the lead. Celine also got hold of one of the maps, I asked her if I could have a look at it. She gave me the map, but not before saying that she wanted it back afterwards, of course I never gave it back. At the first point were we had to leave someone behind I told the group we had to leave Celine as a signpost, I took the lead in this discussion since I did not suspect her. Celine was left at the first street crossing and the rest bicycled further. During the road there was some discussion whether or not someone had to be left at a street junction however of course our logic kicked in and we decided to post no-one as long as the directions was straight ahead. Jorik was left next at a roundabout. Then Patricia was left at a crossing. After that there was some discussion if we took the correct turn. I quickly ended that discussion because from reading the map and street names I knew we were correct. It was very funny and suspicious to see that no one seemed to be bothered to actually look at the street names and the ones on the map. The discussions were more like — when you look at the scale of the map and the distance from this crossing to this crossing, this had to be the correct crossing. At the next crossing I told the group which was left, that I want to act as a signpost and to be left behind. Levi did not like that and wanted to leave someone else behind — I guess he did not trust me.  Rik (mole!) however told Levi however that we could keep discussing but that it was useless and he should accept the situation as it was. I was left behind as a signpost and the rest continued. However at the end of the road they stopped and were discussing. Later I learned that there was confusion about the map since there should have been a straight clear road ahead but there was not. However during their discussion Ingmar and Leroy arrived at my location, quickly I acted as a signpost and pointed them to the correct direction. Ingmar and Leroy were gaining upon the rest of the bicyclists, since they were still discussing. Suddenly they saw them and drove of, however, leaving Wim behind as a signpost. From this point on I could only guess and learn from others what happened further on. Suddenly however Mike arrived, I was kind of surprised and without thinking I pointed him in the correct direction, very foolish of me so it appeared afterwards.

While I was waiting to be picked up by one of the organizers I started to write in my mole booklet. After a while the group reappeared and we drove back to the starting point to pick up everyone after which we drove straight to the camp location. At the camp location we had to step off from our bicycles and one by one we had to go to the gates from the encampment. Jorik went first, he however came back and told us that he did not get in. He told us that we were getting a yes or no question about if we wanted to get into the encampment for -500 mole money. In the meantime Arno did went to the gate and got in. At first I thought he told yes. Then Wim and Celine got in as well. I got to the gate and got the question which Jorik told me I would get, I clearly said no and got in. From what I learned afterwards Jorik told not clearly no but said “euh no. Inside the main building of the encampment I learned that while there was some confusion on the road, after I was left behind, we succeeded with the assignment. When every candidate was inside Tim greeted us. He told us that Ingmar and Leroy were inside the encampment in time with which we earned 500 mole money. However, Mike also made it also into the encampment with which he earned a free-card. This did however cost -1000 mole money. So actually we did fail with the assignment, since we got -500 mole money in the end. The mole had succeeded and we went to sleep.

The next morning all candidates gathered in a small room. Tim joined and explained the lie and cheat assignment. The moles of the three previous editions of GEMOLD would join us they would act as a jury. Tim would then ask each candidate two questions, one had to be answered truthfully the other with a lie. The jury would then try to guess which answer was a lie. Each candidate could earn mole money when the jury did not manage to find out which answer was a lie. When a previously candidate managed to fool the jury the next candidate could choose to call. The mole money earned by the previous candidate would then be safe. If he continued and the jury would guess correctly which answer was a lie then the previously earned mole money would be gone. The amount of mole money earned would raise by:

  • 10 mole
  • 30 mole
  • 100 mole
  • 200 mole
  • 500 mole
  • 1000 mole
  • 1500 mole

First Ingmar and Patrice who both did not manage to fool the jury. Then other candidates told me I had to go, I resisted a bit but gave in to the pressure. Tim asked me two questions, if I had a part-time job and what my favorite book was. Since I did not quiet understand the game at that moment, I was wondering if the question which were asked stood in the questionnaire, I decided to answer the first question falsely and the second truthfully. The jury then guessed wrong. The next candidate did not decide to call and unfortunately he did not fool the jury. The 10 mole earned by me were gone. After my question, I gave the assignment some more thought and I believed that we could have lied always regardless what type of question we were asked because the questions did not actually come from the questionnaire. Hence it could never be checked if the candidate was actually lying towards the jury. After I got executed, I looked it up and indeed both questions which I was asked were not in the questionnaire. As such I think I was correct during the game and we could all just have lied towards the jury. Unfortunately everyone was to truthfully towards the jury and we only managed to obtain 100 mole. We could have earned a lot of mole money very easily. This time the mole was not clever, we were dumb.

After the next assignment, I unfortunately got executed. I wrote this blog almost immediately after I was executed. However, I did not describe the events during the last assignment, I did plan to finish it at a later stage. However, as you can see that never happened. Because the episodes are being aired now, I decided not describe these events anymore from my point of view.

Mole booklet

Testimonial Master’s program TU/e Systems & Control

In November 2013 I was asked by the PR of the Mechanical Engineering department of the TU/e to write a story about myself and how I perceived the master Systems & Control. It would be used as a testimonial on the TU/e website. In the end only a part of my full story was incorporated, below is the full-text which I submitted.

TUe - Testimonial
Testimonial on the TU/e website.

Hello, my name is Wouter Geelen. Currently I am following the Master Systems & Control at the Eindhoven University of Technology. First I will tell you something about why I decided for the Master System & Control, then something about how I experience the Master track and what currently keeps my life occupied.

When I was finished with my Bachelor in Mechatronics (HBO) it was clear to me that I wanted to continue studying. Choosing at which University I wanted to do my Master was a really easy choice for myself for 2 main reasons. Firstly, since I was raised in a small town in the province of Limburg and did not yet wanted to drift off to far from my roots and secondly I did two years of my Bachelor in Germany near Düsseldorf and at that time I still went regularly to Germany to visit friends. Therefor I decided that the University in Eindhoven was best the best choice. However, choosing the master was a really hard and difficult decision. After a Bachelor in Mechatronics there are several possible Masters which you can choose from. In my case there were basically two options: i) Embedded Systems or ii) Systems & Control.

During my graduation project for my Bachelor I created a double inverted pendulum (video) which would be a typical project for students from Systems & Control, but with the knowledge at that time it was a difficult problem for myself. However, I successfully completed the project. After a lot of talking with my former teachers and a graduate from Systems & Control, who helped me with my graduation project, I decided to start with the Master Embedded Systems and that I would choose several Systems & Control courses in my free electives. When you come from a University of Applied Sciences you will have to do a pre Master first, before you can actually start with the “real” Master. I did the pre Master of Embedded Systems, it had a lot of fun and interesting courses. After I finished the pre Master and had started with the real Master it started nagging me that the control courses which I wanted to do for my electives where really hard because of a knowledge gap. Furthermore, the master Embedded Systems also focused really on energy-efficient chip design which I really did not find interesting at all. I am the type of person which just wants to pick a chip from the shelve after which I work my magic on it. For those two reasons I decided to switch to Systems & Control. Luckily most of the courses of the pre Master of Systems & Control where the same as the pre Master of Embedded Systems so I finished it quickly. Furthermore, after asking the examination board of Systems & Control for permission, I could take 3 courses from Embedded Systems with me to the Systems & Control. So luckily that detour of half a year Embedded Systems was not a complete waste.

The core program of Systems & Control covers really all the basics about control engineering and the whole cycle of model based design. There are very theoretical courses but also very practical courses, which, I think is perfect for a University of Technology. You can then namely apply what you learnt in your theoretical courses in your practical courses. You also have a lot of freedom in choosing your electives: i) there are a lot of elective courses from which you can choose from and ii) if there is a course which you really like but is unfortunately not on the list then, if you have good arguments, you can ask the examination board for permission. Which I did as you have read earlier.

For a lot of courses you have to work together with another student or a group of students. Which is nice since most students in System & Control all have a different background, as well in study, as in culture. As such groups get really mixed up, which is good for learning how to work with a very diverse group of people. Also all the Professors excel in their field of expertise, they really challenge you during college. Since the TU/e is a small University you really get to know them and can almost always ask them anything if you don’t understand something. So the distance between you as a student and the Professor is really small.

Inside the master Systems & Control there are several specialization groups. At first I did choose for the Hybrid Systems group. However , during the summer they did merge with the Control Systems Technology group, which made them one of the strongest groups at the TU/e and one of the strongest in control theory worldwide. The reason why I did choose for this group is very simple. During my graduation presentation of the double inverted pendulum I was asked if I could compute the best possible transition between the two controllers. The system namely consisted out of two controllers one for bringing the pendulum in upwards position and one for stabilizing it. At that time I could not answer that question yet, but now and thanks to the help of Hybrid Systems, which combines continuous and discrete systems, I can answer that question! Which makes me feel kind of proud of myself.

Nowadays I am busy with a literature survey about several Matlab toolboxes which help in analyzing and simulation of systems in which wireless networks are involved. Wireless networks are namely increasingly more being used for control systems. To give an example where one could have used a wireless network inside a control system is my double inverted pendulum, namely at the encoder where the two pendulums meet. In that case the encoder at the connection of the two pendulums is not wired anymore. Wireless networks however bring all kind of nasty behavior with them which influences the stability of the system. Furthermore, wireless networks combined with control systems are still hard to analyze mathematically. Therefore there are still a lot of open questions to be answered around this subject.