找回密码
 注册
关于网站域名变更的通知
查看: 334|回复: 1
打印 上一主题 下一主题

基于matlab的各类滤波器设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-3 13:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一. 采用fir1( o/ u4 |  z+ F. r2 c* m! @; m

          采用了窗函数设计方法

$ V- a3 T3 z+ e# x9 T4 ]

          语法如下:

各项参数意义:


! J$ ]  f" D2 i4 k4 d- ?' W5 C3 T

          b:返回的FIR滤波器单位脉冲响应,脉冲响应为偶对称,长度为n+1


: c5 |+ M$ ?( a1 s" X7 U/ x

          n:滤波器的阶数,需要注意的是,设计出的滤波器长度为n+1

6 [) h1 A2 A8 l% q3 E! S# s

          Wn:滤波器的截止频率(归一化)。需要注意的是,wn的取值范围为0《wn《1,1对应为信号采样频率的1/2;


0 [& i3 [( K5 _  c5 K# R  k' Y9 L: A0 k

          如果wn是单个数值,且ftype参数为low,则表示设计截止频率为wn的低通滤波器,如ftype参数为high,则表示设计截止频率为wn的高通滤波器;

1 R: U9 x6 S4 _6 W

          如果wn是由两个数组成的向量[wn1,wn2],ftype为stop,则表示设计带阻滤波器,ftype为bandpass,则表示设计带通滤波器;

/ q' v' ]5 D0 A# G; @

          如果wn是由多个数组成的向量,则表示根据ftype的值设计多个通带或阻带范围的滤波器,ftype为DC-1,表示设计的第一个频带为通带,ftype为DC-0,表示设计的第一个频带为阻带。

5 X2 V2 l% S; F

          4.window:指定使用的窗函数向量,默认为海明窗(Hamming),最常用的窗函数有汉宁窗(Hanning),海明窗(Hamming),布拉克曼窗(Blackman)和凯塞窗(Kaiser),可通过输入help window查找(当凯塞窗函数的贝塔值取7.856时,凯塞窗具有最好的性能)

; B! H! _  c. k+ o7 Q$ P6 L7 q

          5.noscale:指定是否归一化滤波器的幅度

* x" Z) G; [; |6 z' s7 |2 a" l

          注意:fir1函数智能选择滤波器的截止频率和阶数,不能选择滤波器通带,阻带衰减,过渡带宽等参数。

二. 采用kaiserord函数设计+ z0 n8 e3 W8 j6 l

          语法如下:[n,wn,beta,filtype]=kaiserord(f,a,dev,fs)


2 r: N0 K/ ?7 a8 E2 K

          参数意义:

% D" `2 @- i- p/ o/ P0 ?4 G

          f及fs:f是一个向量,其中的元素为待设计滤波器的过渡带的起始点和结束点。如果没有fs参数,f中元素的取值范围为0~1,即相对于采样频率一半的归一化频率;如果有fs参数,则fs为信号采样频率,f中元素即为实际的截止频率。如,设计滤波器的过渡带宽为1000~1200hz,2000~2100hz,信号采样频率为8000hz;如没有设置fs参数,则f=[0.25 0.3 0.5 0.525];如设置fs为8000,则f=[1000 1200 2000 2100]

4 P- v: j, r6 u$ h% R

          a:指定这些频率段的理想幅度值。通带为1,阻带为0.a与f相对应。以上例子,应该设置为a=[1 0 1],则表示设计带阻滤波器。


- T4 J, n# J6 z* B+ w! j

          dev:指定通带或阻带内的容许误差。同样是上面的例子,要求通带容许误差为0.01,阻带容许误差为0.02,则dev=[0.01 0.02 0.01]

( s1 k# X+ t* ^) G0 X, w$ I6 ]

          n:n为滤波器的最小阶数

# V6 e* D- K8 G' b4 e+ R

          wn:得到滤波器的截止频率点


, w) b! \" ?! @$ ~; y

          beta:计算得到的beta值

4 @/ k( \; F' M: s' M( ?

          ftype:获得滤波器的类型参数

三. 采用fir2函数设计$ w- K; i$ Y+ ~4 V3 g6 x* [

          使用fir2函数,可以完成任意响应滤波器的设计,即滤波器的幅度频率响应在指定的频段范围内有不同的幅值。,如在0~0.1的理想幅值为1,0.2~0.4的幅值为0.5等。


: V% W* b! R$ x

          语法如下:

  o: f7 y) Q; t) N0 A/ @  D8 y. K

          参数意义:


( y3 |. L* F! m1 `, m

          n及b:滤波器的阶数。注意,根据FIR滤波器的结构特点,当设计的滤波器在归一化频率为1处的幅度值部位0时,n不能为奇数。

' E& I. f1 D8 X5 v/ M

          f及m:f的取值为0~1,对应于滤波器的归一化频率,m用于设置对应频段范围内的理想幅值。如要求的滤波器在0~0.125内幅值为1,0.125~0.25为0.5,0.25~0.5为0.25,0.5~1为0.125,则f=[0 0.125 0.125 0.25 0.25 0.5 0.5 1],m=[1 1 0.5 0.5 0.25 0.25 0.125 0.125]

& E( A$ i+ B* v& ?$ ]( k+ E: I0 d

          windom:指定窗函数的种类,其长度为滤波器长度n+1,默认为海明窗。

" F, x. B( D5 y! u6 r0 k% n

          npt:指定在对幅度响应进行插值的插值点个数,其默认为512

" t, ~& ]$ R' F+ k

          lap:指定对幅度响应进行插值时,对于不连续点转变成连续时的点数,其默认值是25


  U% l5 X1 ]1 A+ d

          区别:

2 |3 R8 M5 k( |# p* R+ X

          1.stem和plot


+ }: h. e  V* i/ q4 l

          stem是离散函数,plot是连续函数

4 G% G. G9 e* a% d! k

          常用的信号处理函数:


6 T: j9 l9 y' Z3 [: n3 V9 o! g

          1. 随机信号函数

4 Q2 t0 x$ c- R! Y. |7 e; N

          随机信号函数:Rand(1,N)和randn(1,N)


4 I# q5 @  c) t1 l; `

          2. 方波信号函数

* z8 m4 i7 L8 ]! W3 K  v$ s: L# [

          Square(T)和Square(T,DUTY),其实DUTY为正值区域在一个周期的比例,如DUTY=50时,产生方波。

  e4 ?6 q% A% a0 I

          3. 锯齿波信号函数


. X1 K7 h- v  Y7 E" o1 J! D: r

          Sawtooth(T)和sawtooth(T,WIDTH)

0 P: ~3 n$ H: e9 `3 q5 P0 M

          4. 正弦波信号函数


5 [6 I: [+ U3 U' B

          Sin(2*pi*f*t)

. g9 y0 ?2 d. M7 _
         常用信号分析级处理函数8 g& `2 k$ _* @0 M# f1 }

          1. 滤波函数

+ z9 p) L2 U  o0 e+ N! d( W

          Filter(b,a,x):分子项系数依次从大到小排列成一个行矩阵b,分母项系数依次从大到小排列成一个行矩阵a,x为输入信号序列。


0 }& {9 O5 t* g" S" K) @

          2. 单位抽样响应函数

% {- {# B  \* L. S7 r

          Impz(b,a,p),其中a,b同上,p为计算的数据点数

: @2 h/ ~. g" J. d

          3. 频率抽样响应函数


8 p! o2 t, A( o+ H+ u: T3 {

          Freqz(b,a,n,Fs): 其中a,b同上,n为在[0 Fs/2]范围内计算的频率点数量,Fs为采样频率。


& e4 t# W  J/ d) d+ W7 {

          4. 零极点增益函数

  r; T% E$ c, ~$ `9 g& g

          Root函数计算系统的零极点,zplane函数画出系统的零极点。

3 i/ [( E. E- @0 i: p# s

, g1 P# @; v, z( T  ~( D& k

该用户从未签到

2#
发表于 2020-3-3 16:14 | 只看该作者
matlab还能做滤波器设计啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-6 15:06 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表