问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ad滤波器怎么找

发布网友 发布时间:2023-02-07 15:44

我来回答

1个回答

热心网友 时间:2024-11-17 16:29

1.新建工程,新建原理图

2.在原理图界面,【DG】》【Filter】,弹出滤波器选择窗口,点击第一项

弹出新的滤波器设计窗口

2.单击

在刚建立的原理图元件库弹出

3.选择双端口低通滤波器,添加到原理图中,按esc结束

4.回到滤波器设计向导,操作如图

5.选择Filter Assistant,如图

6.响应类型

7.设置如图,刷新后响应曲线如图

8.点击【Design】,系统自动生成集总参数滤波器

9.返回原理图,双击滤波器模型,查看参数

10.单击【CO】,选中【SA】,勾选【Display...】,结果如图

11.查看子电路,选中滤波器模型,单击如图,子电路如图

12.回到设计向导,单击【SA】,起始步长设置如图,单击Simulate仿真

14.至此,一个集总参数低通滤波器设计完成近用mega8做一个AD转换,一开始滤波马马虎虎带过,结果数据跳的不行

最后还得做滤波:1.硬件滤波2.软件滤波

硬件————————

采样口到AD口之间要加滤波电路,最简单的RC滤波也可,串个1K的电阻,下拉一个30pF的电容,有条件的可以做有源的,加个电压跟随。AVCC口一定要串10mH的电感,最好是扼流圈,直流电阻要小!再接100nF的电容到地。总之,这块一定要按datasheet来做。

对了,绝对不要用内部基准!不准。

为了减小数字电路部分对AD的噪声,两路电路一点共地,这很重要。

软件—————————

软件滤波的方法很多,以下方法来自匠人!

1、限幅滤波法(又称程序判断滤波法)
A、方法:
根据经验判断,确定两次采样允许的最大偏差值(设为A)
每次检测到新值时判断:
如果本次值与上次值之差<=A,则本次值有效
如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
B、优点:
能有效克服因偶然因素引起的脉冲干扰
C、缺点
无法抑制那种周期性的干扰
平滑度差

/*A值可根据实际情况调整
value为有效值,new_value为当前采样值
滤波程序返回有效的实际值*/
#define A 10
char value;

charfilter()
{
char new_value;
new_value = get_ad();
if ( ( new_value - value >A ) || ( value - new_value > A )
return value;
return new_value;

}

2、中位值滤波法
A、方法:
连续采样N次(N取奇数)
把N次采样值按大小排列
取中间值为本次有效值
B、优点:
能有效克服因偶然因素引起的波动干扰
对温度、液位的变化缓慢的被测参数有良好的滤波效果
C、缺点:
对流量、速度等快速变化的参数不宜

/*N值可根据实际情况调整
排序采用冒泡法*/
#define N 11

charfilter()
{
char value_buf[N];
char count,i,j,temp;
for ( count=0;count<N;count++)
{
value_buf[count] = get_ad();
delay();
}
for (j=0;j<N-1;j++)
{
for(i=0;i<N-j;i++)
{
if ( value_buf[i]>value_buf[i+1] )
{
temp = value_buf[i];
value_buf[i] = value_buf[i+1];
value_buf[i+1] = temp;
}
}
}
return value_buf[(N-1)/2];
}

3、算术平均滤波法
A、方法:
连续取N个采样值进行算术平均运算
N值较大时:信号平滑度较高,但灵敏度较低
N值较小时:信号平滑度较低,但灵敏度较高
N值的选取:一般流量,N=12;压力:N=4
B、优点:
适用于对一般具有随机干扰的信号进行滤波
这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
C、缺点:
对于测量速度较慢或要求数据计算速度较快的实时控制不适用
比较浪费RAM

#defineN 12

charfilter()
{
int sum = 0;
for (count=0;count<N;count++)
{
sum + = get_ad();
delay();
}
return (char)(sum/N);
}

4、递推平均滤波法(又称滑动平均滤波法)
A、方法:
把连续取N个采样值看成一个队列
队列的长度固定为N
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
B、优点:
对周期性干扰有良好的抑制作用,平滑度高
适用于高频振荡的系统
C、缺点:
灵敏度低
对偶然出现的脉冲性干扰的抑制作用较差
不易消除由于脉冲干扰所引起的采样值偏差
不适用于脉冲干扰比较严重的场合
比较浪费RAM

#defineN 12

charvalue_buf[N];
char i=0;

charfilter()
{
char count;
intsum=0;
value_buf[i++] = get_ad();
if ( i == N ) i = 0;
for (count=0;count<N,count++)
sum =value_buf[count];
return (char)(sum/N);
}

5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
A、方法:
相当于“中位值滤波法”+“算术平均滤波法”
连续采样N个数据,去掉一个最大值和一个最小值
然后计算N-2个数据的算术平均值
N值的选取:3~14
B、优点:
融合了两种滤波法的优点
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
C、缺点:
测量速度较慢,和算术平均滤波法一样
比较浪费RAM

#defineN 12

charfilter()
{
char count,i,j;
charvalue_buf[N];
int sum=0;
for(count=0;count<N;count++)
{
value_buf[count] = get_ad();
delay();
}
for (j=0;j<N-1;j++)
{
for(i=0;i<N-j;i++)
{
if ( value_buf[i]>value_buf[i+1] )
{
temp = value_buf[i];
value_buf[i] = value_buf[i+1];
value_buf[i+1] = temp;
}
}
}
for(count=1;count<N-1;count++)
sum += value[count];
return (char)(sum/(N-2));
}

6、限幅平均滤波法
A、方法:
相当于“限幅滤波法”+“递推平均滤波法”
每次采样到的新数据先进行限幅处理,
再送入队列进行递推平均滤波处理
B、优点:
融合了两种滤波法的优点
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
C、缺点:
比较浪费RAM

/*
*/
略参考子程序1、3

7、一阶滞后滤波法
A、方法:
取a=0~1
本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
B、优点:
对周期性干扰具有良好的抑制作用
适用于波动频率较高的场合
C、缺点:
相位滞后,灵敏度低
滞后程度取决于a值大小
不能消除滤波频率高于采样频率的1/2的干扰信号

/*为加快程序处理速度假定基数为100,a=0~100*/

#definea 50
char value;

charfilter()
{
char new_value;
new_value = get_ad();
return (100-a)*value +a*new_value;
}

8、加权递推平均滤波法
A、方法:
是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
通常是,越接近现时刻的数据,权取得越大。
给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
B、优点:
适用于有较大纯滞后时间常数的对象
和采样周期较短的系统
C、缺点:
对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
不能迅速反应系统当前所受干扰的严重程度,滤波效果差

/*coe数组为加权系数表,存在程序存储区。*/

#defineN 12

charcode coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12};
char code sum_coe =1+2+3+4+5+6+7+8+9+10+11+12;

