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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? correlation.h

?? 測試信道相關(guān)性所需要的一些關(guān)于統(tǒng)計(jì)和矩陣運(yùn)算的頭文件
?? H
?? 第 1 頁 / 共 3 頁
字號(hào):
/* **************************************************************************************** */
/* correlation.h ,C++ header file used in correlation_gen.gcc                               */
/* 		                                                                                    */
/* This file computes the correlation matrices RTx at Tx side                               */
/* and RRx at Rx side according to the PAS type(uniform,                                    */
/* truncated Gaussian and truncated Laplacian)                                              */
/*                                                                                          */
/* The following functions are included in this file:                                       */
/*                                                                                          */
/* void normalisation_uniform(int cluster_number,float power_lin[],float AS_deg[],float *Q) */
/* void normalisation_gaussian(int cluster_number,float power_lin[],float AS_deg[],         */
/*                             float delta_phi_deg[], float *Q, float *sigma_deg)           */
/* void normalisation_laplacian(int cluster_number,float power_lin[],float AS_deg[],        */
/*                              float delta_phi_deg[], float *Q, float *sigma_deg)          */
/* cluster_number ,  the number of clusters                                                 */
/* power_lin[] ,  the power of clusters in linear values                                    */
/* AS_deg[] ,  the Angular Spread of each cluster                                           */
/* delta_phi_deg ,  the half domain definition of the PAS,being either 90 or 180 degrees    */
/* *Q ,  the normalization coeffecient of PAS                                               */
/* *sigma_deg[] ,  used later to derive Rxx_*() and Rxy_*()                                 */ 
/* The above functions are used to derive the normalization coefficients of the PAS.        */
/*                                                                                          */
/* float Rxx_uniform(float d_norm,float phi_0_deg,float AS_deg )                            */
/* float Rxx_gaussian(float d_norm,float phi_0_deg,float sigma_deg,float delta_phi_deg)     */
/* float Rxx_laplacian(float d_norm,float phi_0_deg,float sigma_deg,float delta_phi_deg)    */
/* float Rxy_uniform(float d_norm,float phi_0_deg,float AS_deg )                            */
/* float Rxy_gaussian(float d_norm,float phi_0_deg,float sigma_deg,float delta_phi_deg)     */
/* float Rxy_laplacian(float d_norm,float phi_0_deg,float sigma_deg,float delta_phi_deg)    */
/* d_norm ,  the spacing between antennas                                                   */ 
/* phi_0_deg ,  the AoA(Angle-of-Arrival)                                                   */
/* AS_deg ,  the Angular Spread                                                             */
/* sigma_deg ,  result returned by the normalisation_*() functions                          */
/* delta_phi-deg ,  the half domain definition of the PAS,being either 90 or 180 degrees    */                                                                 */
/* The functions Rxx_*() of the above are used to compute the homogeneous part of the       */
/* correlation function(between  real or imaginary part)                                    */
/* The functions Rxy_*() of the above are used to compute the cross part of the             */
/* correlation function(between  real and imaginary part)                                   */
/*                                                                                          */
/* float **uniform_real(int N,float spacing,int cluster_number,float amplitude_cluster[],   */
/*                      float phi_deg[],float AS_deg[],float delta_phi_deg[])               */
/* float **gaussian_real(int N,float spacing,int cluster_number,float amplitude_cluster[],  */
/*                       float phi_deg[],float AS_deg[],float delta_phi_deg[])              */
/* float **laplacian_real(int N,float spacing,int cluster_number,float amplitude_cluster[], */
/*                       float phi_deg[],float AS_deg[],float delta_phi_deg[])              */
/* complex **uniform_cmpx(int N,float spacing,int cluster_number,float amplitude_cluster[], */
/*                      float phi_deg[],float AS_deg[],float delta_phi_deg[])               */
/* complex **gaussian_cmpx(int N,float spacing,int cluster_number,float amplitude_cluster[],*/
/*                          float phi_deg[],float AS_deg[],float delta_phi_deg[])           */
/* complex **laplacian_cmpx(int N,float spacing,int cluster_number,float amplitude_cluster[]*/
/*                           ,float phi_deg[],float AS_deg[],float delta_phi_deg[])         */
/* N ,  the number of antennas                                                              */
/* spacing ,  the normalized spacing between antennas ,in wavelength                        */
/* cluster_number ,  the number of clusters                                                 */
/* amplitude_cluster[] ,  the power of each cluster in linear values                        */
/* phi_deg[] ,  AoAs at Rx side or AoDs at Tx side, in degrees                              */
/* AS_deg[] ,  the Angular Spread of each cluster                                           */
/* delta_phi_deg , the half domain definition of the PAS,being either 90 or 180 degrees     */
/* The *_real functions of the above are used to compute the  correlation matrix with       */
/* real power coeffecients                                                                  */
/* The *_cmpx functions of the above are used to compute the  correlation matrix with       */
/* complex field coeffecients                                                               */
/*                                                                                          */
/* Created by : Xu Xiaojun, Zeng Meng                                                       */
/*              National Communications Lab,UESTC        	                                */
/*              16 April 2005                                                               */
/* Revised on : 25 Aptil,10 May, 2005                                                       */
/* Version 1.0                                                                              */
/* (c) Xu Xiaojun,ZengMeng 2005, NCL-UESTC                                                  */      
/* **************************************************************************************** */

