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

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

?? rereiver.cpp

?? 單用戶多載波mccdma的仿真
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#include <iostream>
using namespace std;
#include <complex>
#include "receiver.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include<math.h>
#include<fstream>
#define PI 3.1415926535
#define sqr(x) ((x)*(x))
#define x1 100
void receiver::StartFdomainreceive ( )
{
	//int a[1000],b[1000]={0},ab[100][100],c[1000]={0},d[1000]={0},cd[100][100],z[100]={0},i,j,k,N2x;
	//FILE *fp;
	int i,j,k,N=10,n=3;
	double n1,**a;
    complex<double> *TD=new complex<double>[1280];
    complex<double> *FD=new complex<double>[1280];
//double e[1000],f[10000],g[1000]={0},md[10][1000],de[10][1000],ee[10][100]={0},sp[10][100],I[10][100],Q[10][100],rI[10][1000],rQ[10][1000];
  // double dic[4],min,fI[10][1000],fQ[10][1000],finde[10][1000]={0},n;
 n1=log(Fspreadfactor)/log(2);
 //////////////////////////////////////////////////////
 /*cout<<"\n";
 	cout<<"接收real"<<"\n";
	for(i=0;i<Fspreadfactor;i++)
	{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
       cout<<FFTRealIn[i][j]<<" ";
         cout<<"\n";
	}
	cout<<"\n";
 	cout<<"接收imag"<<"\n";
	for(i=0;i<Fspreadfactor;i++)
	{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
       cout<<FFTImagIn[i][j]<<" ";
         cout<<"\n";
	}
*/
	FFTRealOut=Allocate2DArray(x1,1000);                         //動態2維數組分配內存
     FFTImagOut=Allocate2DArray(x1,1000);                       //動態2維數組分配內存
//cout<<"\n";
 //cout<<"--------------FFT變換-------------------";
 //cout<<"\n";
for(i=0;i<numberofuserbit/2+numberofuserbit%2;i++)
{for( k=0;k<Fspreadfactor;k++)
 TD[k]=complex<double>(FFTRealIn[k][i], FFTImagIn[k][i]); 
/*for( k=0;k<8;k++)
 cout<<TD[k].real()<<"+"<<TD[k].imag()<<"i   ";
  cout<<"\n"<<"-----------------------";*/
 FFT(TD,FD,int(n1+0.5),1);
/*for( k=0;k<8;k++)
 cout<<FD[k].real()<<"+J"<<FD[k].imag()<<"   ";
  cout<<"\n";*/
  for( k=0;k<Fspreadfactor;k++)
  {FFTRealOut[k][i]=FD[k].real();
   FFTImagOut[k][i]=FD[k].imag();
  }
}
DeAllocate2DArray(FFTRealIn,x1);                                   //釋放內存
DeAllocate2DArray(FFTImagIn,x1);                                   //釋放內存
/* cout<<"I支路"<<"\n";
for(i=0;i<Fspreadfactor;i++)
  
{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
    cout<<FFTRealOut[i][j]<<" ";
    cout<<"\n";
}   
 cout<<"Q支路"<<"\n";
for(i=0;i<Fspreadfactor;i++)
{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
    cout<<FFTImagOut[i][j]<<" ";
    cout<<"\n";
} */
/////////////////////////////
Mseq=new int[10000];
M_seq(n);
/*cout<<"M序列"<<"\n";
for(i=0; i<100; i++)
    cout<<Mseq[i] <<" ";
   cout<<"\n";*/

////////////////////////////
   Despreadout=Allocate2DArray(x1,1000);
   a=Allocate2DArray(x1,1000);
   DespreadRealout=Allocate2DArray(x1,1000);
 DespreadImagout=Allocate2DArray(x1,1000);
for(i=0;i<Fspreadfactor;i++)
{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
  {a[i][j]=FFTRealOut[i][j];
   // cout<<a[i][j]<<" ";
	}
} 
FdomainDespread(Fspreadfactor,a);
for(i=0;i<Fspreadfactor;i++)
for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
      DespreadRealout[i][j]=Despreadout[i][j];
 DespreadImagout=Allocate2DArray(x1,1000);
for(i=0;i<Fspreadfactor;i++)
{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
  {a[i][j]=FFTImagOut[i][j];
   // cout<<a[i][j]<<" ";
	}
} 
FdomainDespread(Fspreadfactor,a);
for(i=0;i<Fspreadfactor;i++)
for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
      DespreadImagout[i][j]=Despreadout[i][j];
//cout<<"\n";
DeAllocate2DArray(Despreadout,x1);                                   //釋放內存
DeAllocate2DArray(a,x1);                                   //釋放內存
/*cout<<"解擴I支路"<<"\n";
for(i=0;i<Fspreadfactor;i++)
{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
            cout<<DespreadRealout[i][j]<<" ";
 cout<<"\n";
}
cout<<"解擴Q支路"<<"\n";
for(i=0;i<Fspreadfactor;i++)
{ for(j=0;j<numberofuserbit/2+numberofuserbit%2;j++) 
            cout<<DespreadImagout[i][j]<<" ";
 cout<<"\n";
}*/
  delete Mseq;
  DeAllocate2DArray(FFTRealOut,x1);                                   //釋放內存
DeAllocate2DArray(FFTImagOut,x1);                                   //釋放內存
  //cout<<"\n";
  //////////////////////////////
 Demodulation=intAllocate2DArray(x1,1000);                       //動態2維數組分配內存
DEQPSK(Fspreadfactor);
DeAllocate2DArray(DespreadImagout,x1);                                   //釋放內存
DeAllocate2DArray(DespreadRealout,x1);                                   //釋放內存
/*cout<<"解調合并"<<"\n";
for(i=0;i<Fspreadfactor;i++)
{ for(j=0;j<numberofuserbit;j++) 
    cout<<Demodulation[i][j]<<" ";
 cout<<"\n";
}*/



  /////////////////////////////////////////////////
/*Mseq=new int[10000];
M_seq(n);
/*cout<<"M序列"<<"\n";
for(i=0; i<100; i++)
    cout<<Mseq[i] <<" ";
   cout<<"\n";*/

////////////////////////////
/*   Despreadout=new int[10000];
   Despreadout[0]=0;
FdomainDespread(Fspreadfactor);
  delete Mseq;*/
 /* cout<<"\n";
   cout<<"最終信號"<<"\n";
  for(i=0;i<numberofuserbit;i++) 
    cout<<Demodulation[0][i]<<" ";
 cout<<"\n";*/
FinalOut=new int[10000];
for(i=0;i<numberofuserbit;i++) 
   FinalOut[i]=Demodulation[0][i];
//delete Despreadout;
 //cout<<"最終信號"<<"\n";
 // for(i=0;i<numberofuserbit;i++) 
   // cout<<FinalOut[i]<<" ";
 //cout<<"\n";
}
/////////////////////////////////////////////////////////
//                                                 ///
///               FFT變換                        /////
//////////////////////////////////////////////////////////

void receiver::FFT(complex<double> * TimeDomain, complex<double> * FreqDomain, int ex,int sign)
{
	
	long Nfft;        //進行傅立葉變換的數據個數
	int	i,j,k;     //定義循環變量
	int	Block;     //劃分子塊的大小
	int OffSet;    //計算偏移量
	double Angle;  //相位角度
	complex<double> *Wn,*Temp1,*Temp2,*Temp; //定義數據指針

	Nfft = 1 << ex; // 計算付立葉變換點數
	
	// 分配運算所需存儲器
	Wn  = new complex<double>[Nfft / 2];
	Temp1 = new complex<double>[Nfft];
	Temp2 = new complex<double>[Nfft];
	
	for(i = 0; i < Nfft / 2; i++) //計算加權系數Wn
	{
		Angle = -i * PI * 2 / Nfft;  //計算相應的角度
		Wn[i] = complex<double> (cos(Angle), sin(Angle)); //計算對應的復數
	}

	for(j = 0; j < Nfft; j++)            //重新排列傅立葉變換結果的次序
	{
		OffSet = 0;                   //初始化原來的數據處理后的新位置
		for(i = 0; i < ex; i++)       //對位置序號的二進制進行倒序反轉
		{
			if (j&(1<<i))             //提取二進制的位信息
			{
				OffSet+=1<<(ex-i-1);  //反轉二進制位序
			}
		}
	   if(sign==1)	 Temp1[j]=TimeDomain[OffSet]; 
	   else {
		   Temp1[j]=FreqDomain[OffSet];
	   
	      // -imag (Temp1[j])->imag (Temp1[j]);
	    
		     Temp1[j]= complex<double> (real(Temp1[j]), -imag(Temp1[j]))  ;                      //按照新位序將結果重排
	         }     
	   
     	}

	// 采用時間抽取的蝶形算法進行快速傅立葉變換
	for(k = 0; k < ex; k++)  //迭代次數
	{
		for(j = 0; j < 1 << (ex-k-1); j++)  //每次迭代分塊
		{
			Block = 1 << (k+1);  //塊內數據量
			for(i = 0; i < Block / 2; i++)  //塊內進行蝶形計算
			{
				OffSet = j * Block;  //計算偏移量
				Temp2[i + OffSet] = Temp1[i + OffSet] + Temp1[i + OffSet + Block / 2] * Wn[i * (1<<(ex-k-1))]; // A=a+b*Wn
				Temp2[i + OffSet + Block / 2] = Temp1[i + OffSet] - Temp1[i + OffSet + Block / 2] * Wn[i * (1<<(ex-k-1))]; //B=a-b*Wn
			}
		}
		Temp = Temp1;    Temp1 = Temp2;    Temp2 = Temp;    //交換操作和結果數據的指針
	}
	

	for(j = 0; j < Nfft; j++)  //將結果賦給頻域數組
	{
		if(sign==1)  FreqDomain[j]=Temp1[j];
		else {
		//	real(TimeDomain)=real(Temp1[j])/Nfft;
        //    imag(TimeDomain)=-imag(Temp1[j])/Nfft;
			
           TimeDomain[j]=complex<double> (real(Temp1[j])/Nfft, -imag(Temp1[j])/Nfft);
		}
		
	}



	//釋放內存
	delete Wn;
	delete Temp1;
	delete Temp2;
}
/////////////////////////////////////////////////////////
//                                                 ///
///              進行qpsk解調                        /////
////                                           //////
 ////       計算每個點到每個星座點的最短距離       ///
