数字滤波系统设计课程设计报告(编辑修改稿)内容摘要:

alue_buff[k]) k=j。 {temp=value_buff[k]。 value_buff[k]=value_buff[i]。 value_buff[i]=temp。 } } return value_buff[(N1)/2]。 } 算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波。 这种信号的特点是信号本身在某一数值范围附近上下波动,如测量流量、液位时经常遇到这种情况。 算术平均滤波法是要按输入的 N 个采样数据,寻 找这样一个 Y,使得 Y 与各个采样值之间的偏差的平方和最小。 具体实现此算法的子程序如下: uchar filter3() { uchar value_buff[N]。 int i=0。 int count。 int sum=0。 value_buff[i++]=get_data(count)。 if(i==N) i=0。 for(count=0。 countN。 count++) sum+=value_buff[count]。 return (uchar)(sum/N)。 } return (uchar)(sum/N)。 } 算术平均滤波适用于对一般具有随机干扰的信号进行滤波。 这种信号的特点是有一个平均值,信号在某一数值范围附近做上下波动,在这种情况下仅取一个采样值做依据显然是不准确的。 算术平均滤波对信号的平滑程序完全取决于 N,当 N 较大时,平滑度高,但灵敏度低;当 N 较小时,平滑度低,但灵敏度高,应视具体情况选取 N,以便既少占用计算时间,又达到最好的效果。 总程序及流程图如下: include include define uchar unsigned char define A define N 30 sbit con1 = P2^3。 sbit con2 = P2^4。 sbit con3 = P2^5。 sbit con4 = P2^6。 sbit OE = P2^0。 sbit START = P2^1。 sbit EOC = P2^2。 uchar a。 uchar buf[N] ={0}。 void change() { int i。 for(i=0。 iN1。 i++) buf[i]=buf[i+1]。 buf[N1]=a。 } uchar get_data(n) { change()。 return buf[n]。 } //限速滤波 uchar filter1() { uchar new_value,value。 value=get_data(N2)。 new_value = get_data(N1)。 if ( ( new_value value A ) || ( value new_value A ) ) return value。 return new_value。 } //中值滤波 uchar filter2() { uchar value_buff[N],temp。 //定义存储数据的数组 int count,i,j,k。 for(count=0。 countN。 count++) //获取数据 { value_buff[count]=get_data(count)。 } for(j=0。 jN1。 j++) //用冒泡法对数据进行排序,当然最好用其他排序方法 { k=j。 for(j=i+1。 jN。 j++) if(value_buff[j]value_buff[k]) k=j。 {temp=value_buff[k]。 value_buff[k]=value_buff[i]。 value_buff[i]=temp。 } } return value_buff[(N1)/2]。 } //算数平均滤波 uchar filter3() { uchar value_buff[N]。 int i=0。 int count。 int sum=0。 value_buff[i++]=get_data(count)。 if(i==N) i=0。 for(count=0。 countN。 count++) sum+=value_buff[count]。 return (uchar)(sum/N)。 } //加权递推平均滤波 uchar filte4() { uchar code coe[N] = {1,1,1,20,20,20,40,40,40,40,200}。 uchar code sum_coe = 1+1+1+20+20+20+40+40+40+40+200。 uchar count。 uchar。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。