Summary: The following section explains how the transmitter end of the string can telephone system works.

The transmitted signal consists of a sum of sub-carriers with data on each carrier being modulated independently using BPSK

- Convert text to ASCII and ASCII to binary (1 and -1): In order to convert text to ASCII in Matlab, use the int8() function. Once we have the ASCII values, the next step is to convert these values into binary. The first step is to convert the int8() output values into values with an output in double format. This can be done by using the double() function in Matlab. Once the values are in double format, use the de2bi() function to convert them to binary values. Now we need to convert all 0s in this binary number into -1s. This allows for easier phase correction at the receiver end.To do this, assign this vector to x and perform the function y = 2.*x-1
- Transpose and reshape matrix to combine all rows into 1 row vector: Originally, each column will represent a different letter. To get each row to represent a letter, we transpose the matrix. Then we use the reshape() function to convert the matrix into one row vector.
- Create another symmetric row and take their IFFT: This is a neat trick that can be employed to simplify the transmitter. If we take the IFFT of two symmetric rows instead of one row, the result will be purely real. Therefore, we will only need to transmit and decode one vector instead of two. To produce these vectors, take the original vector and use the shiftlr() function. Use the output of this function as the second row in a 2 row matrix. The first row will be the original row. Take the IFFT of this matrix.
- Add cyclic prefix of same length as impulse response: The cyclic prefix is described in more detail under Channel Characteristics. For now, create a vector of zeroes that is as long as the non-zero component of the impulse response of the channel and add it to the beginning and end of each symbol (block).
- Combine rows and modulate to pass band frequency of channel: Make a row vector of the two symmetric rows and cosine/sine modulate them at the pass-band frequency
- Make .wav file and add impulses before and after signal to synchronize: Use the wavwrite() function in Matlab to convert the row vector into a .wav file. Introduce short bursts before and after the signal to mark the beginning and end of the signal.The block diagram below provides a basic layout of the transmitter employed: