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

基于matlab的各类滤波器设计

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
一. 采用fir19 g! _5 o/ u+ A( W  W, i+ a6 C. P

          采用了窗函数设计方法


  Q! N' k' w1 t( v* \- X

          语法如下:

各项参数意义:


8 E5 J2 z* S; q% q7 o

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

9 l  X8 r- E4 R* j+ o3 A9 o# P

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

4 H. A( G$ \" h; G1 s$ x) l5 I

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


0 `, p* b! P/ t, b! I: s5 t

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


9 f4 k. M- w3 K2 ?$ a3 V

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


4 |. ~! W6 S, K. |; U+ D- B8 |

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

. a. e& Y# T: a( m% z2 z' z2 m, |

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


1 h# a  S5 ^2 |8 f, B8 {$ n2 D

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


) t% F7 O% M  `  d

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

二. 采用kaiserord函数设计
2 u, X7 K5 Q! ^" f5 f

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


3 e5 a) k8 y& Y  I

          参数意义:


9 N  T) A1 F! J$ e, a  K7 R

          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]


3 n3 {6 p+ Z! u. F

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

) T6 G) k- b/ `1 b% d0 b

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

. b! R6 j! y7 q3 ?3 Z9 y( W

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

6 K; S2 c" E! \" P( f* }$ T* x

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

4 f, }9 M$ ^+ k" p1 h

          beta:计算得到的beta值

# N* |6 f# d# p- w; Y0 c: _9 q

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

三. 采用fir2函数设计. A! h: H. w( p: E9 V: v2 l

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


5 M* u+ j( @/ p" H- x$ e' M) |$ c- n

          语法如下:

+ l$ v5 }# E, h- l1 D

          参数意义:

7 E6 i  u8 W7 X7 @2 {( G9 N

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


4 I) t* V' O% ?- x

          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]

+ T* `3 S0 @4 ]& g- n. t( b1 U& ~

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

. b% T6 R+ {  h' v

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


$ }3 K7 @0 x( W9 I% r& e7 B4 f

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


, q" w& ]7 z9 G. R% g6 T* G* @! h

          区别:

$ z: }5 w0 w- ?5 \- Q/ J

          1.stem和plot


% F5 J* e% t: G' x0 D: a

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


$ X7 W, ]: [7 W0 u, b, k6 f% E

          常用的信号处理函数:

2 {& _0 g% I( r- f

          1. 随机信号函数


7 u) ?% a: P  D! m# H) _  S7 `

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

( _, Y# o; W7 m/ }, D2 ~) F0 V, D

          2. 方波信号函数

5 `. [* `. X& A7 P% b  H3 x

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


* [' u+ B1 E7 h- C) O9 O  r1 b

          3. 锯齿波信号函数


3 d: S5 w+ m( h2 S6 v7 v. ^" k

          Sawtooth(T)和sawtooth(T,WIDTH)

% g* x% Y! I$ N3 u2 u

          4. 正弦波信号函数

$ e4 Q% s: p/ J5 y( |& G

          Sin(2*pi*f*t)


' `2 h- n$ z+ I4 F         常用信号分析级处理函数6 g. s' }; K! }! r- }6 x" y

          1. 滤波函数


) K8 h, J6 S- ~# a; E" S* {  r

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


9 Z" S% Y3 j0 G! ~  P  l6 T2 L

          2. 单位抽样响应函数

0 V, M. Z# A9 w( }1 u/ P9 G# o9 H

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


) d. q! F) D8 Y) |* F3 p' Y

          3. 频率抽样响应函数

, L) Y6 E5 j+ _5 T6 ~8 e: B. q' {

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


  C. a3 Y- y2 [8 Y

          4. 零极点增益函数


) B, E9 R+ _1 m

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

, e, W. S* ^/ G% g" H

  C; h, A" W% _1 G( y/ y( F: x& C

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-3 05:00 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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