1 #if !defined(__Synthesis_hdr__)
2 #define __Synthesis_hdr__
4 #define _USE_MATH_DEFINES
16 static Error_t
generateSine (
float *pfOutBuf,
float fFreqInHz,
float fSampleFreqInHz,
int iLength,
float fAmplitude = 1.F,
float fStartPhaseInRad = 0.F)
19 return kFunctionInvalidArgsError;
21 for (
int i = 0; i < iLength; i++)
23 pfOutBuf[i] = fAmplitude *
static_cast<float>(sin (2*M_PI*fFreqInHz * i/fSampleFreqInHz + fStartPhaseInRad));
28 static Error_t
generateRect (
float *pfOutBuf,
float fFreqInHz,
float fSampleFreqInHz,
int iLength,
float fAmplitude = 1.F)
31 return kFunctionInvalidArgsError;
33 float fPeriodLength = fSampleFreqInHz / fFreqInHz;
34 for (
int i = 0; i < iLength; i++)
36 if (i%CUtil::float2int<int>(fPeriodLength) <= .5*fPeriodLength)
38 pfOutBuf[i] = fAmplitude;
42 pfOutBuf[i] = -fAmplitude;
48 static Error_t
generateSaw (
float *pfOutBuf,
float fFreqInHz,
float fSampleFreqInHz,
int iLength,
float fAmplitude = 1.F)
51 return kFunctionInvalidArgsError;
53 float fIncr = 2*fAmplitude / fSampleFreqInHz * fFreqInHz;
55 for (
int i = 1; i < iLength; i++)
57 pfOutBuf[i] = fmodf(pfOutBuf[i-1] + fIncr + fAmplitude, 2*fAmplitude) - fAmplitude;
62 static Error_t
generateDc (
float *pfOutBuf,
int iLength,
float fAmplitude = 1.F)
65 return kFunctionInvalidArgsError;
67 for (
int i = 0; i < iLength; i++)
69 pfOutBuf[i] = fAmplitude;
74 static Error_t
generateNoise (
float *pfOutBuf,
int iLength,
float fAmplitude = 1.F)
77 return kFunctionInvalidArgsError;
79 for (
int i = 0; i < iLength; i++)
81 pfOutBuf[i] = rand()*fAmplitude/RAND_MAX;
87 #endif // __Synthesis_hdr__