完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
引言
一个计算机数据采集系统在生产过程中会受到各种干扰,从而降低了有用信号的真实性。虽然在输入通道上接入一个RC低通滤波器来抑制工频及其以上频率的干扰,但对频率很低的干扰却由于制作上的难度而难以实现。采用数字形式来模拟RC低通滤波器的输入输出数学关系,可以得到较好的滤波效果。常用数字滤波方法有限幅滤波、算术平均滤波、中值滤波及惯性滤波等。以下以单片机为CPU、8-bit A/D and D/A converter的PCF8591以及UA741。对含有干扰的正弦信号进行采样与惯性数字滤波进行实现。 1 惯性数字滤波 2 电路图 用Proteus绘制如下电路图 UA741将正弦信号S1与脉冲干扰信号S2混合,配置如上图所示,模拟产生含干扰的信号源,其输出信号Vin电平在0V-5V之间。 设置U3(V-) = -12V,U3(V+) = 12V。 3 算法实现代码 int Y[2]; int X; uchar adc_d; // 接受到的AD转换数据 uchar dac_d; // 要显示的DA转换数据 X=(uint)adc_d; //adc_d强制转换为无符号整形提高计算精度 Y[0]=X+A*(Y[1]-X)/100; //运用惯性数字滤波公式进行滤波计算输出值 /*限幅*/ if(Y[0]<0) { Y[0]=0; } else if(Y[0]>255) { Y[0]=255; } /*将滤波后的值赋给dac_d准备输出,并存入Y[1]*/ dac_d=Y[0]; Y[1]=Y[0];
取A = 10时 取A = 90时 取A=10和90观察滤波波形,说明惯性滤波器的时间参数τ越大滤波效果越好,但会造成相位滞后,且输出幅值会减小。 |
|
|
|
只有小组成员才能发言,加入小组>>
3263 浏览 9 评论
2944 浏览 16 评论
3443 浏览 1 评论
8955 浏览 16 评论
4036 浏览 18 评论
1079浏览 3评论
559浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
552浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2287浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1848浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 18:05 , Processed in 0.949073 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号