一、功能
产生含有高斯白噪声的正弦组合信号。
二、方法简介
含有高斯白噪声的\(M\)个正弦信号的组合为
\[
x(n)=\sum_{i=1}^{M}A_{i}sin(2\pi f_{i}\Delta Tn + \theta_{i} ) + N(0,\sigma ^{2})
\]
其中\(A_i\)、\(f_i\)和\(\theta_i(i=1,2,...,M)\)分别是第\(i\)个正弦信号的振幅、频率和相位。\(\Delta T=1/f_s\)是采样间隔,\(f_s\)是采样频率(以赫兹为单位)。\(N(0,\sigma^2)\)是高斯白噪声,它的均值为零,方差为\(\sigma^2\)。
三、使用说明
是用C语言实现产生含有高斯白噪声随机数的方法如下:
/************************************
a ---一维数组,长度为m,各正弦信号振幅。
f ---一维数组,长度为m,各正弦信号频率。
ph ---一维数组,长度为m,各正弦信号相位。
m ---正弦信号个数。
fs ---采样频率(用赫兹表示)。
snr ---信噪比(用dB表示)。
seed ---随机数种子
x ---一维数组,长度n,存放所产生的数据。
n ---数据长度。
************************************/
#include "math.h"
#include "gauss.c"
void sinwn(dou