EECS 700:
Offset Quadrature Phase Shift Keying (OQPSK)

Objective

The goal of this exercise is to correctly demodulate the noisy received signal in RxOQPSK.mat.

Signal Constellation

The transmitted data points are taken from the signal space constellation below. The four points are equally spaced on a circle with radius A and are simply the four possible ordered pairs [ ±A/sqrt(2), ±A/sqrt(2) ]. Each transmitted signal carries two information bits, as shown below.

After being corrupted by noise, the received signal is demodulated by the system below, which detects the transmitted signal space points and outputs the estimated values of the transmitted bits.

Design Exercise

Part I: OQPSK Transmitter

Using blocks from the SIMULINK Block Library, the Signal Processing Blockset, and the Communications Blockset, design an OQPSK modulator, patterned after the one shown above, to meet the following specifications:

Number
of samples per symbol: 8

Normalized carrier frequency: 0.25 cycles/sample

Pulse shape: HS

Average energy: 2

Normalized carrier frequency: 0.25 cycles/sample

Pulse shape: HS

Average energy: 2

For the delay, you can use the Delay block located at Signal Processing Blockset --> Signal Operations --> Delay. For the purposes of your design, you can omit the bit sequence and the look-up tables (LUTs), and just use two "Signal From Workspace" blocks as inputs to the system.

Part II: OQPSK Detector

Using blocks from the SIMULINK Block Library, the Signal Processing Blockset, and the Communications Blockset, design an OQPSK detector that is compatible with the modulator from Part I. The structure of the demodulator is shown in Figure 5.4.8 in the text. I recommend sampling the matched filter outputs at 2 samples per symbol and using every other sample on I and Q, as suggested by Figure 5.4.8. You can output these samples to the Matlab workspace and implement the decision logic in a post-processing fashion using a Matlab script.

[ Sanity Check ]

You can test your designs from Parts I and II by connecting the output of your modulator to the input of your detector. Use the same data source as in the Binary PAM exercise (the Signal from Workspace block), except that you need separate sources for each arm in the modulator. Set the input to these sources such that you modulate the symbol pattern [00 01 10 11]'). In your project window, go to the menu Simulation --> Configuration Parameters and set the parameters to:

Start
Time: 0.0

Stop Time: (4+1+1)*8

Solver options: Type: Fixed-step, Solver: discrete (no continuous states)

Fixed step size: 1

Note: The 4 corresponds to
the number of transmitted symbols, the first 1
corresponds to the delay of the downsample operation in the detector,
the second 1 corresponds to the delay in the Q arm, and the 8 is the
number of samples per symbol. Stop Time: (4+1+1)*8

Solver options: Type: Fixed-step, Solver: discrete (no continuous states)

Fixed step size: 1

When you have successfully debugged your system, you are ready for the final part of the exercise.

Part III: Detecting an Unknown Data Set

Here are the steps for the final part of the exercise:

- Connect the input of your detector to a From File block and set the filename to RxOQPSK.mat (If you have problems with that file, here is a ZIP version).
- Set the simulation
parameters to:
Start Time: 0.0

Stop Time: (119+1+1)*8

Solver options: Type: Fixed-step, Solver: discrete (no continuous states)

Fixed step size: 1

- Run the Simulation.
- The last 119 values of the sampled matched filter outputs represent 34 ASCII characters. Determine the message using your own conversion script or an ASCII table, such as the one found here.
- Submit your answer AND your detector model file (.mdl SIMULINK file) to the class TA via the Digital Drop Box in Blackboard (you may submit via e-mail only if you have problems with Blackboard). You should organize your files into a folder, and then ZIP the folder and submit the ZIP file. The naming convention for the ZIP file is "Lab#_YourLastName.zip."
- Plot the eye diagram and signal space projections. You may submit these electronically, or turn them in at the beginning of the next class period after the due date.

Back to the Lab Exercises Page