Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Differential Encoded QPSK (DQPSK) help needed

Status
Not open for further replies.

CronusZA

Newbie level 3
Newbie level 3
Joined
May 27, 2010
Messages
3
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,304
Hi all,

I just have a quick Q about DQPSK, specifically at the receiver, I currently have a gray encoded QPSK simulation with the following constellation(where A and B represent the bits of each symbol and phi represents the phase offset of the constellation points with respect to 0 radians):

A B phi
0 0 0
0 1 pi/2
1 1 pi
1 0 3*pi/2

I then differentially encode the symbols with:

delta_phi(i) = phi(i) - phi(i-1)

and then i transmit delta_phi across the channel.

At the receiver i then decode with:

phi(i) = delta_phi(i) + phi(i-1)

where it assumed that phi(-1) = 0 to start off the encoding and decoding.

The system works fine when theres no errors induced in the channel but if i induce a single error then everything i decode after that error is wrong, which makes sense since if delta_phi(i) is wrong then the phi(i) is going to be wrong, so at the next step, i+1, even if delta_phi is correct again, then phi is still going to be wrong because it relies on the previously decoded value.

Ive been analyzing DBPSK and the maximum amount of errors is 2 for a single error due to the fact that the decoding is reliant on only the received symbols, in the case of DQPSK the decoding is reliant on the received symbols and previously decoded symbols. Is there something im missing here?

Any insight would be great, thanks for your time.
 

I then differentially encode the symbols with:

phi_diff_enc(i) = (phi(i) + phi_diff_enc(i-1)) mod 2pi

and then i transmit phi_diff_enc across the channel.

At the receiver i then decode with:

phi(i) = (phi_diff_enc(i) - phi_diff_enc(i-1)) mod 2pi
 

    CronusZA

    Points: 2
    Helpful Answer Positive Rating
thanks, works well, slight decrease in performance but i dont need to worry about phase ambiguities anymore when i demodulate coherently :)
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top