📄 text1.txt
字号:
#include<stdio.h>
#include<math.h>
int main()
{
//double sinwn(double a[1],double f[1],double ph[1],double fs,double snr,double seed,double x[],int n)
{ int n;
long int seed;
double fs,snr,a,f,ph,x[200];
double guass(double mean,double sigma,long int *s);
int i,k;
double z,pi,nsr;
//double fs,snr,x[200];
a=1;
f=5;
ph=45;
//FILE *fp;
n=200;
seed=13579l;
fs=150;
snr=1000.0;
pi=4.0*atan(1.0);
z=snr/10.0;
z=pow(10.0,z);
z=1.0/(2*z);
nsr=sqrt(z);
f=2*pi*f/fs;
ph=ph*pi/180.0;
for(k=0;k<n;k++)
{
x[k]=0.0;
x[k]=a*sin(k*f+ph)+nsr*guass(0.0,1.0,&seed);
}
/*for(i=0;i<n;i++)
{
cout<<"The result is"<<x[i]<<endl;
}*/
for(i=0;i<n;i++)//添加一组输出看看改动
{return x[i];}
}
}
/***********************************************************/
/*接着利用中心极限定理对服从(0.1)均匀分布的uniform()求和产 */
/*生一个高斯白噪声信号 guass()子函数 */
/***********************************************************/
double guass(double mean,double sigma,long int *s)
{
int i;
double x,y;
double uniform(double a, double b,long int *seed);
for(x=0,i=0;i<12;i++)
x+=uniform(0.0,1.0,s);
x=x-6;
y=mean+x*sigma;
return(y);
}
/****************************************************/
/*最里层函数产生一个均匀分布的随机信号子函数uniform */
/****************************************************/
double uniform(double a, double b,long int *seed)
{
double t;
*seed=2045*(*seed)+1;
*seed=*seed-(*seed/1048576)*1048576;
t=(*seed)/1048576.0;
t=a+(b-a)*t;
return(t);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -