I am trying to implement the data whitening used by the CC1110 radio IC in GNU radio companion, as described in this app note.
It looks like it uses a LFSR with PN9 sequence (with x^9 + x^5 + 1 polynomial) and a seed value of 0x1FF. I think the "Scrambler" block in GNU radio could handle this just fine, but I'm unsure that I'm using the correct parameters (I'm modeling these parameters off of this post).
Mask: 0x11
Seed Value: 0x1FF
Length: 8
Here is my flowgraph: flowgraph
I have an input binary file with the following contents:
$ xxd bytes.bin
00000000: 0a00 0102 ....
This is the example data in the app note linked above. The output file contents are:
$ xxd bytes_out.bin
00000000: 0101 0101 ....
The example in the app note (page 5) has a different result:
Data: / 0000 1010 / 0000 0000 / 0000 0001 / 0000 0010 / …
PN9: / 1111 1111 / 1110 0001 / 0001 1101 / 1001 1010/ …
Result: / 1111 0101 / 1110 0001 / 0001 1100 / 1001 1000 /…
I am new to GNU radio and DSP so any help on this would be much appreciated. I think I might just be using the wrong Scrambler block parameters, but there might be a fundamental misconception I have with GNU radio. Thanks!