资源简介
两个噪声生成函数,可以分别生成高斯白噪声和有色噪声,原理是分别基于随机数生成和描述时间序列的ARMA模型,特点是简单实用。
代码片段和文件信息
/******************两种简单噪声生成程序***********************/
//高斯噪声方差和均值设置
const double DX=0.01;
const double EX=0;
//有色噪声设置
const int ARMA_N=2;
const int ARMA_M=1;
const double fai_n[2]={0.9571-0.1107};
const double sita_m[1]={0.05612};
//Gauss白噪声
double gauss()
{
double m1m2mem;
static int value=1;
value=(5*value+1)%65535; // value=(A*value+C)%M; 生成随机数
if(value>65535||value<=0)
{
printf(“错误!随机数生成参数设置不当!\n“);
abort();
}
m1=(double)value/65535; //和系统函数rand()共用,尽可能独立
m2=(double)rand()/32768;
mem=sqrt(-2*log(m1))*cos(m2*2*PAI)*sqrt(DX)+EX;
return mem;
}
评论
共有 条评论