signal_gen.c

来自「TI的DSP C55X的应用程序」· C语言 代码 · 共 38 行

C
38
字号
/*
    signal_gen.c - Generate sine waves as test data in Q15
	  
    prototype:  void signal_gen(int *, int)
                arg0: - data buffer pointer for output
                arg1: - number of samples   
*/   
#include <math.h>

#define T 0.000125              /* 8000 Hz sampling frequency */
#define f1 800                  /* 800 Hz frequency */
#define f2 1800                 /* 1800 Hz frequency */
#define f3 3300                 /* 3300 Hz frequency */
#define PI 3.1415926
#define two_pi_f1_T (2*PI*f1*T) /* 2*pi*f1/Fs */
#define two_pi_f2_T (2*PI*f2*T) /* 2*pi*f2/Fs */
#define two_pi_f3_T (2*PI*f3*T) /* 2*pi*f3/Fs */
#define a1 0.333                /* Magnitude for wave 1 */
#define a2 0.333                /* Magnitude for wave 2 */
#define a3 0.333                /* Magnitude for wave 3 */

static unsigned int n=0;

void signal_gen(int *x, int N)
{                             
    float temp;
    int   i;
	
    for (i=0; i<N; i++)
    {
        temp = a1*cos((double)two_pi_f1_T*n);
        temp += a2*cos((double)two_pi_f2_T*n);
        temp += a3*cos((double)two_pi_f3_T*n); 
        n++;
        x[i] = (int)((0x7fff*temp)+0.5);		
    }  
}

⌨️ 快捷键说明

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