DSPRelated.com
Forums

how to implement pi/4-QPSK in matlab.

Started by david.deng April 13, 2006
Does anyone have the matlab code for implementing pi/4-QPSK.

Thanks a lot. 


david.deng wrote:
> Does anyone have the matlab code for implementing pi/4-QPSK. > > Thanks a lot.
Do you mean pi/4-DQPSK?
> >david.deng wrote: >> Does anyone have the matlab code for implementing pi/4-QPSK. >> >> Thanks a lot. > >Do you mean pi/4-DQPSK? >
I think you mean pi/4-DQPSK. MATLAB code for implementing pi/4 DQPSK -> very blunt. Do you want the code for DQPSK modulation or demodulation or just for plotting the signal constellation? Please elaborate. Also, I think simulink has a ready-made block for pi/4 DQPSK. You may use that too. - Krishna
Thanks for your help.

Here I really mean pi/4-QPSK modulation code. I just want to know the
difference between
QPSK and pi/4-QPSK.
I think the QPSK constellation is [ 0 , pi/2, pi, -pi/2 ],
and pi/4-QPSK is [ pi/4 , 3/4*pi, 5/4*pi, -pi/4].
but for pi/4-QPSK, I'm not sure.


"krishna_sun82" <krishna.sun@gmail.com> &#1076;&#4294967295;&#4294967295;&#4294967295;&#700;&#4294967295;
news:4PednfdwbIBI26PZRVn-og@giganews.com...
> > > >david.deng wrote: > >> Does anyone have the matlab code for implementing pi/4-QPSK. > >> > >> Thanks a lot. > > > >Do you mean pi/4-DQPSK? > > > > I think you mean pi/4-DQPSK. MATLAB code for implementing pi/4 DQPSK -> > very blunt. Do you want the code for DQPSK modulation or demodulation or > just for plotting the signal constellation? Please elaborate. > Also, I think simulink has a ready-made block for pi/4 DQPSK. You may use > that too. > > - Krishna >
If you really mean pi/4-QPSK and you know that pi/4-QPSK is [ pi/4, 
3/4*pi, 5/4*pi, -pi/4] then what's the problem?  You pretty much know 
what it is your asking about.

If you're instead asking about pi/4-Offset QPSK, or pi/4-DQPSK, then 
that's different.

pi/4-OQPSK is simply QPSK where each symbol period the phase is shifted 
by pi/4.  So if the same word is transmitted then the constellation 
point transmitted still rotates by pi/4 each period.

pi/4- DQPSK I believe is similar to pi/4-OQPSK, however it relies on the 
transition between symbols rather than strictly the symbols themselves.

I'm sure I'll be corrected by others if my memory fails me

> Thanks for your help. > > Here I really mean pi/4-QPSK modulation code. I just want to know the > difference between > QPSK and pi/4-QPSK. > I think the QPSK constellation is [ 0 , pi/2, pi, -pi/2 ], > and pi/4-QPSK is [ pi/4 , 3/4*pi, 5/4*pi, -pi/4]. > but for pi/4-QPSK, I'm not sure. > > > "krishna_sun82" <krishna.sun@gmail.com> &#1076;&#4294967295;&#4294967295;&#4294967295;&#700;&#4294967295; > news:4PednfdwbIBI26PZRVn-og@giganews.com... >>> david.deng wrote: >>>> Does anyone have the matlab code for implementing pi/4-QPSK. >>>> >>>> Thanks a lot. >>> Do you mean pi/4-DQPSK? >>> >> I think you mean pi/4-DQPSK. MATLAB code for implementing pi/4 DQPSK -> >> very blunt. Do you want the code for DQPSK modulation or demodulation or >> just for plotting the signal constellation? Please elaborate. >> Also, I think simulink has a ready-made block for pi/4 DQPSK. You may use >> that too. >> >> - Krishna
Thank you.
 I was supposed to ask " What's pi/4-QPSK" or " I'm not sure whethe 
pi/4-QPSK constellation is as ... ..." .  I'll make my question more clear 
next time.