#include "float.h"             /* function _isnan() in it is used to judge if a number is NaN */
#include "complex.h"           /* operation of complex numbers  */
#include "numerical_recipes.h" /* functions of numerical recipes */

#define sqrt3  1.7320508
#define sqrt2  1.4142136
#define PI  3.1415926536


/*********************/
/*    Uniform PAS    */
/*********************/

      /********************************/
      /* Normalization of uniform PAS */
      /********************************/
      
/** compute the power normalisation coef Q such that the PAS can be regarded as probability distribution **/
void normalisation_uniform(int cluster_number, float power_lin[], float AS_deg[],float *Q)
{
    int   i,j,k;
    float *delta_phi_rad,*b;
    float **A;

    delta_phi_rad=vector(1,cluster_number);
    b = vector(1,cluster_number);

    A = matrix(1,cluster_number,1,cluster_number);
    
/** initialize A=zeros(cluster_number) **/
    for(i=1;i<=cluster_number;i++)
	{
        for(j=1;j<=cluster_number;j++)
            A[i][j] = 0.0;
	}
       
/** initialize b=zeros(cluster_number,1) **/
    for(j=1;j<=cluster_number;j++)
	{
        b[j]=0.0;
	}
     
/** set b=[0,0,0.5] **/
    b[cluster_number] = 0.5;
   
/** convert AS from degree to rad **/
    for(i=1;i<=cluster_number;i++)
	{
        delta_phi_rad[i] = (AS_deg[i-1]*PI/180)*sqrt3;
	}


    if(cluster_number==1)
    {
		Q[1] = 1/(2*delta_phi_rad[1]);
    }
    else
    {
	    for(i=1;i<=cluster_number-1;i++)
		{
	        A[i][1] = 1/power_lin[0];
		}
	    for(k=2;k<=cluster_number;k++)
		{
	        A[k-1][k] = (-1.0)/power_lin[k-1];
		}
    	for(i=1;i<=cluster_number;i++)
		{
	        A[cluster_number][i] = delta_phi_rad[i];
		}
	    
/** compute AQ=b, and Q is saved in b **/
    inverse(A,cluster_number,b);
    for(i=1;i<=cluster_number;i++)
	{
        Q[i] = b[i];
	}
	}
	
   

}

      /******************************/
      /* Computation of Rxx_uniform */
      /******************************/
      
