亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? encoder_rm64.h

?? This CD-ROM is distributed by Kluwer Academic Publishers with ABSOLUTELY NO SUPPORT and NO WARRANTY
?? H
字號:
#include <iostream.h>
#include <stdlib.h>
#include <iomanip.h>
#include <stdio.h>
#include <time.h>
#include <math.h>

const double mean = 0.0;

class Encoder_double64
{
 private:
  int k;
  int n;
  double d; //sigma: variance for AWGN
  int U[ROW][ROW];
  int G_echelon[ROW][COLUMN];
  int Code_Vertical[ROW][COLUMN];
  int Code_Horizontal[ROW][COLUMN];
  int X_Vertical[ROW][COLUMN];
  int X_Horizontal[ROW][COLUMN];
  int Modify_X[COLUMN][COLUMN];
  double Y_H_V[COLUMN][COLUMN];
  void set_U();

 public:
  Encoder_double64(int[][65], int, int, double);
  void set_Code_H();
  void set_Code_V();
  void set_X_H();
  void set_X_V();
  void set_Modify_X();
  void set_Y_H_V();
  int* get_U();
  int* get_Code_H();
  int* get_Code_V();
  int* get_X_H();
  int* get_X_V();
  double* get_Y_H_V();
  double gaussian(double);
  void display_U();
  void display_Code_H();
  void display_Modify_X();
  bool test(int[][65], int);
  void display_Code_V();
  void display_Y_H_V();
};
Encoder_double64::Encoder_double64(int echelon_G[][65], int _k, int _n, double sigma)
{
  int i, j, l;
  d = sigma;
  k = _k; n = _n;
    for ( i = 0; i < k; i++){
        for ( j = 0; j < k; j++)
       U[i][j] = 0;
    for ( l = 0; l < n; l++)
      {Code_Vertical[i][l] = echelon_G[i][l];
      Code_Horizontal[i][l] = echelon_G[i][l];
      G_echelon[i][l] = echelon_G[i][l];
      X_Vertical[i][l] = 0;
      X_Horizontal[i][l] = 0;
    }}
    for (i=0; i < n; i++)
      {  for (j = 0; j < n; j++)
	Modify_X[i][j] = 0;
      Y_H_V[i][j] = 0;}
}
void Encoder_double64::set_U()
{
  int i, j;
  srand( time(0));
  for (j = 0; j < k; j++)
    {
      for (i = 0; i < k; i++)
	U[i][j]=rand()%2;
    }
}
void Encoder_double64::display_U()
{
  set_U();
  cout << " The U[" << k << "][" << k << "] =" << endl;
  for (int i = 0; i < k; i++){
    for (int j = 0; j < k; j++)
      cout << U[i][j] << " ";
    cout << " \n";
  }
}
void Encoder_double64::set_Code_V()
{
  int sum;
  // set_U();
  for(int b = 0; b < n; b++ ){
    for(int a = 0; a < k; a++ ){   
      sum = 0;	
      for(int i = 0; i < k; i++ ) 
	{
	  sum = U[i][a] * G_echelon[i][b] ^ sum;
	  Code_Vertical[a][b] = sum;
	}
    }
  }
}
void Encoder_double64::display_Code_H()
{
  set_Code_H();
  cout << "Code Sequence for Horizontal is:" << endl;
  for (int i = 0; i < k; i++){
    for (int j = 0; j < n; j++)
      cout << Code_Horizontal[i][j] << " ";
    cout << " \n";
  }
}
void Encoder_double64::set_Code_H()
{
  int sum;
  // set_U();
  for (int a = 0; a < k; a++)
    {
      for(int b = 0; b < n; b++ ){
	sum = 0;	
	for(int i = 0; i < k; i++ ) 
	  {
	    sum = U[a][i] * G_echelon[i][b] ^ sum;
	    Code_Horizontal[a][b] = sum;
	  }
      }
    }
}
void Encoder_double64::display_Code_V()
{
  set_Code_V();
  cout << "Code Sequence for Vertical is:" << endl;
  for (int i = 0; i < k; i++){
    for (int j = 0; j < n; j++)
      cout << Code_Vertical[i][j] << " ";
    cout << " \n";
  }
}
void Encoder_double64::set_X_H()
{
  set_Code_H();
  for (int i = 0; i < k; i++)
    {
      for (int j = 0; j < n; j++)
	{
	  if ( Code_Horizontal[i][j] == 0) 
	    X_Horizontal[i][j] = -1; 
	  else
	    X_Horizontal[i][j] = Code_Horizontal[i][j];
	}
    }
}
void Encoder_double64::set_X_V()
{
  set_Code_V();
  for (int i = 0; i < k; i++)
    {
      for (int j = 0; j < n; j++)
	{
	  if ( Code_Vertical[i][j] == 0) 
	    X_Vertical[i][j] = -1; 
	  else
	    X_Vertical[i][j] = Code_Vertical[i][j];
	}
    }
}
void Encoder_double64::set_Modify_X()
{
  int i,j;
  int row = 0, column = 0, count = 0, column1 = 0;
  set_X_H();
  set_X_V();
  while(column < n) {
    if(G_echelon[k-1][column] == 1)
      break;
    if (test( G_echelon, column) )
      column++;
    else 
      {
	count++;
	if (count == 1)	
	  {
	    for (i = row; i < column; i++){
	      for ( j = 0; j < n; j++){
		Modify_X[i][j] = X_Horizontal[i][j];
		Modify_X[j][i] = X_Vertical[i][j];}
	    }
	    column1 = column;
	    column++;
	  }
	else if (count == 2)
	  {	    row = column1 + 1;
	  for (i = row; i < column ; i++)
	    for ( j = 0; j < n; j++){
	      Modify_X[i][j] = X_Horizontal[i - count +1][j];	
	      Modify_X[j][i] = X_Vertical[i - count +1][j]; }
	  column1 = column;
	  column++;
	  }
	else if (count == 3)
	  {	    row = column1 + 1;
	  for (i = row; i < column ; i++)
	    for ( j = 0; j < n; j++){
	      Modify_X[i][j] = X_Horizontal[i - count +1][j];	
	      Modify_X[j][i] = X_Vertical[i - count +1][j]; }
	  column1 = column;
	  column++;
	  }
	else
	  {
	    row = column1 + 1;
	    for (i = row; i < column ; i++)
	      for ( j = 0; j < n; j++){
		Modify_X[i][j] = X_Horizontal[i - count + 1][j];
		Modify_X[j][i] = X_Vertical[i - count + 1][j];}
	    column++;
	  }
      }}
  row = column; 
  for ( j = 0; j < n; j++){
    Modify_X[row][j] = X_Horizontal[k-1][j];
    Modify_X[j][row] = X_Vertical[k-1][j];}
}
void Encoder_double64::display_Modify_X()
{
  set_Modify_X();
  cout << "Combintaion of Horizontal and Vertical is:" << endl;
  for (int i = 0; i < n; i++){
    for (int j = 0; j < n; j++)
      cout << setw(3) << Modify_X[i][j] << " ";
    cout << " \n";
  }
}

