Monday, September 26, 2016

[Discuss-gnuradio] Correlation...

Hi,

I've captured some data - and I am trying to decode this at a packet
level.

I am confused about the "binary slicer" - and how to do stuff with it.

What I am expecting ... and looking for is this:

The transmission is FSK, baud rate: 50K, Modulation GFSK (+/- 25khz),
The data packets look like this (and this is what I want to decode)

Step 1:
The preamble is 4 bytes (32bits) of either 0x55(packet-type-1), or
0xAA(packet-type-2)
The preamble is not always recognized (ie: I see 30 bits instead of
32)
Step 2:
There is a 32bit "sync-sequence" - 0x93, 0x0b, 0x51, 0xde,
This value also varies depending upon the internal protocol

In a perfect world this is a 64bit prefix, I'm happy if I get 48bits.

Step 3:
There is a length byte
Step 4:
N-bytes of data
The data may or may not be whitened using a PN9 sequence
Step 5:
Depending upon the packet type, CRC-16 or CRC323

Problem #1 - I'm looking for some means to capture (ie: start/stop) the
preamble
For example - I think I should have some type of correlator... whos
output spikes when pattern(X) is found.
Where: (X) is various types of packets I might decode.

What I do see/find - is a correlator - but I do not see a "reset" input
in GRC.

What I think I need is this:

(A) A correlator that compares against my 48/64 bit prefix

(B) Based on a "match-signal from the correlator " - Wait (N) bits

(C) Capture/extract the LENGTH field

(D) collect the raw bits, and effectively starts assembling bytes.

(E) After (LEN) bytes (plus crc bytes) - stop or reset or re-arm the
start condition

I don't see how to do steps A/B/C/D/E..

Any suggestions?



_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

No comments:

Post a Comment