# Demodulating short bursts of BPSK

**URL:** <https://www.ruby-forum.com/t/demodulating-short-bursts-of-bpsk/241394>\
**Category:** GNU Radio\
**Created:** [April 3, 2015, 12:38am UTC](https://www.ruby-forum.com/t/demodulating-short-bursts-of-bpsk/241394 "2015-04-03T00:38:04Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [April 3, 2015, 12:38am UTC](https://www.ruby-forum.com/t/demodulating-short-bursts-of-bpsk/241394/1 "2015-04-03T00:38:04Z")

</div>

I have an application that needs to decode short bursts of DBPSK data  
(which I am not generating myself). The problem I am having is that  
the standard PSK Demod blocks don’t lock up in time to correctly  
decode the first few flags in the packetised data, which means I  
generally lose the first packet. Is there a solution to this - e.g.  
once the demodulator has locked up, go back some time (samples) and  
start again knowing the locked parameters?

Mike

---

<div class="post-metadata">

**Author:** ![vh1](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/278dde/32.png) [@vh1](https://www.ruby-forum.com/u/vh1)\
**Post date:** [April 3, 2015, 12:53am UTC](https://www.ruby-forum.com/t/demodulating-short-bursts-of-bpsk/241394/2 "2015-04-03T00:53:04Z")

</div>

Mike,

Let’s call short bursts of data packets (because that’s really what they  
are). In packet transmissions, there are a few ways of ensuring that the  
synchronizers have enough time to lock up. The easiest way for you to go  
about this, is adding a packet header that carries no information, such  
as  
101010101, but can be used by the sync blocks to synchronize. The sync  
blocks require transitions to make the magic happen. If you add this in  
front of all your real data bursts, you will lose some of those SYNC  
frame  
bits each time, but you don’t care about that because it’s not real data  
AND the synchronizers will be locked by the time the real data starts.

v/r,  
Rich

---

<div class="post-metadata">

**Author:** ![vh1](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/278dde/32.png) [@vh1](https://www.ruby-forum.com/u/vh1)\
**Post date:** [April 3, 2015, 12:56am UTC](https://www.ruby-forum.com/t/demodulating-short-bursts-of-bpsk/241394/3 "2015-04-03T00:56:34Z")

</div>

If the packets have a preamble, there’s a block called  
correlate\_and\_sync  
which should do what you want, although it has some issues. See a thread  
I  
started a few days ago about that…