bool Encoder_double64::test(int G[][65], int column)
{
  int count = 0, row = 0;
    while(row < k) {
      if(G[row][column] == 1)
	count++;
      
      if(count == 2){
	return false;
	break;
      }
      row++;
    }
    return true;		
}
 
double Encoder_double64::gaussian(double d)
{
  int val1, val2;
  double uniform_rand1;
  double uniform_rand2;
  double gauss_rand1, gauss_rand2, temp;
 
  val1 = rand();
  uniform_rand1 = (double) val1; 
  uniform_rand1 /= RAND_MAX;
  val2 = rand();
  uniform_rand2 = (double) val2;
  uniform_rand2 /= RAND_MAX;
  if  (uniform_rand1!=0)
      temp = sqrt(-2.0*log(uniform_rand1));
  else
    temp = sqrt(-2*log(1.0e-9));
  gauss_rand1 = mean + temp*cos(2*M_PI*uniform_rand2)*d;
  gauss_rand2 = temp*sin(2*M_PI*uniform_rand2)*d;
    
  return( gauss_rand1);
}
/*
double Encoder_double64::gaussian()
{
  int i;
  double uniform_rand1, uniform_rand2, temp, d;
  double gauss_rand1, gauss_rand2;

   d = pow(10, -SNR/20);
    uniform_rand1 = (double) rand()/RAND_MAX;
    uniform_rand2 = (double) rand()/RAND_MAX;
    if (uniform_rand1!=0) 
      temp = sqrt(-2*log(uniform_rand1));
    gauss_rand1 = temp*cos(2*M_PI*uniform_rand2)*d;
    gauss_rand2 = temp*sin(2*M_PI*uniform_rand2)*d;
    
    return gauss_rand1;
}*/
void Encoder_double64::set_Y_H_V()
{
  set_Modify_X();
  double dd;
  // cout << endl << "Please give SNR (dB) for your wish: " ;
  // cin >> SNR;
  // dd = pow (10, -SNR/20);
  for (int i = 0; i < n; i++)
    {
      for (int j = 0; j < n; j++)
	if( Modify_X[i][j] == 1 || Modify_X[i][j] == -1)
	Y_H_V[i][j] = ( double)Modify_X[i][j] + gaussian(d);
      //  cout << endl << " gaussian noise is :" << gaussian();
    }
}
void Encoder_double64::display_Y_H_V()
{
  set_Y_H_V();

  cout << "Combintaion of Horizontal and Vertical for received sequence are:" << endl;
  for (int i = 0; i < n; i++){
    for (int j = 0; j < n; j++)
      cout << setw(3) << Y_H_V[i][j] << ", ";   
    cout << " \n";
  }
}
/*void Encoder_Modify::set_Y_V()
{
  set_X_V ();
  double dd;
  // cout << endl << "Please give SNR (dB) for your wish: " ;
  //cin >> SNR;
  dd = pow (10, -SNR/20);
  for (int i = 0; i < k; i++)
    {
      for (int j = 0; j < n; j++)
	Y_Vertical[i][j] = ( double)X_Vertical[i][j] + gaussian(dd);
    }
}*/
int* Encoder_double64::get_U()
{
  set_U();
  return &U[0][0];
}

int* Encoder_double64::get_Code_H()
{
  set_Code_H();
  return &Code_Horizontal[0][0];
}
int* Encoder_double64::get_Code_V()
{
  set_Code_V();
  return &Code_Vertical[0][0];
}
int* Encoder_double64::get_X_H()
{
  set_X_H();
  return &X_Horizontal[0][0];
}
int* Encoder_double64::get_X_V()
{
  set_X_V();
  return &X_Vertical[0][0];
}
/*double* Encoder_Modify::get_Y_H()
{
  set_Y_H();
  return &Y_Horizontal[0][0];
}*/
double* Encoder_double64::get_Y_H_V()
{
  set_Y_H_V();
  return &Y_H_V[0][0];
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品av久久707| 91色乱码一区二区三区| 欧美电视剧免费观看| 免费欧美日韩国产三级电影| 日韩欧美电影一区| 91视频xxxx| 亚洲午夜在线观看视频在线| 欧美一区二区在线视频| 九九九精品视频| 国产精品天美传媒| 欧美在线高清视频| 久久99热国产| 亚洲国产精品ⅴa在线观看| 91亚洲大成网污www| 天堂在线亚洲视频| 久久奇米777| 色偷偷88欧美精品久久久| 三级精品在线观看| 久久久99久久| 欧美影视一区在线| 国产一区在线精品| 一区二区三区中文在线| 日韩欧美国产一区二区三区| 成人一区二区三区视频在线观看| 一区二区欧美精品| 精品福利一二区| 在线观看免费成人| 国产一区二区三区久久久| 一区二区三区日韩| 亚洲精品一线二线三线无人区| 日韩一区二区在线观看| 国产成人无遮挡在线视频| 亚洲国产中文字幕| 中文字幕电影一区| 欧美高清你懂得| 国产ts人妖一区二区| 日韩中文字幕1| 亚洲日本在线a| 久久久精品欧美丰满| 欧美精品久久99久久在免费线| 成人激情开心网| 精品一区二区久久| 亚洲国产wwwccc36天堂| 国产精品久久午夜| 精品国精品自拍自在线| 欧美日本一区二区三区| 不卡电影一区二区三区| 国产在线精品一区二区三区不卡 | 成人福利视频在线看| 亚洲.国产.中文慕字在线| 国产精品理论片| 欧美成人官网二区| 69精品人人人人| 日本精品免费观看高清观看| 成人a区在线观看| 在线观看一区二区视频| 成人美女视频在线看| 国产主播一区二区三区| 日韩黄色在线观看| 亚洲福利一二三区| 悠悠色在线精品| 亚洲嫩草精品久久| 中文字幕字幕中文在线中不卡视频| 久久久99久久| 久久久美女毛片| 久久综合久色欧美综合狠狠| 日韩一区二区高清| 91精品久久久久久久久99蜜臂| 在线观看一区不卡| 欧美午夜精品一区| 91成人国产精品| 91久久精品一区二区三| 91麻豆swag| 色综合天天综合色综合av | 久久先锋影音av鲁色资源网| 日韩免费视频一区二区| 日韩一级片网站| 精品久久一区二区三区| 精品国产免费久久| 久久久久久麻豆| 国产日韩欧美麻豆| 国产精品久久毛片a| 天天av天天翘天天综合网| 亚洲va在线va天堂| 三级久久三级久久久| 蜜臀久久99精品久久久久宅男| 美女一区二区三区| 国产综合色在线视频区| 国产不卡视频在线观看| 91原创在线视频| 欧美日韩欧美一区二区| 欧美一区二区性放荡片| 精品国产免费一区二区三区香蕉| 久久精品男人的天堂| 国产精品久久久久一区二区三区 | 久久不见久久见中文字幕免费| 蜜臀精品久久久久久蜜臀 | 国产精品天天看| 亚洲一区在线观看免费观看电影高清 | 中文字幕一区二区5566日韩| 一区二区三区不卡在线观看| 日一区二区三区| 国产一区二区三区电影在线观看| 国产jizzjizz一区二区| 久久综合五月天婷婷伊人| 国产精品的网站| 亚洲福利视频一区二区| 国产乱码精品一区二区三区忘忧草 | 狠狠色丁香久久婷婷综合_中| 蜜桃在线一区二区三区| 成人午夜精品在线| 在线精品视频一区二区三四| 日韩一本二本av| 国产精品久久久久久亚洲毛片| 亚洲第一激情av| 国产69精品久久久久毛片| 在线欧美日韩国产| 久久免费视频色| 亚洲国产精品视频| 成熟亚洲日本毛茸茸凸凹| 欧美日韩第一区日日骚| 国产三级欧美三级日产三级99| 亚洲一线二线三线视频| 国产福利视频一区二区三区| 欧美日本一区二区| 综合色天天鬼久久鬼色| 久久国产人妖系列| 欧美三级韩国三级日本三斤| 亚洲在线免费播放| 国产精品一区在线| 欧美嫩在线观看| 亚洲色图在线播放| 国产精品原创巨作av| 制服丝袜中文字幕亚洲| 亚洲图片激情小说| 国产不卡视频在线观看| 日韩一级大片在线观看| 亚洲永久精品大片| 91无套直看片红桃| 国产欧美一区视频| 韩国欧美国产1区| 欧美一区二区视频观看视频| 一区二区三区欧美在线观看| 国产suv精品一区二区三区| 日韩女优毛片在线| 视频一区在线视频| 欧美亚洲高清一区二区三区不卡| 国产欧美日韩中文久久| 精品一区中文字幕| 欧美mv和日韩mv国产网站| 日韩福利电影在线观看| 欧美制服丝袜第一页| 亚洲美女少妇撒尿| 色哟哟一区二区| 国产精品高潮呻吟久久| 福利一区二区在线观看| 久久久久久免费网| 国产精品538一区二区在线| 精品sm捆绑视频| 国产伦精品一区二区三区视频青涩| 亚洲三级小视频| 99热99精品| 中文字幕欧美日本乱码一线二线 | 欧美国产综合一区二区| 国产精品综合网| 国产午夜精品一区二区三区嫩草| 国产精品综合一区二区三区| 久久久久久免费| 国产成人综合亚洲91猫咪| 国产片一区二区| 成人激情视频网站| 亚洲婷婷在线视频| 欧洲另类一二三四区| 亚洲妇熟xx妇色黄| 欧美一区二区精美| 国产一区二区在线影院| 久久精品免费在线观看| 成人网在线播放| 亚洲精品视频观看| 欧美自拍偷拍午夜视频| 亚洲成av人综合在线观看| 欧美一区二区在线看| 国产自产v一区二区三区c| 中文字幕av资源一区| 91在线小视频| 亚洲激情五月婷婷| 欧美一二区视频| 国产成人鲁色资源国产91色综| 国产精品久久久久久久第一福利| 色哟哟国产精品免费观看| 亚洲高清在线视频| 精品久久一二三区| 97久久超碰国产精品| 成人午夜激情影院| 亚洲日本成人在线观看| 欧美久久久久中文字幕| 国产永久精品大片wwwapp| 亚洲人成电影网站色mp4| 在线成人免费观看| 成人午夜视频网站|