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

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

?? realmultipath.c

?? rake接收機matlab實現 完成相關接受的信道相關估計算法
?? C
字號:
/*
 * realmutipath.c: Basic 'C' template for a level 2 S-function.
 *
 *  -------------------------------------------------------------------------
 *  | See matlabroot/simulink/src/sfuntmpl_doc.c for a more detailed template |
 *  -------------------------------------------------------------------------
 *
 * Copyright 1990-2002 The MathWorks, Inc.
 * $Revision: 1.27 $
 */

#define S_FUNCTION_NAME  realmultipath
#define S_FUNCTION_LEVEL 2

#include "simstruc.h"
#include <stdlib.h>
/*----------------------------------------------------------*/
/* 1st parameter: sample time */ 

#define SAMPLE_TIME_PARAM(S) ssGetSFcnParam(S,0)       

/*--------------------------------------------------------------*/
#define MDL_CHECK_PARAMETERS
#if defined(MDL_CHECK_PARAMETERS) && defined(MATLAB_MEX_FILE)

static void mdlCheckParameters(SimStruct *S)
  {
      /* Check the parameter: Sample Time parameter */
        real_T *pr;
        int_T   el;
        int_T   nEls;
	    if (	mxIsEmpty(    ssGetSFcnParam(S,0)) ||
              	mxIsComplex(  ssGetSFcnParam(S,0)) ||
              	!mxIsDouble(   ssGetSFcnParam(S,0)) )
			{
              		ssSetErrorStatus(S,"Parameters must be real number");
              		return;
          	}
		pr   = mxGetPr(ssGetSFcnParam(S,0));
        nEls = mxGetNumberOfElements(ssGetSFcnParam(S,0));
		for (el = 0; el < nEls; el++)
		{
           if (!mxIsFinite(pr[el])) 
				{
                  ssSetErrorStatus(S,"Parameters must be real finite number");
                  return;
				}
        }
       if (mxGetNumberOfElements(SAMPLE_TIME_PARAM(S)) != 1 || mxGetPr(SAMPLE_TIME_PARAM(S))[0] <= 0.0) 
		{
          ssSetErrorStatus(S,"Invalid sample time specified");
          return;
      	}		
}
#endif /* MDL_CHECK_PARAMETERS */


/*-----------------------------------------------------------------*/
static void mdlInitializeSizes(SimStruct *S)
{
    
    ssSetNumSFcnParams(S, 1);  /* Number of expected parameters */
    /*---------------------------------*/
    #if defined(MATLAB_MEX_FILE)
    	if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S))
	 {
        	mdlCheckParameters(S);
        	if (ssGetErrorStatus(S) != NULL) 
			{
           	 return;
       		 }
    } 
	else
		{
       		 return; /* Parameter mismatch will be reported by Simulink. */
		}
	#endif

    ssSetNumContStates(S, 0);
    ssSetNumDiscStates(S, 1);

    if (!ssSetNumInputPorts(S, 1)) return;
    ssSetInputPortWidth(S, 0, DYNAMICALLY_SIZED);

    
	ssSetInputPortDirectFeedThrough(S, 0, 0);


    if (!ssSetNumOutputPorts(S, 5)) return;
    ssSetOutputPortWidth(S, 0, 1);
	ssSetOutputPortWidth(S, 1, 1);
	ssSetOutputPortWidth(S, 2, 1);
	ssSetOutputPortWidth(S, 3, 1);
    ssSetOutputPortWidth(S, 4, 1);

    ssSetNumSampleTimes(S, 1);

    ssSetNumRWork(S, DYNAMICALLY_SIZED);
    ssSetNumIWork(S, 0);
    ssSetNumPWork(S, 0);
    ssSetNumModes(S, 0);
    ssSetNumNonsampledZCs(S, 0);

    ssSetOptions(S,SS_OPTION_EXCEPTION_FREE_CODE);
}


/*-----------------------------------------------------------*/
#if defined(MATLAB_MEX_FILE)
#define MDL_SET_WORK_WIDTHS
static void mdlSetWorkWidths(SimStruct*S)
{
	ssSetNumRWork(S,ssGetInputPortWidth(S,0));
	
}
#endif
/*---------------------------------------------------------*/

/*-----------------------------------------------*/
#if  defined(MATLAB_MEX_FILE)
#define MDL_SET_INPUT_PORT_WIDTH
static void mdlSetInputPortWidth(SimStruct*S,int_T port,int_T inputPortWidth)
{
    ssSetInputPortWidth(S,port,inputPortWidth);
}
#endif
/*-------------------------------------------------------------*/
#if  defined(MATLAB_MEX_FILE)
#define MDL_SET_OUTPUT_PORT_WIDTH
static void mdlSetOutputPortWidth(SimStruct*S,int_T port,int_T outputPortWidth)
{
	ssSetOutputPortWidth(S, 0, 1);
	ssSetOutputPortWidth(S, 1, 1);
	ssSetOutputPortWidth(S, 2, 1);
	ssSetOutputPortWidth(S, 3, 1);
	ssSetOutputPortWidth(S, 4, 1);

   
}
#endif

/*---------------------------------------------------------*/
static void mdlInitializeSampleTimes(SimStruct *S)
{
    ssSetSampleTime(S, 0,*mxGetPr(SAMPLE_TIME_PARAM(S)));
    ssSetOffsetTime(S, 0, 0.0);
     
}

/*-----------------------------------------------------------*/




/*----------------------------------------------------------------*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
	int_T		i;
	int_T		j;
	int_T		k;
	int_T       r;
    int_T		position[2];
    real_T		max[2]; 
    real_T		*y       = ssGetOutputPortRealSignal(S,0);
	real_T		*z       = ssGetOutputPortRealSignal(S,1);
	real_T		*v       = ssGetOutputPortRealSignal(S,2);
    real_T		*u       = ssGetOutputPortRealSignal(S,3);
	real_T      *noise   = ssGetOutputPortRealSignal(S,4);
	real_T      allpow ;  
	int_T		nx       = ssGetInputPortWidth(S,0); 
    real_T		*rwork   = ssGetRWork(S);   
	
    UNUSED_ARG(tid);
	max[0]       =*rwork;
	position[0]  =0;
	allpow      =0;

/*-------------------------------------------------------------------*/
	for(i=1;i<=(nx-1);i++)
	{  
		if(*(rwork+i)>max[0])
		{ 
			max[0]      =*(rwork+i);
            position[0] =i;
		}
	}
/*-----------------------------------------------------------------*/
	if((position[0]+2)<=(nx-1))
	{
        max[1]      =*(rwork+position[0]+2);
		position[1] =position[0]+2;
		for(j=position[0]+3;j<=(nx-1);j++)
		{
			if(*(rwork+j)>max[1])
			{
                 max[1]			=*(rwork+j);
				 position[1]	=j;
			}
		}
	}
    else
	{   
		max[1]			=*(rwork+position[0]-2);
		position[1]		=position[0]-2;	
	}
/*-------------------------------------------------------------------*/
	for(k=position[0]-2;k>=0;k--)
	{
		if(*(rwork+k)>max[1])
		{
		    max[1]		=*(rwork+k);
			position[1]	=k;
		}
	}
/*------------------------------------------------------------------*/
	for(r=0;r<=(nx-1);r++)
	{
		allpow+=*(rwork+r);
	}

    *y		=max[0];
	*z	    =position[0];
	*v		=max[1];
    *u		=position[1];
	*noise  =(allpow-max[0]-max[1])/(nx-2);
}


/*--------------------------------------------------------*/
#define MDL_UPDATE  /* Change to #undef to remove function */
#if defined(MDL_UPDATE)

  static void mdlUpdate(SimStruct *S, int_T tid)
  {
	  int_T					l;
	  InputRealPtrsType		uPtrs			=ssGetInputPortRealSignalPtrs(S,0);
	  int_T					nx				=ssGetInputPortWidth(S,0); 
	  real_T				*rwork			=ssGetRWork(S); 
	  UNUSED_ARG(tid);
     
	  for(l=0;l<=(nx-1);l++)
	  {
		  *(rwork+l)=*uPtrs[l];
	  }
  }
#endif /* MDL_UPDATE */
/*----------------------------------------------------------------------------------*/


#undef MDL_DERIVATIVES  /* Change to #undef to remove function */
#if defined(MDL_DERIVATIVES)
  /* Function: mdlDerivatives =================================================
   * Abstract:
   *    In this function, you compute the S-function block's derivatives.
   *    The derivatives are placed in the derivative vector, ssGetdX(S).
   */
  static void mdlDerivatives(SimStruct *S)
  {
  }
#endif /* MDL_DERIVATIVES */



/* Function: mdlTerminate =====================================================
 */
static void mdlTerminate(SimStruct *S)
{
}

