<?xml version="1.0" encoding="utf-8"?>
<!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="m0520">
  
  <name>Digital Communication Receivers</name>

  <metadata>
  <md:version>2.17</md:version>
  <md:created>2000/08/01</md:created>
  <md:revised>2007/06/03 17:20:20.607 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="dhj">
      <md:firstname>Don</md:firstname>
      
      <md:surname>Johnson</md:surname>
      <md:email>dhj@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="mrshawn">
      <md:firstname>Shawn</md:firstname>
      
      <md:surname>Stewart</md:surname>
      <md:email>mrshawn@alumni.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>digital communication</md:keyword>
    <md:keyword>information communication</md:keyword>
    <md:keyword>matched filter</md:keyword>
    <md:keyword>receiver</md:keyword>
    <md:keyword>self-clocking signaling</md:keyword>
    <md:keyword>synchronization</md:keyword>
  </md:keywordlist>

  <md:abstract>Bit streams through digital communications receivers.</md:abstract>
</metadata>

  <content>

    <para id="p1">
      The receiver interested in the transmitted bit stream must
      perform two tasks when received waveform
      <m:math>
	<m:apply>
	  <m:ci type="fn">r</m:ci>
	  <m:ci>t</m:ci>
	</m:apply>
      </m:math> 
      begins.

      <list id="l1" type="bulleted">
	<item>
	  It must determine when bit boundaries occur: The receiver
	  needs to <term>synchronize</term> with the transmitted
	  signal.  Because transmitter and receiver are designed in
	  concert, both use the same value for the bit interval
	  <m:math><m:ci>T</m:ci></m:math>.  Synchronization can occur
	  because the transmitter begins sending with a reference bit
	  sequence, known as the <term>preamble</term>.  This
	  reference bit sequence is usually the alternating sequence
	  as shown in the <cnxn document="m0544" target="fig1003" strength="9">square wave example </cnxn> and in the <cnxn document="m0545" target="fig1006" strength="9">FSK
	  example</cnxn>. The receiver knows what the preamble bit
	  sequence is and uses it to determine when bit boundaries
	  occur.  This procedure amounts to what in digital hardware
	  as <term>self-clocking signaling</term>: The receiver of a
	  bit stream must derive the clock — when bit boundaries
	  occur — from its input signal. Because the receiver
	  usually does not determine which bit was sent until
	  synchronization occurs, it does not know when during the
	  preamble it obtained synchronization.  The transmitter
	  signals the end of the preamble by switching to a second bit
	  sequence.  The second preamble phase informs the receiver
	  that data bits are about to come and that the preamble is
	  almost over.
	</item>

	<item>
	  Once synchronized and data bits are transmitted, the
	  receiver must then determine every <m:math><m:ci>T</m:ci>
	  </m:math> seconds what bit was transmitted during the
	  previous bit interval.  We focus on this aspect of the
	  digital receiver because this strategy is also used in
	  synchronization.
	</item>
      </list>

      The receiver for digital communication is known as a
      <term>matched filter</term>.
    <figure id="figone" orient="horizontal">
      <name>Optimal receiver structure</name>
      <media type="image/png" src="sys19.png"/> 
      <caption>
	The optimal receiver structure for digital communication faced
	with additive white noise channels is the depicted matched
	filter.
      </caption>
    </figure>
      This receiver, shown in <cnxn target="figone" strength="9"/>,
      multiplies the received signal by each of the possible members
      of the transmitter signal set, integrates the product over the
      bit interval, and compares the results.  Whichever path through
      the receiver yields the largest value corresponds to the
      receiver's decision as to what bit was sent during the previous
      bit interval. For the next bit interval, the multiplication and
      integration begins again, with the next bit decision made at the
      end of the bit interval.  Mathematically, the received value of
      <m:math>
	<m:apply>
	  <m:ci type="fn">b</m:ci>
	  <m:ci>n</m:ci>
	</m:apply>
      </m:math>, which we label 
      <m:math>
	<m:apply>
	  <m:ci type="fn">
	    <m:mover accent="true">
	      <m:mi>b</m:mi>
	      <m:mo>^</m:mo>
	    </m:mover>
	  </m:ci>
	  <m:ci>n</m:ci>
	</m:apply>
      </m:math>, is given by
      <equation id="eqnone">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn">
		<m:mover accent="true">
		  <m:mi>b</m:mi>
		  <m:mo>^</m:mo>
		</m:mover>
	      </m:ci>
	      <m:ci>n</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:csymbol definitionURL="http://cnx.rice.edu/cd/cnxmath.ocd#argmax"/>
	      <m:domainofapplication><m:ci>i</m:ci></m:domainofapplication>
	      <m:apply>
		<m:int/>
		<m:bvar><m:ci>t</m:ci></m:bvar>
		<m:uplimit>
		  <m:apply>
		    <m:times/>
		    <m:apply>
		      <m:plus/>
		      <m:ci>n</m:ci>
		      <m:cn>1</m:cn>
		    </m:apply>
		    <m:ci>T</m:ci>
		  </m:apply>
		</m:uplimit>
		<m:lowlimit>
		  <m:apply><m:times/>
                      <m:ci>n</m:ci> <m:ci>T</m:ci>
                  </m:apply>
                </m:lowlimit>
                <m:apply><m:times/>
                  <m:apply> <m:ci type="fn">r</m:ci> <m:ci>t</m:ci> </m:apply>
		  <m:apply> <m:ci type="fn"> <m:msub> <m:mi>s</m:mi> <m:mi>i</m:mi> </m:msub>
		  </m:ci> <m:ci>t</m:ci> </m:apply>
                </m:apply>
             </m:apply>
          </m:apply>
      </m:apply>
  </m:math>