/** compute the correlation of the real/imaginary parts of signals in the case of uniform PAS
/*  at the spacing given by d_norm. **/
/** The PAS is charaterised by the AOA phi_0_deg and by AS  AS_deg
/*  result is a 1*3 vector, and by toeplitz transformation, it is turned into the desired Rxx **/
float Rxx_uniform(float d_norm,float phi_0_deg,float AS_deg )
{
    float D,phi_0_rad,AS_rad,result,delta_phi_uniform_rad,temp_xx_uniform;
    int m;
    
/** Convert parameters from degree to rad **/
    D = 2*PI*d_norm;
    phi_0_rad = phi_0_deg*PI/180;
    AS_rad = AS_deg*PI/180;
    delta_phi_uniform_rad = AS_rad*sqrt3;
    
/** initialisation **/
    result = 0.0;
    temp_xx_uniform = 1.0;

/** Computation of Rxx **/ 
    m = 0;
    while(m<100)
    {
        m++;
    	temp_xx_uniform = 2*bessj(2*m,D)*sin(2*m*delta_phi_uniform_rad)*cos(2*m*phi_0_rad)/m;
        result += temp_xx_uniform;
    }
     
    return result;
    }

      /******************************/
      /* Computation of Rxy_uniform */
      /******************************/
      
/** compute the correlation of the real and imaginary parts of signals in the case of uniform PAS
/*  at the spacing given by d_norm. **/
/** The PAS is charaterised by the AOA phi_0_deg and by AS  AS_deg
/*  result is a 1*3 vector, and by toeplitz transformation, it is turned into the desired Rxy **/
float Rxy_uniform(float d_norm,float phi_0_deg,float AS_deg)
{
    float D,phi_0_rad,AS_rad,result,delta_phi_uniform_rad,temp_xx_uniform;
    int m;

/** Convert parameters from degree to rad **/
    D = 2*PI*d_norm;
    phi_0_rad = phi_0_deg*PI/180;
    AS_rad = AS_deg*PI/180;
    delta_phi_uniform_rad = AS_rad*sqrt3;
    
/** Initialization **/
    result = 4*bessj1(D)*sin(delta_phi_uniform_rad)*sin(phi_0_rad);;
    temp_xx_uniform = 1.0;

/** Computation of Rxy **/ 
    m = 0;
    while(m<100)
    {
        m++;
        temp_xx_uniform = 4*bessj(2*m+1,D)*sin((2*m+1)*delta_phi_uniform_rad)*sin((2*m+1)*phi_0_rad)/(2*m+1);
        result += temp_xx_uniform;
    }
    
    return result;
    }


      /******************************/
      /* correlation of real matrix */
      /******************************/
      
float **uniform_real(int N,float spacing,int cluster_number,float amplitude_cluster[],float phi_deg[],
                     float AS_deg[],float delta_phi_deg[])
{
    int i,j,k;
    float *d_norm;
    d_norm = vector(1,N);
    
/** Computation of d_norm in case of ULA **/
    for(i=1;i<=N;i++)
        d_norm[i] = (i-1)*spacing;
        
    float *Rxx,*Rxy;
    float *temp;
    float result_x,result_y;
    float *Q;
    float **R;
    
    Rxx = vector(1,N);
    Rxy = vector(1,N);
    temp = vector(1,N);
    Q = vector(1,cluster_number);
    R = matrix(1,N,1,N);
    
/** Computation of real correlation of uniform PAS **/
    if(N==1)
	{
        R[N][N] = 1;
	}
    else
    {
	    for(i=1;i<=N;i++)
		{
	        Rxx[i] = bessj0(2*PI*d_norm[i]);
	        Rxy[i] = 0.0;
		}
        normalisation_uniform(cluster_number,amplitude_cluster,AS_deg,Q);

    	for(i=1;i<=N;i++)
		{
	        for(k=1;k<=cluster_number;k++)
			{
				result_x = Rxx_uniform(d_norm[i],phi_deg[k-1],AS_deg[k-1]);
		        result_y = Rxy_uniform(d_norm[i],phi_deg[k-1],AS_deg[k-1]);
	     	    Rxx[i]  += Q[k]*result_x;
		        Rxy[i]  += Q[k]*result_y;
			}
		}
 			
    	for(i=1;i<=N;i++)
		{
	        temp[i] = Rxx[i]*Rxx[i]+Rxy[i]*Rxy[i];
		}
	    
/** Toeplitz operation **/
        for(i=1;i<=N;i++)
            for(j=i,k=1;j<=N;j++,k++)
			{
	            R[i][j] = temp[k];
	            R[j][i] = R[i][j];
			}
	}
    
    return R;
    
}

      /*********************************/
      /* Correlation of complex matrix */
      /*********************************/
      
