hurobot 发表于 2009-6-25 21:34

50Hz工频噪声滤波问题,急!

现在遇到一个工频噪声滤波问题,以前没有做个信号处理,找了几天资料,还是困惑。

急盼明白人给讲讲,多谢了。

已知:
欲用激光传感器,测量一个往复运动物体的位置信息。
激光传感器以400Hz的采样频率采集的信号,经过一个模拟信号调控器,传入到A/D转换卡中;
我用AD转换卡自带的函数库用VC编写信号采集程序,可以得到实时的信号(电压值);
经过分析,信号波形为15Hz周期信号,但是有50Hz的噪声干扰,影响后续计算。

我用书上介绍的“建立在极零点抵消基础上的简单整系数滤波器”方法,设计陷波滤波器。
租带范围为50Hz+/-2Hz,阻带尽量窄,通带尽量平。抽样频率为400Hz。

设计后得到,转移函数和频率响应:



到这里,我有些不明白,如果我想对实时采集的每一个信号数据,进行滤波,
我应该将这个信号数据代入到哪个公式中,才能完成滤波处理。

我想应该不能代入上面两个公式中。我还需要进行后续的哪些推导?

我现在比较困惑,希望大家能帮我讲解一下,感激不尽。

yuba25 发表于 2009-6-26 10:29

如果用labview编辑的话,实现带通滤波就很方便,框图一拉就出来了,采集板卡是PCI的吗,装个labview,用dll,波形、fft、滤波、生成报表都很方便。

hurobot 发表于 2009-6-26 10:53

首先表示感谢

Labview 做滤波器很好用,Matlab也有相关函数可以调用。

但是我做的这个滤波只是我所做实验的一个小环节,我需要实时的对信号数据做处理,
并且我还需要编程去控制其他的硬件,所以我现在只能用VC编程去实现滤波。

同样感谢你

hurobot 发表于 2009-6-26 10:56

回复 沙发 yuba25 的帖子

你能否看到Labview中滤波器的相关代码?

如能,帮我贴过来,我研究研究,谢谢了。

songzy41 发表于 2009-6-26 10:58

可用自适应陷波器.

hurobot 发表于 2009-6-27 11:18

好的,我看一看。

我看胡广书的数字信号处理,有一节,专门讲的工频滤波,我是按照那个例子做的,

我主要是不太明白,得到转移函数和频率响应后,怎么对实时采集的每一个数据进行处理。

感谢

hurobot 发表于 2009-6-29 09:35

回复 5楼 songzy41 的帖子

你好

我看了一下自适应滤波的相关资料,觉得我的这个实验,用个带通滤波或是低通滤波就可以完成。

我先前看的《数字信号处理(胡广书)》这本书里的关于50Hz工频信号滤波的例子,是想学会怎样自己设计一个适合我实验要求的滤波器,并用C/C++编译实现。

我对我的实验信号进行分析

目标采集信号的频率为10Hz--30Hz的正弦信号,采样频率为1000Hz,在实际采样中,混有60Hz的噪声信号,通过实验,这个60Hz的工频信号来源于计算机主机。除此之外还有很少一些小脉冲噪声的干扰。

我现在想设计一个10Hz--30Hz的带通滤波器,或是阻截止频率为35Hz的低通滤波器,对信号进行实时高速处理。

我按照书上的例子,进行设计,得到了转移函数H(z)和频率响应H(e jw),然后我就不知道该怎么进行下去了。我的想法是,应该可以推导出一个函数表达式,然后就可以编辑C/C++代码,将采集到的每一个数据信号代入这个表达式中,就可以得到一个滤波后的新数据。

我对滤波只知甚少,还请各位专业好友帮我解答一下,感谢。

xray 发表于 2009-6-29 09:44

回复 7楼 hurobot 的帖子

把式(8.3.24a)进行反z变换,就可以得到滤波器的系数,然后把输入信号与滤波器系数做卷积就可以了

hurobot 发表于 2009-6-30 10:36

回复 8楼 xray 的帖子

多谢指教,我推导一下。
页: [1]
查看完整版本: 50Hz工频噪声滤波问题,急!