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

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

?? asyncappllayer.cc

?? 基于omnet++開發的Mf框架下的802.11協議仿真。
?? CC
?? 第 1 頁 / 共 3 頁
字號:
	  	std::string::size_type pos = 0, prev_pos = 0;
	  	unsigned int index=0;
	  	double data1[8];
	  	double data;
	  	while (( pos = s.find_first_of( ' ', pos ))!= std::string::npos )
	  	{
	   		//++pos;
       	pos = s.find_first_of(' ',pos);
	      if(s.substr(prev_pos, pos-prev_pos)=="")//如果等于空字符串,繼續查找	      {
	      	prev_pos=++pos;
	        continue;
        } 
        else
        {
        	data = atof(s.substr(prev_pos, pos - prev_pos).c_str());//?
        	data1[index++]=data;
        	prev_pos = ++pos;
        }	
      }	  
			data=atof(s.substr(prev_pos,pos - prev_pos).c_str());				 
			data1[index]=data;
  			
      std::cout<<endl;
      std::cout<<endl;
      std::cout<<"generate a Packet !!!!!!!!!!"<<endl;
      std::cout<<"data1=";
      for (int i=0;i<8;i++)
      {
       	std::cout<<data1[i]<<",";
      }
      std::cout<<"."<<endl;  
	  
			double dec[8];
			int h=8;
			while(h>1)
			{
        h=h/2;
        for (int i=0;i<h;i++)
        {
          dec[i] = ((data1[2*i]+data1[2*i+1]));
          dec[h+i] =((data1[2*i]-data1[2*i+1]));
        }
        for(int i=0;i<(2*h);i++)
        {
          data1[i]=dec[i];	
        } 
      }
        
      std::cout<<"dec=";
      for (int i=0;i<7;i++)
      {
       	std::cout<<dec[i]<<",";
      }
      std::cout<<dec[7]<<"."<<endl;;
      
    
			for(int i=0;i<8;i++)
			{ 
				ev<<"*"<<endl;
				pk->setData(i,data1[i]);				
			}
				
	/**###################################################*/
	               /** 數據報設置*/
	     ev<<"?????????????????????"<<endl;
       pk->setSrcAddr(myApplAddr());
       pk->setDestAddr(destModuleID);
       pk->setLength(headerLength);
       pk->setTimestamp(simTime()); 
       pk->setSeqNum1(row);//4-12添加       row++;
      // std::cout<<"aaa"<<std::endl;
       ev<<logName()<<"::AsyncApplLayer:: the pk's timestamp=="<<pk->timestamp()<<endl;  
             
       sendDown(pk);
	
		   if (ev.isGUI()) 
		    	parentModule()->bubble("Generating packet...");    	
       numBurstMessage++;
       EV <<" generating packet to " <<destAddress<< "#" << numBurstMessage <<endl;
       scheduleAt(simTime()+(double)par("iaitime"), generatePacket);          
    }  
    
    else if(msg==clusterWaveLet)//時鐘信號控制,強制進行小波變換    {
    	  std::cout<<"強制進行小波變換"<<std::endl;
        do_clusterWave();
    }
    /***************add by zhutiejun 4-25 **********************/
    else if(msg==undoCode)  //時鐘信號控制,強制進行解碼
    {
    	//判斷哪個簇的數據報已經過半
    	  //最后一個數據報的到達時間矩現在是否已經達到門限值
    	  //是,則將這些數據報取出,按包號排列,取出數據,在丟包處進行插值,生成一個隊列,調用解碼函數
    	std::cout<<endl;
    	std::cout<<"The signal of undocode................"<<endl;
    	std::cout<<"the size of dmap is:"<<dmap.size()<<endl;
    	m_iterator it_begin=dmap.begin();
    	//m_iterator it_end=dmap.end();
    	simtime_t t=simTime();
    	
    	for(;it_begin!=dmap.end();)
    	{
    		std::cout<<endl;
    		std::cout<<((*it_begin).second.size())<<"——————"<<((*it_begin).second.front())->getSeqNum1()<<endl;
    		if(static_cast<double>((*it_begin).second.size())/((*it_begin).second.front())->getSeqNum1()>0.5)
     	  {
     	  		//(*m_it).second.back()->setTimestamp(simTime());
     	  		if(t-(*it_begin).second.back()->timestamp()>=100||static_cast<double>((*it_begin).second.size())/((*it_begin).second.front())->getSeqNum1()==1.0)
     	  		{
     	  			std::ofstream fout( "dataSize.txt", std::ios_base::app );
     	  			std::cout<<endl;
     	  			std::cout<<"unDo_Coding........................"<<endl;
     	  			std::deque<ApplPkt*> msgqueue;
     	  			msgqueue=(*it_begin).second;
     	  			
     	  			fout<<"begin sort msgqueue's size="<<msgqueue.size()<<endl;
     	  			
							sort(msgqueue.begin(),msgqueue.end(),Comp());  //按照第2個序列號排序
							
							fout<<"after sort msgqueue's size="<<msgqueue.size()<<endl;
							
							std::deque<ApplPkt*> ::iterator de_iterator=msgqueue.begin();
								
							
							int count=(*de_iterator)->getSeqNum1();
							std::cout<<"count="<<count<<endl;
							fout<<"totalCount="<<count<<endl;
							for(int i=0;i<(count-4);++i)//數據   有問題,如果地址沒有收滿,那么有一個或幾個地址會當成數據
							{ 
								//std::cout<<"*******"<<endl;//測試點
																
								if((de_iterator!=msgqueue.end())&&(i+1)==((*de_iterator)->getSeqNum2()))
								{
									//std::cout<<((*de_iterator)->getSeqNum2())<<endl;//測試點
									adr=(*de_iterator)->getSrcAddr();
									for(int j=0;j<8;++j)
									{
										dataQueue1.push_back((*de_iterator)->getData(j));
									}
									++de_iterator;
								}
								else
								{
									std::cout<<endl;
									std::cout<<"chazhi...................."<<endl;
									for(int j=0;j<8;++j)
									   dataQueue1.push_back(1);
								}
							}
						/**************************************/	
							for(int i=0;i<4;++i)//原地址
							{ std::cout<<"*******"<<endl;//測試點
								
								if((de_iterator!=msgqueue.end())&&(((*de_iterator)->getSeqNum1())+i-3)==((*de_iterator)->getSeqNum2()))
								{
									std::cout<<((*de_iterator)->getSeqNum2())<<"--"<<((*de_iterator)->getSeqNum1())<<endl;//測試點
									for(int j=0;j<8;++j)
									{
										addr_sink[8*i+j]=(*de_iterator)->getData(j);
									}
									++de_iterator;
								}
								
							}
						/************************************/
						  //刪除指針
						 // for_each(msgqueue.begin(),msgqueue.end(),DeleteObj<ApplPkt>);
						  for_each(msgqueue.begin(),msgqueue.end(),DeleteObj());
							std::cout<<endl;
							std::cout<<"addr_sink[32]="<<endl;
							for(int i=0;i<32;i++)
							{
								std::cout<<addr_sink[i];
							}
							std::cout<<endl;
							std::cout<<endl;
							std::cout<<"dataQueue1's size="<<dataQueue1.size()<<endl;
							cDataQueue dataQue;//臨時變量
							std::cout<<endl;
							std::cout<<endl;
						  std::cout<<"jiema...................."<<endl;
							while(!dataQueue1.empty())
							{
								double d1;
								int size;
								d1=dataQueue1.front();
								std::cout<<"the size of dataQueue1 is :"<<dataQueue1.size();
								std::cout<<"  data="<<d1<<endl;
								dataQueue1.pop_front();
								size = dataQueue1.front();
								dataQueue1.pop_front();
								for(int si=0;si<size;++si)
								{
									dataQue.push_back(d1);
								}
							}
							
							std::cout<<endl;

					//		std::cout<<"dataQue's size="<<dataQue.size()<<endl;
							dataQueue1.assign(dataQue.begin(),dataQue.end());//隊列賦值
							int dataSize=dataQueue1.size();
							
						//	std::cout<<"dataSize="<<dataSize<<std::endl;
							fout<<"dataSize="<<dataSize<<std::endl;
								
							for(int ii=0;ii<256-dataSize;++ii)
							{
								dataQueue1.push_back(0);
							}							
							
							fout<<"begin erase,the dmap's size="<<dmap.size()<<endl<<endl;
							dmap.erase(it_begin++);
							fout<<"after erase,the dmap's size="<<dmap.size()<<endl<<endl;
							fout.close();
							unDo_code();
     	  		}
     	  		else
     	  			++it_begin;
     	  		//scheduleAt(simTime()+200,overtimeMsg);
     	  }
     	  else 
     	  	++it_begin;
    	}
    	scheduleAt(simTime()+5.0,undoCode);
    }
    /*************************end ******************************/
    
    else if(numBurstMessage>=maxNumBurst)
   		EV << " source stopped bursting!!! " << endl;   		
   	
}


/** @brief 簇頭小波變換4.19添加*/
void AsyncApplLayer::do_clusterWave()
{
   
    /************將32個數據的相關信心拷貝到addr數組和clusterHead_data中***************/
    clu_iterator iterBegin = cluData.begin();
    clu_iterator iterEnd = cluData.end();
    int subscript=0;
    while( iterBegin != iterEnd)
    {
    	addr[subscript]=iterBegin->first;
    	std::deque<double> dQue=iterBegin->second;
    	for(int i=0;i<8;i++)
    	  clusterHead_data[subscript][i]=dQue[i];
    	++subscript;
    	++iterBegin;
    }
    cluData.clear(); 	
        	
    /***************************end*******************************/
   
   //3級小波列變換   //調用編碼函數   std::cout<<"The clusterHead begin to wavelet!!!!!!!"<<endl;
   std::cout<<"#########################################"<<endl;
   std::cout<<"old data is:"<<endl;
    //打印數據
  
  	for(int i=0;i<32;i++)
    {
     	for(int j=0;j<8;j++)
      {
        std::cout<<clusterHead_data[i][j]<<" ";
        test_data[i][j]=clusterHead_data[i][j];// For testing (temp) 5.11
      }
      std::cout<<endl;
    }
    std::cout<<endl;
    std::cout<<endl;
   
   
   for(int j=0;j<8;j++)
   {
   	  double temp[32];
      int h=8;//三級變換      while(h>1)
      {        
        h=h/2;
        for(int i=0;i<4*h;i++)
        {
          temp[i]=(clusterHead_data[2*i][j]+clusterHead_data[2*i+1][j]);
          temp[4*h+i]=(clusterHead_data[2*i][j]-clusterHead_data[2*i+1][j]);		
        }
        for(int i=0;i<(8*h);i++)
        {
          clusterHead_data[i][j]=temp[i];	
        }
      }
   }
   
   std::cout<<"#########################################"<<endl;
  
   std::cout<<"new data is:"<<endl;
     //打印數據
  
  	for(int i=0;i<32;i++)
     {
     	for(int j=0;j<8;j++)
        {
        	std::cout<<clusterHead_data[i][j]<<" ";
        }
        std::cout<<endl;
     }
     std::cout<<endl;
     std::cout<<endl;
  
     //小波變換后對數據進行量化
     std::cout<<"量化數據:"<<endl;
     for(int i=0;i<32;i++)
       for(int j=0;j<8;j++)
       {
         if(fabs(clusterHead_data[i][j])<(double)par("limit"))
             clusterHead_data[i][j]=0.0;
       }
      //打印數據
  
  	for(int i=0;i<32;i++)
    {
     	for(int j=0;j<8;j++)
      {
        	std::cout<<clusterHead_data[i][j]<<" ";
      }
      std::cout<<endl;
    }
    std::cout<<endl;
    std::cout<<endl;
     
    test();//測試,計算mse   
    
     //接下來調用編碼函數
    std::cout<<"begin to do_code!!!!!!!!"<<endl;    do_code();

}


