⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sinwn.c

📁 生成含有高斯噪声的正弦信号
💻 C
字号:
/*  a			振幅				*/
/*	f			频率				*/
/*	ph			相位				*/
/*	m			正弦信号个数		*/
/*	fs			采样频率			*/
/*	snr			信噪比				*/
/*	seed		随机数种子			*/
/*	x			存放信号的数组		*/
/*	n			数据长度			*/


#include "math.h"
#include "gauss.c"

void sinwn(a,f,ph,m,fs,snr,seed,x,n)
int m,n;
long seed;
double fs,snr,a[],f[],ph[],x[];
{
	int i,k;
	double z,pi,nsr;
	pi=4.0*atan(1.0);
	z=snr/10.0;
	z=pow(10.0,z);
	z=1.0/(2*z);
	nsr=sqrt(z);
	for(i=0;i<m;i++)
	{
		f[i]=2*pi*f[i]/fs;
		ph[i]=ph[i]*pi/180.0;
	}
	for(k=0;k<n;k++)
	{
		x[k]=0.0;
		for(i=0;i<m;i++)
		{
			x[k]=x[k]+a[i]*sin(k*f[i]+ph[i]);
		}
		x[k]=x[k]+nsr*gauss(0.0,1.0,&seed);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -