欢迎来到天天文库
浏览记录
ID:50787247
大小:26.50 KB
页数:2页
时间:2020-03-14
《低通巴特沃斯滤波C语言实现.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、二阶低通巴特沃斯滤波C语言实现2013-06-0610:10:07分享:=================================你给的要求太少,但是怎么说也能设计了,先给你个吧。==================你可以自己使用fdatool去弄以下一个结果:通带 5Hz,1db, 阻带8Hz,40dbb=[0.0117 -0.0329 0.0451 -0.0329 0.0117]a=[1.0000 -3.6048 4.9787 -3.1156 0.7447]i
2、nt filterBegin=5;doublexBuf[5];doubleyBuf[5];doublefilter(doublex){ for(inti=4;i>0;i--) { yBuf[i]=yBuf[i-1];xBuf[i]=xBuf[i-1]; } xBuf[0]=x; if(filterBegin>0) { filterBegin=0; yBuf[0]=x; returnx;
3、} yBuf[0]=0.0117*(xBuf[0]+xBuf[4]) -0.0329*(xBuf[1]+xBuf[3])+0.0451*xBuf[2] -(-3.6048*yBuf[1]+4.9787*yBuf[2] -3.1156*yBuf[3]+0.7447*yBuf[4]); returnyBuf[0];}提问者评
4、 /、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、/// 有问题的程序!!!!!!!!!!!!!!!!!!!!!!!!doublea[L]={1.0000,-1.0893,1.6925,-1.0804,0.7329,-0.
5、2722,0.0916,-0.0174,0.0024,-0.0001};doubleb[L]={0.0021,0.0186,0.0745,0.1739,0.2609,0.2609,0.1739,0.0745,0.0186,0.0021}; read(&input);//输入范围:-10V~+10V ,量化范围 0~65535x[0]=input-32767; for(i=0;i<=L-1;i++){b_sum=b[i]*x[i]+b_sum;a_sum=a[i+1]*y[i+1]+a_sum;}
6、y[0]=b_sum-a_sum;output=y[0];for(i=L-1;i>=1;i--){x[i]=x[i-1];y[i]=y[i-1];}write(output);
此文档下载收益归作者所有