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

📄 filter.c

📁 脉冲滤波算法
💻 C
字号:
	#include    "DILT-320.h"

	uchar    pdatax_ild;
	uchar    pdatax_ilm;
	uchar    pdatax_ll8;

	uchar    pmax_ild ;
	uchar    pmax_ilm ;
	uchar    pmax_ll8 ;

	uchar    pmin_ild ;
	uchar    pmin_ilm ;
	uchar    pmin_ll8 ;

	uint     xdata    datas_ild[LEN];
	uint     xdata    datas_ilm[LEN];
	uint     xdata    datas_ll8[LEN];

void filter(uchar j,uint _data)
{  uchar i;
   switch (j) 
   { 
     case 1: pdatax_ild = (pdatax_ild+1)%LEN;     
             datas_ild[pdatax_ild] = _data;         
   			 AE_ild  += _data;

   			 if(_data>datas_ild[pmax_ild])
      			pmax_ild = pdatax_ild;            
   			 else if(_data<datas_ild[pmin_ild])
      			pmin_ild = pdatax_ild;            

   			 if(pdatax_ild == pmax_ild)           
       		 {                      
         		for(i=0;i<pdatax_ild-1;i++)
         			if(datas_ild[i]>datas_ild[pmax_ild])
             			pmax_ild=i;
       		 }
   			 else if(pdatax_ild == pmin_ild)      
       		 {                      
         		for(i=0;i<pdatax_ild-1;i++)
         			if(datas_ild[i]<datas_ild[pmin_ild])
             			pmin_ild=i;
       		 }   
             break;
     case 2: pdatax_ilm = (pdatax_ilm+1)%LEN;     
             datas_ilm[pdatax_ilm] = _data;         
   			 AE_ilm  += _data;

   			 if(_data>datas_ilm[pmax_ilm])
      			pmax_ilm = pdatax_ilm;            
   			 else if(_data<datas_ilm[pmin_ilm])
      			pmin_ilm = pdatax_ilm;            

   			 if(pdatax_ilm == pmax_ilm)           
       		 {                      
         		for(i=0;i<pdatax_ilm-1;i++)
         			if(datas_ilm[i]>datas_ilm[pmax_ilm])
             			pmax_ilm=i;
       		 }
   			 else if(pdatax_ilm == pmin_ilm)      
       		 {                      
         		for(i=0;i<pdatax_ilm-1;i++)
         			if(datas_ilm[i]<datas_ilm[pmin_ilm])
             			pmin_ilm=i;
       		 } 
			 break;
     case 3: pdatax_ll8 = (pdatax_ll8+1)%LEN;     
             datas_ll8[pdatax_ll8] = _data;         
   			 AE_ll8  += _data;

   			 if(_data>datas_ll8[pmax_ll8])
      			pmax_ll8 = pdatax_ll8;            
   			 else if(_data<datas_ll8[pmin_ll8])
      			pmin_ll8 = pdatax_ll8;            

   			 if(pdatax_ll8 == pmax_ll8)           
       		 {                      
         		for(i=0;i<pdatax_ll8-1;i++)
         			if(datas_ll8[i]>datas_ll8[pmax_ll8])
             			pmax_ll8=i;
       		 }
   			 else if(pdatax_ll8==pmin_ll8)      
       		 {                      
         		for(i=0;i<pdatax_ll8-1;i++)
         			if(datas_ll8[i]<datas_ll8[pmin_ll8])
             			pmin_ll8=i;
       		 } 
			 break;
	  }
 }

⌨️ 快捷键说明

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