#define M_PI (3.141592654)
/************************************************************
** 产生一个单频信号
** pSignalData:输出数组
** nLen:长度
** f0:中心频率
** fSampleRate:采样率设置
************************************************************/
void GenSineSignalData(float * pSignalData, int nLen, float fAmp, float f0, float fSampleRate)
{
//定义一个自加的静态变量来让这个sine信号持续下去
static int nCount = 0;
int i = 0;
/*
* FFT input signal = signalA + signalB
* signalA : sine wave signal with amplitude of 5 and frequency of 50 Hz
* signalB : sine wave signal with amplitude of 15 and frequency of 150 Hz
*/
for(i = 0; i < nLen; i++)
{
// pSignalData[i] = 5.0 * sin(2 * PI * 50 * (i / Fs)) + \
// 15.0 * sin(2 * PI * 150 * (i / Fs));
pSignalData[i] = fAmp * sin(2 * M_PI * f0 * ((nCount++) / fSampleRate)) ;
}
}
在DSP中如何生成一段模拟信号
最新推荐文章于 2022-11-29 15:54:22 发布