charfilter()
{
char count;
charvalue_buf[N];
int sum=0;
for(count=0,count<N;count++)
{
value_buf[count] = get_ad();
delay();
}
for(count=0,count<N;count++)
sum+= value_buf[count]*coe[count];
return(char)(sum/sum_coe);
}

9、消抖滤波法
A、方法:
设置一个滤波计数器
将每次采样值与当前有效值比较:
如果采样值=当前有效值,则计数器清零
如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
如果计数器溢出,则将本次值替换当前有效值,并清计数器
B、优点:
对于变化缓慢的被测参数有较好的滤波效果,
可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
C、缺点:
对于快速变化的参数不宜
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统

#defineN 12

charfilter()
{
char count=0;
charnew_value;
new_value = get_ad();
while (value !=new_value);
{
count++;
if (count>=N) return new_value;
delay();
new_value = get_ad();
}
return value;
}

10、限幅消抖滤波法
A、方法:
相当于“限幅滤波法”+“消抖滤波法”
先限幅,后消抖
B、优点:
继承了“限幅”和“消抖”的优点
改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统
C、缺点:
对于快速变化的参数不宜
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 压力的一阶滞后有什么用? prtsc截图没反应 手机没绑定银行卡能红包吗? 醋加五立黑豆会减肥吗 吃啥牌子的冰淇淋不担心发胖呢? 火龙果奶油冰激凌——消暑减肥 2021年农历二月初三黄历宜忌详解 这天日子好不好 2021年农历二月十三黄历宜忌详解 这天日子好不好 室外楼梯零度倒角用瓷砖可以吗 做包皮手术多久可以恢复 做了包皮手术已经第23天了,龟头多久可以度过敏感度,多久可以夫妻生活... 牙膏为什么是一条条白线? 福清无烟灶店在哪里 宁乡市有砌柴火无烟灶的吗 天王表属于什么档次?质量好吗? 打豆浆放银耳好吗 原油期货在哪里交易 期货原油买是不是合法的? 易方达原油跟踪哪个原油 为什么1月份美原油连续的价格是3月份合约的价格 数字滤波器设计及工程应用的目录 一阶传递函数的滤波时间怎么算 微信不绑定银行卡可以收或者发红包吗? 如果水银误入口中怎么办~~会对人体有伤害吗?比如说水银的大小和水珠一... 王者营地删除访客记录对方还能看见吗? 水银会挥发吗,怎么处理呢? 华为手机开不了机修了cpu后快充没了怎么办 手机不能进行快充了怎么办 手工课用的花布是什么 冬至水温10--20的鲤鱼用什么饵料 现在十度左右,用啥能钓草鱼鲤鱼昌鱼青鱼? 鳝鱼一天能吃多少 阿果的树洞和蜜雪冰城同一家吗 海之谣阿果被谁强的 南京森林警察学院真的有自考本科吗? 南京森林警察学院自考本科怎么样?有用吗? 请问南京师范大学中北学院自考本科文凭国家承认吗? 黄鳝发臭能吃吗 改变生命从改变心开始! 改变生命改变心