Experiment 9 - Frequency Shift Keying (FSK) and Amplitude Shift Keying
Experiment 9 - Frequency Shift Keying (FSK) and Amplitude Shift Keying
Experiment 9 - Frequency Shift Keying (FSK) and Amplitude Shift Keying
INTRODUCTION
As we saw in Experiment 7, bipolar phase shift keying (BPSK) offers BER performance that equals
antipodal baseband signaling. BPSK translates to a bandpass system directly by mapping the data to two
antipodal phases of the carrier separated by 180 or radians. The performance of BPSK comes at the
cost of sensitivity to phase and frequency offsets. It is difficult for the receiver to determine the
absolute phase of the transmitted signal. Because the phase of the carrier varies with distance due to a
finite speed of propagation, the receiver must recreate the transmitted phase of the carrier. In addition,
the frequency of the transmitted carrier must also be determined to relatively high accuracy. Finally,
there is no intrinsic way to tell which phase maps to a binary 1 versus binary 0. Remember the phase of
the signal changes with distance. All of this is further complicated if the transmitter and receiver are
moving relative to each other. The problems can be overcome with more complex receiver and
transmitter systems designed to recover the true phase of the signal carrier.
Differential bipolar phase shift keying (DBPSK) solves many of these problems, but at the cost of
complexity at the transmitter and receiver and requires more power for equal BER performance.
Frequency shift keying (FSK) provides a simple solution to many of these problems. First, there is an
intrinsic way to map the binary data to the received signal. For example, imagine a system which
transmits a frequency 500 Hz above the carrier for a binary 1 and a frequency 500 Hz below the carrier
for binary 0. Even if there is a gross frequency error between the transmitter and receiver, the receiver
can map the higher of the two frequencies back to binary 1 and the lower to binary 0. Also the relative
phase of the transmitted signal is irrelevant in non-coherent FSK detection. As we shall see, these
advantages come at a cost.
In the early days of digital communications, non-coherent FSK proved itself very useful for automatic
data transmission and reception. Before the advent of quartz crystal controlled oscillators, early radio
transmitters and receivers were notoriously unstable, with carriers that varied plus or minus thousands
of Hertz. FSK systems were successfully used over long distances by the military and press services by
the 1930s in a system known as radio teletype (RTTY). FSK is still in use today, using a number of coding
schemes to transmit weather and other information to ships at sea. More complex versions of FSK are
used for digital television and radio broadcasting.
PRELAB
1) Prepare a table with the theoretical bit error rate (BER) for coherent binary FSK with Eb/No
ranging from 0 to 10 dB in 1 dB steps.
2) Prepare a table with the theoretical BER for coherent binary ASK with Eb/No ranging from 0 to 10
dB in 1 dB steps.
3) Prepare a table with the theoretical BER for non-coherent binary FSK with Eb/No ranging from 0
to 14 dB in 2 dB steps.
4) Prepare a table with the theoretical BER for non-coherent binary ASK with Eb/No ranging from 0
to 14 dB in 2 dB steps.
5) Calculate the average power in an amplitude shift keyed bandpass signal with a peak amplitude
of 1 volt.
6) Calculate the average power in a frequency shift keyed bandpass signal with a peak amplitude of
1 volt.
PROCEDURE
1. Construct the Simulink model shown below.
2. Set the Random Integer Generator sample time to 1 ms. Set the Rectangular filter to a Pulse
Length of 200 and be sure to set the Linear Amplitude Gain to 200 as well. Set the upper Sine
Wave Generator to 50.5 kHz with a sample rate of 200000 samples per second. Set the lower
Sine Wave Generator to 49.5 kHz with the same sample rate. Set the SineWave2 block to 50.5
kHz with a sample rate of 200000 samples per second. Set the Integrate and Dump Block to 200
samples. Run the simulation for 0.02s and use the scope to verify that the signals going into the
Add2 are correct. That is, that the upper frequency is on when a 1 bit is being sent and the
lower frequency is on when a 0 bit is being sent.
3. Verify that the two signals are orthogonal by setting the Sine Wave2 block to 50.5 kHz and
observing the output of the Integrate and Dump Block. It should be zero when the 49.4 kHz
tone is being sent and about 100 for bits where the 50.5 kHz tone is being sent. Change the
Sine Wave 2 block to 49.5 kHz and observe that the reverse is true.
4. Modify the model to that shown below. Use a MUX block to combine the two signals to send
them to the Spectrum Scope. Set the Spectrum Scope to view frequencies between 46 kHz and
54 kHz. Set the Spectrum Units to dBW/Hertz. Set the Spectrum scope to buffer the input for
2048 samples with no overlap. Specify the FFT length as 2048 samples. Specify the number of
spectral averages as 20. Run the simulation for 0.2 s. When the Spectrum Scope display
appears, pull down the Channels menu and set the display colors for the two traces to different
colors. Run the simulation again and observe the relationship between the peak of one channel
and the nulls of the other channel. What does this relationship say about the two channels
being orthogonal? Using the definition of the Fourier Transform, does this, in fact, confirm the
two signals are orthogonal?
5. Modify the model to include an AWGN channel connected to the upper channel only. Set the
Input signal power to the average power per bit of the modulated signal calculated in the pre
lab. Note: this signal is a binary amplitude shift keyed (BASK) signal. Construct a coherent
detector with matched filter receiver on the other side of the AWGN channel. Be careful about
setting your decision threshold at the output of the matched filter. It is suggested that you
observe the matched filter output to verify your threshold. Measure the BER for Eb/No of 0
through 10 dB in 1 dB steps.
6. Modify your model to construct a coherent FSK system with an AWGN channel. Use the same
frequencies as before for the sine wave sources. A suggested model is shown below.
7. Test the BER performance of the system for Eb/No ranging from 0 to 10 dB in 1 dB steps.
Remember to change the signal power to what you calculated in the prelab. How do the results
compare with the results from step 3 and the prelab calculations for coherent BFSK? Graph the
results from step 3 on the same graph as this step and include the theoretical performance
curves.
8. Replace the sine wave source inputs to the product blocks in the receiver (shown as Product2
and Product3 in the figure above) with independent sources set to the same frequencies. Set
the Eb/No in the AWGN channel to 8 dB and verify that you have the same BER as you found in
the previous step for 8 dB. Adjust the Phase offset in both of the receiver sine wave sources in
small steps until the BER rate increases to the same amount as would be seen with an Eb/No of 7
dB measured in the previous step. What does this say about the sensitivity of the system to
phase error?
9. Change the frequency of the upper channel from 50.5 kHz to 50.25 kHz. Measure the BER
performance of the system at Eb/No from 0 to 10 dB in 2 dB steps. Note that this places the
upper frequency outside the null in the spectrum of the modulated lower frequency and the
lower frequency also falls outside the null in the spectrum of the modulated upper frequency.
Does this significantly affect the performance in the coherent system?
10. Modify the model to a non-coherent FSK receiver. A suggested energy detector subsystem for
one frequency is shown below. Select the Subsystem block from the Simulink library, open it by
double clicking on it and place the model below inside. You may then copy the subsystem block
to create the second energy detector block.
To simulate the non-coherence of the system set the cosine and sine sources in the upper
frequency detector to 50.510 kHz and to 49.510 kHz in the lower frequency detector. Set the
transmitted frequencies to 50.5 kHz and 49.5 kHz, respectively. Remove the product blocks and
integrate and dump blocks in the coherent FSK system. Connect the outputs of the energy
detectors to the inputs of the Add1 block, as shown below.
11. Test the BER performance of the FSK system at Eb/No ranging from 0 to 10 dB in 1 dB steps.
Graph these results with the theoretical performance curve on the same graph.
12. Change the upper frequency in the transmitter to 50.25 kHz and change the cosine and sine
sources in the corresponding energy detector to the same frequency. Measure the performance
of the system at Eb/No ranging from 0 to 10 dB in 2 dB steps.
13. Modify this system to become a non-coherent binary amplitude shift keyed system by removing
one of the frequencies in the transmitter and the corresponding energy detector in the receiver.
Replace the output of the removed channel with a constant block to create a threshold detector
in the receiver as shown below.
Set the AWGN channel to the Average power of the BASK signal calculated in the pre lab.
Observe the output of the 50.5 kHz Detector on a scope and determine the optimum threshold
to enter in the Constant1 block.
14. Test the BER performance of the non-coherent BASK system at Eb/No ranging from 0 to 10 dB in
1 dB steps. Compare the results to the theoretical performance curve on the same graph.
15. Obtain the rtty.mat file from your instructor. This is an actual recording of an HF (10.128 MHz)
FSK station made at 44100 samples per second. The shift is 850 Hz. Playback the recording
through the model shown below. Set the Spectrum scope with to display between 1 kHz and 2.5
kHz and from -90 to -20 dB. Buffer the input by 8192 and make the FFT length also 8192. Set
the number of spectral averages to 2. Set the scope to display -0.5 to 0.5 volts. Uncheck the
box to limit the number of data points.
Observe the two tone peaks as you play back the recording. Are they the same height and
stable all the time? Expand the scope display and observe the first 1.5 seconds or so. If the
tones were always the same height, what should the waveform look like? Can you determine
the bit rate? (Hint: it is less than 100 b/s) Given the bit rate, why do you think a shift of 850 Hz is
being used? Given the relative performance of coherent BASK and coherent BFSK, why is BFSK,
with its attendant greater average signal power (and cost), being used on this link?