/////                                              ///////
//////////////////////////////////////////////////////////
void receiver::DEQPSK(int factor)
{
	int i,j,k;
	double min,dic[4],**fI,**fQ;
fI=Allocate2DArray(x1,1000);                       //動態2維數組分配內存
fQ=Allocate2DArray(x1,1000);                      //動態2維數組分配內存
for(k=0;k<factor;k++)        
{ for(i=0;i<numberofuserbit/2+numberofuserbit%2;i++)
{ 
  dic[0]=sqrt(sqr(DespreadRealout[k][i]-1*sqrt(2)/2)+sqr(DespreadImagout[k][i]-1*sqrt(2)/2));///0,0///
  dic[1]=sqrt(sqr(DespreadRealout[k][i]+1*sqrt(2)/2)+sqr(DespreadImagout[k][i]-1*sqrt(2)/2));///0,1///
  dic[2]=sqrt(sqr(DespreadRealout[k][i]-1*sqrt(2)/2)+sqr(DespreadImagout[k][i]+1*sqrt(2)/2));///1,0//
  dic[3]=sqrt(sqr(DespreadRealout[k][i]+1*sqrt(2)/2)+sqr(DespreadImagout[k][i]+1*sqrt(2)/2));///1,1//
 // cout<<dic[0]<<" ";
  min=dic[0];
  for(j=0;j<4;j++)
  {  
	 
	  if(dic[j]<min)
          min= dic[j]; 
  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本视频中文字幕一区二区三区| 亚洲精品在线免费观看视频| 亚洲视频图片小说| 91在线视频网址| 亚洲影视在线观看| 69久久夜色精品国产69蝌蚪网| 丝袜国产日韩另类美女| 欧美成人video| 成人在线综合网| 亚洲欧美一区二区久久| 欧美日韩一区二区在线观看视频| 亚洲成精国产精品女| 日韩免费观看高清完整版| 紧缚奴在线一区二区三区| 欧美国产成人在线| 色婷婷国产精品久久包臀| 日韩和的一区二区| 国产欧美一区二区三区在线老狼| jlzzjlzz亚洲日本少妇| 亚洲综合久久久| 日韩欧美在线一区二区三区| 国产·精品毛片| 洋洋成人永久网站入口| 欧美va在线播放| 91日韩精品一区| 麻豆91在线看| 亚洲精品亚洲人成人网在线播放| 6080午夜不卡| 成人av资源网站| 免费在线观看日韩欧美| 国产精品美女久久久久久久 | 综合中文字幕亚洲| 91超碰这里只有精品国产| 国产91富婆露脸刺激对白| 亚洲高清不卡在线| 国产日韩欧美精品综合| 欧美男生操女生| 成人高清视频免费观看| 麻豆国产一区二区| 亚洲美女屁股眼交3| 久久久久久久综合| 欧美丰满美乳xxx高潮www| av不卡在线观看| 寂寞少妇一区二区三区| 五月天国产精品| 亚洲日本va午夜在线影院| 亚洲精品一区二区三区蜜桃下载 | 亚洲另类在线一区| 久久综合九色综合97婷婷女人| 欧美亚洲国产一区二区三区va | 亚洲国产精品综合小说图片区| 久久午夜老司机| 日韩一区二区电影网| 欧美日韩在线播放三区四区| 99久久精品免费看国产| 国内精品久久久久影院色| 五月激情六月综合| 亚洲一区二区四区蜜桃| 一区在线中文字幕| 欧美激情资源网| 精品国产乱子伦一区| 欧美一区二区视频在线观看2020 | 国产麻豆精品95视频| 午夜精品久久久久久久蜜桃app| 国产精品久久久久国产精品日日| 精品国偷自产国产一区| 日韩亚洲欧美成人一区| 777午夜精品免费视频| 在线日韩一区二区| 色av一区二区| 99久久国产综合精品女不卡| 成人综合婷婷国产精品久久免费| 国产成人亚洲综合色影视| 蓝色福利精品导航| 久久国产精品第一页| 久久精品久久久精品美女| 日本不卡的三区四区五区| 午夜激情一区二区三区| 天堂精品中文字幕在线| 天天操天天色综合| 蜜臀av性久久久久蜜臀av麻豆| 午夜精品在线视频一区| 免费在线成人网| 精品一区二区三区免费毛片爱| 另类欧美日韩国产在线| 韩国视频一区二区| 国产很黄免费观看久久| 成人av在线看| 在线观看亚洲精品视频| 欧美日本在线播放| 欧美一区二区三区日韩| 日韩精品一区二区三区视频在线观看 | 国产一区二区在线看| 国产精品1区2区| 91视视频在线直接观看在线看网页在线看| av激情亚洲男人天堂| 在线一区二区三区四区五区 | 日韩av一级电影| 久久99热狠狠色一区二区| 国产福利一区二区三区视频在线| 国产精品18久久久久久vr| 99国产精品一区| 欧美人牲a欧美精品| 精品久久五月天| 成人免费在线播放视频| 亚洲国产精品久久人人爱蜜臀| 日本麻豆一区二区三区视频| 国产精品中文欧美| 在线观看日韩国产| 欧美大片在线观看一区| 中文字幕av在线一区二区三区| 亚洲尤物在线视频观看| 精品一区二区综合| 91麻豆蜜桃一区二区三区| 欧美一区二区观看视频| 国产精品理论片| 日本少妇一区二区| 成人av小说网| 日韩一级精品视频在线观看| 欧美韩国日本不卡| 亚洲成人免费电影| 粗大黑人巨茎大战欧美成人| 欧美日韩精品一区二区三区四区| 久久久久久一级片| 午夜电影一区二区| 成人精品视频一区二区三区| 91麻豆精品国产91久久久使用方法 | 久久品道一品道久久精品| 亚洲精品网站在线观看| 国产一区在线观看视频| 欧美视频在线播放| 国产精品免费观看视频| 九九精品视频在线看| 欧美视频一区二区三区在线观看| 国产午夜精品在线观看| 日韩电影在线观看电影| 91浏览器入口在线观看| 久久久www成人免费无遮挡大片| 洋洋av久久久久久久一区| 大白屁股一区二区视频| 日韩精品一区二区三区中文精品| 亚洲自拍偷拍av| av中文一区二区三区| 欧美成人性福生活免费看| 亚洲高清中文字幕| 色婷婷亚洲婷婷| 国产精品麻豆99久久久久久| 韩国毛片一区二区三区| 欧美日韩不卡视频| 亚洲欧美激情插| 成人av网站在线观看| 国产亚洲一区二区三区四区| 免费成人深夜小野草| 4438x亚洲最大成人网| 亚洲成人av资源| 欧美伊人精品成人久久综合97| 国产精品欧美综合在线| 国产精选一区二区三区| 欧美精品一区二区三| 麻豆久久久久久| 欧美成人官网二区| 精品一区二区三区视频在线观看| 欧美一级欧美三级在线观看| 亚洲成人在线免费| 欧美日韩国产精品自在自线| 亚洲永久免费av| 欧美日韩不卡一区二区| 午夜不卡av在线| 欧美一级在线观看| 另类成人小视频在线| 日韩三级视频在线观看| 麻豆精品视频在线观看| 欧美精品一区二区三| 国产麻豆视频一区二区| 欧美国产一区二区| 99久久伊人久久99| 一区二区三区免费在线观看| 91精彩视频在线观看| 亚洲一区二区三区四区的| 欧美亚洲国产一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 在线看日韩精品电影| 午夜视频在线观看一区二区| 欧美老年两性高潮| 精品在线你懂的| 国产精品网站一区| 欧美主播一区二区三区| 欧美在线999| 亚洲成av人片在www色猫咪| 日韩欧美一区二区免费| 国产一区二区三区在线观看免费| 国产精品私房写真福利视频| 一本一本久久a久久精品综合麻豆| 一区2区3区在线看| 日韩三级中文字幕| 成人国产亚洲欧美成人综合网 | 7799精品视频| 91精品国产日韩91久久久久久| 肉色丝袜一区二区| 国产亚洲欧美激情|