Пример #1
0
chunk new_unscramble(chunk RX_DATA_IN)
{
  static chunk RX_FEEDBACK(0);
  chunk RX_DATA_OUT(0);
    
  RX_DATA_OUT[ 0] = RX_DATA_IN[ 0] ^ RX_FEEDBACK[ 0] ^ RX_FEEDBACK [ 2];
  RX_DATA_OUT[ 1] = RX_DATA_IN[ 1] ^ RX_FEEDBACK[ 1] ^ RX_FEEDBACK [ 3];
  RX_DATA_OUT[ 2] = RX_DATA_IN[ 2] ^ RX_FEEDBACK[ 2] ^ RX_FEEDBACK [ 4];
  RX_DATA_OUT[ 3] = RX_DATA_IN[ 3] ^ RX_FEEDBACK[ 3] ^ RX_FEEDBACK [ 5];
  RX_DATA_OUT[ 4] = RX_DATA_IN[ 4] ^ RX_FEEDBACK[ 4] ^ RX_FEEDBACK [ 6];
  RX_DATA_OUT[ 5] = RX_DATA_IN[ 5] ^ RX_FEEDBACK[ 5] ^ RX_FEEDBACK [ 7];
  RX_DATA_OUT[ 6] = RX_DATA_IN[ 6] ^ RX_FEEDBACK[ 6] ^ RX_FEEDBACK [ 8];
  RX_DATA_OUT[ 7] = RX_DATA_IN[ 7] ^ RX_FEEDBACK[ 7] ^ RX_FEEDBACK [ 9];
  RX_DATA_OUT[ 8] = RX_DATA_IN[ 8] ^ RX_FEEDBACK[ 8] ^ RX_FEEDBACK [10];
  RX_DATA_OUT[ 9] = RX_DATA_IN[ 9] ^ RX_FEEDBACK[ 9] ^ RX_FEEDBACK [11];
  RX_DATA_OUT[10] = RX_DATA_IN[10] ^ RX_FEEDBACK[10] ^ RX_FEEDBACK [12];
  RX_DATA_OUT[11] = RX_DATA_IN[11] ^ RX_FEEDBACK[11] ^ RX_FEEDBACK [13];
  RX_DATA_OUT[12] = RX_DATA_IN[12] ^ RX_FEEDBACK[12] ^ RX_FEEDBACK [14];
  RX_DATA_OUT[13] = RX_DATA_IN[13] ^ RX_FEEDBACK[13] ^ RX_FEEDBACK [15];
  RX_DATA_OUT[14] = RX_DATA_IN[14] ^ RX_FEEDBACK[14] ^ RX_FEEDBACK [16];
  RX_DATA_OUT[15] = RX_DATA_IN[15] ^ RX_FEEDBACK[15] ^ RX_FEEDBACK [17];
  RX_DATA_OUT[16] = RX_DATA_IN[16] ^ RX_FEEDBACK[16] ^ RX_FEEDBACK [18];
  RX_DATA_OUT[17] = RX_DATA_IN[17] ^ RX_FEEDBACK[17] ^ RX_FEEDBACK [19];
  RX_DATA_OUT[18] = RX_DATA_IN[18] ^ RX_FEEDBACK[18] ^ RX_FEEDBACK [20];
  RX_DATA_OUT[19] = RX_DATA_IN[19] ^ RX_FEEDBACK[19] ^ RX_FEEDBACK [21];
  RX_DATA_OUT[20] = RX_DATA_IN[20] ^ RX_FEEDBACK[20] ^ RX_FEEDBACK [22];
  RX_DATA_OUT[21] = RX_DATA_IN[21] ^ RX_FEEDBACK[21] ^ RX_FEEDBACK [23];
  RX_DATA_OUT[22] = RX_DATA_IN[22] ^ RX_FEEDBACK[22] ^ RX_FEEDBACK [24];
  RX_DATA_OUT[23] = RX_DATA_IN[23] ^ RX_FEEDBACK[23] ^ RX_FEEDBACK [25];
  RX_DATA_OUT[24] = RX_DATA_IN[24] ^ RX_FEEDBACK[24] ^ RX_FEEDBACK [26];
  RX_DATA_OUT[25] = RX_DATA_IN[25] ^ RX_FEEDBACK[25] ^ RX_FEEDBACK [27];
  RX_DATA_OUT[26] = RX_DATA_IN[26] ^ RX_FEEDBACK[26] ^ RX_FEEDBACK [28];
  RX_DATA_OUT[27] = RX_DATA_IN[27] ^ RX_FEEDBACK[27] ^ RX_FEEDBACK [29];
  RX_DATA_OUT[28] = RX_DATA_IN[28] ^ RX_FEEDBACK[28] ^ RX_DATA_IN[ 0];
  RX_DATA_OUT[29] = RX_DATA_IN[29] ^ RX_FEEDBACK[29] ^ RX_DATA_IN[ 1];
    
  RX_FEEDBACK = RX_DATA_IN;
    
  return RX_DATA_OUT;
}
Пример #2
0
spp Karol_scramble_RX(spp RX_DATA_IN, int i)
{
  static spp RX_FEEDBACK [4] = {0,0,0,0};
  spp RX_DATA_OUT(0);
    
  RX_DATA_OUT[ 0] = RX_DATA_IN[ 0] ^ RX_FEEDBACK[i][ 0] ^ RX_FEEDBACK[i] [ 2];
  RX_DATA_OUT[ 1] = RX_DATA_IN[ 1] ^ RX_FEEDBACK[i][ 1] ^ RX_FEEDBACK[i] [ 3];
  RX_DATA_OUT[ 2] = RX_DATA_IN[ 2] ^ RX_FEEDBACK[i][ 2] ^ RX_FEEDBACK[i] [ 4];
  RX_DATA_OUT[ 3] = RX_DATA_IN[ 3] ^ RX_FEEDBACK[i][ 3] ^ RX_FEEDBACK[i] [ 5];
  RX_DATA_OUT[ 4] = RX_DATA_IN[ 4] ^ RX_FEEDBACK[i][ 4] ^ RX_FEEDBACK[i] [ 6];
  RX_DATA_OUT[ 5] = RX_DATA_IN[ 5] ^ RX_FEEDBACK[i][ 5] ^ RX_FEEDBACK[i] [ 7];
  RX_DATA_OUT[ 6] = RX_DATA_IN[ 6] ^ RX_FEEDBACK[i][ 6] ^ RX_FEEDBACK[i] [ 8];
  RX_DATA_OUT[ 7] = RX_DATA_IN[ 7] ^ RX_FEEDBACK[i][ 7] ^ RX_FEEDBACK[i] [ 9];
  RX_DATA_OUT[ 8] = RX_DATA_IN[ 8] ^ RX_FEEDBACK[i][ 8] ^ RX_FEEDBACK[i] [10];
  RX_DATA_OUT[ 9] = RX_DATA_IN[ 9] ^ RX_FEEDBACK[i][ 9] ^ RX_FEEDBACK[i] [11];
  RX_DATA_OUT[10] = RX_DATA_IN[10] ^ RX_FEEDBACK[i][10] ^ RX_FEEDBACK[i] [12];
  RX_DATA_OUT[11] = RX_DATA_IN[11] ^ RX_FEEDBACK[i][11] ^ RX_FEEDBACK[i] [13];
  RX_DATA_OUT[12] = RX_DATA_IN[12] ^ RX_FEEDBACK[i][12] ^ RX_FEEDBACK[i] [14];
  RX_DATA_OUT[13] = RX_DATA_IN[13] ^ RX_FEEDBACK[i][13] ^ RX_FEEDBACK[i] [15];
  RX_DATA_OUT[14] = RX_DATA_IN[14] ^ RX_FEEDBACK[i][14] ^ RX_FEEDBACK[i] [16];
  RX_DATA_OUT[15] = RX_DATA_IN[15] ^ RX_FEEDBACK[i][15] ^ RX_FEEDBACK[i] [17];
  RX_DATA_OUT[16] = RX_DATA_IN[16] ^ RX_FEEDBACK[i][16] ^ RX_FEEDBACK[i] [18];
  RX_DATA_OUT[17] = RX_DATA_IN[17] ^ RX_FEEDBACK[i][17] ^ RX_FEEDBACK[i] [19];
  RX_DATA_OUT[18] = RX_DATA_IN[18] ^ RX_FEEDBACK[i][18] ^ RX_FEEDBACK[i] [20];
  RX_DATA_OUT[19] = RX_DATA_IN[19] ^ RX_FEEDBACK[i][19] ^ RX_FEEDBACK[i] [21];
  RX_DATA_OUT[20] = RX_DATA_IN[20] ^ RX_FEEDBACK[i][20] ^ RX_FEEDBACK[i] [22];
  RX_DATA_OUT[21] = RX_DATA_IN[21] ^ RX_FEEDBACK[i][21] ^ RX_FEEDBACK[i] [23];
  RX_DATA_OUT[22] = RX_DATA_IN[22] ^ RX_FEEDBACK[i][22] ^ RX_FEEDBACK[i] [24];
  RX_DATA_OUT[23] = RX_DATA_IN[23] ^ RX_FEEDBACK[i][23] ^ RX_FEEDBACK[i] [25];
  RX_DATA_OUT[24] = RX_DATA_IN[24] ^ RX_FEEDBACK[i][24] ^ RX_FEEDBACK[i] [26];
  RX_DATA_OUT[25] = RX_DATA_IN[25] ^ RX_FEEDBACK[i][25] ^ RX_FEEDBACK[i] [27];
  RX_DATA_OUT[26] = RX_DATA_IN[26] ^ RX_FEEDBACK[i][26] ^ RX_FEEDBACK[i] [28];
  RX_DATA_OUT[27] = RX_DATA_IN[27] ^ RX_FEEDBACK[i][27] ^ RX_FEEDBACK[i] [29];
  RX_DATA_OUT[28] = RX_DATA_IN[28] ^ RX_FEEDBACK[i][28] ^ RX_DATA_IN[ 0];
  RX_DATA_OUT[29] = RX_DATA_IN[29] ^ RX_FEEDBACK[i][29] ^ RX_DATA_IN[ 1];
    
  RX_FEEDBACK[i] = RX_DATA_IN;
    
  return RX_DATA_OUT;
}