extern void InitC5402(void);
extern void READAD7822(void);
extern void WRITEDAC08(void);
/***********************************************************************
** Main Function Program
***********************************************************************/
#include "stdio.h"
#include "math.h"
#include "tms320.h"
#include "fir.h"
#define NX 65 /***********滤波器系数********/
#define PI 3.1415926
#define fs1 160000 /**********采样频率为160KHz****/
int mod,mul,r,r1,demd,dem,de,d;
int tem[512],te[512];
int var=0,num=0;
int low1,low2,high1,high2,vap,va;
float f0=1000,f1=20000,f2=2000,f3=40000;
//float w=2*PI*fc/fs;
int n=0;
int v,andm;
void main(void)
{
for ( ; ; )
{
low1=(int)(cos(f0*2*PI*n/fs1)*100); /*****调制波1 频率为1KHz*****/
low2=(int)(cos(f2*2*PI*n/fs1)*100); /*****调制波2 频率为2KHz*****/
high1=(int)(cos(f1*2*PI*n/fs1)*100); /******载波1 频率为20KHz******/
high2=(int)(cos(f3*2*PI*n/fs1)*100); /******载波2 频率为40KHz******/
vap=low1*high1; /******已调波1******/
va=low2*high2; /******已调波2******/
andm=vap+va; /******叠加*******/
mod=andm;
xx[0]=mod;
fir(&xx[0],&h[0],&r,NX); /****通过带通1***/
demd=r>>8;
yy[0]=mod;
fir(&yy[0],&q[0],&r,NX); /****通过带通2***/
dem=r>>7;
xy[0]=(demd*high1);
fir(&xy[0],&f[0],&r,NX); /****通过低通1***/
de=r;
yx[0]=(dem*high2);
fir(&yx[0],&p[0],&r,NX); /****通过低通1***/
d=r;
te[var]=de;
tem[var]=d;
var++;
var%=512;
n++;
n%=320;
asm(" nop ");
}
}
/***********************************************************************
** End of File �.c
***********************************************************************/
评论0