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

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

?? noise.c

?? ofdm的完整系統(tǒng)模型,包含信道參數(shù),多徑模型,doppler頻移等都可以自由修改!是您做仿真的有力幫助.c語(yǔ)言運(yùn)行速度快!
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*
 *
 *    Copyright 2001, Cadence Design Systems, Inc. 
 *    All rights reserved. Cadence Design Systems, 
 *    Inc. products are covered by U.S. and foreign
 *    patents, issued and pending.                 
 *                                                 
 */
/*
 * FILE: noise.c (used to be rand.c)
 * DATE: January 21, 1987 Paul "hot rod" Titchener
 * OTHER RELATED FILES: 
 * NAME:
 * PURPOSE: Set of random noise generating functions
 * DESCRIPTION:
 *  The older routines (noise*) are based on a multiplicitive
 *  congruential generator.  The newer routines (gen*) are
 *  base on the Mersenne Twister which has a MUCH longer
 *  period.  Please see mt-19937-2.c for more information.
 *
 * PROBLEMS/SUGGESTIONS:
 *
 * MODIFICATION HISTORY:
 */
#include "cgs.h"
#include "cgsnoise.h"
/*
 *  Globals and defines
 */
/*
 *  Constants for the random number generator.
 *  See D. Knuth, The Art of Computer Programming, vol. 2, p 102
 */
#define RAND_MODULUS 		4294967296L			/* The modulus for the random number generator */
#define RAND_SCALE	 	2.32830643708079737543147e-10	/* One over the modulus minus one, in float format */
#define RAND_FACTOR 		1664525L			/* The multiplicative factor for the generator */
#define RAND_OFFSET 		3L				/* The multiplicative factor for the generator */

/*
 * Functions 
 */
static void sgenrand();
static double genrand();
static double gammln();

/*
 * FUNCTION: double noiseUDN(lp_seed)
 * PURPOSE:
 *
 *  Generates uniformly distributed noise
 *  ranging from 0 -> 1. seed should be
 *  set to a non-neg number prior to the first
 *  call and then not be changed.
 *
 * DESCRIPTION:
 * RETURN VALUE:
 * INCLUDE FILES NECESSARY:
 * PROBLEMS/SUGGESTIONS:
 * GLOBALS/SIDE EFFECTS:
 */
double noiseUDN(lp_seed)
unsigned long	*lp_seed;
{

    *lp_seed = *lp_seed * RAND_FACTOR + RAND_OFFSET;

    return *lp_seed * RAND_SCALE;
}



/*
 * FUNCTION: double noiseWGN(lp_seed)
 * PURPOSE:
 *
 *   Generates white Gaussian noise 	
 *   Seed should be set and not changed.
 *
 * DESCRIPTION:
 * RETURN VALUE:
 * INCLUDE FILES NECESSARY:
 * PROBLEMS/SUGGESTIONS:
 * GLOBALS/SIDE EFFECTS:
 */
double noiseWGN(lp_seed)		
long *lp_seed;
{
	double 	x, y; /* Used to map udn to wgn	*/

	x = noiseUDN(lp_seed);
	y = noiseUDN(lp_seed);
	if (y == 0.0) y = noiseUDN(lp_seed);
	
	return cos(PI2 * x) * sqrt(-log(y*y));
}



/*
 * FUNCTION: double noiseRandBit(lp_seed, d_prob_zero)
 * PURPOSE:
 *
 *   Returns a value equal to 0 or 1.
 *   seed should be set and then unchanged.
 *
 * DESCRIPTION:
 * RETURN VALUE:
 * INCLUDE FILES NECESSARY:
 * PROBLEMS/SUGGESTIONS:
 * GLOBALS/SIDE EFFECTS:
 */
double noiseRandBit(lp_seed, d_prob_zero)
long *lp_seed;
double d_prob_zero;
{
	return (noiseUDN(lp_seed) > d_prob_zero) ? 1.0 : 0.0;
}




/*
 * FUNCTION: double noiseEXP(lp_seed)
 * PURPOSE:
 *
 *	Generates an exponentially distributed Random variable.
 *
 * DESCRIPTION:
 *
 *	Returns an exponentially distributed, positive, random deviate
 *	of unit mean, using noiseUDN(lp_seed) as the source of
 *	uniform deviates.
 *	This function was retrieved from "Numerical Recipies in C"
 *	by William Press et. al.
 *
 * RETURN VALUE:
 * INCLUDE FILES NECESSARY:
 * PROBLEMS/SUGGESTIONS:
 * GLOBALS/SIDE EFFECTS:
 */
double noiseEXP(lp_seed)
long *lp_seed;
{
	double	x;
/*
 *	Returns an exponentially distributed, positive, random 
 *	deviate of unit mean, using noiseUDN(lp_seed) as the 
 *	source of uniform deviates.
 */
	x = noiseUDN(lp_seed);
	if (x == 0.0) x = noiseUDN(lp_seed);
	
	return -log(x);
}


/*
 * FUNCTION: double noisePOISS(lp_seed)
 * PURPOSE:
 *
 *	Function for Poisson distribution
 *
 * DESCRIPTION:
 *
 *	Returns as a floating point number an integer
 *	value that is a random deviate drawn from a
 *	poisson distribution of mean xm, using a source
 *	of uniform random deviates.
 *	This function was retrieved from Chapter 7 of
 *	the "Numerical Recipies in C" by Press et. al.
 *
 * RETURN VALUE:
 * INCLUDE FILES NECESSARY:
 * PROBLEMS/SUGGESTIONS:
 * GLOBALS/SIDE EFFECTS:
 */
double noisePOISS(xm,lp_seed)
double	xm;
long *lp_seed;
{
	static double	sq, alxm, g;
	static double	oldm = -1.0;
	double		em, t, y;

	if (xm < 12.0) {
		if (xm != oldm) {
			oldm = xm;
			g = exp(-xm);
		}
		em = -1;
		t = 1.0;
		do {
			em += 1.0;
			t *= noiseUDN(lp_seed);
		} while (t > g);
	}
	else {
		if (xm != oldm) {
			oldm = xm;
			sq = sqrt(2.0 * xm);
			alxm = log(xm);
			g = xm * alxm - gammln(xm + 1.0);
		}
		do {
			do {
				y = tan(PI * noiseUDN(lp_seed));
				em = sq * y + xm;
			} while (em < 0.0);
			em = floor(em);
			t = 0.9 * (1.0 + y*y) * exp(em * alxm - gammln(em + 1.0) - g);
		} while (noiseUDN(lp_seed) > t);
	}

	return em;
}
                                                     

/*
 * FUNCTION: double gammln(lp_seed)
 * PURPOSE:
 *
 *	Function needed for Poisson distribution function
 *
 * DESCRIPTION:
 *
 *	Function gammln, retrieved from Chapter 6 of the Numerical 
 *	recipies in C book.
 *	Returns the value of the natural log of the gamma function 
 *	for xx > 0.
 *
 * RETURN VALUE:
 * INCLUDE FILES NECESSARY:
 * PROBLEMS/SUGGESTIONS:
 * GLOBALS/SIDE EFFECTS:
 */
double gammln(xx)
double xx;
{
	int		j;
	double		x, tmp, ser;
	static double	cof[6] = {76.18009173,-86.50532033,24.01409822,
				    -1.231739516,0.120858003e-2,-0.536382e-5};

	x = xx - 1.0;
	tmp = x + 5.5;
	tmp -= (x + 0.5) * log(tmp);
	ser = 1.0;
	for (j = 0; j <= 5; j++) {
	      x += 1.0;
	      ser += cof[j] / x;
	}
	return -tmp + log(2.50662827465 * ser);
}

static int seedInited = 0;
static ULong seedv;
static ULong defaultMT[625];

typedef struct seeds_s {
  ULong	seed;
  char *id;
  struct seeds_s *next;
} Seeds;
static Seeds *AllSeeds = NULL;

/*---------------------------------------------------------------
 * FUNCTION:  genRandDefaultInit
 * DESCRIPTION:
 *	void genRandDefaultInit(ul_seed)
 *
 *  This initializes the default random generator
 *
 * RETURN VALUE:  
 * NOTES/WARNINGS: 
 * REVISION HISTORY:
 *	Release		Who	Date	Comments
 */
void genRandDefaultInit(ul_seed)
ULong ul_seed;
{
    seedv = ul_seed;
    sgenrand(seedv, defaultMT);
    seedInited = 1;
}

/*---------------------------------------------------------------
 * FUNCTION:  genRandInit
 * DESCRIPTION:
 *	ULong *genRandInit(cp_id, cp_mode, ul_seed)
 *
 *  Returns a state vector for use in later random
 *  generator uses.  The cp_id should be the hierarchical
 *  ID of the block calling this function.  cp_mode
 *  should be "system" to use the default shared
 *  generator and should be "private" to use a private
 *  generator.  If using a private generator, ul_seed
 *  gives its seed value.  The actual seed value will
 *  be (system_seed + ul_seed + 0x50000000) to make
 *  sure that the system and private generators do
 *  not overlap, even in iterated simulations.
 *
 * RETURN VALUE:  
 * NOTES/WARNINGS: 
 * REVISION HISTORY:
 *	Release		Who	Date	Comments
 */
ULong *genRandInit(cp_id, cp_mode, ul_seed)
char *cp_id, *cp_mode;
ULong ul_seed;
{
    ULong *mtNew;
    if (*cp_mode == 's') {  /* system generator */
	mtNew = defaultMT;
    }
    else {
	Seeds *scan = AllSeeds;
	int i;

	while (scan) {
	    if (scan->seed == ul_seed) {
		printf("Blocks %s and %s have the same seed value of %d\n", cp_id, scan->id, ul_seed);
		printf("This will lead to these sources being correlated\n");
		exit(1);
	    }
	    scan = scan->next;
	}
	scan = (Seeds *) Oalloc(VEC_MEM, sizeof(Seeds));
	scan->id = cp_id;
	scan->seed = ul_seed;
	scan->next = AllSeeds;
	AllSeeds = scan;
	
	mtNew = (ULong *) Oalloc(VEC_MEM, sizeof(ULong) * 625);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲色大大久久| 亚洲精品一区二区三区蜜桃下载 | 国产一区二区三区四区五区美女| 亚洲国产精品精华液ab| 欧美日韩国产在线观看| 成人午夜av影视| 欧美吻胸吃奶大尺度电影| 激情综合色综合久久| 一区二区三区免费观看| 日本一区二区三区国色天香| 欧美日韩久久一区二区| 99热在这里有精品免费| 国产做a爰片久久毛片| 午夜精品久久久久影视| 亚洲色图色小说| 欧美激情一区二区三区在线| 欧美大胆人体bbbb| 欧美日韩黄色影视| 一本在线高清不卡dvd| 成人黄色免费短视频| 国产一区二区毛片| 久久99国产精品尤物| 蜜臀精品一区二区三区在线观看 | 日韩亚洲欧美高清| 欧美亚洲动漫精品| 色综合久久中文综合久久97| 国产高清不卡二三区| 国内精品免费**视频| 奇米影视7777精品一区二区| 亚洲大片精品永久免费| 亚洲国产精品精华液网站| 亚洲精品国产视频| 成人欧美一区二区三区小说| 欧美国产日本韩| 亚洲国产精品99久久久久久久久| 久久综合九色综合97婷婷| 欧美电视剧在线看免费| 欧美一区二区三区成人| 欧美一级国产精品| 日韩精品中文字幕一区二区三区| 3751色影院一区二区三区| 91精品国产色综合久久| 欧美一区二区三区四区久久 | 国产精品久久久久久久岛一牛影视 | 日本女人一区二区三区| 日本一区中文字幕| 久久精品国产色蜜蜜麻豆| 蜜臀国产一区二区三区在线播放| 蜜臀久久99精品久久久画质超高清 | 欧美无砖砖区免费| 欧美精三区欧美精三区| 欧美日韩一区二区在线视频| 精品视频一区二区三区免费| 欧美一区二区三区视频| 欧美成人三级在线| 欧美国产成人精品| 亚洲女爱视频在线| 亚洲一区二区三区三| 亚洲成人av中文| 麻豆国产一区二区| 国产精品一区二区在线播放| 成人18视频在线播放| 一本色道久久综合亚洲aⅴ蜜桃| 一本色道久久综合亚洲aⅴ蜜桃| 欧美日韩亚洲另类| 欧美一级久久久| 欧美国产精品v| 亚洲综合色丁香婷婷六月图片| 日韩电影免费一区| 国产风韵犹存在线视精品| 91丝袜美腿高跟国产极品老师| 欧美亚洲国产怡红院影院| 日韩亚洲欧美成人一区| 国产精品系列在线| 香港成人在线视频| 国产成人在线影院| 欧美一a一片一级一片| 精品电影一区二区三区| 国产精品国产三级国产aⅴ中文| 午夜久久久久久电影| 国产精品18久久久久久久久久久久| 91香蕉视频mp4| 日韩一区国产二区欧美三区| 中文字幕第一区二区| 日本sm残虐另类| 成人性视频网站| 欧美日韩国产色站一区二区三区| 国产亚洲一区字幕| 午夜久久久久久久久| 粉嫩久久99精品久久久久久夜| 在线观看视频91| 精品国产a毛片| 一区二区三区在线免费视频| 国内精品写真在线观看| 91老司机福利 在线| 51精品国自产在线| 亚洲女人****多毛耸耸8| 久久超级碰视频| 欧美色综合影院| 欧美国产日韩在线观看| 日韩二区三区在线观看| 一本大道久久a久久综合婷婷| 精品国产91洋老外米糕| 午夜伦欧美伦电影理论片| va亚洲va日韩不卡在线观看| 日韩有码一区二区三区| aa级大片欧美| 久久综合九色综合97婷婷| 日韩av在线发布| 在线免费观看日本一区| 中文字幕一区二区三区精华液 | 一本久久精品一区二区| 国产日韩欧美a| 精品一区二区三区在线播放| 欧美日韩在线直播| 亚洲综合久久av| 99精品久久免费看蜜臀剧情介绍| 久久久久久久久久久久电影 | 欧美一区2区视频在线观看| 亚洲午夜精品在线| 色噜噜夜夜夜综合网| 国产精品久久久久久妇女6080| 国产一区二区视频在线| 精品欧美黑人一区二区三区| 五月激情综合色| 欧美久久久久久久久久| 亚洲国产精品一区二区尤物区| 在线视频欧美区| 亚洲欧美日韩中文播放 | 亚洲成av人片| 欧美日韩在线不卡| 亚洲图片自拍偷拍| 欧美午夜不卡视频| 亚洲国产精品久久久男人的天堂 | 久久精品夜色噜噜亚洲aⅴ| 国产在线视频一区二区三区| 精品久久久久久久久久久久久久久| 奇米一区二区三区| 欧美videofree性高清杂交| 精品亚洲porn| 久久久久国色av免费看影院| 国产曰批免费观看久久久| 久久亚洲精精品中文字幕早川悠里| 久久福利资源站| 国产亚洲精品福利| 99视频一区二区| 亚洲在线成人精品| 欧美久久一二区| 久久疯狂做爰流白浆xx| 久久久99精品免费观看不卡| 国产成人精品www牛牛影视| 国产欧美精品一区二区色综合| 成人网页在线观看| 一区二区三区中文免费| 欧美另类一区二区三区| 另类中文字幕网| 久久久久高清精品| 色综合天天综合狠狠| 亚洲已满18点击进入久久| 欧美一区二区黄| 国产成a人亚洲精品| 亚洲天堂网中文字| 777色狠狠一区二区三区| 久久99国产精品免费网站| 中文字幕国产一区| 欧美偷拍一区二区| 国产自产2019最新不卡| 亚洲人成伊人成综合网小说| 欧美日韩一本到| 国产在线精品一区在线观看麻豆| 国产精品免费视频观看| 欧美色大人视频| 国产在线一区二区综合免费视频| 中文字幕亚洲一区二区av在线 | 日本一区二区久久| 欧美三级一区二区| 国产电影一区在线| 一区二区在线观看免费| 日韩一区二区免费在线电影| 成人美女在线观看| 日韩—二三区免费观看av| 国产精品乱人伦一区二区| 欧美日韩精品一区二区三区四区 | 国产一本一道久久香蕉| 夜夜爽夜夜爽精品视频| 久久亚洲综合色一区二区三区| 91福利视频网站| 国产黄色成人av| 同产精品九九九| **欧美大码日韩| 欧美xxx久久| 欧美性猛片xxxx免费看久爱| 国产另类ts人妖一区二区| 偷拍一区二区三区四区| 国产精品毛片高清在线完整版 | 国产亚洲一二三区| 91精选在线观看| 91免费版pro下载短视频| 国产专区欧美精品| 婷婷成人综合网|