h
石 油 仪 器
3
3
3
3
3
3
3
3
3
3
3
·81·
·开发设计·
PETROL EUM INSTRUMENTS
2007 年 08 月
基于 MATLAB 最小相位
数字滤波器的设计方法研究
雷于红 刘益成
(长江大学电子信息学院 湖北 荆州)
摘 要 : 数字滤波技术是数字信号处理中的一个重要环节 ,滤波器的设计是信号处理的核心问题之一 。文章根据最
小相位原理 ,提出了 MATLAB 环境下 FIR 最小相位滤波器设计方法 ,在该方法中将滤波器传递函数的零点全部归一到
单位圆内 。文章给出了设计实例 ,其仿真结果表明设计的各项性能指标均达到了指定要求 ,设计过程简便易行 。
关 键 词 : FIR 滤波器 ; 最小相位 ; MATLAB 仿真
中图法分类号 : TN911. 72 文献标识码 : B 文章编号 : 1004
9134 (2007) 04
0018
03
0 引 言
在数字信号处理中 ,数字滤波器占有极其重要的
地位 ,具有滤波精度高 、稳定性好 、灵活性强等优点 。
数字滤波器是由数字乘法器 、加法器和延时单元组成
的一种装置 ,它是一个离散时间系统 ,其基本工作原理
是利用离散系统特性对系统输入信号进行加工和变
换 ,改变输入序列的频谱或信号波形 ,让有用频率的信
号分量通过 ,抑制无用的信号分量输出 。数字滤波器
以冲激响应延续长度 ,可分为两类 : FIR 滤波器 (有限
冲激响应滤波器) 和 IIR 滤波器 (无限冲激响应滤波
器) 。最小相位数字滤波器是一种可逆滤波器 ,在电子
信息及许多仪器中被广泛应用 。随着电子计算机技术
和大规模集成电路的发展 ,数字滤波器可用大规模集
成数字硬件实时实现 ,也可用计算机软件实现 。本文
主要介绍如何在 MATLAB 环境下设计和实现 FIR 最
小相位数字滤波器 。
1 FIR 滤波器基本原理 1
设 h ( n) ( n = 0 ,1 ,2 , …, n - 1) 为滤波器的冲激响
应 ,输入信号为 x ( n) ,则滤波器就是要实现下列差分
方程 :
n - 1
h ( k) x ( n - k)
y ( n) = ∑
式 (1) 就是滤波器的差分方程 。滤波器的最主要
的特点是没有反馈回路 ,因此它是无条件稳定系统 ,它
(1)
k = 0
的单位脉冲响应 h ( n) 是一个有限长序列 。由上面的
方程可知 ,滤波算法实际上是一种乘法累加运算 ,它不
断地输入样本 x ( n) , 经延时 ( Z - 1) , 做乘法累加 , 再
输出滤波结果 y ( n) , 对式 (1) 进行变换 , 整理后可得
滤波器的传递函数为 :
H ( z) = ∑
Z - k
(2)
n - 1
k = 0
由式 (2) 可以得到 FIR 滤波器的结构如图 1 所示 。
图 1 FIR 滤波器的结构
2 实现最小相位方法 2
若序列 Z 变换的所有零点都在 Z 平面的单位圆
内 ,则称该序列为最小相位序列 。
若序列 a = { a0 , a1 , …, aM } 为最小相位序列 , 记
a 的倒序序列为 aR = { aM , aM - 1 , …a0} ,则有共轭系
数多项式 :
+ a1
+ a1
( z) = a0
( z) = a0
A
共轭反射多项式 :
A
共轭倒序多项式 :
A R ( z) = aM
它们的关系为 :
z - 1 + … + aM
z - M
z + … + aM
zM
(3)
(4)
+ aM - 1
z - 1 + … + a0
z - M
(5)
第一作者简介 : 雷于红 ,女 ,1983 年生 ,2005 年长江大学本科毕业 ,现在长江大学电子信息学院攻读硕士研究生 ,主要从事信号处理和嵌入式系统
的研究。邮编 :434023
2007 年 第 21 卷 第 4 期 雷于红等 :基于 MATLAB 最小相位数字滤波器的设计方法研究
·91·
A R ( z) = z - M
| A (ω) | 2 = |
A ( z) = z - MA
A (ω) | 2 = | A
( z - 1)
(6)
(ω) | 2 = | A R (ω) | 2
(7)
式 (6) 说明 ,若 A ( z ) 的零点为 z , 则 A R 的零点为
就在单位
) 。如果 zi 中某点在单位圆外 , 1/ zi
(1/ zi
圆内了 。
由式 (7) 可见 ,根据幅度谱不能区分序列 a 和 aR 。
由于任何 M 阶多项式可分解成 M 个因子的乘积 , 即
具有 M 个根 , 若将任意一因子 (1 - zi , z - 1) 共轭倒序
为 ( - zi
+ z - 1) ,则可得到一新的多项式或新的序列 ,
但其幅度谱不变 。对于 M 个因子的乘积 , 总共可作
2 M 次不同的组合 ,故总共有 2 M 个新的序列 ,它们都具
有相同的幅度谱 。
FIR 滤波器的传递函数如果有零点在单位圆外 ,
可以通过共轭倒序的办法把零点归一化到单位圆内 ,
同时不影响幅度的变化 。
3 FIR 最小相位滤波器设计方法
数字滤波器的实现方法一般有以下几种 :
(1) 采用加法器 、乘法器 、延时器设计专用的滤波
电路 。
(2) 在通用计算机系统中加上专用的加速处理机
设计实现 。
(3) 用通用的可编程 DSP 芯片实现 。
(4) 用专用的 DSP 芯片实现 。在一些特殊的场
合 ,要求的信号处理速度极高 ,用通用 DSP 芯片很难
实现 。这种芯片将相应的滤波算法在芯片内部用硬件
实现 ,无需进行编程 。
(5) 计算机辅助设计方法 (MATLAB 软件环境) 实
现 3 。
计算机辅助设计方法是集电路理论 、网络图论 、数
值分析 、矩阵运算 、元件建模 、优化技术 、高级计算机语
言等多交叉学科于一身的新领域 ,它把计算机的快速 、
高精度 、大存储容量 、严格的逻辑判断和优良的数据处
理能力与人的思维创造能力充分结合起来 ,极大地简
化了数字滤波器的设计过程 。在优秀科技应用软件
MATLAB 的信号处理工具箱中 ,提供了一整套模拟 、数
字滤波器的设计命令和运算函数 ,方便准确 、简单易
行 ,使得设计人员除了可按上述传统设计步骤快速地
进行较复杂高阶选频滤波器的计算 、分析外 ,还可通过
原型变换法直接进行各种典型数字滤波器设计 ,即应
用 MATLAB 设计工具从模拟原型直接变换成满足原
定频域指标要求的数字滤波器 。此外 ,MATLAB 软件
还提供了强大的数字滤波器优化设计功能 。即预先确
定一种最佳设计准则 ,然后直接求得在该准则下滤波
器系统的传递函数 。这种最优设计方法可方便地用于
任意幅频特性要求的滤波器系统的设计 。
3. 1 滤波器实现步骤
(1) 确定技术指标
在设计一个滤波器之前 ,必须首先根据工程实际
的需要确定滤波器的技术指标 。指标的形式一般在频
域中给出幅度和相位响应 。
(2) 逼近
确定了技术指标后 ,就可以建立一个目标的数字
滤波器模型 (通常采用理想的数字滤波器模型) 。之
后 ,利用数字滤波器的设计方法 (窗函数 、频率采样
法) ,设计一个实际滤波器模型来逼近给定的目标 。
(3) 性能分析和计算机仿真
上两步的结果是得到以差分 、系统函数或冲激响
应描述的滤波器 ,根据这个描述就可以分析其频率特
性和相位特性 ,以验证设计结果是否满足指标要求 ;或
者利用计算机仿真实现设计的滤波器 ,再分析滤波器
结果进行判断 。
3. 2 MATLAB 软件滤波器实现
最小相位数字滤波器是数字地震观测中经常用到
的滤波器 ,现代地震数据采集器中就预置有这种滤波
系统供用户选用 ,其滤波器阶数高 ,要达到最小相位 ,
必须通过仿真达到实际应用的要求 。
现需一截止频率为 0. 25 Hz ,阶数为 25 阶的 FIR
滤波器 ,利用最小相位共轭原理设计成最小相位滤波
器 ,其实现的 MATLAB 程序语言如下 :
b = fir1 (25 ,0. 25) ;
freqz (b ,1 ,512) ;
figure (1) ;
num = 1 ;
den = b ;
z ,p ,k = tf2zp (num ,den) ;
N = length (p) ;
for i = 1 :N ;
p1 (i) = abs (p (i) )
if p1 (i) > 1 ,
p (i) = 1/ conj (p (i) ) ;
end
end
num ,den = zp2tf
b1 = den ;
freqz (b1 ,1 ,512)
figure (2)
subplot (2 ,1 ,1) ;
subplot (2 ,1 ,2)
(z ,p ,k) ;
3. 3 实验结果说明
由图 2 所示的结果可以知道 ,最初的滤波器的传
·02·
石 油 仪 器
PETROL EUM INSTRUMENTS
2007 年 08 月
输函数的零点有的在单位圆外 ,不满足我们的要求 ,经
过图 3 共轭倒序处理后 ,所有的零点归一到单位圆内
了 ,满足最小相位滤波器的传递函数要求 。同时通过
图 2 、图 3 可以看到 ,他们的幅频特性中幅度没有改
变 ,只是相位发生了变化 。最小相位滤波器是因果滤
波器 ,它保证了滤波器的瞬态响应波形绝对无“前缀”,
这正是以震相判读分析为主要用途的地震观测所需的
特征 。它的幅频特性的通带 ,过渡带和阻带均能满足
去假频的要求 ;图 3 比图 2 所表示相频特性的滤波器
带来更小的波形失真 ,减小了影响震源位置的精确测
定的误差 。在区域地震台网和地方地震台网中均应选
用最小相位滤波器 ,以满足实际的标准要求 。
图 2 最初的滤波器的幅频特性和相频特性
4 结束语
数字滤波器的应用广泛 ,利用 MATLAB 语言 ,可
以较容易地设计出滤波器 ,且滤波器的调整也较方便 。
本文研究了一种最小相位滤波器的设计方法 ,基于最
小相位系统的共轭倒序系数 ,针对给定的滤波器的阶
数和截止频率 ,即可得出滤波器传输函数的零点 ,然后
通过共轭倒序的方法把零点归一到单位圆内 ,仿真结
果表明了这种设计方法的有效性 ,达到了滤波器设计
的最优化 。
参 考 文 献
1 刘益成. 数字信号处理 M . 北京 : 电子工业出版社 ,
2004
2 Sanjit K. Mitra . Digital Signal Processing - A Computer -
Based Approach ,Second Edition ,Mc Graw - Hill ,2001
3 陈亚勇. MATLAB 信号处理详解 M . 北京 :人民邮电出
版社 ,2001
图 3 经过共轭倒序后的滤波器的幅频特性和相频特性
(收稿日期 :2007 - 03 - 04 编辑 : 刘雅铭)
(上接第 17 页)
4 结束语
该仪器设计完成后在井深约 2 000 m 的港西 82
井进行了组合伽马测井试验 ,地面接收到的伽马测井
数据正确 ,误码率低 ,无异常现象 。
1) 设计的仪器完全符合小型化的需要 ,其短节的
长度由原来的 156. 21 cm 缩短为 101. 6 cm , 该短节
比 PCM3506 短节缩短了 54. 61 cm 。
2) 电路简洁 ,具有智能化的优点 ,功耗低 。
3) 该仪器在 200 ℃~230 ℃高温条件下能够连续
工作 4 h~5 h ,满足深井测井的要求 。
此设计增加了该仪器的技术含量 ,节约了成本 ,实
现了国产化 ,也提高了效益 。
参 考 文 献
1 胡 澍. 地球物理测井仪器 M . 北京 :石油工业出版
社 ,1989
2 张礼维. CLS 声波测井仪 M . 西安 :西安电子科技大学
出版社 ,1996
3 张礼维. CLS 地面数据采集系统 M . 西安 :西安电子科
技大学出版社 ,1996
4 胡尔佩. 数控测井系统技术基础 M . 北京 :石油工业出
版社 ,1995
(收稿日期 :2007 - 01 - 13 编辑 : 高红霞)