complex **uniform_cmpx(int N,float spacing,int cluster_number,float amplitude_cluster[],float phi_deg[],
                       float AS_deg[],float delta_phi_deg[])
{
	int i,j,k;
	float *d_norm;
	d_norm = vector(1,N);
	for(i=1;i<=N;i++)
	{
	    d_norm[i] = (i-1)*spacing;
	}
	float *Rxx,*Rxy;
	complex *temp;
	float result_x,result_y,*Q;
	complex **R;
	Rxx = vector(1,N);
	Rxy = vector(1,N);
	temp = cvector(1,N);
    Q = vector(1,cluster_number);

	R = cmatrix(1,N*N,1,N*N);

/** Compute compelx correlation of uniform PAS **/	
    if(N==1)
	{
        R[N][N] = complex(1.0,0.0);	
	}

    else
    {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影在线一区| 亚洲精品视频免费观看| 另类中文字幕网| 91精品国产综合久久久蜜臀图片| 丝袜亚洲另类欧美| 日韩免费在线观看| 国产精品538一区二区在线| 久久久久久久久久久久久夜| 国产69精品一区二区亚洲孕妇| 国产精品久久看| 欧美在线视频全部完| 日韩国产欧美在线观看| 亚洲精品一区在线观看| 北条麻妃国产九九精品视频| 亚洲国产精品一区二区www在线| 欧美日韩午夜影院| 激情文学综合插| 亚洲欧美中日韩| 欧美日免费三级在线| 久久aⅴ国产欧美74aaa| 国产精品日日摸夜夜摸av| 欧美中文字幕一二三区视频| 久久国产精品99久久久久久老狼| 久久久国产综合精品女国产盗摄| 一本大道综合伊人精品热热| 日韩成人一区二区| 国产精品久久久久久久久免费樱桃| 欧美熟乱第一页| 国产乱对白刺激视频不卡| 亚洲精品成人a在线观看| 日韩欧美国产系列| 91在线观看污| 美女视频黄频大全不卡视频在线播放 | 色综合中文综合网| 亚洲靠逼com| 欧美一区二区在线不卡| av成人老司机| 精品中文av资源站在线观看| 亚洲欧美日韩国产综合| 欧美成人r级一区二区三区| 成人黄色av网站在线| 男女男精品网站| 亚洲青青青在线视频| 久久精品人人做人人综合| 91精品国产综合久久久久| 成人av网站在线| 久久www免费人成看片高清| 亚洲午夜精品在线| 中文字幕中文字幕在线一区 | 久久久精品免费免费| 欧美日本视频在线| 91丨porny丨国产入口| 国产综合色精品一区二区三区| 亚洲一区二区三区美女| 国产精品嫩草99a| 精品国产三级a在线观看| 欧美日韩久久一区二区| 色哟哟在线观看一区二区三区| 国产精品一区一区| 老司机免费视频一区二区| 亚洲午夜一二三区视频| 亚洲精选一二三| 国产精品久久99| 国产免费成人在线视频| 久久综合色播五月| 日韩精品资源二区在线| 3d成人动漫网站| 欧美区视频在线观看| 欧美视频精品在线| 在线观看欧美精品| 欧洲国内综合视频| 在线影视一区二区三区| fc2成人免费人成在线观看播放| 国产精品18久久久久| 捆绑调教美女网站视频一区| 日本vs亚洲vs韩国一区三区 | 欧美国产综合色视频| 成人免费视频视频在线观看免费 | 成人精品视频.| 国产一区二区精品久久99| 麻豆精品久久久| 麻豆久久久久久| 韩国女主播一区| 粉嫩在线一区二区三区视频| 高清日韩电视剧大全免费| 成人理论电影网| 日本久久一区二区| 欧美日韩一区在线观看| 欧美精品在线一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 日韩成人免费在线| 极品尤物av久久免费看| 国产精品资源在线观看| 99久久久国产精品免费蜜臀| 91丝袜国产在线播放| 色悠悠久久综合| 欧美一区二区视频网站| 精品国产一区二区三区忘忧草| www精品美女久久久tv| 国产精品伦一区| 夜色激情一区二区| 丝袜美腿高跟呻吟高潮一区| 韩国欧美一区二区| 99re免费视频精品全部| 欧美性生活影院| 精品国产三级a在线观看| 日韩一区欧美小说| 午夜精品一区二区三区电影天堂| 久久er99精品| 91视频www| 日韩一区二区三区精品视频| 久久久久久久久一| 亚洲成年人影院| 夫妻av一区二区| 欧美日韩精品电影| 中文字幕乱码一区二区免费| 亚洲一区二区三区四区的| 国产在线一区观看| 色吧成人激情小说| 久久综合中文字幕| 亚洲综合免费观看高清在线观看| 国内成人自拍视频| 欧美午夜视频网站| 亚洲国产精品黑人久久久| 亚洲成av人综合在线观看| 丁香另类激情小说| 91精品国产综合久久久久久漫画 | 国产精品天天摸av网| 午夜精品久久久久久久久久| 成人一二三区视频| 欧美一级一级性生活免费录像| 亚洲欧洲日产国码二区| 蜜桃一区二区三区在线观看| 一本色道a无线码一区v| 久久精品亚洲乱码伦伦中文| 亚洲国产乱码最新视频 | 久久不见久久见免费视频1| 91精品福利视频| 中文字幕欧美区| 国模冰冰炮一区二区| 欧美一级电影网站| 亚洲国产精品欧美一二99| 成人晚上爱看视频| 26uuu另类欧美| 六月婷婷色综合| 欧美日韩美少妇| 一级中文字幕一区二区| 99精品视频一区| 国产精品入口麻豆原神| 国产不卡一区视频| www久久精品| 国内一区二区视频| 欧美精品一区二区三区在线| 东方aⅴ免费观看久久av| 精品国产乱码久久久久久浪潮| 首页亚洲欧美制服丝腿| 欧美日韩综合在线| 亚洲国产aⅴ天堂久久| 色88888久久久久久影院野外| 亚洲天堂av一区| 成人v精品蜜桃久久一区| 国产日产欧美一区| 国产精品一区二区x88av| 久久丝袜美腿综合| 国产一区二区久久| 国产精品污网站| 97se狠狠狠综合亚洲狠狠| 中文字幕一区在线| 一本久久精品一区二区| 伊人婷婷欧美激情| 91久久香蕉国产日韩欧美9色| 亚洲乱码日产精品bd| 日本高清免费不卡视频| 亚洲在线视频免费观看| 欧美日韩精品一区二区| 日韩成人精品在线| 久久综合99re88久久爱| 国产精品一区二区黑丝| 日韩一区欧美小说| 欧美日韩成人在线一区| 蓝色福利精品导航| 欧美国产禁国产网站cc| 91片在线免费观看| 亚洲aⅴ怡春院| 欧美成人bangbros| 成人午夜免费视频| 亚洲综合男人的天堂| 91麻豆精品国产综合久久久久久| 老司机精品视频导航| 中文字幕欧美激情| 欧美日韩你懂得| 九九久久精品视频| 国产精品国产三级国产普通话蜜臀| 色综合久久六月婷婷中文字幕| 亚洲国产精品久久艾草纯爱| 欧美大片在线观看一区| 成人深夜在线观看| 亚洲国产精品久久久男人的天堂 | 成人18视频在线播放| 亚洲午夜三级在线|