* General structure of a PPDW sample file 17151-1.ppdw

  1. PPDW files include only the data bodies of a signal, but neither headers nor iq data)
  2. size of ppdw file = number of pulses * 8 * 32 bit
  3. data like integers are stored little endian

* PDW Body (8 words - 32 bit each word)

** Word 1 and 2

*** 64 bit timestamp

   0x60b6837b0492c414 = 0x14c492047b83b660 = Integer 1496481524143601248 nanoseconds = 2017-06-03 09:18:44


** Word 3

*** 32 bit format and center frequency

    0x0a212e00 = 0x002e210a = Integer 3023114 KHz = 3.023114 GHz

    00000-000-00101110-00100001-00001010


** Word 4

*** 32 bit flags and pulse width in nanoseconds (0-24)

    0xbc020078 = 0x780002bc = 0-1-1-1-1-00-0-00000000-00000010-10111100

    0 - valid flag - invalid
    1 - pulse flag - pulse
    1 - level unit - dbµV
    1 - signal no start - signal started before time of arrival
    1 - signal no end - signal stops after time of arrival
    00 - reserved

    Pulse width = 0-00000000-00000010-10111100 = Integer 700 nano seconds


** Word 5

*** 32 bit frequency shift or bandwidth and level

    0xf9023a00 = 0x003a02f9 = 00000000-00111010-0000-001011111001

    Frequency shift (12-31) 00000000-00111010-0000 = Integer 928 KHz
    Level = (0-11) 001011111001 = 761 dbµV


** Word 6

*** 32 bit IO, confidence, modulation, sector

    0x0000b07e = 0x7eb00000 = 0-111111-01011-0000000000000000-0000

    0 - Signal invalid

    111111 - confidence not valid

    01011 - modulation (pulse too short)

    0000000000000000 - reserved

    0000 - sector invalid


** Word 7

*** 32 bit polarity, quality, elevation, azimuth

    0xff0f4000 = 0x00400fff = 00-0000000-10000000000-11111111-1111

    00 - polarity - horizontal or unknown
    0000000 - quality zero
    10000000000 - elevation = invalid
    11111111-1111 - azimuth = no azimuth
    

** Word 8

*** 32 bit reserved and channel number

    0x00000010 = 0x10000000 = 0001-0000-00000000-00000000-00000000
   
    0001 - channel one
   
    rest zero - reserved


** Word 1 and 2 of next data body

*** 64 bit timestamp

    0xcb5d927b0492c414 = 0x14c492047b925dcb = Integer 149648152414561611 seconds = 2017-06-03 09:18:44
