怎样滤掉50hz的交流干扰?
最近在做个adc处理的项目时,发现微波模块靠近交流时,就会产生干扰。原本一条直线的信号,变成了50hz的正弦波。/*
A、名称:递推平均滤波法(又称滑动平均滤波法)
B、方法:
把连续取得的N个采样值看成一个队列,队列的长度固定为N,
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则),
把队列中的N个数据进行算术平均运算,获得新的滤波结果。
N值的选取:流量,N=12;压力,N=4;液面,N=4-12;温度,N=1-4。
C、优点:
对周期性干扰有良好的抑制作用,平滑度高;
适用于高频振荡的系统。
D、缺点:
灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差;
不易消除由于脉冲干扰所引起的采样值偏差;
不适用于脉冲干扰比较严重的场合;
比较浪费RAM。
E、整理:shenhaiyu 2013-11-01
*/
int Filter_Value;
void setup() {
Serial.begin(9600); // 初始化串口通信
randomSeed(analogRead(0)); // 产生随机种子
}
void loop() {
Filter_Value = Filter(); // 获得滤波器输出值
Serial.println(Filter_Value); // 串口输出
delay(50);
}
// 用于随机产生一个300左右的当前值
int Get_AD() {
return random(295, 305);
}
// 递推平均滤波法(又称滑动平均滤波法)
#define FILTER_N 12
int filter_buf;
int Filter() {
int i;
int filter_sum = 0;
filter_buf = Get_AD();
for(i = 0; i < FILTER_N; i++) {
filter_buf = filter_buf; // 所有数据左移,低位仍掉
filter_sum += filter_buf;
}
return (int)(filter_sum / FILTER_N);
}
对于周期性较好的干扰采用滑动平均滤波很不错,比如50HZ工频干扰。 楼上高手,学习了,谢谢 50Hz很低的,你说你是微波,频率很高,高通就能过滤了
这是我用的AD滤波电路,供参考! 本帖最后由 zouzhichao 于 2016-4-28 22:19 编辑
int filter(int data)
{
#define filter_len 10
static int buffer = {0};
static int* buffer_p = (int*)buffer + (filter_len - 1);
static int sum = (filter_len >> 1);
sum -= *buffer_p;
*buffer_p-- = data;
sum += data;
if (buffer_p < buffer)
{
buffer_p += filter_len;
}
return sum / filter_len;
}
编辑原因:原代码有错误 高手,果断收藏,以后试试。 使用抗工频干扰的放大器做成跟随器滤波,效果不是一般的好。 有没有软件带通滤波? 雨雪随行 发表于 2016-6-21 07:47
有没有软件带通滤波?
有啊,你要么? kupica 发表于 2016-6-20 23:21
使用抗工频干扰的放大器做成跟随器滤波,效果不是一般的好。
有放大器型号么? 50Hz陷波器 luybpotter 发表于 2016-4-28 19:25
这是我用的AD滤波电路,供参考!
能说说原理吗?
大学实验之工频陷波器,应该好多这样的电路可用吧? weichao4808335 发表于 2016-6-21 08:09
有放大器型号么?
精密仪表放大器 zouzhichao 发表于 2016-6-21 07:53
有啊,你要么?
说错了 带阻滤波器 难道是对信号fft之后去掉部分然后再做三角函数? kupica 发表于 2016-6-21 15:52
精密仪表放大器
具个栗子, 写个型号出来
大家学习学习
谢谢 雨雪随行 发表于 2016-6-21 18:57
说错了 带阻滤波器 难道是对信号fft之后去掉部分然后再做三角函数?
不用这么麻烦,直接fir interstellar_tr 发表于 2016-6-21 19:49
具个栗子, 写个型号出来
大家学习学习
谢谢
仪表放大由于是差动放大,即两个输入端之差做放大,这样的放大器具有较高的共模抑制比,可以滤除大部分谐波干扰。仪表放大最典型的是AD620
我印象中AD623,的谐波抑制能力也非常强。 kupica 发表于 2016-6-22 17:41
仪表放大由于是差动放大,即两个输入端之差做放大,这样的放大器具有较高的共模抑制比,可以滤除大部分谐 ...
谢谢!
涨姿势了 luybpotter 发表于 2016-4-28 19:25
这是我用的AD滤波电路,供参考!
(引用自6楼)
没看懂怎么用,能讲讲原理吗
页:
[1]