返回信息流#include <stdio.h>
#include <math.h>
#define MODULE 2147483647
#define A 16807
#define LASTXN 127773
#define UPTOMOD -2836
#define RATIO 0.46566128e-9 /* 1/MODULE */
/*
** Function: long rnd32(long seed)
** Remarks : Congruential generator of pseudorandom sequences of numbers
** uniformly distributed between 1 and 2147483646, using the con-
** gruential relation: Xn+1 = 16807 * Xn mod 2147483647 .
** The input to the routine is the integer Xn, while the returned
** integer is the number Xn+1.
*/
long rnd32(long seed)
{
long times, rest, prod1, prod2;
times = seed / LASTXN;
rest = seed - times * LASTXN;
prod1 = times * UPTOMOD;
prod2 = rest * A;
seed = prod1 + prod2;
if (seed < 0) seed = seed + MODULE;
return (seed);
}
以前在别的通信仿真系统里也见过类似的timeseeds,不理解在这里的用途.
附件(8.6KB) killanaca-Handover-Simulator-37a66c2.rar
这是一条镜像帖。来源:北邮人论坛 / communications / #13861同步于 2010/6/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖
求助 这里的seed 是做什么用的
MUSIC
2010/6/6镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
唔
乱码了。。。
【 在 mccatec (mccatec) 的大作中提到: 】
: 鏃犺鎬庝箞浜х敓鐨勪吉闅忔満搴忓垪锛屽叾瀹為兘鏄懆鏈熺殑锛岃繖涓猻eed鐢ㄦ潵纭畾鍒濆鐩镐綅
受教了,多谢
【 在 ericyosho 的大作中提到: 】
: seed就是random函数的一个初始化值,不同的seed值,出来的一系列random数都不同。
只是不明白在通信系统的仿真里为啥要用这个东西
【 在 mccatec 的大作中提到: 】
: 手机上北邮人发贴乱码,无论何种方式生成的伪随机序列,都是周期性的,seed用来确定初始相位。
这玩意儿有一个好处,你很容易的重建伪随机序列。这样你在接收端做误码率比对时,可以实时重建发送序列,而不需要事先存储完整的发送序列。
【 在 MUSIC 的大作中提到: 】
: 只是不明白在通信系统的仿真里为啥要用这个东西
: 【 在 mccatec 的大作中提到: 】
: : 手机上北邮人发贴乱码,无论何种方式生成的伪随机序列,都是周期性的,seed用来确定初始相位。
: ...................
赞大牛 明白一点了 继续研究
【 在 mccatec 的大作中提到: 】
: 这玩意儿有一个好处,你很容易的重建伪随机序列。这样你在接收端做误码率比对时,可以实时重建发送序列,而不需要事先存储完整的发送序列。