50Hz工频噪声滤波问题,急!
现在遇到一个工频噪声滤波问题,以前没有做个信号处理,找了几天资料,还是困惑。急盼明白人给讲讲,多谢了。
已知:
欲用激光传感器,测量一个往复运动物体的位置信息。
激光传感器以400Hz的采样频率采集的信号,经过一个模拟信号调控器,传入到A/D转换卡中;
我用AD转换卡自带的函数库用VC编写信号采集程序,可以得到实时的信号(电压值);
经过分析,信号波形为15Hz周期信号,但是有50Hz的噪声干扰,影响后续计算。
我用书上介绍的“建立在极零点抵消基础上的简单整系数滤波器”方法,设计陷波滤波器。
租带范围为50Hz+/-2Hz,阻带尽量窄,通带尽量平。抽样频率为400Hz。
设计后得到,转移函数和频率响应:
到这里,我有些不明白,如果我想对实时采集的每一个信号数据,进行滤波,
我应该将这个信号数据代入到哪个公式中,才能完成滤波处理。
我想应该不能代入上面两个公式中。我还需要进行后续的哪些推导?
我现在比较困惑,希望大家能帮我讲解一下,感激不尽。 如果用labview编辑的话,实现带通滤波就很方便,框图一拉就出来了,采集板卡是PCI的吗,装个labview,用dll,波形、fft、滤波、生成报表都很方便。 首先表示感谢
Labview 做滤波器很好用,Matlab也有相关函数可以调用。
但是我做的这个滤波只是我所做实验的一个小环节,我需要实时的对信号数据做处理,
并且我还需要编程去控制其他的硬件,所以我现在只能用VC编程去实现滤波。
同样感谢你
回复 沙发 yuba25 的帖子
你能否看到Labview中滤波器的相关代码?如能,帮我贴过来,我研究研究,谢谢了。 可用自适应陷波器. 好的,我看一看。
我看胡广书的数字信号处理,有一节,专门讲的工频滤波,我是按照那个例子做的,
我主要是不太明白,得到转移函数和频率响应后,怎么对实时采集的每一个数据进行处理。
感谢
回复 5楼 songzy41 的帖子
你好我看了一下自适应滤波的相关资料,觉得我的这个实验,用个带通滤波或是低通滤波就可以完成。
我先前看的《数字信号处理(胡广书)》这本书里的关于50Hz工频信号滤波的例子,是想学会怎样自己设计一个适合我实验要求的滤波器,并用C/C++编译实现。
我对我的实验信号进行分析
目标采集信号的频率为10Hz--30Hz的正弦信号,采样频率为1000Hz,在实际采样中,混有60Hz的噪声信号,通过实验,这个60Hz的工频信号来源于计算机主机。除此之外还有很少一些小脉冲噪声的干扰。
我现在想设计一个10Hz--30Hz的带通滤波器,或是阻截止频率为35Hz的低通滤波器,对信号进行实时高速处理。
我按照书上的例子,进行设计,得到了转移函数H(z)和频率响应H(e jw),然后我就不知道该怎么进行下去了。我的想法是,应该可以推导出一个函数表达式,然后就可以编辑C/C++代码,将采集到的每一个数据信号代入这个表达式中,就可以得到一个滤波后的新数据。
我对滤波只知甚少,还请各位专业好友帮我解答一下,感谢。
回复 7楼 hurobot 的帖子
把式(8.3.24a)进行反z变换,就可以得到滤波器的系数,然后把输入信号与滤波器系数做卷积就可以了回复 8楼 xray 的帖子
多谢指教,我推导一下。
页:
[1]