#ifdef  MATLAB_MEX_FILE    /* Is this file being compiled as a MEX-file? */
#include "simulink.c"      /* MEX-file interface mechanism */
#else
#include "cg_sfun.h"       /* Code generation registration function */
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看欧美日本| 国产91露脸合集magnet| 色狠狠一区二区三区香蕉| 免费欧美高清视频| 亚洲精品日韩一| 2019国产精品| 欧美二区在线观看| 色婷婷av一区二区三区软件| 狠狠色综合日日| 国产精品国产三级国产| 91精选在线观看| 欧洲一区二区三区在线| 成人高清视频免费观看| 国产资源精品在线观看| 日韩电影在线免费观看| 亚洲专区一二三| 亚洲手机成人高清视频| 久久久久久影视| 日韩精品一区二| 正在播放一区二区| 欧美日韩三级一区二区| 色哟哟一区二区三区| 成人综合婷婷国产精品久久免费| 老司机精品视频一区二区三区| 一卡二卡欧美日韩| 亚洲欧美二区三区| 中文字幕在线播放不卡一区| 久久毛片高清国产| 久久综合丝袜日本网| 日韩你懂的在线播放| 欧美日韩大陆一区二区| 欧美色图天堂网| 欧美日韩综合一区| 欧美视频一区二| 欧美视频中文字幕| 欧美精品亚洲二区| 欧美亚洲丝袜传媒另类| 成人av网站免费观看| 成人精品高清在线| av一区二区三区黑人| jlzzjlzz亚洲女人18| 99在线视频精品| 91小视频在线观看| 国内精品国产成人国产三级粉色| 美日韩黄色大片| 精品在线播放午夜| 国产麻豆视频一区| 岛国一区二区三区| 国产精品456露脸| 成人国产亚洲欧美成人综合网| 国产成人福利片| 亚洲午夜久久久久久久久久久| 亚洲成年人网站在线观看| 亚洲超碰97人人做人人爱| 天堂蜜桃一区二区三区| 亚洲一区二区三区自拍| 日韩电影一区二区三区| 久久精品99久久久| 精品在线观看免费| 成人午夜激情影院| 欧洲一区二区三区免费视频| 欧美三级电影在线观看| 精品成人在线观看| 国产精品视频免费看| 悠悠色在线精品| 日本不卡123| 亚洲午夜久久久久久久久电影院| 午夜私人影院久久久久| 五月激情六月综合| 欧美精品一区视频| 欧美日韩在线三级| av福利精品导航| 天天av天天翘天天综合网| 日韩欧美电影一区| 欧美国产乱子伦| 日韩欧美一区中文| 日韩午夜精品电影| 91精品国产色综合久久不卡蜜臀 | 日本丶国产丶欧美色综合| av一本久道久久综合久久鬼色| 亚洲va欧美va人人爽| 首页国产丝袜综合| 国产aⅴ精品一区二区三区色成熟| 日韩国产欧美在线观看| 高清av一区二区| 欧洲精品视频在线观看| 18成人在线观看| 亚洲免费看黄网站| 日韩欧美在线1卡| 五月天一区二区| 国产精品丝袜一区| 日本久久电影网| 欧美tickling挠脚心丨vk| 国产精品理伦片| 亚洲午夜电影在线| 亚洲一区影音先锋| 国产成人精品aa毛片| 黑人巨大精品欧美黑白配亚洲| 色呦呦日韩精品| 欧美三区在线观看| 国产精品污网站| 国产亚洲女人久久久久毛片| 亚洲第一二三四区| 国产精品一区二区在线观看不卡| 在线视频欧美精品| 91精品国产福利在线观看| 中文字幕一区二区不卡| 综合分类小说区另类春色亚洲小说欧美| 日韩av不卡在线观看| 99久久精品免费看| 日韩精品中文字幕在线一区| 亚洲精品视频一区二区| 成人黄色在线网站| 久久精品一区二区三区四区| 2019国产精品| 蜜臀va亚洲va欧美va天堂| 美国三级日本三级久久99| 在线视频国内一区二区| 在线观看三级视频欧美| 国产精品久久久久一区二区三区共 | 色婷婷激情久久| 日韩天堂在线观看| 日韩欧美不卡在线观看视频| 亚洲午夜av在线| 韩国一区二区在线观看| 欧美一区二区黄色| 日韩主播视频在线| 久久99精品国产.久久久久久| 欧美日韩成人综合在线一区二区| 亚洲人成亚洲人成在线观看图片| 国产精品自拍一区| 久久久久久久久久美女| 亚洲欧美日韩国产另类专区| 成人av免费观看| 欧美日韩一卡二卡三卡| 亚洲靠逼com| 国产精品香蕉一区二区三区| 国产成人精品三级麻豆| 欧美国产欧美综合| 九色综合国产一区二区三区| 欧美一区二区免费| 丝袜亚洲另类欧美| 国产毛片精品国产一区二区三区| 26uuu另类欧美亚洲曰本| 午夜久久福利影院| 日韩三级免费观看| 久久99日本精品| 色猫猫国产区一区二在线视频| 亚洲欧美视频在线观看视频| 91久久线看在观草草青青| 亚洲黄色免费网站| 在线日韩av片| 久久久久久97三级| 成人成人成人在线视频| 日韩三级在线观看| 国产成人丝袜美腿| 久久久久久黄色| 99久久精品国产导航| 91精品国产综合久久久久久漫画| 麻豆成人综合网| 国产色综合一区| 亚洲国产视频a| 日韩丝袜美女视频| 成人午夜激情片| 亚洲电影一区二区| 欧美电影免费观看高清完整版在| 中文字幕一区二区三区四区| 欧美伊人久久久久久久久影院| 一个色综合av| 欧美日韩精品三区| 韩国女主播一区| 久久精品人人做人人综合| 91麻豆福利精品推荐| 日韩理论片在线| 欧美挠脚心视频网站| 国产精品白丝jk白祙喷水网站 | 欧美大胆人体bbbb| 北条麻妃国产九九精品视频| 亚洲自拍另类综合| 欧美一区二区三区人| 国产福利一区二区三区视频 | 国产精品一区二区三区网站| 亚洲欧美激情插 | 国产日韩一级二级三级| 欧美在线视频不卡| 国产最新精品精品你懂的| 亚洲在线视频一区| 国产亚洲自拍一区| 欧美日韩卡一卡二| 大胆亚洲人体视频| 日韩精品免费视频人成| 国产精品每日更新| 日韩一区二区三区高清免费看看| 成人手机电影网| 免费成人av在线| 亚洲色图视频免费播放| 久久久久久久久岛国免费| 欧美久久久久久久久久| 97久久超碰国产精品| 国产真实乱对白精彩久久|