一个简单的dsp C语言例子
开发平台:CCS集成开发环境
通过这个简单的例子,可以大致了解用C语言开发dsp程序的原理。
程序要求:用C语言编写产生正弦调幅波信号的源程序;
正弦调幅波的公式在离散域中的表示:
y(n) = (1 + M*sin(2 * PI * fb / fs * n)) * sin(2 * PI * fa / fs * n);
编写文件
#include <>ﻫ#include <math.h>ﻫﻫ#define TRUE 1ﻫ#define pi 3.1415926536ﻫﻫint y[500],i;ﻫfloat M;ﻫﻫvoid main()ﻫ{ﻫ puts("amplitude modulation sinewave example started.\n");ﻫ M = 50;ﻫ for(i = 0; i < 500; i++)ﻫ y[i] = 0;ﻫ while(TRUE)ﻫ {ﻫ for(i = 0; i < 500; i++)ﻫ y[i] = (int)((1 + M / 100 * sin(i * 2 * pi * 20 / 4000)) * sin(i * 2 * pi * 200 / 4000) * 16384);ﻫ puts("program end");ﻫ }ﻫ}ﻫ
2. (reset vector file)
.title ""
.sect ".vectors"ﻫ .ref _c_int00
RESET:ﻫ B _c_int00ﻫ .end
3. sin_am.cmd
.objﻫ-m -o sin_am.outﻫﻫMEMORY
{
PAGE 0:ﻫ EPROG: origin = 0x1400, len = 0x7c00ﻫ VECT: origin = 0xff80, len = 0x80ﻫ PAGE 1:ﻫ USERREGS: origin = 0x60, len = 0x1cﻫ IDATA: origin = 0x80, len = 0x3000
}ﻫﻫSECTIONS
{ﻫ.vectors: >VECT PAGE : >EPROG PAGE 0ﻫ.cinit: >EPROG PAGE : >IDATA PAGE : >IDATA PAGE : >IDATA PAGE : >IDATA PAGE : >IDATA PAGE 1ﻫ}
"*.cmd"文件说明:
链接命令文件是实现对段的存储空间位置的定位
一个简单的dsp-C语言例子 来自淘豆网m.daumloan.com转载请标明出处.