The bit stream can be found from the waveform by visual inspection of the waveform. In the example waveform in Figure 46 of the previous subsection, the data bits are

0011110110110101010010010

where we have written 0 instead of -1 for convenience.

A good way to examine visually examine the file from Section 4.2 is to open it in Audacity (note that this is only possible for a WAV file). It is also possible in Matlab, although it is worse for visual inspection.

To determine a bitstream by computer requires a bit more thought. In this case, since the USRP is phase locked to GPS, there is an integer number of samples per bit, which makes the waveform-to-bits conversion much easier. One method to find the locations of the sync word by computer is as follows:

Visually examine the file either in Audacity or in Matlab to determine the location of the first sync word. The sync word you should look for in this case is 0xA6C6AAAA or the 32-bit sequence:

1010 0110 1100 0110 1010 1010 1010 1010

Either copy/paste in Audacity or create a new array in Matlab to isolate the sync word.

Now the isolated sync word needs to be cross-correlated against the entire bitstream. If you are confident in your ability to do this programatically you can write your own program to do this either in Matlab or the language of your choice. Otherwise, you may use the following Matlab script:

You should now have a list of times for when each syncword starts.

If you were able to create your own file in Section 4.2, you can visually determine whether the start times are correct, and adjust your code if they are not.

If you were using the previously generated FLEX_bits.wav, it contains 16 frames, with the first one starting at 0.7126 seconds and the last one starting at 30.7126 seconds.

How much time between frames (sync words)? Is there any larger pattern?