<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="m0500"> 

  <name>Digital Processing Systems</name>

  <metadata>
  <md:version>2.8</md:version>
  <md:created>2000/07/14</md:created>
  <md:revised>2004/08/05 10:44:07.245 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="dhj">
      <md:firstname>Don</md:firstname>
      
      <md:surname>Johnson</md:surname>
      <md:email>dhj@rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="seejaie">
      <md:firstname>CJ</md:firstname>
      
      <md:surname>Ganier</md:surname>
      <md:email>seejaie@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="dhj">
      <md:firstname>Don</md:firstname>
      
      <md:surname>Johnson</md:surname>
      <md:email>dhj@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="jac3">
      <md:firstname>John</md:firstname>
      <md:othername>Austin</md:othername>
      <md:surname>Cottrell</md:surname>
      <md:email>jac3@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>bit representation</md:keyword>
    <md:keyword>clocked device</md:keyword>
    <md:keyword>computer</md:keyword>
    <md:keyword>digital processing systems</md:keyword>
    <md:keyword>digital signal processing</md:keyword>
    <md:keyword>discrete-time</md:keyword>
    <md:keyword>word length</md:keyword>
  </md:keywordlist>

  <md:abstract>Discrete-time systems can operate on both analog and discrete-time signals.  Computers are discrete-time systems because they perform operations according to a clock.</md:abstract>
</metadata>

  <content>

    <para id="p1"> 
      Discrete-time systems can act on discrete-time signals in ways similar
      to those found in analog signals and systems. Because of the role of
      software in discrete-time systems, many more different systems can be
      envisioned and <emphasis>constructed</emphasis> with programs than can be
      with analog signals. In fact, a special class of analog signals can be
      converted into discrete-time signals, processed with software, and
      converted back into an analog signal, all without the incursion of
      error.  For such signals, systems can be easily produced in software,
      with equivalent analog realizations difficult, if not impossible, to
      design. Digital systems are more general than analog systems because
      they can also deal with symbolic signals.  </para>

    <para id="p2"> 
      How do computers perform signal processing? We will discover
      that digital signals have their own Fourier transform definition and
      that digital filters can also be designed.  We will also discover that
      digital systems enjoy an <term>algorithmic</term> advantage
      that contributes to rapid processing speeds: Computations can be
      restructured in non-obvious ways to speed the processing.  
    </para>

    <para id="p3"> 
      Before we explore these ideas, we need to understand what a
      computer is and how it computes.

      <list id="l1"> 
	<item>
	  <emphasis>A simple computer operates fundamentally in
	    discrete time.</emphasis> Computers are
	    <term>clocked</term> devices, in which computational steps
	    occur periodically according to ticks of a clock.  This
	    description belies clock speed: When you say "I have a
	    400MHz computer," you mean that your computer takes 250
	    nanoseconds to perform each step.  That is incredibly
	    fast! A <emphasis>step</emphasis> does not, unfortunately,
	    necessarily mean a computation like an addition; computers
	    break such computations down into several stages, which
	    means that the clock speed need not express the
	    computational speed. Computational speed is expressed in
	    units of millions of instructions/second (Mips).  Your
	    400MHz computer (clock speed) may have a computational
	    speed of 100Mips.</item>

	<item>
	  <emphasis>Computers perform integer (discrete-valued)
	    computations.</emphasis> Each computer instruction that
	    performs an elementary calculation—an addition, a
	    multiplication, or a division—does so only for
	    integers. The sum or product of two integers is also an
	    integer, but the quotient of two integers is likely to not
	    be an integer. How does a computer deal with numbers that
	    have digits to the right of the decimal point? This
	    problem is addressed by using the so-called
	    <term>floating-point</term> representation of real
	    numbers. At its heart, however, <cnxn document="m10206" strength="7">this representation</cnxn> relies on
	    integer-valued computations.
	</item>
      </list> 
    </para> 

  </content>
</document>
