现在的位置: 首页新闻正文

适合单片机实时处理的简单FIR滤波器设计

    近年来,心脏病的发病率不断上升,为了使病人能够随时随地得到诊治,科研人员研制了多种便携式移动心电监护设备。在研制便携式心电监护设备时,既要考虑使 用者携带及使用方便,又要保证采集到高质量的心电信号。解决这一矛盾的惟一途径就是用尽量优化的软、硬件资源来完成相应功能。心电信号的频率在0. 05~100 Hz之间,一个正常的心电图由P波、QRS波群、T波等组成。由频谱分析可知,QRS波群的中心频率在17 Hz带宽约为10 Hz,P波、T波等的频带都在此频带的低端以外[1]。心电信号采集过程中的噪声源主要有:50 Hz工频干扰及其各次谐波,呼吸运动和电极移动所产生的频率小于5 Hz的干扰,肌肉收缩产生的O~100 Hz肌电(EMG)噪声,用于信号处理的电子设备所产生的噪声等[2,3]。其中最明显的是50 Hz工频干扰及其各次谐波和由于呼吸运动所产生的频率小于5 Hz的干扰。要得到清晰、准确的心电信号,必须在不影响正常心电波形的基础上将这些干扰滤除。这就要求滤波器具有良好的幅频特性和严格的线性相位特性。本 文借助Matlab 7.0[4],采用窗函数法结合零、极点调整法[1]和试探法设计了一种滤除工频50 Hz干扰的FIR滤波器。
  2基本原理
  2.1 窗函数设计滤波器[6,7]原理简述
  设滤波器的理想频率响应函数为Hd(ejw),则其对应的单位脉冲响应为:
  窗函数法设计滤波器的基本原理就是用有限长度单位脉冲响应序列h(n)去逼近hd(n)。通常hd(n)是无限长序列,且是非因果的,所以用窗函数w (n)将hd(n)进行截断并作加权处理得到:
  h(n)=hd(n)w(n)
  h(n)就是实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为:
  其中,N为所选窗函数w(n)的长度。同时,如果要求滤波器具有线性相位特性,则h(n)必须满足:
  h(n)=±h(N-1-n)
  2.2方法改进及实现
  设计中选用FIR I型滤波器[8,9],即满足h(n)=+h(N-1-n)且N为奇数。选用Hamming窗对理想滤波器的单位脉冲响应进行截断,窗函数为:
  w(n)=0.54-0.46 cos(2nn/N),N=0,1,2,…,N-1
  按常规设计方法直接设计50 Hz FIR陷波器,要达到较好的滤波效果,滤波器的阶数较高且滤波器系数多为小数,不利于通用单片机进行实时处理。设定采样频率Fs=200 Hz,先用窗函数法设计一个低频特性较好的30 Hz低通滤波器,然后利用Matlab FDATOOL工具箱里的量化工具对滤波器的系数进行量化和调整。

在线咨询