Ejemplo n.º 1
0
chunk new_scramble(chunk TX_DATA_IN)
{
  static chunk TX_FEEDBACK(0);
  chunk TX_DATA_OUT(0);
    
  TX_DATA_OUT[ 0] = TX_DATA_IN[ 0] ^ TX_FEEDBACK[ 0] ^ TX_FEEDBACK[ 2];
  TX_DATA_OUT[ 1] = TX_DATA_IN[ 1] ^ TX_FEEDBACK[ 1] ^ TX_FEEDBACK[ 3];
  TX_DATA_OUT[ 2] = TX_DATA_IN[ 2] ^ TX_FEEDBACK[ 2] ^ TX_FEEDBACK[ 4];
  TX_DATA_OUT[ 3] = TX_DATA_IN[ 3] ^ TX_FEEDBACK[ 3] ^ TX_FEEDBACK[ 5];
  TX_DATA_OUT[ 4] = TX_DATA_IN[ 4] ^ TX_FEEDBACK[ 4] ^ TX_FEEDBACK[ 6];
  TX_DATA_OUT[ 5] = TX_DATA_IN[ 5] ^ TX_FEEDBACK[ 5] ^ TX_FEEDBACK[ 7];
  TX_DATA_OUT[ 6] = TX_DATA_IN[ 6] ^ TX_FEEDBACK[ 6] ^ TX_FEEDBACK[ 8];
  TX_DATA_OUT[ 7] = TX_DATA_IN[ 7] ^ TX_FEEDBACK[ 7] ^ TX_FEEDBACK[ 9];
  TX_DATA_OUT[ 8] = TX_DATA_IN[ 8] ^ TX_FEEDBACK[ 8] ^ TX_FEEDBACK[10];
  TX_DATA_OUT[ 9] = TX_DATA_IN[ 9] ^ TX_FEEDBACK[ 9] ^ TX_FEEDBACK[11];
  TX_DATA_OUT[10] = TX_DATA_IN[10] ^ TX_FEEDBACK[10] ^ TX_FEEDBACK[12];
  TX_DATA_OUT[11] = TX_DATA_IN[11] ^ TX_FEEDBACK[11] ^ TX_FEEDBACK[13];
  TX_DATA_OUT[12] = TX_DATA_IN[12] ^ TX_FEEDBACK[12] ^ TX_FEEDBACK[14];
  TX_DATA_OUT[13] = TX_DATA_IN[13] ^ TX_FEEDBACK[13] ^ TX_FEEDBACK[15];
  TX_DATA_OUT[14] = TX_DATA_IN[14] ^ TX_FEEDBACK[14] ^ TX_FEEDBACK[16];
  TX_DATA_OUT[15] = TX_DATA_IN[15] ^ TX_FEEDBACK[15] ^ TX_FEEDBACK[17];
  TX_DATA_OUT[16] = TX_DATA_IN[16] ^ TX_FEEDBACK[16] ^ TX_FEEDBACK[18];
  TX_DATA_OUT[17] = TX_DATA_IN[17] ^ TX_FEEDBACK[17] ^ TX_FEEDBACK[19];
  TX_DATA_OUT[18] = TX_DATA_IN[18] ^ TX_FEEDBACK[18] ^ TX_FEEDBACK[20];
  TX_DATA_OUT[19] = TX_DATA_IN[19] ^ TX_FEEDBACK[19] ^ TX_FEEDBACK[21];
  TX_DATA_OUT[20] = TX_DATA_IN[20] ^ TX_FEEDBACK[20] ^ TX_FEEDBACK[22];
  TX_DATA_OUT[21] = TX_DATA_IN[21] ^ TX_FEEDBACK[21] ^ TX_FEEDBACK[23];
  TX_DATA_OUT[22] = TX_DATA_IN[22] ^ TX_FEEDBACK[22] ^ TX_FEEDBACK[24];
  TX_DATA_OUT[23] = TX_DATA_IN[23] ^ TX_FEEDBACK[23] ^ TX_FEEDBACK[25];
  TX_DATA_OUT[24] = TX_DATA_IN[24] ^ TX_FEEDBACK[24] ^ TX_FEEDBACK[26];
  TX_DATA_OUT[25] = TX_DATA_IN[25] ^ TX_FEEDBACK[25] ^ TX_FEEDBACK[27];
  TX_DATA_OUT[26] = TX_DATA_IN[26] ^ TX_FEEDBACK[26] ^ TX_FEEDBACK[28];
  TX_DATA_OUT[27] = TX_DATA_IN[27] ^ TX_FEEDBACK[27] ^ TX_FEEDBACK[29];
  TX_DATA_OUT[28] = TX_DATA_IN[28] ^ TX_FEEDBACK[28] ^ TX_DATA_IN   [ 0] ^ TX_FEEDBACK[0] ^ TX_FEEDBACK[2];
  TX_DATA_OUT[29] = TX_DATA_IN[29] ^ TX_FEEDBACK[29] ^ TX_DATA_IN   [ 1] ^ TX_FEEDBACK[1] ^ TX_FEEDBACK[3];
    
  TX_FEEDBACK = TX_DATA_OUT;

  return TX_DATA_OUT; //COMMON_FRAME
}
Ejemplo n.º 2
0
spp Karol_scramble_TX(spp TX_DATA_IN, int i)
{
  static spp TX_FEEDBACK [4] = {0,0,0,0};
  spp TX_DATA_OUT(0);
    
  TX_DATA_OUT[ 0] = TX_DATA_IN[ 0] ^ TX_FEEDBACK[i][ 0] ^ TX_FEEDBACK[i][ 2];
  TX_DATA_OUT[ 1] = TX_DATA_IN[ 1] ^ TX_FEEDBACK[i][ 1] ^ TX_FEEDBACK[i][ 3];
  TX_DATA_OUT[ 2] = TX_DATA_IN[ 2] ^ TX_FEEDBACK[i][ 2] ^ TX_FEEDBACK[i][ 4];
  TX_DATA_OUT[ 3] = TX_DATA_IN[ 3] ^ TX_FEEDBACK[i][ 3] ^ TX_FEEDBACK[i][ 5];
  TX_DATA_OUT[ 4] = TX_DATA_IN[ 4] ^ TX_FEEDBACK[i][ 4] ^ TX_FEEDBACK[i][ 6];
  TX_DATA_OUT[ 5] = TX_DATA_IN[ 5] ^ TX_FEEDBACK[i][ 5] ^ TX_FEEDBACK[i][ 7];
  TX_DATA_OUT[ 6] = TX_DATA_IN[ 6] ^ TX_FEEDBACK[i][ 6] ^ TX_FEEDBACK[i][ 8];
  TX_DATA_OUT[ 7] = TX_DATA_IN[ 7] ^ TX_FEEDBACK[i][ 7] ^ TX_FEEDBACK[i][ 9];
  TX_DATA_OUT[ 8] = TX_DATA_IN[ 8] ^ TX_FEEDBACK[i][ 8] ^ TX_FEEDBACK[i][10];
  TX_DATA_OUT[ 9] = TX_DATA_IN[ 9] ^ TX_FEEDBACK[i][ 9] ^ TX_FEEDBACK[i][11];
  TX_DATA_OUT[10] = TX_DATA_IN[10] ^ TX_FEEDBACK[i][10] ^ TX_FEEDBACK[i][12];
  TX_DATA_OUT[11] = TX_DATA_IN[11] ^ TX_FEEDBACK[i][11] ^ TX_FEEDBACK[i][13];
  TX_DATA_OUT[12] = TX_DATA_IN[12] ^ TX_FEEDBACK[i][12] ^ TX_FEEDBACK[i][14];
  TX_DATA_OUT[13] = TX_DATA_IN[13] ^ TX_FEEDBACK[i][13] ^ TX_FEEDBACK[i][15];
  TX_DATA_OUT[14] = TX_DATA_IN[14] ^ TX_FEEDBACK[i][14] ^ TX_FEEDBACK[i][16];
  TX_DATA_OUT[15] = TX_DATA_IN[15] ^ TX_FEEDBACK[i][15] ^ TX_FEEDBACK[i][17];
  TX_DATA_OUT[16] = TX_DATA_IN[16] ^ TX_FEEDBACK[i][16] ^ TX_FEEDBACK[i][18];
  TX_DATA_OUT[17] = TX_DATA_IN[17] ^ TX_FEEDBACK[i][17] ^ TX_FEEDBACK[i][19];
  TX_DATA_OUT[18] = TX_DATA_IN[18] ^ TX_FEEDBACK[i][18] ^ TX_FEEDBACK[i][20];
  TX_DATA_OUT[19] = TX_DATA_IN[19] ^ TX_FEEDBACK[i][19] ^ TX_FEEDBACK[i][21];
  TX_DATA_OUT[20] = TX_DATA_IN[20] ^ TX_FEEDBACK[i][20] ^ TX_FEEDBACK[i][22];
  TX_DATA_OUT[21] = TX_DATA_IN[21] ^ TX_FEEDBACK[i][21] ^ TX_FEEDBACK[i][23];
  TX_DATA_OUT[22] = TX_DATA_IN[22] ^ TX_FEEDBACK[i][22] ^ TX_FEEDBACK[i][24];
  TX_DATA_OUT[23] = TX_DATA_IN[23] ^ TX_FEEDBACK[i][23] ^ TX_FEEDBACK[i][25];
  TX_DATA_OUT[24] = TX_DATA_IN[24] ^ TX_FEEDBACK[i][24] ^ TX_FEEDBACK[i][26];
  TX_DATA_OUT[25] = TX_DATA_IN[25] ^ TX_FEEDBACK[i][25] ^ TX_FEEDBACK[i][27];
  TX_DATA_OUT[26] = TX_DATA_IN[26] ^ TX_FEEDBACK[i][26] ^ TX_FEEDBACK[i][28];
  TX_DATA_OUT[27] = TX_DATA_IN[27] ^ TX_FEEDBACK[i][27] ^ TX_FEEDBACK[i][29];
  TX_DATA_OUT[28] = TX_DATA_IN[28] ^ TX_FEEDBACK[i][28] ^ TX_DATA_IN   [ 0] ^ TX_FEEDBACK[i][0] ^ TX_FEEDBACK[i][2];
  TX_DATA_OUT[29] = TX_DATA_IN[29] ^ TX_FEEDBACK[i][29] ^ TX_DATA_IN   [ 1] ^ TX_FEEDBACK[i][1] ^ TX_FEEDBACK[i][3];
    
  TX_FEEDBACK[i] = TX_DATA_OUT;

  return TX_DATA_OUT; //COMMON_FRAME
}