摘
着信息化推进数字信号处理位作变越越重信息化基础数字化数字化核心技术数字信号处理数字滤波器需进行数字信号处理许系统中起着重作实际语音处理设备图处理设备数字通信系统等种系统中数字滤波器
进行DSP系统设计时先采MATLAB等算法进行仿真确定佳算法参数利MATLAB信号处理工具箱直接设计数字滤波器建立模拟原型离散化设计数字滤波器
文深刻理解数字滤波器基础充分利MATLAB强信号处理功IIR数字滤波器进行设计IIR数字滤波器设计程中文介绍IIR数字滤波器特点结构设计原理MATLAB中实现
关键词:IIR数字滤波器数字信号处理(DSP)MATLAB
Design Of IIR Digital Filter Based On MATLAB
Author Tutor
Abstract
Along with the information advancement the digital signal processing status and the function changes more and more importantly Because the information foundation is the digitization but the digitized core technology is the digital signal processing In fact the pronunciation handling equipment the picture handling equipment and the digital communication system and so on in each kind of system all uses the digital fil
ter
When we design DSP systemusually used for such MATLAB simulation algorithm so that best algorithms and parameters can be determined.The digital filter can be designed and the analog filter model can be built by signal processing toolbox of MATLAB.This paper introduces design principle of digital filterprocedures and rea1ization with MATLAB
This article in the profound understanding numeral filter foundation fully uses the MATLAB formidable signal processing function carries on the design to the IIR numeral filter In the IIR numeral filter design process this article introduced the IIR numeral filter characteristic the structure the principle of design as well as in the MATLAB realization
Keywords IIR digital filterDigital signal processing(DSP)MATLAB
目 录
1 绪 1
11 IIR滤波器设计问题提出 1
12 文研究容 2
2 MATLAB语言 3
21 概述 3
211 MATLAB发展 3
212 MATLAB系统 4
22 MTATLAB 语言 5
221 MATLAB 语言介绍 5
222 MATLAB特点 6
223 MATLAB语言功 6
224 MATLAB界面 6
23 MTATLAB应 7
231简单数学运算 7
232 MATLAB工作空间 8
233基绘图命令 8
234程序流程控制 9
3 数字滤波器 11
31 数字滤波器基概念 11
311数字滤波器分类 11
312数字滤波器技术求 11
313数字滤波器性指标 12
312数字滤波器设计方法概述 14
32 IIR滤波器基概念 14
321 IIR滤波器特点 14
322 IIR滤波器结构 14
323 IIR滤波器原理 17
4 IIR滤波器MATLAB设计 19
41 Matlab实现IIR滤波器基方法 19
411模拟原型方法 19
412直接设计方法 19
413 通Butterworth设计方法 19
414 参数建模方法法 19
42 Matlab实现IIR滤波器基方法示例 19
421双线性变换法 19
422脉响应变法 20
423直接设计法 21
424MatLabFilter Disigned Tool 22
43 Matlab实现IIR滤波器具体示例 22
结 26
致谢 27
参考文献 28
1绪
11 IIR滤波器设计问题提出
着信息化推进数字信号处理位作变越越重信息化基础数字化数字化核心技术数字信号处理半世纪强力需求牵引伴着计算机技术微电子技术日新月异突破数字信号处理方法应越越广泛深入发展十分迅速数字信号处理(DSP)研究数字序列信号表示方法信号进行运算提取包含中特殊信息门学科DSP门理实践密切结合理性工程性强学科理性体现综合应数学电路理信号系统等领域基础理方法发展形成理体系成通信雷达声纳电声电视测控生物医学工程众学科领域重理技术基础工程性体现应极广泛科学技术领域国民济行业国防建设种武器装备林林总总消费类电子产品设计生产数字信号处理技术应领域
数字滤波器需进行数字信号处理许系统中起着重作实际语音处理设备图处理设备数字通信系统等种系统中数字滤波器
种强科学计算工程仿真软件MATLAB产生交互式集成界面帮助户快速完成数分析矩阵运算数字信号处理建模仿真等
国际学术界MTATLAB 已确认准确科学计算标准软件许国际流学术刊物(尤信息科学刊物) MTATLAB 应MTATLA 作计算工具科技资源扩科学研究范围提高工程生产效率缩短开发周期加快探索步伐激发创造活力
背景文MTATLABIIR滤波器设计通MATLAB信号处理工具箱应认识数字信号处理重性数字信号处理技术工程技术领域认识进步解
文首先介绍MATLAB基容理IIR数字滤波器进行深入细致研究非常必文滤波器设计中重环节包括IIR滤波器原理设计步骤
等做详细阐述
12 文研究容
现代社会发展求通信系统功越越强性越越高构成越越复杂方面求数字信号处理技术研究产品开发缩短周期降低成提高水样尖锐立两方面求通强计算机辅助分析设计技术工具实现IIR数字滤波器数字信号处理中举足轻重位满足社会发展求
文针IIR滤波器研究做工作:
(1)介绍数字滤波器相关容包括数字滤波器分类技术指标设计般方法
(2)IIR滤波器环节包括基结构IIR滤波器设计原理方法程进行详细阐述
(3)理解IIR滤波器理基础利MATLAB强仿真功四种方法IIR进行设计分析
2 MTATLAB语言
21概述
211 MATLAB发展
MATLAB语言美国Clever Moler博士1980年开发设计者初衷解决线性代数课程矩阵运算问题取名MATLABMatrix Laboratory 矩阵实验室意思
MathWorks公司1993年推出基Windows台MATLAB404x版继承发展原数值计算图形视力时出现重变化:(1)推出SIMULINK交互式操作动态系统建模仿真分析集成环境(2)推出符号计算工具包Maple引擎Symbolic Math Toolbox 10举结束ITI际数值计算符号计算孰优孰劣长期争促成两种计算互补发展新时代(3)构作
Notebook MathWorks公司瞄准应范围广Word运DDEOLE实现MATLABWord缝连接令业科技工作者创造融科学计算图形视文字处理体高水准环境1997年春50版起历51525 3606170等版断改进MATLAB 面象特点愈加突出数类型愈加丰富操作界ICI愈加友善2002年初夏推6 5版特点:该版采JIT加速器MATLAB运算速度C程序相肩方前进步
优秀软件易性性通性专业性 般目应高深科学技术应机相结合
MATLAB种直译式高级语言程序设计语言容易
MATLAB语言语言关系仿佛C语言汇编语言关系样
MATLAB已仅仅矩阵实验室集科学计算图象处理声音处理身提供丰富Windows图形界面设计方法
MATLAB语言功强计算机高级语言超群风格性风靡全世界成功应工程学科研究领域[1]
212 MATLAB系统
MATLAB系统5部分构成:
(1)MATLAB语言
(2)MATLAB工作环境
(3)MATLAB数学函数库
(4)MATLAB图形处理系统
(5)MATLAB应程序接口
1.MATLAB语言
MATLA9语言种面象高级语言.前面述.矩阵作基数结构MATLAB语言已独特数结构输入输出功流程控制语句函MATLAB工程计算方面具高级语言法拟优越性集计算数视化程序设计体数学问题解决方案户热悉数学符号表示出称科学便笺式科学工程计算语言[2]
2.MATLAB工作环境
MATLAB工作环境集成化工作空间户提供理变量输入输出数功提供理调试M文件工具包括部分:
(1)命令窗口
(2)M文件编辑调试器
(3)MATLAB工作空间
(4)线帮助文档
3.MATLAB数学函数库
MATLAB数学函数库中包括量数学函数诸求取正弦指数运算等简单函数包含矩阵转置傅里叶变换矩阵分解求解线性方程组等复杂函数MATLAB数学函数两种方式第种较简单部函数直接置MAT—LAB核心中运行效率高第二种M文件提供外部函数极扩展MATLAB功MATUB具高扩充性MATLAB够应越越科学领域[3]
4.MATLAB图形处理系统
MATLAB具强图形处理功科学计算结果视化图形处理系统功包括:
(1)二维图形绘制处理
(2)三维图形绘制处理
(3)图形户界面定制
5.MATLAB应程序接口
MATLAB应程序接口(APl)MATLAB语言CFORTRAN等高级语言进行交互函数库该函数库函数通动态镕接读写MATLAB文件MATIA8应程序接口功:
(1)MATLAB中输入输出数
(2)MATLAB中调CFORTRAN程序
(3)MATLAB应程序中建立客户机服务器关系
MATLAB 数值计算函数库特点容基础性通性正特点适应诸动控制信号处理动力工程电力系统等应学科需进开发出系列应工具包
22 MTATLAB 语言
221 MATLAB 语言介绍
MATLAB语言美国Clever Moler博士1980年开发设计者初衷解决线性代数课程矩阵运算问题取名MATLABMatrix Laboratory 矩阵实验室意思
种语言迅速普显示出旺盛生命力着语言特点正FORTRANC等高级语言摆脱需直接计算机硬件资源进行操作样称作第四代计算机语言MATLAB利丰富函数资源编程员繁琐程序代码中解放出MATLAB突出特点简洁MATLAB更直观符合思维惯代码代C FORTRAN语言冗长代码MATLAB户带直观简洁程序开发环境
222 MATLAB特点
语言简洁紧凑方便灵活库函数极丰富运算符丰富MATLABC语言编写MATLAB提供C语言样运算符灵活MATLAB运算符程序变极简短MATLAB具结构化控制语句(for循环while循环break语句if语句)面象编程特性程序限制严格程序设计度例MATLAB里户需矩阵预定义程序移植性基做修改种型号计算机操作系统运行MATLAB图形功强MATLAB缺点高级程序相程序执行速度较慢MATLAB程序编译等预处理生成执行文件程序解释执行速度较慢功强工具箱MATLAB特色源程序开放性
223 MATLAB语言功
强数值(矩阵)运算功广泛符号运算功高级低级兼备图形功(计算结果视化功)容错功应灵活兼容接口功信息量丰富联机检索功
224 MATLAB界面
图21示:
图 21界面
New 建立新文件
Open MFile 开M文件
Open selected 开选定文件
Save Workspace As 工作区存
Run MFile 运行M文件
Look For Selected 寻找选定文件
Print 印
Print Setup 印设置
Exit MATLAB 退出 MATLAB
图22示:
图 22工作界面
工作界面4窗口:
Command Window 命令窗口
Command History 前目录窗口
Workspace 工作间理窗口
Current Directory 前路径窗口
23 MTATLAB应
231简单数学运算
(1)常数学运算符
+*()(左)\(右)^(幂)运算式中MATLAB通常需考虑空格条命令放行中间需分号隔开逗号告诉MATLAB显示结果分号禁止结果显示
(2) 常数学函数
abssincostanasinacosatansqrtexpimagrealsignloglog10conj(扼复数)等
232 MATLAB工作空间
(1)MATLAB工作空间包含组命令窗口中调整(调)参数
who :显示前工作空间中变量简单列表
whos :列出变量数格式等详细信息
clear :清工作空间中变量
clear :变量名:清指定变量
(2)保存载入workspace
变量列表variables列出变量保存磁盘文件filename中Variables表示变量列表中逗号变量间空格分隔 未列variables时表示前工作空间中变量保持磁盘文件中 缺省磁盘文件扩展名 mat定义存储格式(ASCIIV4等)
前save命令保存变量variables磁盘文件中调入MATLAB工作空间load 命令调入变量名称save命令保存时名称取值样 Variables表示变量列表中逗号变量间空格分隔 未列出variables时表示磁盘文件中变量调入工作空间
233基绘图命令
plot(x1y1option1x2y2option2…)
x1y1出数分xy轴坐标值option1选项参数逐点连折线方式绘制1二维图形时类似绘制第二二维图形……等
plot命令完全格式实际应中根需进行简化:plot(xy)plot(xyoption)选项参数option定义图形曲线颜色线型标示符号单引号括起 例exp2_3 m exp2_3_ m
234程序流程控制
(1)for循环语句
基格式
for 循环变量起始值:步长:终止值
循环体
end
(2)while 表达式
while循环语句
基格式
循环体
end
表达式真执行循环体容执行判断表达式否真真跳出循环体继续执行
While循环for循环区while循环结构循环体执行次数确定for结构中循环体执行次数确定
(3)ifelseelse if语句
if 逻辑表达式
执行语句
end
逻辑表达式值真时执行该结构中执行语句执行完继续进行
假跳结构中容执行
if 逻辑表达式
执行语句1
else
执行语句2
end
ifelse执行方式:果逻辑表达式值真执行语句1然跳语句2执行果假执行语句2然执行
if逻辑表达式1
执行语句1
else if 逻辑表达式2
执行语句2
end …
ifelse if执行方式:果逻辑表达式1值真执行语句1果假判断逻辑表达式2果真执行语句2否执行
switch语句
格式:switch 表达式(标量字符串)
case 值1
语句1
case 值2
语句2…
otherwise
语句3
end
3 数字滤波器
31数字滤波器基概念
311 数字滤波器分类
数字滤波器实现网络结构者单位脉响应分类分成限脉响应(IIR)滤波器限脉响应(FIR)滤波器系统函数分:
数字滤波器功分类模拟滤波器样分低通高通带通带阻滤波器理想幅度特性图31示[4]
图31 理想低通高通带通带阻滤波器幅度特性
312 数字滤波器设计技术求
通常数字滤波器般属选频滤波器假设数字滤波器传输函数H式表示:
图32 低通滤波器技术求
通带阻带允许衰减般dB数表示通带允许衰减αp表示阻带允许衰减αs表示αpαs分定义:
|H(ej0)|化1式表示成:
幅度降时时称3dB通带截止频率统称边界频率滤波器设计中重[5]
313数字滤波器性指标
进行滤波器设计时需确定性指标般滤波器性指标频率响应幅度响应特性允许误差表征低通数字滤波器例:
图 33 幅度特性
图33中出设计数字滤波器幅度特性求化1通带允许误差阻带允许误差通带截止频率阻带截止频率
衰减衰减(dB)形式表示通带允许衰减定义:
阻带允许衰减定义:
例:0707=3dB=0001=60dB
出数字域指标IIR数字滤波器根指标先设计出模拟滤波器然根sz映射关系数字滤波器应注意数字模拟指标转换果模拟频率数字频率关系模拟滤波器中应数值转换[6]
例:模拟数字滤波器指标频带增益衰减0086dB频带衰减60dB
=4000π=6000π
应数字指标:
=001
=0001
314数字滤波器设计方法概述
(1)务求确定滤波器性指标
(2)果稳定离散线性时变系统系统函数逼性求系统函数限脉响应(IIR)系统函数限脉响应(FIR)系统函数两种
(3)利限精度算法实现系统函数里包括运输结构选择合适字长效数字处理方法(舍入截尾)等实际技术实现包括采通计算机软件专数字滤波器硬件实现采专通数字信号处理器实现[7]
32 IIR数字滤波器基概念
321 IIR数字滤波器特点
(1) 系统单位抽样相应h(n)限长
(2) 系统函数H(z)限Z面(0<︱Z︱<∞)极点存
(3) 存输出输入反馈递型结构[8]
322 IIR数字滤波器结构
(1)直接型
直接理分式形式画成分直接Ⅰ型直接Ⅱ型
(a) 直接Ⅰ型结构 (b) 直接Ⅱ型结构
图34 直接型结构图
较直接Ⅰ型直接Ⅱ型发现直接Ⅱ型直接Ⅰ型节省M延时单元MN情况省半
(2)级联型
传输函数化子积形式
通常称式k1…L基二阶节形式图N6时式级联型结构中基二阶节采直接Ⅱ型构成
图35 N6时 IIR滤波器级联型结构
(3)联型
传输函数部分分式展开形式
中NL+2PM<NMN仅存M≤N情况式表示
中代表式中第2求项中阶节代表式中第3求项中二阶节图联结构流图形式
图36 IIR滤波器联结构
(4)转置型
信号流图转置定理种信号流图中分支方反转保持支路增益变网络输入输出交换位置相应流图结构转置型结构[9]
总意阶IIR滤波器通数学分解表示:
中二阶形式:
样意阶IIR滤波器通干二阶网络(称滤波器二阶基节)级联起构成结构图37示中代表第i级二阶网络
图37 二阶网络结构图
二阶基节转置直接II型结构加实现图示:
图38 转置直接II型结构图
采种级联结构实现IIR滤波器优点基节关系滤波器某极点零点调整系数a0ia1ia2i单独调整滤波器第i零点影响零极点样调整b1ib2i系数单独调整第i极点种结构便准确实现滤波器零极点便调整滤波器频率响应性种结构优点存储单元需较少硬件实现时二阶节进行时分复降低FPGA硬件资源求
323 IIR滤波器原理
IIR滤波器广泛应数字信号处理中IIR传输函数:
该传输函数极点零点输出赖输入赖输出IIR需计算FIR少IIR具稳定性问题滤波系数量化特敏感N阶IIR滤波器结构图39示:
图39 N阶IIR滤波器般结构
通常IIR滤波器二阶节级联方式实现双二阶节IIR滤波器结构图310示:
图310 2级双节IIR滤波器结构
4 IIR滤波器MATLAB设计
41 Matlab实现IIR滤波器基方法
411模拟原型方法
描述:采典低通滤波器作连续域设计模型通频域变换IIR数字滤波器进行离散化处理[10]
完整设计函数:besselfbuttercheby1cheby2ellip
滤波器阶估函数:buttordcheb1ordcheb2ordellipord
低通模拟滤波器原型函数:besselapbuttapcheb2apellipap
频域变换函数:lp2bplp2bslp2hplp2lp
函数:bilinearimpinvar
412直接设计方法
描述:直接离散时域估计线性幅度响应
函数:yulewalk
413通Butterworth设计方法
描述:Butterworth设计低通数字滤波器
函数:maxflat
414参数建模方法
描述:寻找接需设计滤波器通模型
时域建模函数:lpcpronystmcb
频域建模函数:invreqsinvfreqz
42 Matlab实现IIR滤波器基方法示例
421双线性变换法
低通采样频率1Hz通带界频率fp 02Hz通带衰减1dB(αp1)阻带界频率fs03Hz阻带衰减25dB(αs25)设计数字滤波器满足参数[11]
FS1
通带阻带截止频率
Fl02Fh03
频率预畸
wp(FlFS)*2*pi 界频率采角频率表示
ws(FhFS)*2*pi 界频率采角频率表示
OmegaP2*FS*tan(wp2)
OmegaS2*FS*tan(ws2)
[nWn]buttord(OmegaPOmegaS125's')
[ba]butter(nWn's')
freqs(ba) 设计模拟
[bzaz]bilinear(baFS) 映射数字
freqz(bzaz512FS'whole')
运行结果图41:
图41运行结果
422脉响应变法
低通采样频率1Hz通带界频率fp 02Hz通带衰减1dB(αp1)阻带界频率fs03Hz阻带衰减25dB(αs25)设计数字滤波器满足参数[12]
FS1
[nWn]buttord(02*2*pi03*2*pi125's') 界频率采角频率表示
[ba]butter(nWn's')
freqs(ba) 设计模拟
[bzaz]impinvar(baFS) 映射数字
freqz(bzaz512FS)
运行结果图42:
图42运行结果
423直接设计法
低通采样频率1Hz通带界频率fp 02Hz通带衰减1dB(αp1)阻带界频率fs03Hz阻带衰减25dB(αs25)设计数字滤波器满足参数
Matlab 化频率参数(界频率采样频率12)
样界频率参数取值范围01间1代表Fs2(角频率表示时候应π)
FS1
[nWn]buttord(02(FS2)03( FS 2)125)
[ba]butter(nWn)
freqz(ba512 FS)
运行结果图43示:
图43运行结果
424MatLab6Filter Designed Tool
图44示:
图44运行结果
43 Matlab实现IIR滤波器具体举例
面实现双线性变换法实现Butterworth低通滤波器低通变换带通例:
实现Butterworth低通滤波器具体编程:
采样频率10Hz通带截止频率fp3Hz阻带截止频率fs4Hz
通带衰减1dB阻带衰减20dB
双线性变换法模拟滤波器原型设计数字滤波器
T01 FS1T
fp3fs4
wpfpFS*2*pi
wsfsFS*2*pi
Rp 1 通带衰减
As 20 阻带衰减
频率预畸
OmegaP (2T)*tan(wp2) Prewarp Prototype Passband freq
OmegaS (2T)*tan(ws2) Prewarp Prototype Stopband freq
设计 butterworth 低通滤波器原型
N ceil((log10((10^(Rp10)1)(10^(As10)1)))(2*log10(OmegaPOmegaS)))
OmegaC OmegaP((10^(Rp10)1)^(1(2*N)))
[zpk] buttap(N)
获取零极点参数
p p*OmegaC
k k*OmegaC^N
B real(poly(z))
b0 k
cs k*B
ds real(poly(p))
双线性变换
[ba] bilinear(csdsFS)
绘制结果
freqz(ba512FS)
运行结果图45:
图45运行结果
实现低通带通具体编程:
采样频率 100HzWpl20HzWph30HzWsl15HzWsh35Hz
频率采样频率*2*pi
Wpl04*piWph06*piWsl02*piWsh08*pi
Rp1As20
T 1 Fs 1T Set T1
T2
Wpltan(042Fs*pi)
Wphtan(062Fs*pi)
Wsltan(032Fs*pi)
Wshtan(072Fs*pi)
Rp 1 Passband ripple in dB
As 40 Stopband attenuation in dB
计算模拟低通原型参数
OmigaPWphWpl 低通滤波器通带截止频率
OmigaSWshWsl 低通滤波器通带截止频率
[NWn]buttord(OmigaPOmigaSRpAs's')
[BA]butter(NWn's')
[BTAT]lp2bp(BAsqrt(Wph*Wpl)WphWpl)
[ba]bilinear(BTATFs)
Hfreqz(ba200'whole')
plot(abs(H))
运行结果图46
图46运行结果
结
数字滤波器应十分广泛利MATLAB语言容易设计出IIR滤波器.IIR滤波器较少阶数获高选择特性存储单元少运算次数少具济高效特点.相位求敏感场合语音通信等适合IIR滤波器IIR数字滤波器递结构极点必须Z面单位圆稳定种结构运算中四舍五入处理时会引起寄生振荡.限字长效应外结构引入误差.实际设计中注意实现中误差问题.外IIR滤波器相位求严格线性场合需加全通网络进行较正增加滤波器阶数复杂性.时选FIR滤波器具严格线性相位
利MATLAB强运算功基MATLAB信号处理工具箱(Signal Processing Toolbox)数字滤波器设计法快速效设计软件组成常规数字滤波器设计方便快捷极减轻工作量设计程中滤波器特性时更改参数达滤波器设计优化利MATLAB设计数字滤波器电力系统二次信号处理软件微机保护中着广泛应前景
通文研究够正确Matlab软件进行数字信号处理信息处理学研究奠定基础
参考文献
[1] 董长虹余啸海.Matlab信号处理应[M].国防工业出版社2005.23
[2] 韩竹王 华.MATLAB电子仿真应[M].国防工业出版社2001.4546
[3] 邹鲲袁俊泉龚享铱.MATLAB6.x信号处理[M].清华学出版社2002.123140
[4] 张立材吴冬梅.数字信号处理[M].北京邮电学出版社.2004.170172
[5] 吴振扬.数字信号处理原理实现[M].东南学出版社2002.169170
[6] 丁玉美高西全.数字信号处理[M].西安电子科技出版社2005.320
[7] 陈怀琛高西全.MATLAB电子信息课程中应[M].电子工业出版社2003.
[8] 张圣勤.Matlab 70实教程[M].机械工业出版社2006.1530
[9] Abed KH Venugopal V Nerurkar SB High speed digital filter design using minimal signed digit representation SoutheastCon 2005 Proceedings IEEE810 April 2005 Page(s)105 – 110Digital Object Identifier 101109SECON20051423227.
[10] Bougas P Kalivas P Tsirikos A Pekmestzi KZPipelined arraybased IIR filter Circuits and Systems I Regular Papers IEEE Transactions on [see also Circuits and Systems I Fundamental Theory and Applications IEEE Transactions on]Volume 52 Issue 1 Jan 2005 Page(s)108 118 Digital Object Identifier 101109TCSI2004838542.
[11] 饶志强叶念渝FirIIR数字滤波器探讨实现计算机数字工程[J] 第33 卷(2005) 第7 期.
[12] Jongsun Park Woopyo Jeong Hunsoo Choo MahmoodiMeimand H Yongtao Wang Roy K High performance and low power IIR filter design based on sharing multiplication Low Power Electronics and Design 2002 ISLPED '02 Proceedings of the 2002 International Symposium on2002 Page(s)295 – 300.
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档