How can I generate offset QPSK symbols from QPSK symbols I am trying to generate Offset-QPSK modulated symbols. But I am facing some difficulties. I know how to make QPSK symbols but I am unable to figure out at what stage I have to bring in changes to make it OFFSET QPSK.

The following are the steps I did:


Generated a stream of 1s and 0 s
I have paired at 2 consecutive bits and mapped it to one among the integers 0,1,2,3.
Now I map these integers to $(1+j), \ (-1+j), \ (-1-j), \ (1-j) $ following grey code based ordering.


I know that these are the steps for QPSK. But I am not sure If I need to generate OQPSK symbols at which step should I make changes and what are the changes?

Any help is appreciated.
The idea of OQPSK is very simple:


Consider your QPSK as two BPSK, one orthogonal to the other. It helps remembering that you're free to rotate the constellation, so that the constellation points are on the I and Q axis. Instead of choosing one point of a four-points constellation based on two bits, you now choose two separate constellations points from two two-point constellations.
pulse shape I and Q independently with a pulse shaper that has more than 2 Samples per Symbol. Typically, use 5 or more.
offset (in time) either component so that it lags half a symbol time behind the other


If you already have QPSK-modulated baseband, you can still do step 3.