</equation>

      You may not have seen the
      <m:math>
	<m:apply>
	  <m:csymbol definitionURL="http://cnx.rice.edu/cd/cnxmath.ocd#argmax"/>
	  <m:domainofapplication><m:ci>i</m:ci></m:domainofapplication>
	</m:apply>
      </m:math> 
      notation before.  
      <m:math>
	<m:apply>
	  <m:max/>
	  <m:bvar><m:ci>i</m:ci></m:bvar>
          <m:ci>·</m:ci>
	</m:apply>
      </m:math> 
      yields the maximum value of its argument with respect to the index 
      <m:math>
	<m:ci>i</m:ci>
      </m:math>.  
      <m:math>
	<m:apply>
	  <m:csymbol definitionURL="http://cnx.rice.edu/cd/cnxmath.ocd#argmax"/>
	  <m:domainofapplication><m:ci>i</m:ci></m:domainofapplication>
	</m:apply>
      </m:math> equals the value of the index that yields the maximum.
      Note that the precise numerical value of the integrator's output
      does not matter; what does matter is its value relative to the
      other integrator's output.
    </para>

    <para id="p2">
      Let's assume a perfect channel for the moment: The received
      signal equals the transmitted one.  If bit 0 were sent using the
      baseband BPSK signal set, the integrator outputs would be

      <equation id="eqn0003"> 
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:int/>
	      <m:bvar><m:ci>t</m:ci></m:bvar>
	      <m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:plus/>
		    <m:ci>n</m:ci>
		    <m:cn>1</m:cn>
		  </m:apply>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:uplimit>
	      <m:lowlimit>
		<m:apply>
		  <m:times/>
		  <m:ci>n</m:ci>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:lowlimit>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn">r</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">
		    <m:msub>
		      <m:mi>s</m:mi>
		      <m:mn>0</m:mn>
		    </m:msub>
		  </m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	    <m:apply><m:times/>
	      <m:apply><m:power/>
		<m:ci>A</m:ci>
		<m:cn>2</m:cn>
	      </m:apply>
	      <m:ci>T</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation> 

	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:int/>
	      <m:bvar><m:ci>t</m:ci></m:bvar>
	      <m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:plus/>
		    <m:ci>n</m:ci>
		    <m:cn>1</m:cn>
		  </m:apply>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:uplimit>
	      <m:lowlimit>
		<m:apply>
		  <m:times/>
		  <m:ci>n</m:ci>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:lowlimit>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn">r</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">
		    <m:msub>
		      <m:mi>s</m:mi>
		      <m:mn>1</m:mn>
		    </m:msub>
		  </m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	    <m:apply><m:minus/>
	      <m:apply><m:times/>
		<m:apply><m:power/>
		  <m:ci>A</m:ci>
		  <m:cn>2</m:cn>
		</m:apply>
	        <m:ci>T</m:ci>
              </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>

      If bit 1 were sent,

      <equation id="eqn0004">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:int/>
	      <m:bvar><m:ci>t</m:ci></m:bvar>
	      <m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:plus/>
		    <m:ci>n</m:ci>
		    <m:cn>1</m:cn>
		  </m:apply>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:uplimit>
	      <m:lowlimit>
		<m:apply>
		  <m:times/>
		  <m:ci>n</m:ci>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:lowlimit>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn">r</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">
		    <m:msub>
		      <m:mi>s</m:mi>
		      <m:mn>0</m:mn>
		    </m:msub>
		  </m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	    <m:apply><m:minus/>
	      <m:apply><m:times/>
		<m:apply><m:power/>
		  <m:ci>A</m:ci>
		  <m:cn>2</m:cn>
		</m:apply>
	        <m:ci>T</m:ci>
              </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>

	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:int/>
	      <m:bvar><m:ci>t</m:ci></m:bvar>
	      <m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:plus/>
		    <m:ci>n</m:ci>
		    <m:cn>1</m:cn>
		  </m:apply>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:uplimit>
	      <m:lowlimit>
		<m:apply>
		  <m:times/>
		  <m:ci>n</m:ci>
		  <m:ci>T</m:ci>
		</m:apply>
	      </m:lowlimit>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn">r</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">
		    <m:msub>
		      <m:mi>s</m:mi>
		      <m:mn>1</m:mn>
		    </m:msub>
		  </m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	    <m:apply>
	      <m:times/>
	      <m:apply>      
		<m:power/>
		<m:ci>A</m:ci>
		<m:cn>2</m:cn>
	      </m:apply>
	      <m:ci>T</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>
    </para>

    <exercise id="exer1">
      <problem>
	<para id="ex1">
	  Can you develop a receiver for BPSK signal sets that
	  requires only one multiplier-integrator combination?
	</para>
      </problem>

      <solution>
	<para id="sol1">
	  In BPSK, the signals are negatives of each other:
	  <m:math>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">
		  <m:msub>
		    <m:mi>s</m:mi>
		    <m:mn>1</m:mn>
		  </m:msub>
		</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:apply>
		  <m:ci type="fn">
		    <m:msub>
		      <m:mi>s</m:mi>
		      <m:mn>0</m:mn>
		    </m:msub>
		  </m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>.  Consequently, the output of each
	  multiplier-integrator combination is the negative of the
	  other.  Choosing the largest therefore amounts to choosing
	  which one is positive.  We only need to calculate one of
	  these.  If it is positive, we are done.  If it is negative,
	  we choose the other signal.
	</para>
      </solution>
    </exercise>

    <exercise id="exer2">
      <problem>
	<para id="ex2">
	  What is the corresponding result when the
	  amplitude-modulated BPSK signal set is used?
	</para>
      </problem>

      <solution>
	<para id="sol2">
	  The matched filter outputs are
	  <m:math>
	    <m:apply>
	      <m:ci><m:mo>±</m:mo></m:ci>
	      <m:apply>
		<m:divide/>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:power/>
		    <m:ci>A</m:ci>
		    <m:cn>2</m:cn>
		  </m:apply>
		  <m:ci>T</m:ci>
		</m:apply>
		<m:cn>2</m:cn>
	      </m:apply>
	    </m:apply>
	  </m:math>
	  because the sinusoid has less power than a pulse having the
	  same amplitude.
	</para>
      </solution>
    </exercise>

    <para id="p3">
      Clearly, this receiver would always choose the bit correctly.
      Channel attenuation would not affect this correctness; it would
      only make the values smaller, but all that matters is which is
      largest.
    </para>

  </content>
</document>
