<< Chapter < Page | Chapter >> Page > |
A Gray code has the property that the binaryrepresentation for each symbol differs from its neighbors by exactly one bit.A Gray code for the translation of binary into 4-PAM is
Mimic the code in
naivecode.m
to implement this
alternative and plot the number of errors as a function ofthe noise variance
v
. Compare your answer with
[link] .
Which code is better?
Even though the original message is translated into the desired alphabet, it is not yet ready for transmission:it must be turned into an analog waveform. In the binary case, a simple method is to use a rectangular pulseof duration seconds to represent , and the same rectangular pulse inverted (i.e., multiplied by ) to represent the element . This is called a polar non-return-to-zero line code.The problem with such simple codes is that they use bandwidth inefficiently.Recall that the Fourier transform of the rectangular pulse in time is the function in frequency [link] , which dies away slowly as increases. Thus, simple codes like the non-return-to-zeroare compact in time, but wide in frequency, limiting the number of simultaneous nonoverlapping users ina given spectral band.
More generally, consider the four-level signal of [link] . This can be turned into an analog signal for transmission by choosinga pulse shape (that is not necessarily rectangular and not necessarily of duration ) and then transmitting
Thus, the sequence is translated into an analog waveform by initiating a scaled pulse at the symbol time , where the amplitude scaling is proportional to the associated symbolvalue. Ideally, the pulse would be chosen so that
Unfortunately, these three requirements cannot all be optimized simultaneously, and so the design of thepulse shape must consider carefully the tradeoffs that are needed. The focus in Chapter [link] is on how to design the pulse shape , and the consequences of that choice in terms of possible interference betweenadjacent symbols and in terms of the signal-to-noise properties of the transmission.
For now, to see concretely how pulse shaping works,
let's pick a simple nonrectangular shape and proceedwithout worrying about optimality.
Let
be the symmetrical
blip shape shown in the top part of
[link] ,
and defined in
pulseshape.m
by the
hamming
command.
The text string in
str
is changed into a
4-level signal as in Example
[link] , and then the complete
transmitted waveform is assembled by assigning an appropriatelyscaled pulse shape to each data value.
The output appears in the bottom of
[link] . Looking at this closely, observe that
the first letter
T
is represented by the four values
, which corresponds exactly to the
first four negative blips, three small and one large.
Notification Switch
Would you like to follow the 'Software receiver design' conversation and receive update notifications?