Hello.. I want to do some QPSK facility to simple microcontroller. It's seems to work in real life. I do the (not simplified) Goertzl algorithm and in the end I just use lookup table to calculate arctan. So for now I got phase signal in range pi/-pi (in my case -128 to 127 8 bit output) and as I intend to use difference modulation I got just fine result if I do BPSK. (ie just subtract last phase from previous one) It work's well. But after checking signal's I discover that phase error is so small that I can do QPSK and double bitrate. Now I hit problem as simple difference of last sample isn't good enougth. I think I need some phase unwarping but can't find just right solution. I wan't to do just phase difference as phase slowly rotate (no pll synchronizer) So I has PHASE (8 bit signed) and PreviousPHASE. How to calculate difference? (0/90/180/270)?!?
Phase Unwarp - QPSK
Started by ●August 24, 2010
Reply by ●August 24, 20102010-08-24
eslavko wrote:> Hello.. > > I want to do some QPSK facility to simple microcontroller. It's seems to > work in real life. I do the (not simplified) Goertzl algorithm and in the > end I just use lookup table to calculate arctan. > > So for now I got phase signal in range pi/-pi (in my case -128 to 127 8 bit > output) and as I intend to use difference modulation I got just fine result > if I do BPSK. (ie just subtract last phase from previous one) It work's > well. > > But after checking signal's I discover that phase error is so small that I > can do QPSK and double bitrate. Now I hit problem as simple difference of > last sample isn't good enougth. I think I need some phase unwarping but > can't find just right solution. > > I wan't to do just phase difference as phase slowly rotate (no pll > synchronizer) > > So I has PHASE (8 bit signed) and PreviousPHASE. How to calculate > difference? (0/90/180/270)?!?Idqpsk = Iprev I + Qprev Q Qdqpsk = Iprev Q - Qprev I Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●August 25, 20102010-08-25