基于MATLAB的模拟滤波器设计

第12卷 第3期山东交通学院学报Vol . 12No . 3                         基于MATLAB 的模拟滤波器设计

姜春玲1, 史 玲2

(1. 泰山学院物理系, 山东泰安 271021; 2. 山东交通学院信息工程系, 山东济南 250023)

摘要:模拟滤波器是现代测控系统中的重要部件, 传统设计方法的设计过程繁琐。对传统方法与MATLAB 编

程方法进行了比较, 研究了用MATLAB 实现巴特沃斯滤波器的设计, 只要改变程序中相应的参数可以很容易

地实现低通、高通、带通、带阻滤波器, 简化了模拟滤波器的设计。

关 键 词:MATLAB ; 设计; 模拟滤波器

中图分类号:TN713      文献表示码:A 文章编号:1672-0032(2004) 03-0063-03

在测控系统中, 传感器输出的信号往往混有噪声干扰, 虽然可以采取合理布线及屏蔽技术等措施来防止噪声进入系统, 但信号中仍含有不可忽略的噪声, 通常采用模拟滤波器来消除这些噪声。因此, 设计一个合理的模拟滤波器是测控系统中一个非常重要的环节。模拟滤波器的设计一般包括两个方面:1) 根据技术指标即滤波器的幅频特性, 确定滤波器的传递函数H (s ) ; 2) 设计实际网络实现这一传递函数。设计滤波器H (s ) 的关键是找到逼近函数, 目前已有多种逼近函数。然而, 不论哪种逼近函数都需要进行非常繁琐的计算, 还要根据计算结果进行查表。

MATLAB 语言是一种简单、高效的高级语言, 是一种内容丰富、功能强大的分析工具, 其应用范围几乎覆盖了所有的科学和工程计算领域。MATLAB 中提供了丰富的用于模拟滤波器设计的函数, 通过编程可以很容易实现低通、高通、带通、带阻滤波器, 并能画出滤波器的幅频特性曲线, 大大简化了模拟滤波器的设计。本文通过传统方法与MATL AB 编程方法的比较, 研究了用MATL AB 实现巴特沃斯滤波器设计的方法。

1 低通滤波器的设计

要求在通带截止频率f c =2kHz 处, 衰减δ3dB ; 阻带始点频率f z =4kHz 处, 衰减δ15dB [1]。c ≤z ≥

按照传统的求法, 计算n 需要代入公式

1δ1×15z 0. 0. n =2. 468, Ψz 3

21g 2lg Ψc 2π×2×103

n 取整, n =3。然后查表, 得传递函数模型。

由此可以看出计算复杂, 并且如果没有表, 就写不出传递函数。

[2]下面用MATLAB 来设计该滤波器, 计算阶数、截止频率, 并画出幅频特性曲线(如图1所示) 。

  wp =2000*2*pi ;

  ws =4000*2*pi ;

  Rp =3;

  Rs =15;

  [N , Wn ]=buttord (wp , ws , Rp , Rs , ' s ' ) ;     %计算阶数和截止频率

  Fc =Wn /(2*p ) ;

  [b , a ]=butter (N , Wn , ' s ' ) ;

 收稿日期:2004-06-24 作者简介:姜春玲(1969-) , 女, 山东泰安人, 泰山学院讲师.

                         山东交通学院学报                2004年9月 第12卷64

   %计算滤波器传递函数多项式系数

  [z , p , k ]=butter (N , Wn , ' s ' ) ;

   %得到滤波器零点、极点和增益

  w =linspace (1, 4000, 1000) *2*pi ;

  H =freqs (b , a , w ) ;

  magH =abs (H ) ;

  phaH =unwrap (angle (H ) ) ;

  plot (w /(2*pi ) , 20*log10(magH ) , ′k ′) ;

  xlabel (′频率/Hz ′) ;

  ylabel (′幅度/B ′) ;

  grid on

  运行结果:

  N =

   3

  Wn =

  4209e +004图1 巴特沃思低通滤波器的幅频特性

2 设计带通滤波器

设计高通、带通、带阻滤波器的传统方法是:根据对高通、带通、带阻滤波器的特性指标要求, 导出相应的低通原型的指标来, 然后确定低通原型的传递函数H (s ) , 再根据一定变换关系得出高通、带通、带阻滤波器的传递函数。而用MATL AB 可以像设计低通滤波器一样直接得出高通、带通、带阻滤波器的参数和特性曲线[3]。

设计一带通滤波器, 设计要求为:通带频率2~3kHz 、两边的过渡带宽为0. 5kHz 、通带纹波为1dB 、

[4]

阻带衰减大于100dB , 并画出幅频特性曲线(如图2所示) 。

  wp =[20003000]*2*pi ;

  ws =[15003500]*2*pi ;

  Rp =1;

  Rs =100;

  [N , W n ]=buttord (wp , ws , Rp , Rs ' , s ' )

  %计算阶数和截止频率

  Fc =Wn /(2*pi ) ;

  [b , a ]=butter (N , Wn , ' s ' ) ;

  %计算滤波器传递函数多项式系数

  w =linspace (1, 4000, 1000) *2*pi ;

  H =freqs (b , a , w ) ;

图2 巴特沃思带通滤波器的幅频特性  magH =abs (H ) ;

  phaH =unwrap (angle (H ) ) ;

  plot (w /2*pi ) , 20*log10(ma gH ) , k ' ' ) ;

  xlabel (' 频率/Hz ′) ;

  ylabel (' 幅度/dB ′) ;

  grid on

  运行结果:

  N =

   22

第3期                 姜春玲等:基于MATLAB 的模拟滤波器设计                   65

   1. 0e +004* 1. 9070

 因此该带通滤波器的阶数为2N =44。

3 绘制平方幅频响应曲线

用MATLAB 可绘制巴特沃思低通滤波器的平方幅频响应曲线, 阶数分别为2, 5, 10, 20滤波器的幅频特性曲线(如图3所示) 和程序代码为[5

]

  n =0∶0. 01∶2;

  for i =1∶4

  s witch i

    case 1

      N =2;

    case 2

      N =5;

    case 3

      N =10;

    case 4

      N =20;

  end

  [z , p , k ]=buttap (N ) ;

  [b , a ]=zp2tf (z , p , k ) ; 图3 不同阶次的巴特沃思滤波器幅度平方函数

  [H , w ]=freqs (b , a , n ) ;

  magH2=(abs (H ) ) . 2;

  hold on

  plot (w , magH2) ;

  a xis ([0201]) ;

  end

  xlabel (' w /wc ' ) ;

  ylabel (' /H (jw ) / 2' ) ;

由图3可知:阶次越高, 特性越接近矩形。

4 结 语

使用MATLAB 设计模拟滤波器时, 对于不同的设计要求, 只需修改程序中的参数, 运行后即可得到相应的阶数和截止频率, 避免了复杂的运算及查表, 因此, 用MATLAB 可以简化模拟滤波器的设计。利用MATLAB 不仅可以设计巴特沃思滤波器而且也可以设计切比雪夫滤波器等, 设计简单、直观。

参考文献:

[1]周浩敏. 信号处理技术基础[M ]. 北京:北京航空航天大学出版社, 2001.

[2]邵朝, 阳亚芳, 卢光跃. 数字信号处理[M ]. 北京:北京邮电大学出版社, 2004.

[3]韩利竹, 王华. MATLAB 电子仿真与应用[M ]. 北京:国防工业出版社, 2003.

[4]陈桂明, 张明照, 戚红雨. 应用MATL AB 语言处理数字信号与数字图像[M ]. 北京:科学出版社, 2000. 145-153.

[5]刘卫国, 陈昭平, 张颖. MATLAB 程序设计与应用[M ]. 北京:高等教育出版社, 2002. 42-96.

(下转第74页)

                         山东交通学院学报                2004年9月 第12卷74

Discussion on Evaluation Method of Industrial Accident Losses

XUN Jing 1, PAN Guang -feng 2

(1. Pres ide nt Offic e , Shandon Jiaotong Unive rs it y , Ji nan , 250023, China ;

2. C omputer Information Engine ering , Shandong Unive rs ity of Financ e , Jinan , 250014, C hina )

A bstract :On the basis of using the evaluation criteria and methodology of foreign and domestic r elevant accident losses for reference , this paper briefly describes the classification of the industrial accident losses , and puts for ward the division standards and specific evaluation methods of dir ect and indirect economic losses of our country ' s enterprises . Also , it studies and discusses the evaluation methods of value c onversion , which the non -economic losses such as life or health etc . cannot directly be measured by the money in the accident losses , and proposed some evaluation methods of the non -economic losses .

Key words :accident loss classification ; ec onomic loss ; non -economic loss ; value conversion ; evaluation method

(责任编辑:宋旭红)

(上接第65页)

Design of Analog Filter Based on MATLAB

JIANG Chun -ling 1, SHI Ling 2

(1. Depar tment of Physic s , Taishan Unive rs ity , Tai ' an , 271021, Shandong , C hina ;

2. De partment of Informati on Engineer ing , Shandong Jiaotong Uni ver sity , Jinan 250023, Shandong , C hina )

A bstract :The analog filter is the important unit of modern measur ement and contr ol system , but the traditional method has a very tedious design process . This article compares the traditional method with the MATLAB programming method , studies the design of using MATLAB to realize of the Butterworth filter . As long as changing the relevant para meters in the pr ograms , it is very easy to realize the design of lo w pass , high pass , band pass and band stop filter , which simplifies the design of the analog filter .

Key words :MATLAB ; design ; analog filter

(责任编辑:郎伟锋)

第12卷 第3期山东交通学院学报Vol . 12No . 3                         基于MATLAB 的模拟滤波器设计

姜春玲1, 史 玲2

(1. 泰山学院物理系, 山东泰安 271021; 2. 山东交通学院信息工程系, 山东济南 250023)

摘要:模拟滤波器是现代测控系统中的重要部件, 传统设计方法的设计过程繁琐。对传统方法与MATLAB 编

程方法进行了比较, 研究了用MATLAB 实现巴特沃斯滤波器的设计, 只要改变程序中相应的参数可以很容易

地实现低通、高通、带通、带阻滤波器, 简化了模拟滤波器的设计。

关 键 词:MATLAB ; 设计; 模拟滤波器

中图分类号:TN713      文献表示码:A 文章编号:1672-0032(2004) 03-0063-03

在测控系统中, 传感器输出的信号往往混有噪声干扰, 虽然可以采取合理布线及屏蔽技术等措施来防止噪声进入系统, 但信号中仍含有不可忽略的噪声, 通常采用模拟滤波器来消除这些噪声。因此, 设计一个合理的模拟滤波器是测控系统中一个非常重要的环节。模拟滤波器的设计一般包括两个方面:1) 根据技术指标即滤波器的幅频特性, 确定滤波器的传递函数H (s ) ; 2) 设计实际网络实现这一传递函数。设计滤波器H (s ) 的关键是找到逼近函数, 目前已有多种逼近函数。然而, 不论哪种逼近函数都需要进行非常繁琐的计算, 还要根据计算结果进行查表。

MATLAB 语言是一种简单、高效的高级语言, 是一种内容丰富、功能强大的分析工具, 其应用范围几乎覆盖了所有的科学和工程计算领域。MATLAB 中提供了丰富的用于模拟滤波器设计的函数, 通过编程可以很容易实现低通、高通、带通、带阻滤波器, 并能画出滤波器的幅频特性曲线, 大大简化了模拟滤波器的设计。本文通过传统方法与MATL AB 编程方法的比较, 研究了用MATL AB 实现巴特沃斯滤波器设计的方法。

1 低通滤波器的设计

要求在通带截止频率f c =2kHz 处, 衰减δ3dB ; 阻带始点频率f z =4kHz 处, 衰减δ15dB [1]。c ≤z ≥

按照传统的求法, 计算n 需要代入公式

1δ1×15z 0. 0. n =2. 468, Ψz 3

21g 2lg Ψc 2π×2×103

n 取整, n =3。然后查表, 得传递函数模型。

由此可以看出计算复杂, 并且如果没有表, 就写不出传递函数。

[2]下面用MATLAB 来设计该滤波器, 计算阶数、截止频率, 并画出幅频特性曲线(如图1所示) 。

  wp =2000*2*pi ;

  ws =4000*2*pi ;

  Rp =3;

  Rs =15;

  [N , Wn ]=buttord (wp , ws , Rp , Rs , ' s ' ) ;     %计算阶数和截止频率

  Fc =Wn /(2*p ) ;

  [b , a ]=butter (N , Wn , ' s ' ) ;

 收稿日期:2004-06-24 作者简介:姜春玲(1969-) , 女, 山东泰安人, 泰山学院讲师.

                         山东交通学院学报                2004年9月 第12卷64

   %计算滤波器传递函数多项式系数

  [z , p , k ]=butter (N , Wn , ' s ' ) ;

   %得到滤波器零点、极点和增益

  w =linspace (1, 4000, 1000) *2*pi ;

  H =freqs (b , a , w ) ;

  magH =abs (H ) ;

  phaH =unwrap (angle (H ) ) ;

  plot (w /(2*pi ) , 20*log10(magH ) , ′k ′) ;

  xlabel (′频率/Hz ′) ;

  ylabel (′幅度/B ′) ;

  grid on

  运行结果:

  N =

   3

  Wn =

  4209e +004图1 巴特沃思低通滤波器的幅频特性

