Phase shift correction in Bpsk!

Hello All,

I have designed BPSK transmitter and receiver in grc.
But Costas loop can able to correct frequency offset, not phase offset.

Here, I attached both transmitter and receiver files.

Transmitter :

1). File sink contains Bpsk symbols {-1,1} (repeat = yes)
2). Samples per symbol : 20
3). RRC pulse lasts for 2 symbol periods

Receiver :

1). Matched filtering
2). Costas loop & Timing recovery
3). saving samples in File sink

and final Symbols are recovered from the samples in matlab.

I’m using uhd + gnuradio + USRP1 + RFX 2400 daughter boards.

Can somebody suggest me how to deal with Phase offset ?
(especially when the gain of Rx is low phase shifts are happening
frequently)

One more Question : Is Rms value sufficient in SNR Calculation ?

Thanks & Regards
http://old.nabble.com/file/p33763663/Transmitter.grc Transmitter.grc
http://old.nabble.com/file/p33763663/Receiver.grc Receiver.grc
http://old.nabble.com/file/p33763663/Rcvd_data.png Rcvd_data.png
http://old.nabble.com/file/p33763663/Bpsk_data.dat Bpsk_data.dat

View this message in context:
http://old.nabble.com/Phase-shift-correction-in-Bpsk!!-tp33763663p33763663.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi Sreenath,

In the case of BPSK the costas loop is properly locked when the
quadrature component of the signal is close to zero ( ie lpf[data * cos
(2pif_ct)sin(2pif_c*t)] = 0). I am not sure how you will implement
this in GRC as you have to call ‘advance_loop’ in the plls (inherited
from gri_control_loop) to correct the error in phase and frequency. You
can directly use MPSK receiver block in grc which incorporates all of
this. Please go through MPSK receiver block’s implementation for more
details.


Regards
Sreeraj Rajendran
http://home.iitb.ac.in/~rsreeraj


From: sreenath kambala [email protected]
To: [email protected]
Sent: Thursday, 10 May 2012 1:25 PM
Subject: [Discuss-gnuradio] Phase shift correction in Bpsk!!

Hello All,

I have designed BPSK transmitter and receiver in grc.
But Costas loop can able to correct frequency offset, not phase offset.

Here, I attached both transmitter and receiver files.

Transmitter :

1). File sink contains Bpsk symbols {-1,1} (repeat = yes)
2). Samples per symbol : 20
3). RRC pulse lasts for 2 symbol periods

Receiver :

1). Matched filtering
2). Costas loop & Timing recovery
3). saving samples in File sink

and final Symbols are recovered from the samples in matlab.

I’m using uhd + gnuradio + USRP1 + RFX 2400 daughter boards.

Can somebody suggest me how to deal with Phase offset ?
(especially when the gain of Rx is low phase shifts are happening
frequently)

One more Question : Is Rms value sufficient in SNR Calculation ?

Thanks & Regards
http://old.nabble.com/file/p33763663/Transmitter.grc Transmitter.grc
http://old.nabble.com/file/p33763663/Receiver.grc Receiver.grc
http://old.nabble.com/file/p33763663/Rcvd_data.png Rcvd_data.png
http://old.nabble.com/file/p33763663/Bpsk_data.dat Bpsk_data.dat

View this message in context:
http://old.nabble.com/Phase-shift-correction-in-Bpsk!!-tp33763663p33763663.html
Sent from the GnuRadio mailing list archive at Nabble.com.

On Thu, May 10, 2012 at 3:55 AM, sreenath kambala
[email protected] wrote:

1). File sink contains Bpsk symbols {-1,1} (repeat = yes)

I’m using uhd + gnuradio + USRP1 + RFX 2400 daughter boards.

Can somebody suggest me how to deal with Phase offset ?
(especially when the gain of Rx is low phase shifts are happening
frequently)

One more Question : Is Rms value sufficient in SNR Calculation ?

There is a Costas loop in GRC that will handle the phase and small
frequency offsets properly. But make sure that you use the timing
recovery loop BEFORE the Costas loop. The output of the timing loop
will output 1 sample/symbol at the right timing location, which will
aid the Costas loop in its recovery.

Look at the code in gr-digital/python/generic_mod_demod.py for how
we’ve done this.

Tom

Thank you Tom & Sreeraj …Sorry for the late reply…i was out of
station.

Tom :

Hi Tom,

As you said when i use timing recovery block BEFORE Costas loop, phase
changes are reduced significantly.

And i ll go through the code in gr-digital/python/generic_mod_demod.py
now…ll get back to you soon.

Sreeraj & Tom :

Hi Sreeraj,

If i don’t use any modulation scheme (take random data and do pulse
shaping with RRC) in that case will the Costas loop be effective ?

Thanks & Regards

Sreenath Kambala
IIT Madras