CronusZA
Newbie level 3
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 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.