EECS20N: Signals and Systems

Control Logic

We consider systems that have event streams as inputs and outputs, where

EventStreams = [Naturals0Symbols]

where Symbols is some set. The events in the event streams indicate commands or events detected in a physical process. The system itself performs sequential decision making, reacting to input events by producing output events.

Consider for example a voiceband data modem in its negotiation phase. It is natural to describe the negotiation imperatively, using a sequence of if-then-else clauses:

   if (answer tone detected) {
      respond with identification tone;
      if (response detected) {
         ...
      }

   } else {
      hang up;
   }

Here, "answer tone detected" and "response detected" are events. This imperative description gives the control logic of a system. It does not, for example, say anything about how an answer tone is detected. That is the signal processing of the system.

An imperative definition based on if-then-else clauses can be difficult to analyze, particularly when system components are composed and execute concurrently. State machine models offer an alternative that yields better to formal analysis.