bp45nmd.c

来自「"DIGITAL SIGNAL PROCESSING WITH C AND TH」· C语言 代码 · 共 32 行

C
32
字号
/*BP45NMD.C-FIR BANDPASS FILTER IN C WITHOUT USING MODULO*/
#include "bp45coef.h"    /*include coefficient file      */
float DLY[N];            /*delay samples                 */
void filt(float *, float *, int *, int *, int);

main ()
{
  int i;
  volatile int *IO_INPUT = (volatile int *) 0x804000;
  volatile int *IO_OUTPUT = (volatile int *) 0x804001;
  for (i = 0; i < N; i++) DLY[i] = 0.0;
  filt((float *)H, (float *)DLY, (int *)IO_INPUT, (int *)IO_OUTPUT, N);
}

void filt(float *h, float *dly, int *IO_input, int *IO_output, int n)
{
  int i, t;
  float acc;
  for (t = 0; t < n; t++)
  { 
    acc = 0.0;
    dly[0] = *IO_input;
    for (i = 0; i < n; i++)
      acc += h[i] * dly[i];
    for (i = n-1; i > 0; i--)
      dly[i] = dly[i-1];   
    *IO_output = acc;
  }
}    


⌨️ 快捷键说明

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