"Bevan Weiss" <kaizen__@NOSPAM.hotmail.com> 
??????:Z3C%f.13010$JZ1.521061@news.xtra.co.nz...
> > If you really mean pi/4-QPSK and you know that pi/4-QPSK is [ pi/4, > 3/4*pi, 5/4*pi, -pi/4] then what's the problem? You pretty much know what > it is your asking about. > > If you're instead asking about pi/4-Offset QPSK, or pi/4-DQPSK, then > that's different. > > pi/4-OQPSK is simply QPSK where each symbol period the phase is shifted by > pi/4. So if the same word is transmitted then the constellation point > transmitted still rotates by pi/4 each period. > > pi/4- DQPSK I believe is similar to pi/4-OQPSK, however it relies on the > transition between symbols rather than strictly the symbols themselves. > > I'm sure I'll be corrected by others if my memory fails me > >> Thanks for your help. >> >> Here I really mean pi/4-QPSK modulation code. I just want to know the >> difference between >> QPSK and pi/4-QPSK. >> I think the QPSK constellation is [ 0 , pi/2, pi, -pi/2 ], >> and pi/4-QPSK is [ pi/4 , 3/4*pi, 5/4*pi, -pi/4]. >> but for pi/4-QPSK, I'm not sure. >> >> >> "krishna_sun82" <krishna.sun@gmail.com> &#1076;&#4294967295;&#4294967295;&#4294967295;&#700;&#4294967295; >> news:4PednfdwbIBI26PZRVn-og@giganews.com... >>>> david.deng wrote: >>>>> Does anyone have the matlab code for implementing pi/4-QPSK. >>>>> >>>>> Thanks a lot. >>>> Do you mean pi/4-DQPSK? >>>> >>> I think you mean pi/4-DQPSK. MATLAB code for implementing pi/4 DQPSK -> >>> very blunt. Do you want the code for DQPSK modulation or demodulation or >>> just for plotting the signal constellation? Please elaborate. >>> Also, I think simulink has a ready-made block for pi/4 DQPSK. You may >>> use >>> that too. >>> >>> - Krishna
I'll admit to never having actually heard of pi/4 QPSK, though I guess 
it could just be QPSK with the emphasis being placed on the pi/4 based 
constellation, or possibly it's pi/4 offset QPSK that you're referring 
to.  Please state your source for the term, then we can perhaps give you 
a definite answer.

> Thank you. > I was supposed to ask " What's pi/4-QPSK" or " I'm not sure whethe > pi/4-QPSK constellation is as ... ..." . I'll make my question more clear > next time. > > > > "Bevan Weiss" <kaizen__@NOSPAM.hotmail.com> > ??????:Z3C%f.13010$JZ1.521061@news.xtra.co.nz... >> If you really mean pi/4-QPSK and you know that pi/4-QPSK is [ pi/4, >> 3/4*pi, 5/4*pi, -pi/4] then what's the problem? You pretty much know what >> it is your asking about. >> >> If you're instead asking about pi/4-Offset QPSK, or pi/4-DQPSK, then >> that's different. >> >> pi/4-OQPSK is simply QPSK where each symbol period the phase is shifted by >> pi/4. So if the same word is transmitted then the constellation point >> transmitted still rotates by pi/4 each period. >> >> pi/4- DQPSK I believe is similar to pi/4-OQPSK, however it relies on the >> transition between symbols rather than strictly the symbols themselves. >> >> I'm sure I'll be corrected by others if my memory fails me >> >>> Thanks for your help. >>> >>> Here I really mean pi/4-QPSK modulation code. I just want to know the >>> difference between >>> QPSK and pi/4-QPSK. >>> I think the QPSK constellation is [ 0 , pi/2, pi, -pi/2 ], >>> and pi/4-QPSK is [ pi/4 , 3/4*pi, 5/4*pi, -pi/4]. >>> but for pi/4-QPSK, I'm not sure. >>> >>> >>> "krishna_sun82" <krishna.sun@gmail.com> &#1076;&#4294967295;&#4294967295;&#4294967295;&#700;&#4294967295; >>> news:4PednfdwbIBI26PZRVn-og@giganews.com... >>>>> david.deng wrote: >>>>>> Does anyone have the matlab code for implementing pi/4-QPSK. >>>>>> >>>>>> Thanks a lot. >>>>> Do you mean pi/4-DQPSK? >>>>> >>>> I think you mean pi/4-DQPSK. MATLAB code for implementing pi/4 DQPSK -> >>>> very blunt. Do you want the code for DQPSK modulation or demodulation or >>>> just for plotting the signal constellation? Please elaborate. >>>> Also, I think simulink has a ready-made block for pi/4 DQPSK. You may >>>> use >>>> that too. >>>> >>>> - Krishna > >
The Digital Communications(4th Edition) by Proakis mentions pi/4-QPSK in
4.3.1 or around figure 4-3-3, PSK signal constellation.  8-)
Just FYI if you want to know where I got the term.


"Bevan Weiss" <kaizen__@NOSPAM.hotmail.com> 
??????:U4E%f.13026$JZ1.522028@news.xtra.co.nz...
> I'll admit to never having actually heard of pi/4 QPSK, though I guess it > could just be QPSK with the emphasis being placed on the pi/4 based > constellation, or possibly it's pi/4 offset QPSK that you're referring to. > Please state your source for the term, then we can perhaps give you a > definite answer. > >> Thank you. >> I was supposed to ask " What's pi/4-QPSK" or " I'm not sure whethe >> pi/4-QPSK constellation is as ... ..." . I'll make my question more >> clear next time. >> >> >> >> "Bevan Weiss" <kaizen__@NOSPAM.hotmail.com> >> ??????:Z3C%f.13010$JZ1.521061@news.xtra.co.nz... >>> If you really mean pi/4-QPSK and you know that pi/4-QPSK is [ pi/4, >>> 3/4*pi, 5/4*pi, -pi/4] then what's the problem? You pretty much know >>> what it is your asking about. >>> >>> If you're instead asking about pi/4-Offset QPSK, or pi/4-DQPSK, then >>> that's different. >>> >>> pi/4-OQPSK is simply QPSK where each symbol period the phase is shifted >>> by pi/4. So if the same word is transmitted then the constellation >>> point transmitted still rotates by pi/4 each period. >>> >>> pi/4- DQPSK I believe is similar to pi/4-OQPSK, however it relies on the >>> transition between symbols rather than strictly the symbols themselves. >>> >>> I'm sure I'll be corrected by others if my memory fails me >>> >>>> Thanks for your help. >>>> >>>> Here I really mean pi/4-QPSK modulation code. I just want to know the >>>> difference between >>>> QPSK and pi/4-QPSK. >>>> I think the QPSK constellation is [ 0 , pi/2, pi, -pi/2 ], >>>> and pi/4-QPSK is [ pi/4 , 3/4*pi, 5/4*pi, -pi/4]. >>>> but for pi/4-QPSK, I'm not sure. >>>> >>>> >>>> "krishna_sun82" <krishna.sun@gmail.com> &#1076;&#4294967295;&#4294967295;&#4294967295;&#700;&#4294967295; >>>> news:4PednfdwbIBI26PZRVn-og@giganews.com... >>>>>> david.deng wrote: >>>>>>> Does anyone have the matlab code for implementing pi/4-QPSK. >>>>>>> >>>>>>> Thanks a lot. >>>>>> Do you mean pi/4-DQPSK? >>>>>> >>>>> I think you mean pi/4-DQPSK. MATLAB code for implementing pi/4 >>>>> DQPSK -> >>>>> very blunt. Do you want the code for DQPSK modulation or demodulation >>>>> or >>>>> just for plotting the signal constellation? Please elaborate. >>>>> Also, I think simulink has a ready-made block for pi/4 DQPSK. You may >>>>> use >>>>> that too. >>>>> >>>>> - Krishna >>
"Bevan Weiss" <kaizen__@NOSPAM.hotmail.com> wrote in message 
news:Z3C%f.13010$JZ1.521061@news.xtra.co.nz...
> > If you really mean pi/4-QPSK and you know that pi/4-QPSK is [ pi/4, > 3/4*pi, 5/4*pi, -pi/4] then what's the problem?
This is incorrect. QPSK uses four signals which can be taken to be phases 0, pi/2, pi, 3*pi/2, OR pi/4, 3*pi/4, 5*pi/4, 7*pi/4. Note that the latter constellation is just the former rotated by pi/4. Now, pi/4-QPSK is a modulation scheme that uses the above two signal sets in alternation; one dibit is sent using 0, pi/2, pi, 3*pi/2, the next pi/4, 3*pi/4, 5*pi/4, 7*pi/4, the one after that using 0, pi/2, pi, 3*pi/2, again and so on. The advantage over plain vanilla QPSK in which two successive identical dibits result in no phase change is that in pi/4-QPSK, the signal phase changes from dibit to dibit regardless of whether the two dibits are the same or different. Furthermore, a dibit change from 00 to 11 (or vice versa) or from 10 to 01 (or vice versa) does not cause the signal envelope to pass through the origin . This is useful when the signal has to go through a nonlinearity such as a traveling-wave-tube amplifier in a satellite.
> > If you're instead asking about pi/4-Offset QPSK, or pi/4-DQPSK, then > that's different. > > pi/4-OQPSK is simply QPSK where each symbol period the phase is shifted by > pi/4. So if the same word is transmitted then the constellation point > transmitted still rotates by pi/4 each period.
This too is incorrect. Offset QPSK (OQPSK) is a modulation scheme in which the inphase and quadrature bits do not change at the same time. For a bit rate of 1/T bps, the inphase bit changes at t = ... -3T, -T, T, 3T, ... while the quadrature bit changes at t = -4T, -2T, 0, 2T, 4T, ... (Some people do it the other way just to spite us right-thinking folks :-)). This too avoids the transition of the signal envelope through the origin. The offset means the offset in the bit timing in the I and Q branches, not the signal phase.
> pi/4- DQPSK I believe is similar to pi/4-OQPSK, however it relies on the > transition between symbols rather than strictly the symbols themselves.
pi/4-DQPSK uses the change in the phase between two signaling intervals to encode the dibit. Thus, if the new dibit to be transmitted is 00, the signal phase is ADVANCED by pi/4, if the new dibit is 10, the signal phase is ADVANCED by 3*pi/4, if the new dibit is 11, the signal phase is ADVANCED by 5*pi/4, and if the new dibit is 01, the signal phase is ADVANCED by 7*pi/4.. The phase of the signal prior to the change can be one of 0, pi/2, pi, 3*pi/2, in which case the new phase is one of pi/4, 3*pi/4, 5*pi/4, 7*pi/4 (or vice versa) Thus, the two constellations are used in alternation so that, for example, if the initial phase is 7*pi/4, then eight dibits 00 00 00 00 00 00 00 00 are using signal phases 0, pi/4, 2*pi/4, 3*pi/4, 4*pi/4, 5*pi/4, 6*pi/4, 7*pi/4. --Dilip Sarwate
"Dilip V. Sarwate" <sarwate@YouEyeYouSee.edu> wrote in message
news:e1p2up$ik2$1@news.ks.uiuc.edu...
> > "Bevan Weiss" <kaizen__@NOSPAM.hotmail.com> wrote in message > news:Z3C%f.13010$JZ1.521061@news.xtra.co.nz... > > > > If you really mean pi/4-QPSK and you know that pi/4-QPSK is [ pi/4, > > 3/4*pi, 5/4*pi, -pi/4] then what's the problem? > > This is incorrect. QPSK uses four signals which can be taken to > be phases > 0, pi/2, pi, 3*pi/2, > OR > pi/4, 3*pi/4, 5*pi/4, 7*pi/4. > > Note that the latter constellation is just the former rotated by pi/4. > Now, pi/4-QPSK is a modulation scheme that uses the above two > signal sets in alternation; one dibit is sent using 0, pi/2, pi, 3*pi/2, > the next pi/4, 3*pi/4, 5*pi/4, 7*pi/4, the one after that using > 0, pi/2, pi, 3*pi/2, again and so on. The advantage over plain vanilla
<other good stuff snipped>
> --Dilip Sarwate
Thanks Dilip for such a nice explanation of the differences. I was just getting ready to respond with "you are wrong, you just described pi/4-DQPSK" after reading the first part of your post. I'm glad I read the rest of it to be reminded of the subtle differences. A point of reference for others...EDGE uses 3pi/8-8PSK which works similar to the pi/4-QPSK except for the 3pi/8 shift instead of pi/4. Cheers Bhaskar