<< Chapter < Page Chapter >> Page >
The following section describes the receiver end of the string can telephone setup.

The received signal is an analog, modulated version of the original signal which has been transmitted by multiple carriers. The receiver is just an inverted version of the transmitter described earlier.

Outline for receiving text after transmission

  • Convert .wav file into a row vector, remove impulses and modulate: Once the signal has been received by the receiver end (see System Specifications on how to do this), the first step is to convert it into a row vector. This can be done by using the wavread() function in Matlab. After this we need to remove the impulses before and after the sent signal. The easiest way to do this is to plot the received signal and then determine a threshold above which only the values for the impulse exist. Truncate the vector to the same length as the original vector without impulses by removing all values greater than the threshold set by analyzing the plot. After retrieving the original data back, cosine/sine modulate again to return to retrieve the original signal.
  • Low pass filter to retrieve original signal and remove some noise Design: LPF filter in Matlab.
  • Remove the cyclic prefix: Remove vector of length equal to the impulse response from the beginning and ending of the current vector. NOTE: These vectors may not be purely zero anymore because of introduction of noise
  • Find one period in the received signal by comparing the complete received signal with the length of the original signal: We need to find a segment of the same length as the original vector that we received after taking the IFFT in the transmitter. This vector should also be approximately periodic.
  • Take the FFT of this signal: This should return approximately the same vector that was the input into the IFFT on the transmitter end.
  • Create thresholds to round values to -1 and 1: This serves two purposes. First, we are now back to the -1/1 values that we had originally when we transmitted our signal. Also, since -1 and 1 represent two very distinct phases, we can assume are values less than 0 to be -1 and all values greater than 0 to be 1. This corrects for the phase errors that may have been introduced by the channel.
  • Repeat steps 4-6 for multiple received periods: This is to minimize the effects that noise may have had on any given block of data and to correct for any phase inversions that may have occurred.
  • Find two rows that are symmetric: Convert all -1 to 0 of first rowDo this by implementing the function (x+1)./2 where x is the original vector
  • Convert values of first row to ASCII and map these values to text: Now we have a binary vector which can be converted back to decimal using the command bi2de() and once the decimal value is retrieved, we can map back to ASCII

Block diagram implementation of receiver

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Elec 301 projects fall 2008. OpenStax CNX. Jan 22, 2009 Download for free at http://cnx.org/content/col10633/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2008' conversation and receive update notifications?

Ask