📄 firtestn01.c
字号:
extern void InitC5402(void);
extern void OpenMcBSP(void);
extern void CloseMcBSP(void);
extern void READAD50(void);
extern void WRITEAD50(void);
/***********************************************************************
** Main Function Program
***********************************************************************/
#include "stdio.h"
#include "math.h"
#define pi 3.1415927
double npass,h[51], x, y, xmid[51];
int m=50;
int n=256;
void firdes (int m, double npass);
main ()
{
int xm,ym;
int *px = (int*)0x3000;
int *py = (int*)0x3100;
double fs,fstop,r,rm;
int i,j,p,k,s;
k=0;
fs = 16000;
fstop = 2000;
npass = fstop/fs;
for (i=0; i<=m; i++)
{
xmid[i]=0;
}
for (; ; )
{
InitC5402(); /* initialize C5402 DSP */
OpenMcBSP();
firdes(m, npass);
for (s=0; s<=4; s++)
{
READAD50();
for (i=0; i<=n-1; i++)
{
px = (int*)(0x3000+i);
xm = *px;
x = xm/32768.0;
for (p=0; p<=m; p++)
{
xmid[m-p] = xmid[m-p-1];
}
xmid[0] = x;
r = 0;
rm= 0;
for (j=0; j<=m; j++)
{
r = xmid[j] * h[j];
rm = rm + r;
}
y = rm;
py = (int*)(0x3100+i);
ym = (int)(32768.0 * y);
*py = ym;
}
WRITEAD50();
k++;
}
}
/*void PROCESSING(void)
{
do the necessery operations here!*/
}
void firdes(int m, double npass)
{
int t;
for (t=0; t<=m; t++)
{
h[t] = sin((t-m/2.0)*npass*pi)/(pi*(t-m/2.0));
}
if (t=m/2) h[t]=npass;
}
/***********************************************************************
** End of File –– exp08.c
***********************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -