I used a bit version of the horus byte scrambler, and got this:
[image: 4fsk-scrambled.png]
/**
* In-Place 15 bit additive scrambler with 0x4a80 Frame Sync
*
* Sync 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0
* +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
* | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15|
* +-+-+---+---+---+---+---+---+---+---+---+---+---+---+-+-+-+-+
* ^ | |
* | v v
* | +-------+
* +<------------------------------------------------| + |
* | +-------+
* v
* +---+
* in --->| + |---> out
* +---+
*
* inout - input and output data as bits
*
* Returns void.
*/
void scramble(uint8_t inout[]) {
int i, ibit;
uint16_t scrambler = 0x4A80; /* initialize scrambler every frame */
uint16_t scrambler_out;
/* in place modification of each bit */
for (i = 0; i < BITS_PER_FRAME; i++) {
scrambler_out = ((scrambler & 0x2) >> 1) ^ (scrambler & 0x1);
ibit = inout[i] & 0x1;
inout[i] = ibit ^ scrambler_out;
/* update scrambler */
scrambler >>= 1;
scrambler |= (scrambler_out << 14);
}
}
Have fun!
On Wed, Jun 13, 2018 at 4:02 PM Adrian Musceac <kanto...@gmail.com> wrote:
>
> Hi Steve,
> You could try scrambling the output of the vocoder.
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2