/** @brief 簇頭壓縮編碼 -4.19添加*/
void AsyncApplLayer::do_code()
{
    
       //朱鐵軍負責編寫
    /*******************zhu tiejun 4-25****************
       Z型編碼******/
    cDataQueue temp;
   /********************modify by zhu tiejun 5-10************/
    int former_row=0;
    int behind_row=4;
    int former_col=0;
    int behind_col=1;
    while(former_col<8)
    {
    	for(int row=0;row<former_row;++row)
    	{
    	 for(int col=former_col;col<behind_col;++col)
    	 {
    	 	 if(temp.empty()||clusterHead_data[row][col]==temp.front())
    	 	 	temp.push_back(clusterHead_data[row][col]);
    	 	 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线中文字幕一区| 国产精品福利影院| 亚洲精品一区二区三区在线观看 | 国产女人18毛片水真多成人如厕| 亚洲欧洲综合另类在线| 国产一区二区成人久久免费影院 | 99久久婷婷国产精品综合| 欧美一级日韩一级| 亚州成人在线电影| 一本到高清视频免费精品| 国产欧美精品区一区二区三区| 日韩二区三区在线观看| 91成人国产精品| 亚洲色图色小说| 成人动漫视频在线| 国产午夜亚洲精品理论片色戒| 亚洲成人精品一区| 亚洲影院在线观看| 91在线小视频| 日本一区二区高清| 蜜桃精品视频在线观看| 欧美日韩在线亚洲一区蜜芽| 国产日产精品一区| 激情国产一区二区 | 国产精品538一区二区在线| 91国产福利在线| 精品乱码亚洲一区二区不卡| 亚洲伦理在线精品| 国产成人免费视频网站 | 在线观看一区二区精品视频| 久久久久国产精品麻豆ai换脸 | 久久久噜噜噜久久中文字幕色伊伊 | 懂色av一区二区在线播放| 欧美日韩国产高清一区二区三区 | 免费的国产精品| 91网站在线观看视频| 国产香蕉久久精品综合网| 日韩av在线播放中文字幕| 欧美影院一区二区| 亚洲女子a中天字幕| 成人看片黄a免费看在线| 精品国产一区二区三区av性色| 一区二区三区在线视频观看| 成人理论电影网| 欧美激情中文字幕| 国产成人在线免费观看| 久久久不卡网国产精品二区| 激情综合网天天干| 精品久久久久久综合日本欧美| 日韩在线观看一区二区| 色94色欧美sute亚洲线路二 | 中文字幕乱码亚洲精品一区| 国产伦精品一区二区三区免费 | 国产精品资源网| 久久久www成人免费无遮挡大片| 国产在线播精品第三| 精品国产乱码久久久久久久 | 91精品久久久久久蜜臀| 日韩精品亚洲专区| 精品久久久网站| 国产成人av一区| 国产精品欧美一区二区三区| 99久久久久久99| 亚洲第一福利视频在线| 欧美美女视频在线观看| 免费成人你懂的| 国产欧美精品一区二区色综合朱莉| 国产精品一区在线| 亚洲欧美自拍偷拍色图| 99re视频精品| 日韩不卡一区二区| 国产日韩精品一区二区三区| 成人免费视频一区| 亚洲国产一区二区在线播放| 欧美一区中文字幕| 成人性生交大片免费看视频在线| 亚洲色图.com| 欧美亚男人的天堂| 国产伦精品一区二区三区视频青涩| 日本一区二区三区高清不卡| 日本精品裸体写真集在线观看| 日韩高清一级片| 久久久久久亚洲综合| 色狠狠桃花综合| 久久国产欧美日韩精品| |精品福利一区二区三区| 在线观看91av| www.久久精品| 免费成人av在线| 日韩美女啊v在线免费观看| 欧美老人xxxx18| 成人黄色一级视频| 丝袜脚交一区二区| 欧美精品一区二区三区蜜桃视频| 成人午夜精品一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 欧美人牲a欧美精品| 国产精品亚洲一区二区三区妖精| 亚洲欧洲性图库| 日韩精品自拍偷拍| 在线免费亚洲电影| 日韩一区欧美二区| 欧美tickling网站挠脚心| 欧美日韩一区二区三区四区| 国产精品一区二区在线播放| 18欧美乱大交hd1984| 日韩久久久精品| 91国在线观看| 九九国产精品视频| 性做久久久久久久免费看| 综合久久久久久久| 国产欧美精品在线观看| 欧美一区二区三区在线观看视频| 色婷婷综合激情| av在线播放不卡| 国产精品一区二区无线| 男男gaygay亚洲| 首页欧美精品中文字幕| 亚洲黄色在线视频| 亚洲色图另类专区| 亚洲女同ⅹxx女同tv| 久久久91精品国产一区二区精品| 欧美顶级少妇做爰| 欧美性猛交一区二区三区精品| 国产.欧美.日韩| 国产一区二区成人久久免费影院 | 午夜精品123| 亚洲一区二区成人在线观看| 中文字幕日韩一区| 亚洲欧美一区二区在线观看| 国产精品视频第一区| 国产精品青草综合久久久久99| 国产日本欧美一区二区| 久久精品无码一区二区三区| 久久精品在线观看| 精品成a人在线观看| 2欧美一区二区三区在线观看视频| 日韩精品一区二区三区四区| 日韩欧美国产wwwww| 欧美一区二区免费视频| 91精品国产免费| 久久综合狠狠综合久久综合88| 日韩免费高清av| 中文欧美字幕免费| 亚洲欧美日韩久久| 亚洲主播在线观看| 日本aⅴ亚洲精品中文乱码| 五月天婷婷综合| 美女精品自拍一二三四| 亚洲大片一区二区三区| 国产麻豆精品在线| 97精品久久久午夜一区二区三区| 日本高清不卡视频| 欧美日韩一区二区在线观看视频| 欧美久久婷婷综合色| 日韩欧美一区二区久久婷婷| 久久色视频免费观看| 国产精品久久久一区麻豆最新章节| 国产精品对白交换视频| 亚洲一区二区三区四区五区黄| 日本女人一区二区三区| 国产99久久精品| 欧美中文字幕一区| 精品国产乱码91久久久久久网站| 中文字幕高清不卡| 亚洲国产另类av| 久久草av在线| 99精品桃花视频在线观看| 欧美日韩国产不卡| 欧美国产乱子伦| 伊人色综合久久天天| 喷水一区二区三区| 成人一区二区三区中文字幕| 欧美日韩三级在线| 久久久久久久久久美女| 亚洲夂夂婷婷色拍ww47| 国产真实乱对白精彩久久| 99精品视频在线观看| 欧美性大战久久久久久久蜜臀| 欧美国产激情二区三区| 青青草国产成人99久久| 色综合一区二区| 精品99一区二区| 亚洲午夜精品在线| 国产精品一区二区视频| 日韩三级高清在线| 亚洲蜜臀av乱码久久精品| 久久激五月天综合精品| 欧洲在线/亚洲| 国产日韩影视精品| 秋霞成人午夜伦在线观看| 99久久免费精品高清特色大片| 精品捆绑美女sm三区| 五月天精品一区二区三区| 92国产精品观看| 国产日韩一级二级三级| 极品尤物av久久免费看| 91精品国产91久久久久久最新毛片| 亚洲精品国久久99热| 99精品国产一区二区三区不卡|