⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expiiroklp02.c

📁 这是DSP实现的无线冲击(IIR)滤波器的实现
💻 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.1415926 
    
  double fs,nlpass,nlstop,nhpass,nhstop,a[3],b[3],x,y;

  void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]);
  
  void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[])
  
  {
    int i,u,v;
	double wp,omp,gsa,t;
    wp=nlpass*2*pi;
	omp=tan(wp/2.0);
	gsa=omp*omp;
	for (i=0; i<=2; i++)
	  {
		u=i%2;
		v=i-1;
		a[i]=gsa*pow(2,u)-sqrt(2)*omp*v+pow(-2,u);
	  }
	
	for (i=0; i<=2; i++)
	  {	u=i%2;
		b[i]=gsa*pow(2,u);
	  }
	t=a[0];
	for (i=0; i<=2; i++)
	  {	a[i]=a[i]/t;
		b[i]=b[i]/t;
	  }
  }
 
void main(void)
{
		int j,k=0;
		int n,x_ad,y_da;
		int *px = (int*)0x3000;
		int *py = (int*)0x3100;
		double w2,w1,w0;
		w2=w1=w0=0.0;
	
	for ( ; ; )
	{		
		InitC5402(); /* initialize C5402 DSP */
		OpenMcBSP();
		
		fs=16000;
		
		/*  IIR LP  filter  */
		
		nlpass = 0.1;
		nlstop = 0.3;
		
		biir2lpdes(fs,nlpass,nlstop,a,b);
        
        for (j=0; j<=4; j++)
	    {
			READAD50();
		    			
			for (n=0; n<=255; n++)
	  		{ 
				px = (int*)(0x3000+n);
				x_ad = *px;
				x = x_ad/32768.0;
								
				w2=x-a[1]*w1-a[2]*w0;
      			y=b[0]*w2+b[1]*w1+b[2]*w0;
      			w0=w1;
      			w1=w2;
      	
      			y_da=(int)(y*32768.0);
      			py = (int*)(0x3100+n);
      			*py = y_da;
      		}
			
			WRITEAD50();
			
			k++;
		} 
	}
		/*void PROCESSING(void)
		{
		do the necessery operations here!*/
}

/***********************************************************************
** End of File –– exp08.c
***********************************************************************/










⌨️ 快捷键说明

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