2 设计带通滤波器

设计高通、带通、带阻滤波器的传统方法是:根据对高通、带通、带阻滤波器的特性指标要求, 导出相应的低通原型的指标来, 然后确定低通原型的传递函数H (s ) , 再根据一定变换关系得出高通、带通、带阻滤波器的传递函数。而用MATL AB 可以像设计低通滤波器一样直接得出高通、带通、带阻滤波器的参数和特性曲线[3]。

设计一带通滤波器, 设计要求为:通带频率2~3kHz 、两边的过渡带宽为0. 5kHz 、通带纹波为1dB 、

[4]

阻带衰减大于100dB , 并画出幅频特性曲线(如图2所示) 。

  wp =[20003000]*2*pi ;

  ws =[15003500]*2*pi ;

  Rp =1;

  Rs =100;

  [N , W n ]=buttord (wp , ws , Rp , Rs ' , s ' )

  %计算阶数和截止频率

  Fc =Wn /(2*pi ) ;

  [b , a ]=butter (N , Wn , ' s ' ) ;

  %计算滤波器传递函数多项式系数

  w =linspace (1, 4000, 1000) *2*pi ;

  H =freqs (b , a , w ) ;

图2 巴特沃思带通滤波器的幅频特性  magH =abs (H ) ;

  phaH =unwrap (angle (H ) ) ;

  plot (w /2*pi ) , 20*log10(ma gH ) , k ' ' ) ;

  xlabel (' 频率/Hz ′) ;

  ylabel (' 幅度/dB ′) ;

  grid on

  运行结果:

  N =

   22

第3期                 姜春玲等:基于MATLAB 的模拟滤波器设计                   65

   1. 0e +004* 1. 9070

 因此该带通滤波器的阶数为2N =44。

3 绘制平方幅频响应曲线

用MATLAB 可绘制巴特沃思低通滤波器的平方幅频响应曲线, 阶数分别为2, 5, 10, 20滤波器的幅频特性曲线(如图3所示) 和程序代码为[5

]

  n =0∶0. 01∶2;

  for i =1∶4

  s witch i

    case 1

      N =2;

    case 2

      N =5;

    case 3

      N =10;

    case 4

      N =20;

  end

  [z , p , k ]=buttap (N ) ;

  [b , a ]=zp2tf (z , p , k ) ; 图3 不同阶次的巴特沃思滤波器幅度平方函数

  [H , w ]=freqs (b , a , n ) ;

  magH2=(abs (H ) ) . 2;

  hold on

  plot (w , magH2) ;

  a xis ([0201]) ;

  end

  xlabel (' w /wc ' ) ;

  ylabel (' /H (jw ) / 2' ) ;

由图3可知:阶次越高, 特性越接近矩形。

4 结 语

使用MATLAB 设计模拟滤波器时, 对于不同的设计要求, 只需修改程序中的参数, 运行后即可得到相应的阶数和截止频率, 避免了复杂的运算及查表, 因此, 用MATLAB 可以简化模拟滤波器的设计。利用MATLAB 不仅可以设计巴特沃思滤波器而且也可以设计切比雪夫滤波器等, 设计简单、直观。

参考文献:

[1]周浩敏. 信号处理技术基础[M ]. 北京:北京航空航天大学出版社, 2001.

[2]邵朝, 阳亚芳, 卢光跃. 数字信号处理[M ]. 北京:北京邮电大学出版社, 2004.

[3]韩利竹, 王华. MATLAB 电子仿真与应用[M ]. 北京:国防工业出版社, 2003.

[4]陈桂明, 张明照, 戚红雨. 应用MATL AB 语言处理数字信号与数字图像[M ]. 北京:科学出版社, 2000. 145-153.

[5]刘卫国, 陈昭平, 张颖. MATLAB 程序设计与应用[M ]. 北京:高等教育出版社, 2002. 42-96.

(下转第74页)

                         山东交通学院学报                2004年9月 第12卷74

Discussion on Evaluation Method of Industrial Accident Losses

XUN Jing 1, PAN Guang -feng 2

(1. Pres ide nt Offic e , Shandon Jiaotong Unive rs it y , Ji nan , 250023, China ;

2. C omputer Information Engine ering , Shandong Unive rs ity of Financ e , Jinan , 250014, C hina )

A bstract :On the basis of using the evaluation criteria and methodology of foreign and domestic r elevant accident losses for reference , this paper briefly describes the classification of the industrial accident losses , and puts for ward the division standards and specific evaluation methods of dir ect and indirect economic losses of our country ' s enterprises . Also , it studies and discusses the evaluation methods of value c onversion , which the non -economic losses such as life or health etc . cannot directly be measured by the money in the accident losses , and proposed some evaluation methods of the non -economic losses .

Key words :accident loss classification ; ec onomic loss ; non -economic loss ; value conversion ; evaluation method

(责任编辑:宋旭红)

(上接第65页)

Design of Analog Filter Based on MATLAB

JIANG Chun -ling 1, SHI Ling 2

(1. Depar tment of Physic s , Taishan Unive rs ity , Tai ' an , 271021, Shandong , C hina ;

2. De partment of Informati on Engineer ing , Shandong Jiaotong Uni ver sity , Jinan 250023, Shandong , C hina )

A bstract :The analog filter is the important unit of modern measur ement and contr ol system , but the traditional method has a very tedious design process . This article compares the traditional method with the MATLAB programming method , studies the design of using MATLAB to realize of the Butterworth filter . As long as changing the relevant para meters in the pr ograms , it is very easy to realize the design of lo w pass , high pass , band pass and band stop filter , which simplifies the design of the analog filter .

Key words :MATLAB ; design ; analog filter

(责任编辑:郎伟锋)


相关文章

  • 附带资料 基于matlab的IIR数字滤波器设计
  • 基于matlab 的IIR 数字滤波器设计 一. IIR 数字滤波器介绍 1.IIR 数字滤波器的基本原理 所谓数字滤波器,是指输入,输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的 相对比例或者滤除某些频率成分的硬件.实质上就 ...查看


  • 信号发生器的 MATLAB仿真
  • 信号发生器的MATLAB 仿真 [摘要] 本论文以课题"信号发生器的MATLAB 仿真"为背景展开,介绍了MATLAB 仿真技术的发展和信号发生器的现状,结合线性调制系统的应用背景设计了一种结构简便.性能优良的线性调制信 ...查看


  • 基于窗函数设计的FIR带阻滤波系统
  • . <数字信号处理> 实验课程考核报告 数字滤波系统的MATLAB 实现与分析 --基于窗函数设计的FIR 带阻滤波系统 系 部: 专业班级: 姓 名: 学 号: 指导教师: [1**********] [1********** ...查看


  • 基于MATLAB的数字信号处理系统设计
  • 青 岛 科 技 大 学 基于MATLAB 的数字信号处理系统设计 题 目 __________________________________ xxx 指导教师__________________________ XXX 学生姓名_____ ...查看


  • 通信原理中的MATLAB仿真设计
  • 毕业设计(论文) 题 目: 通信原理中的MATLAB 仿真设计 学生姓名: 学 号: 所在学院: 专业班级: 届 别: 指导教师: 2010013609 信息工程学院 通信1004 2014届 本科毕业设计(论文)创作诚信承诺书 1. 本人 ...查看


  • 基于matlab语音信号处理设计毕业论文
  • Matlab 语音信号处理 摘要 语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一.通过语音传递信息是人类最重要.最有效.最常用和最方便的交换信息形式. Ma ...查看


  • 有关毕业论文的资料
  • 文章: <现代数字信号处理之-----短波通信> <基于认知无线电的短波通信发展前景> <短波宽带OFDM通信系统研究与实现> <基于DSP的IIR设计> <DSP综合设计> &l ...查看


  • 基于MATLAB的高阶低通滤波器的设计与仿真
  • 论文题目: 基于MATLAB 的高阶低通滤波器的设计与仿真 目 录 前言 . ..................................................................... 3 1 滤波器 . . ...查看


  • 通信原理实验
  • 通信原理实验 实验七 基于 Matlab 的模拟信号传输系统实验 实验七 基于 Matlab 的模拟信号传输系统实验 一.实验目的 1 掌握模拟幅度及角度调制/解调的原理和方法: 2 掌握常见模拟幅度及角度调制信号的波形和频谱特点: 3 掌 ...查看


热门内容