王艳文岳学强.新乡医学院生物医学工程学院 河南新乡 453003 .新乡医学院基础医学院 河南新乡 453003
基于PM算法的数字微分器设计
王艳文1岳学强2
1.新乡医学院生物医学工程学院 河南新乡 453003 2.新乡医学院基础医学院 河南新乡 453003
本文利用PM算法实现了数字微分器的matlab设计,程序运行结果符合数字微分器的设计技术要求。
matlab;滤波器;数字微分器; PM算法
数字滤波是数字信号处理的基本方法,与模拟滤波器相比有很多优点,其精度高、成本低、稳定可靠性强、适应范围广,避免了模拟滤波固有的电压漂移、温度漂移和噪声等问题。数字滤波器包括有限长FIR(finite impulse response)滤波器和无限长IIR(infinite impulse response)滤波器。FIR数字滤波器幅频特性精度比IIR低,且滤波器所需阶次比较高,但是它拥有很好的线性相位特性,即不同频率分量的信号经过FIR滤波器后其时间差不变。
MATLAB是美国MathWorks公司推出的一套用于工程计算的可视化高性能语言与软件环境,是数字信号处理技术实现的重要手段。Matlab信号处理工具箱采用Parks-McClellan算法(简称PM算法)实现线性相位FIR数字滤波器的等波纹最佳一致逼近设计。与其他设计法相比,其优点是:设计指标相同时,使滤波器阶数最低;或阶数相同时,使带通最平坦,阻带最小衰减最大;通带和阻带均为等波纹形式,最适合设计片段常数特性的滤波器。本文采用PM算法实现数字微分器的设计。
根据研究任务,设计一个数字微分器,它在每段上具有不同的斜率。技术指标为:
第一段:0≤w≤0.2= 1 个样本/周期π 斜率
第二段:0.4π≤w≤0.6= 2 个样本/周期π 斜率
第三段:0.8π≤w≤π 斜率= 3 个样本/周期
该滤波器设计中每段上的幅度响应值,可由频率带边缘频率乘以斜率得到:
第一段:0≤f≤0.1 斜率= 1 个样本/周期→0≤|H|≤0.1
第二段:0.2≤f≤0.3 斜率= 1 个样本/周期→0.4≤|H|≤0.6
第三段:0.4≤f≤0.5 斜率= 1 个样本/周期→1.2≤|H|≤1.5
采用PM算法,设计程序如下:
由运行程序的滤波器脉冲响应和频域曲线(如图1所示)可以看出,所设计的数字微分器满足设计要求。
图1 运用PM算法设计的数字微分器的实际脉冲响应和频幅曲线图
利用MATLAB设计滤波器方法简单、快捷直观。本文采用PM算法,利用MATLAB设计了数字微分器,程序运行结果符合设计技术指标要求,取得了较理想的实验效果。
[1]祁才君.数字信号处理技术的算法分析与应用[M].北京:机械工业出版社,2005:24-25
[2]段佳佳.基于MAT LAB的FIR滤波器的设计.电子测试[J]. 2011:(8)19-21
[3]董长虹.Matlab信号处理与应用[M].北京:国防工业出版社,2005:118-124