test_cdma_rx

「test_cdma_rx」の編集履歴(バックアップ)一覧はこちら

test_cdma_rx」(2011/07/11 (月) 09:55:30) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

CDMAの受信機を構築する。 print機能を標準出力させると負荷が重くうまく復号できないので、 リダイレクトでファイルに出力させてやる。 送受1対1の受信結果 M系列 by glfsr (系列長15) in[22]=0.000000, out[22]=0.000000 in[23]=0.000000, out[23]=0.000000 in[24]=0.000000, out[24]=0.000000 in[25]=1.000000, out[25]=1.000000 in[26]=1.000000, out[26]=1.000000 //↑ここまでは誤り //ここからはちゃんと復号できている! in[27]=0.000000, out[27]=0.000000 in[28]=0.000000, out[28]=0.000000 in[29]=0.000000, out[29]=0.000000 in[30]=1.000000, out[30]=1.000000 in[31]=1.000000, out[31]=1.000000 in[32]=1.000000, out[32]=1.000000 in[33]=1.000000, out[33]=1.000000 in[34]=0.000000, out[34]=0.000000 in[35]=1.000000, out[35]=1.000000 in[36]=0.000000, out[36]=0.000000 in[37]=1.000000, out[37]=1.000000 in[38]=1.000000, out[38]=1.000000 in[39]=0.000000, out[39]=0.000000 in[40]=0.000000, out[40]=0.000000 in[41]=1.000000, out[41]=1.000000 -----------1周期---------- in[42]=0.000000, out[42]=0.000000 in[43]=0.000000, out[43]=0.000000 in[44]=0.000000, out[44]=0.000000 in[45]=1.000000, out[45]=1.000000 in[46]=1.000000, out[46]=1.000000 in[47]=1.000000, out[47]=1.000000 in[48]=1.000000, out[48]=1.000000 in[49]=0.000000, out[49]=0.000000 in[50]=1.000000, out[50]=1.000000 in[51]=0.000000, out[51]=0.000000 in[52]=1.000000, out[52]=1.000000 in[53]=1.000000, out[53]=1.000000 in[54]=0.000000, out[54]=0.000000 in[55]=0.000000, out[55]=0.000000 in[56]=1.000000, out[56]=1.000000 -----------2周期---------- in[57]=0.000000, out[57]=0.000000 in[58]=0.000000, out[58]=0.000000 in[59]=0.000000, out[59]=0.000000 in[60]=1.000000, out[60]=1.000000 in[61]=1.000000, out[61]=1.000000 in[62]=1.000000, out[62]=1.000000 in[63]=1.000000, out[63]=1.000000 M系列 by lfsr (系列長15:x^4 + x^3 + 1) in[19]=1.000000, out[19]=1.000000←誤り(本当は0) in[20]=1.000000, out[20]=1.000000←誤り(本当は0) in[21]=1.000000, out[21]=1.000000←誤り(本当は0) ------------スタート---------------- in[22]=0.000000, out[22]=0.000000←誤り(本当は1) in[23]=1.000000, out[23]=1.000000 in[24]=0.000000, out[24]=0.000000←誤り(本当は1) in[25]=1.000000, out[25]=1.000000 in[26]=0.000000, out[26]=0.000000 in[27]=1.000000, out[27]=1.000000 in[28]=0.000000, out[28]=0.000000 in[29]=0.000000, out[29]=0.000000←誤り(本当は1) in[30]=1.000000, out[30]=1.000000 in[31]=0.000000, out[31]=0.000000 in[32]=0.000000, out[32]=0.000000 in[33]=1.000000, out[33]=1.000000 in[34]=0.000000, out[34]=0.000000 in[35]=0.000000, out[35]=0.000000 in[36]=0.000000, out[36]=0.000000 -----------1周期---------- in[37]=1.000000, out[37]=1.000000 in[38]=1.000000, out[38]=1.000000 in[39]=1.000000, out[39]=1.000000 in[40]=1.000000, out[40]=1.000000 in[41]=0.000000, out[41]=0.000000 in[42]=1.000000, out[42]=1.000000 in[43]=0.000000, out[43]=0.000000 in[44]=0.000000, out[44]=0.000000←誤り(本当は1) in[45]=1.000000, out[45]=1.000000 in[46]=0.000000, out[46]=0.000000 in[47]=0.000000, out[47]=0.000000 in[48]=1.000000, out[48]=1.000000 in[49]=0.000000, out[49]=0.000000 in[50]=0.000000, out[50]=0.000000 in[51]=0.000000, out[51]=0.000000 -----------2周期---------- in[52]=1.000000, out[52]=1.000000 in[53]=1.000000, out[53]=1.000000 in[54]=1.000000, out[54]=1.000000 in[55]=1.000000, out[55]=1.000000 in[56]=0.000000, out[56]=0.000000 in[57]=1.000000, out[57]=1.000000 in[58]=0.000000, out[58]=0.000000 in[59]=1.000000, out[59]=1.000000 in[60]=1.000000, out[60]=1.000000 in[61]=0.000000, out[61]=0.000000 in[62]=0.000000, out[62]=0.000000 in[63]=1.000000, out[63]=1.000000 in[64]=0.000000, out[64]=0.000000 in[65]=0.000000, out[65]=0.000000 in[66]=0.000000, out[66]=0.000000 -----------3周期---------- in[67]=1.000000, out[67]=1.000000 in[68]=1.000000, out[68]=1.000000 in[69]=1.000000, out[69]=1.000000 in[70]=1.000000, out[70]=1.000000 in[71]=0.000000, out[71]=0.000000 in[72]=1.000000, out[72]=1.000000 in[73]=0.000000, out[73]=0.000000 in[74]=1.000000, out[74]=1.000000 in[75]=1.000000, out[75]=1.000000 in[76]=0.000000, out[76]=0.000000 in[77]=0.000000, out[77]=0.000000 in[78]=1.000000, out[78]=1.000000 in[79]=0.000000, out[79]=0.000000 in[80]=0.000000, out[80]=0.000000 in[81]=0.000000, out[81]=0.000000 -----------4周期---------- in[82]=1.000000, out[82]=1.000000 in[83]=1.000000, out[83]=1.000000 in[84]=1.000000, out[84]=1.000000 in[85]=1.000000, out[85]=1.000000 in[86]=0.000000, out[86]=0.000000 in[87]=1.000000, out[87]=1.000000 in[88]=0.000000, out[88]=0.000000 in[89]=1.000000, out[89]=1.000000 in[90]=1.000000, out[90]=1.000000 in[91]=0.000000, out[91]=0.000000 in[92]=0.000000, out[92]=0.000000 in[93]=1.000000, out[93]=1.000000 in[94]=0.000000, out[94]=0.000000 in[95]=0.000000, out[95]=0.000000 in[96]=0.000000, out[96]=0.000000 -----------同軸ケーブルを2個にしても同じ感じ---------- in[29]=0.000000, out[29]=0.000000←誤り(本当は1) in[30]=1.000000, out[30]=1.000000 in[31]=1.000000, out[31]=1.000000 noutput_items = 16 in[0]=1.000000, out[0]=1.000000 in[1]=0.000000, out[1]=0.000000 in[2]=1.000000, out[2]=1.000000 in[3]=0.000000, out[3]=0.000000 in[4]=1.000000, out[4]=1.000000 in[5]=1.000000, out[5]=1.000000 in[6]=0.000000, out[6]=0.000000 in[7]=0.000000, out[7]=0.000000 in[8]=1.000000, out[8]=1.000000 in[9]=0.000000, out[9]=0.000000 in[10]=0.000000, out[10]=0.000000 in[11]=0.000000, out[11]=0.000000 1なのに0になって誤っているのが多い。lfsrの方が誤りが多い。計算量が多いせいか? M系列 by lfsr(系列長31:x^5 + x^3 + x^2 + x^1 + 1) in[100]=0.000000, out[100]=0.000000 in[101]=1.000000, out[101]=1.000000 in[102]=0.000000, out[102]=0.000000 in[103]=0.000000, out[103]=0.000000 in[104]=1.000000, out[104]=1.000000 in[105]=1.000000, out[105]=1.000000 in[106]=1.000000, out[106]=1.000000 in[107]=1.000000, out[107]=1.000000 in[108]=1.000000, out[108]=1.000000 in[109]=0.000000, out[109]=0.000000 in[110]=1.000000, out[110]=1.000000 in[111]=1.000000, out[111]=1.000000 in[112]=1.000000, out[112]=1.000000 in[113]=0.000000, out[113]=0.000000 in[114]=0.000000, out[114]=0.000000 in[115]=0.000000, out[115]=0.000000 in[116]=1.000000, out[116]=1.000000 in[117]=0.000000, out[117]=0.000000 in[118]=1.000000, out[118]=1.000000 in[119]=0.000000, out[119]=0.000000 in[120]=1.000000, out[120]=1.000000 in[121]=1.000000, out[121]=1.000000 in[122]=0.000000, out[122]=0.000000 in[123]=1.000000, out[123]=1.000000 in[124]=0.000000, out[124]=0.000000 in[125]=0.000000, out[125]=0.000000 in[126]=0.000000, out[126]=0.000000 in[127]=0.000000, out[127]=0.000000 系列長を大きくすると復元できない! -Gold系列 by lfsr mask1 = 61 #x^5 + x^3 + x^2 + x^1 + 1 seed1 = 1 mask2 = 37 #x^5 + x^2 + 1 seed2 = 1 mask3 = 61 #x^5 + x^3 + x^2 + x^1 + 1 seed3 = 32 mask4 = 37 #x^5 + x^2 + 1 seed4 = 32 自己相関(上からseedを1ずつずらした値) 1 0.225 -0.025649 -0.025649 0.225 0.239395 0.239395 0.225 -0.025649 0.239395 0.239395 0.239395 0.239395 0.225 -0.025649 0.225 -0.025649 0.239395 0.239395 0.226301 -0.290694 0.225 -0.025649 0.239395 0.239395 -0.025649 0.225 -0.025649 0.225 0.239395 0.239395 **符号長15のM系列じゃないと遅れない!? 符号長15の系列じゃないと今んとこ成功していない。 これだと1個しかないからマルチユーザで検証できない。。→とりあえず一方だけ長い系列にして干渉用にしてしまえばよい。 ↓同じ符号でマルチユーザするとぐちゃぐちゃになる。 in[17]=0.000000, out[17]=0.000000 in[18]=1.000000, out[18]=1.000000 in[19]=1.000000, out[19]=1.000000 in[20]=0.000000, out[20]=0.000000 in[21]=0.000000, out[21]=0.000000 in[22]=0.000000, out[22]=0.000000 in[23]=0.000000, out[23]=0.000000 in[24]=0.000000, out[24]=0.000000 in[25]=0.000000, out[25]=0.000000 in[26]=0.000000, out[26]=0.000000 in[27]=1.000000, out[27]=1.000000 in[28]=1.000000, out[28]=1.000000 in[29]=0.000000, out[29]=0.000000 in[30]=1.000000, out[30]=1.000000 in[31]=0.000000, out[31]=0.000000 in[32]=1.000000, out[32]=1.000000 in[33]=1.000000, out[33]=1.000000 in[34]=0.000000, out[34]=0.000000 in[35]=0.000000, out[35]=0.000000 in[36]=1.000000, out[36]=1.000000 in[37]=0.000000, out[37]=0.000000 *ソースコード -[[test_cdma_rx.py>http://www35.atwiki.jp/space_escalator/pages/68.html]] ----
CDMAの受信機を構築する。 print機能を標準出力させると負荷が重くうまく復号できないので、 リダイレクトでファイルに出力させてやる。 送受1対1の受信結果 M系列 by glfsr (系列長15) in[22]=0.000000, out[22]=0.000000 in[23]=0.000000, out[23]=0.000000 in[24]=0.000000, out[24]=0.000000 in[25]=1.000000, out[25]=1.000000 in[26]=1.000000, out[26]=1.000000 //↑ここまでは誤り //ここからはちゃんと復号できている! in[27]=0.000000, out[27]=0.000000 in[28]=0.000000, out[28]=0.000000 in[29]=0.000000, out[29]=0.000000 in[30]=1.000000, out[30]=1.000000 in[31]=1.000000, out[31]=1.000000 in[32]=1.000000, out[32]=1.000000 in[33]=1.000000, out[33]=1.000000 in[34]=0.000000, out[34]=0.000000 in[35]=1.000000, out[35]=1.000000 in[36]=0.000000, out[36]=0.000000 in[37]=1.000000, out[37]=1.000000 in[38]=1.000000, out[38]=1.000000 in[39]=0.000000, out[39]=0.000000 in[40]=0.000000, out[40]=0.000000 in[41]=1.000000, out[41]=1.000000 -----------1周期---------- in[42]=0.000000, out[42]=0.000000 in[43]=0.000000, out[43]=0.000000 in[44]=0.000000, out[44]=0.000000 in[45]=1.000000, out[45]=1.000000 in[46]=1.000000, out[46]=1.000000 in[47]=1.000000, out[47]=1.000000 in[48]=1.000000, out[48]=1.000000 in[49]=0.000000, out[49]=0.000000 in[50]=1.000000, out[50]=1.000000 in[51]=0.000000, out[51]=0.000000 in[52]=1.000000, out[52]=1.000000 in[53]=1.000000, out[53]=1.000000 in[54]=0.000000, out[54]=0.000000 in[55]=0.000000, out[55]=0.000000 in[56]=1.000000, out[56]=1.000000 -----------2周期---------- in[57]=0.000000, out[57]=0.000000 in[58]=0.000000, out[58]=0.000000 in[59]=0.000000, out[59]=0.000000 in[60]=1.000000, out[60]=1.000000 in[61]=1.000000, out[61]=1.000000 in[62]=1.000000, out[62]=1.000000 in[63]=1.000000, out[63]=1.000000 M系列 by lfsr (系列長15:x^4 + x^3 + 1) in[19]=1.000000, out[19]=1.000000←誤り(本当は0) in[20]=1.000000, out[20]=1.000000←誤り(本当は0) in[21]=1.000000, out[21]=1.000000←誤り(本当は0) ------------スタート---------------- in[22]=0.000000, out[22]=0.000000←誤り(本当は1) in[23]=1.000000, out[23]=1.000000 in[24]=0.000000, out[24]=0.000000←誤り(本当は1) in[25]=1.000000, out[25]=1.000000 in[26]=0.000000, out[26]=0.000000 in[27]=1.000000, out[27]=1.000000 in[28]=0.000000, out[28]=0.000000 in[29]=0.000000, out[29]=0.000000←誤り(本当は1) in[30]=1.000000, out[30]=1.000000 in[31]=0.000000, out[31]=0.000000 in[32]=0.000000, out[32]=0.000000 in[33]=1.000000, out[33]=1.000000 in[34]=0.000000, out[34]=0.000000 in[35]=0.000000, out[35]=0.000000 in[36]=0.000000, out[36]=0.000000 -----------1周期---------- in[37]=1.000000, out[37]=1.000000 in[38]=1.000000, out[38]=1.000000 in[39]=1.000000, out[39]=1.000000 in[40]=1.000000, out[40]=1.000000 in[41]=0.000000, out[41]=0.000000 in[42]=1.000000, out[42]=1.000000 in[43]=0.000000, out[43]=0.000000 in[44]=0.000000, out[44]=0.000000←誤り(本当は1) in[45]=1.000000, out[45]=1.000000 in[46]=0.000000, out[46]=0.000000 in[47]=0.000000, out[47]=0.000000 in[48]=1.000000, out[48]=1.000000 in[49]=0.000000, out[49]=0.000000 in[50]=0.000000, out[50]=0.000000 in[51]=0.000000, out[51]=0.000000 -----------2周期---------- in[52]=1.000000, out[52]=1.000000 in[53]=1.000000, out[53]=1.000000 in[54]=1.000000, out[54]=1.000000 in[55]=1.000000, out[55]=1.000000 in[56]=0.000000, out[56]=0.000000 in[57]=1.000000, out[57]=1.000000 in[58]=0.000000, out[58]=0.000000 in[59]=1.000000, out[59]=1.000000 in[60]=1.000000, out[60]=1.000000 in[61]=0.000000, out[61]=0.000000 in[62]=0.000000, out[62]=0.000000 in[63]=1.000000, out[63]=1.000000 in[64]=0.000000, out[64]=0.000000 in[65]=0.000000, out[65]=0.000000 in[66]=0.000000, out[66]=0.000000 -----------3周期---------- in[67]=1.000000, out[67]=1.000000 in[68]=1.000000, out[68]=1.000000 in[69]=1.000000, out[69]=1.000000 in[70]=1.000000, out[70]=1.000000 in[71]=0.000000, out[71]=0.000000 in[72]=1.000000, out[72]=1.000000 in[73]=0.000000, out[73]=0.000000 in[74]=1.000000, out[74]=1.000000 in[75]=1.000000, out[75]=1.000000 in[76]=0.000000, out[76]=0.000000 in[77]=0.000000, out[77]=0.000000 in[78]=1.000000, out[78]=1.000000 in[79]=0.000000, out[79]=0.000000 in[80]=0.000000, out[80]=0.000000 in[81]=0.000000, out[81]=0.000000 -----------4周期---------- in[82]=1.000000, out[82]=1.000000 in[83]=1.000000, out[83]=1.000000 in[84]=1.000000, out[84]=1.000000 in[85]=1.000000, out[85]=1.000000 in[86]=0.000000, out[86]=0.000000 in[87]=1.000000, out[87]=1.000000 in[88]=0.000000, out[88]=0.000000 in[89]=1.000000, out[89]=1.000000 in[90]=1.000000, out[90]=1.000000 in[91]=0.000000, out[91]=0.000000 in[92]=0.000000, out[92]=0.000000 in[93]=1.000000, out[93]=1.000000 in[94]=0.000000, out[94]=0.000000 in[95]=0.000000, out[95]=0.000000 in[96]=0.000000, out[96]=0.000000 -----------同軸ケーブルを2個にしても同じ感じ---------- in[29]=0.000000, out[29]=0.000000←誤り(本当は1) in[30]=1.000000, out[30]=1.000000 in[31]=1.000000, out[31]=1.000000 noutput_items = 16 in[0]=1.000000, out[0]=1.000000 in[1]=0.000000, out[1]=0.000000 in[2]=1.000000, out[2]=1.000000 in[3]=0.000000, out[3]=0.000000 in[4]=1.000000, out[4]=1.000000 in[5]=1.000000, out[5]=1.000000 in[6]=0.000000, out[6]=0.000000 in[7]=0.000000, out[7]=0.000000 in[8]=1.000000, out[8]=1.000000 in[9]=0.000000, out[9]=0.000000 in[10]=0.000000, out[10]=0.000000 in[11]=0.000000, out[11]=0.000000 1なのに0になって誤っているのが多い。lfsrの方が誤りが多い。計算量が多いせいか? M系列 by lfsr(系列長31:x^5 + x^3 + x^2 + x^1 + 1) in[100]=0.000000, out[100]=0.000000 in[101]=1.000000, out[101]=1.000000 in[102]=0.000000, out[102]=0.000000 in[103]=0.000000, out[103]=0.000000 in[104]=1.000000, out[104]=1.000000 in[105]=1.000000, out[105]=1.000000 in[106]=1.000000, out[106]=1.000000 in[107]=1.000000, out[107]=1.000000 in[108]=1.000000, out[108]=1.000000 in[109]=0.000000, out[109]=0.000000 in[110]=1.000000, out[110]=1.000000 in[111]=1.000000, out[111]=1.000000 in[112]=1.000000, out[112]=1.000000 in[113]=0.000000, out[113]=0.000000 in[114]=0.000000, out[114]=0.000000 in[115]=0.000000, out[115]=0.000000 in[116]=1.000000, out[116]=1.000000 in[117]=0.000000, out[117]=0.000000 in[118]=1.000000, out[118]=1.000000 in[119]=0.000000, out[119]=0.000000 in[120]=1.000000, out[120]=1.000000 in[121]=1.000000, out[121]=1.000000 in[122]=0.000000, out[122]=0.000000 in[123]=1.000000, out[123]=1.000000 in[124]=0.000000, out[124]=0.000000 in[125]=0.000000, out[125]=0.000000 in[126]=0.000000, out[126]=0.000000 in[127]=0.000000, out[127]=0.000000 系列長を大きくすると復元できない! -Gold系列 by lfsr mask1 = 61 #x^5 + x^3 + x^2 + x^1 + 1 seed1 = 1 mask2 = 37 #x^5 + x^2 + 1 seed2 = 1 mask3 = 61 #x^5 + x^3 + x^2 + x^1 + 1 seed3 = 32 mask4 = 37 #x^5 + x^2 + 1 seed4 = 32 自己相関(上からseedを1ずつずらした値) 1 0.225 -0.025649 -0.025649 0.225 0.239395 0.239395 0.225 -0.025649 0.239395 0.239395 0.239395 0.239395 0.225 -0.025649 0.225 -0.025649 0.239395 0.239395 0.226301 -0.290694 0.225 -0.025649 0.239395 0.239395 -0.025649 0.225 -0.025649 0.225 0.239395 0.239395 **符号長15のM系列じゃないと遅れない!? 符号長15の系列じゃないと今んとこ成功していない。 これだと1個しかないからマルチユーザで検証できない。。→とりあえず一方だけ長い系列にして干渉用にしてしまえばよい。 ↓同じ符号でマルチユーザするとぐちゃぐちゃになる。 in[17]=0.000000, out[17]=0.000000 in[18]=1.000000, out[18]=1.000000 in[19]=1.000000, out[19]=1.000000 in[20]=0.000000, out[20]=0.000000 in[21]=0.000000, out[21]=0.000000 in[22]=0.000000, out[22]=0.000000 in[23]=0.000000, out[23]=0.000000 in[24]=0.000000, out[24]=0.000000 in[25]=0.000000, out[25]=0.000000 in[26]=0.000000, out[26]=0.000000 in[27]=1.000000, out[27]=1.000000 in[28]=1.000000, out[28]=1.000000 in[29]=0.000000, out[29]=0.000000 in[30]=1.000000, out[30]=1.000000 in[31]=0.000000, out[31]=0.000000 in[32]=1.000000, out[32]=1.000000 in[33]=1.000000, out[33]=1.000000 in[34]=0.000000, out[34]=0.000000 in[35]=0.000000, out[35]=0.000000 in[36]=1.000000, out[36]=1.000000 in[37]=0.000000, out[37]=0.000000 M=15とM=31を混ぜたけどかなりきつい in[2]=0.000000, out[2]=0.000000 in[3]=0.000000, out[3]=0.000000 in[4]=0.000000, out[4]=0.000000 in[5]=1.000000, out[5]=1.000000 in[6]=1.000000, out[6]=1.000000 in[7]=1.000000, out[7]=1.000000 in[8]=1.000000, out[8]=1.000000 in[9]=0.000000, out[9]=0.000000 in[10]=1.000000, out[10]=1.000000 in[11]=0.000000, out[11]=0.000000 in[12]=0.000000, out[12]=0.000000←誤り(本当は1) in[13]=1.000000, out[13]=1.000000 in[14]=0.000000, out[14]=0.000000 in[15]=0.000000, out[15]=0.000000 in[16]=0.000000, out[16]=0.000000←誤り(本当は1) in[17]=1.000000, out[17]=1.000000←誤り(本当は0) in[18]=1.000000, out[18]=1.000000←誤り(本当は0) in[19]=1.000000, out[19]=1.000000←誤り(本当は0) *ソースコード -[[test_cdma_rx.py>http://www35.atwiki.jp/space_escalator/pages/68.html]] ----

表示オプション

横に並べて表示:
変化行の前後のみ表示: