� � � 自动化与仪器仪表
� � ZIDONGHUA YU YIQI YIBIAO 2004 年第 4 期(总第 114 期)
� � � 文章编号: 1001- 9227( 2004) 04- 0020- 03
陷波滤波器的设计及其应用
袁丽华 � 洪华松 � 漆新民
(南昌航空工业学院测控系 � 南昌, 330034)
摘 � 要:用 Keil C开发Atmel公司的AT89C55普通的单片机, 设计陷波滤波器, 使之在能够满足性能指标要求
的情况下很好的运行于低成本硬件,可以达到很好的经济效益。此滤波器可用在医疗设备(如监护仪)对病人状况
监视中,对采集的波形信号(如心电、血氧)加以滤波,以得到所需的波形从而进行辅助诊断。
关键词:单片机 � 陷波滤波器 � 数字滤波器
ABSTRACT: Using AT89C55 single chip microcomputer by Keil C program, this design develops a trap filter that can work
well meeting with demanding parameters in the low hardware that costs consumedly. This filter can be used in filtrating waveform
signals ( such as ECG) that are collected in medical equipment ( such as monitor device) when it make the surveillance to the pa�
tient� s condition, so as to help the diagnosis.
KEYWORDS: Single chip microcomputer � Trap filter � Digital filter
中图分类号: TP368. 1 文献标识码: B
0 � 引 � 言
本论文的设计,主要是为了医疗仪器(如医疗监护
仪)的波形作滤波处理,滤去干扰波, 获取主要的信息。
以普通单片机为硬件进行开发, 滤波器的运算量应尽
量减少,使之在能够满足性能指标要求的情况下很好
的运行于低成本硬件, 可以达到很好的经济效益。单
片机 选 择 Atmel 公 司 的 AT89C52, 时 钟 频 率 为
22�1184MHz,设计出的滤波器传输函数的阶次不能太
高,才可保证滤波的实时性;同时, 这一特点也利于滤
波器 的 设 计。 而 A/ D 转 换 器 选 用 型 号 为
MAX186BCWP,转换位数 12位。当然,该滤波器不仅可
以应用在医疗方面, 也可以应用在所有适用的场合中。
1 � 陷波滤波器的原理
当带阻滤波器的阻带很窄时, 又称为陷波滤波器。
陷波滤波器的设计是以模拟滤波器为原型, 通过一定
变换转换为数字滤波器。陷波滤波器的设计有两种:
一是先利用模拟频域带阻变换法, 再利用数字化法设
计数字带阻型滤波器。方法二是直接从模拟低通原型
滤波器通过 s平面变换成数字带阻滤波器的 z 平面。
这里选择第二种方法。
模拟低通到模拟带阻的变换关系为:
� � s= �
2
0P
P
2+ � 20 (1)
式中, s为模拟低通原型拉普拉斯变量( s= �+ j�) ,
p为模拟带阻的原型拉普拉斯变量( p= � + j� ) , � 0为模
拟带阻滤波器的几何中心频率。
通过双线性变换
� � p = 2f s z - 1
z+ 1
(2)
和
� � � 0= 2f s tan( �0/ 2) (3)
经推导可得:
� � s= D (1- z - 2)
1- Ez - 1+ z - 2
(4)
其中
� � D= �c tan �1- �22
� � E= 2cos
�1+ �2
2
cos
�1- �2
2
�c是模拟低通滤波器通带截止频率, 当采用归一
化原型的低通滤波器作为变换原型时, �c = 1。�1 和
�2分别是带阻数字滤波器两个通带的截止频率。
求满足数字带阻滤波器要求的归一化原型模拟低
通滤波器的阻带起始频率 �st , 令 s= j�, z= ej�代入式
( 4)经推导可得
� � �s t= D sin�stcos�s t- E / 2 ( 5)
20
因此在确定了阶数 n后, 用式( 4)代入模拟滤波器
的传递H( s)函数而得到数字带阻滤波器H( z)。
2 � 陷波滤波器的设计
设待设计的数字陷波滤波器的性能指标为: 通带
的截止频率分别为 49Hz和 51Hz, 其增益为- 3dB,阻带
截止频率都为 50Hz,其增益为- 47dB。
采用巴特沃斯低通滤波器得 n!0. 983 677, 取整数
n= 1, 1阶巴特沃斯模拟低通滤波器即可满足。查表可
得传输函数为:
H ( s )=
1
1+ s (6)
将式(4)代入式( 6)可得 2阶巴特沃斯数字陷波滤
波器传输函数:
H ( z )=
0. 975478- 0. 603069z - 1+ 0. 975478z - 2
1- 0. 603069z - 1+ 0. 950957z - 2
(7)
频率传递函数是:
H( �)= 0. 975478- 0. 603069�
- 1
+ 0. 975478�- 2
1- 0. 603069�- 1+ 0. 950957 �- 2 (8)
其幅频特性| H ( �) |如图 1所示。
图 1� 50Hz 陷波滤波器形状
同样的方法可设计 60Hz 陷波滤波器。
传递函数为:
H( z ) =
0. 975478- 0. 122540z
- 1
+ 0. 975478z
- 2
1- 0. 122540z
- 1
+ 0. 950957z
- 2 (9)
频率传递函数是:
H( �)= 0. 975478- 0. 603069�
- 1
+ 0. 975478�- 2
1- 0. 603069�- 1+ 0. 950957 �- 2 (10)
其幅频特性| H ( �) | 如图 2所示。这两种情况的
性能参数参见表 1。
图 2� 60Hz 陷波滤波器形状
表 1� 陷波滤波器参数
通带 � � � � � � � 最大增益 阻带截止频率
截止频率 fp1 � 增益 截止频率 f p2 � 增益 � � 0dB f s1= f s2 � � 增益
50Hz 49Hz � - 3dB 51Hz � - 3dB � 0dB 50Hz � - 47dB
60Hz 59Hz � - 3dB 61Hz � - 3dB � 0dB 62Hz � - 62dB
3 � 陷波滤波器的应用
单片机为 Atmel公司的 AT89C55, 与 Intel的 80C32
兼容, 具有 20k Flash Memory 可擦除程序存储器, 256
Bytes内部RAM。由于滤波数据处理量较大,而且需要
保存数据, 因此必须扩展外部数据存储器。用 6264作
为外部扩展数据 RAM, 有 8k Byte。A/ D 转换器选用
MAX186,转换位数 12位。另外还需要 74HC573地址锁
存器和复位电路, 这里用 MAX813L WatchDog 作为复位
电路来产生复位信号。对单片机的编程,以前是直接用
汇编程序编程。但汇编语言不是结构化程序语言,编写
效率不高, 而且可读性和可移植性不好。而现在在单片
机编程中越来越多的采用 C语言编程从而大大缩短了
单片机系统的开发周期。Keil C 是目前最流行的 C51
编译器。它与 C 语言完全兼容, 而且能产生极高速度
和及其简洁的代码。
把前面所得到的滤波器烧录到单片机上运行,就可
以起到滤去陷波的作用。比如,在 20Hz 正弦波中人为
加入了 50Hz的干扰,通过陷波滤波器,滤波后得到的波
形基本上滤去了干扰, 如图 3的滤波器效果对照图所
示。在医学上心电图使用的频率较高,假设心电波形受
到 60Hz严重干扰, 可经 25Hz 低通滤波和 50Hz陷波滤
波器滤波后得到的清晰的波形。如图 4 的滤波器效果
对照图所示。
图 3� 受 50Hz 工频干扰的 20Hz 波形及陷波器滤波后波形
图 4� 受到 60Hz 严重干扰的心电波形及低通滤波器波后波形
21
4 � 结论
使用交流电源或者由于外界原因, 所需信号不可避
免的会受到高频或低频信号干扰, 有时使信号严重失
真,因此必须滤波。本设计使用 AT89C55单片机,设计
25Hz、40Hz低通滤波器及 50Hz、60Hz 陷波滤波器,分别
滤除高于 25Hz及 40Hz的频率以及 50Hz(国外如日本、
北美为 60Hz)的工频干扰而得到低频信号。以巴特沃
思型模拟低通滤波器为模型, 应用双线性变换法得到
一个低阶传递函数, 从而不需要用到专用 DSP 处理器,
可以大大降低硬件成本。低通滤波器过渡带为 40Hz左
右,阻带最大增益为- 20dB。工频陷波滤波器过渡带可
小至 1Hz,阻带最大增益为- 50dB左右。
此滤波器可用在医疗设备(如监护仪)对病人状况
监视中,对采集的波形信号(如心电、血氧)加以滤波,
以得到所需的波形从而进行辅助诊断。
参考文献
1 � Vegte, JV. fundamentals of Digital Signal Processing. Pearson Edu�
cation, Inc. , 2002. 侯正信等译. 数字信号处理基础. 北京:
电子工业出版社, 2003. 1
2� 张友德等. 单片微型机原理、应用与实验(第三版) . 上海:复
旦大学出版社, 2000. 1
3 � 贾智平. 微机原理与接口技术. 北京:中国水利水电出版社,
1999. 9
4 � 李广军等. 实用接口技术. 成都: 电子科技大学出版社,
1998. 2
(上接第 5页)
下面将阐述在开发中需要注意的几个问题和技术
处理。
( 1) PLC 程序分别处理与 PC 机和触摸屏的应答,
分两个子程序, 通过一个标志位设定执行哪个子程序
并设置端口通讯协议制定为自由模式(远程控制)还是
非自由模式(本地控制)。
(2) 在不同的控制模式下, 电压处理方法不同, 在
远程模式下, 因 PLC要处理通讯事件因而将电压处理
交给 PC机,在本地控制模式下, PLC才作电压处理。
( 3) 从实际要求和安全性考虑, 程序开始发送 2kV
对应的电压值, 退出时发送 0kV对应的电压值,其中涉
及到发送对应的电压值以及增加电压的步进, 是实际
中测出的。
( 4) 在发送完电压值, 接收反馈的直流高压电压
时,必须使用延时。VB可以利用 Sleep函数或者是空循
环, PLC使用计时器Ton延时。
( 5) 因为系统要求不断的读取实际的输出电压值
和锁状态, 因而在必须使用 DoEvent 函数将操作权交给
系统处理。
(6) 在电压处理时, 因仪器硬件原因, 要发送负电
压值, 直流高压显示才能达到充电电压设置值, 因而要
注意对电压值符号位的处理,在此用一标志设置正( Asc
( ∀ P#)、负(Asc( ∀ N#)电压值。此外 SMB2寄存器按字节
存放, 最大的数为 255,对大于 255的电压, 除以 256后
按两个字节发送。比如发送- 276v,发送的数据区字节
为(Asc( ∀ N#) , 1, 20) ,而接收的输出电压只有正值,因而
无须设置正、负标志,只对数据大小处理。
3 � 结束语
本系统使用 PLC作仪器内部控制元件是因为其抗
干扰能力较单片机强,触摸屏作为仪器面板比传统的按
钮面板界面更加友好,与 PLC 能有机的结合实现控制。
该系统的软件开发已通过调试,系统运行成功。
参考文献
1 � 廖常初. PLC编程及应用. 北京: 机械工业出版社, 2002
2� 西门子四川技术服务部. SIMATIC S7- 200 可编程序控制器
系统手册. 四川机械研究设计院. 2000
3� 晶辰工作室. Visual Basic 6. 0 中文实用参考手册. 北京 :电子
工业出版社, 1999
4 � 深圳人机电子有限公司技术部. EasyBuild 500 使用手册. 深
圳:深圳人机电子有限公司
22