How to create OQPSK modulated signal?

9 views (last 30 days)
Jared
Jared on 3 Dec 2014
Commented: Khushbu Kishnani on 15 Mar 2021
I want to modulate a vector of bits (0's & 1's) using OQPSK modulation.
I set up the modulator:
mod=comm.OQPSKModulator('BitInput', true);
The data is modulated:
modData=step(mod,bit_vector);
This results in a complex double. I can view the constellation diagram using scatterplot(modData) which is correct.
At this point, how do I construct the modulated carrier signal from this IQ data output?

Answers (1)

Tasos Giannoulis
Tasos Giannoulis on 30 Jan 2017
Hi Jared,
What you obtain is a modulated OQSPK signal. I assume you are looking for a filtered waveform that gives you a ring-shaped constellation.
If this is the case, then because oqpskmod and comm.OQPSKModulator internally upsample the signal (see doc note) as of R2016b, then it's better if you instead jointly filter and modulate the signal on your own:
a. Split bits to odd (I) and even (Q)
b. Filter both I & Q streams, e.g., with raised-cosine or half-sine filtering
c. Delay the even-bit stream (Q) by half a simple and make a complex waveform I + j*Q
Tasos
  1 Comment
Khushbu Kishnani
Khushbu Kishnani on 15 Mar 2021
Hi Tasos
Thank you for the answer. It helped me. Can you please also mention the steps to demodulate OQPSK signal? I want downsampled constellation of OQPSK for modulation classification.
Thank you
Khushbu

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!