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

MATLAB之ellip 函数介绍(椭圆滤波器设计)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-23 15:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
! P0 N# k& ^5 W: C5 A3 q0 u
ellip: g6 E/ s3 p, j; c9 z$ R5 M
Elliptic filter design
- s: Z: k: z' Y4 ]; C9 ?
/ ^9 x7 _9 H$ S. }5 e- K7 a1 R6 X
2 M; z. w: A- z' F2 e) QSyntax  K% k) x- z. W# d! X

: k9 j  A8 u$ \; ^[b,a] = ellip(n,Rp,Rs,Wp)* P& |# m2 w. Y/ X' C& Y" K
& q0 s0 V* n! w9 Z' y& E/ |
[b,a] = ellip(n,Rp,Rs,Wp,ftype)
2 i# @. a. k3 @2 ?/ k+ }: [7 ]6 H2 f
[z,p,k] = ellip(___)/ c7 _1 G4 A& q; g8 D4 Y: t9 _

3 }0 ~6 S/ T3 y6 O! Y9 r& d# y  ^[A,B,C,D] = ellip(___)
( C4 x7 L; T: n% x
" @) e; X$ t  g" |* F[___] = ellip(___,'s')
# W! ~( _! W2 g" q& A- @! k7 G1 x4 `' q* M

7 k6 n. k. N/ S+ |' X5 J4 cDescription
! Z  m) g9 x+ x6 H  `+ P0 c
* e6 X0 r9 r- i, a' a[b,a] = ellip(n,Rp,Rs,Wp) 返回具有归一化通带边缘频率Wp的n阶低通数字椭圆滤波器的传递函数系数。" L6 q; p( A8 c* Q

- P% M, f! m9 t& S6 W得到的滤波器具有峰峰值通带纹波的 Rp 分贝和从峰值通带值向下衰减的阻带衰减的 Rs 分贝。9 Q/ Q9 y: M" S  |! j

& k+ Z5 X, ?& l# a2 @4 Z; j3 s8 |. {# t  K0 X6 K& X6 D! z
Lowpass Elliptic Transfer Function
7 `& _8 i# A$ ?6 F7 b% K
# _; K2 O( U. j& ~+ r  Q$ n, b8 J9 X  E# c
设计一个6阶低通椭圆滤波器,具有5 dB的通带纹波,40 dB的阻带衰减和300 Hz的通带边缘频率,对于以1000 Hz采样的数据,它对应于0.6 \pi rad / sample。 绘制其幅度和相位响应。 用它来过滤1000个样本的随机信号。
6 r- \! ]# ]& I6 h, P  O1 z
( F8 l# N, m, T: q6 ~5 R7 I[b,a] = ellip(6,5,40,0.6);  F0 ^" i5 m1 B
freqz(b,a)9 K1 s, ?1 t% E. {7 h2 O. s4 ~
. l9 ^6 c& h8 ~& u9 U; V) x1 q

. c! t+ w* M0 A' \5 l9 S" K  a# A5 u3 M4 w# i& y: i$ v- |& r
dataIn = randn(1000,1);
- }! Y! M$ l* o" @4 `  K3 k8 c  `dataOut = filter(b,a,dataIn);  G: X! }- B# E( @

  A: t3 `+ C5 X$ m9 u8 U
4 a5 ?4 I8 b8 h6 x
9 X9 l5 m7 G6 g0 z[b,a] = ellip(n,Rp,Rs,Wp,ftype) 设计低通,高通,带通或带阻椭圆滤波器,具体取决于ftype的值和Wp的元素数量。 将所得的带通和带阻设计是2n阶。
- r5 }" i' e" V0 T
! d; g2 `7 k2 y& i; N) k" j9 q/ ~1 F& w
Bandstop Elliptic Filter
1 }. `# x; w3 ?/ J/ \6 y, J1 K) u  u4 y. }' c$ R. d% t2 r
7 Y9 j; d, l/ Y1 H5 m
Design a 6th-order elliptic bandstop filter with normalized edge frequencies of  and  rad/sample, 5 dB of passband ripple, and 50 dB of stopband attenuation. Plot its magnitude and phase responses. Use it to filter random data.6 l- G( w1 `+ T0 u# Y! G

0 S: F: c3 P1 h3 `' ?! N[b,a] = ellip(3,5,50,[0.2 0.6],'stop');# S$ I: k& I: \4 ~& d
freqz(b,a)
+ e% k5 Y2 E7 G" s  x1 r+ r: _: N/ h
dataIn = randn(1000,1);
7 H- z, \# a) M' [% @' A$ KdataOut = filter(b,a,dataIn);7 h% z2 j, N' O8 p0 z7 N

3 U1 y: H# G2 I# J3 _7 x, s
8 V! K5 {6 `* B  K  Y( Y+ R# n: X
3 n, D& x- z& ~. n1 G[z,p,k] = ellip(___)设计低通,高通,带通或带阻数字椭圆滤波器,并返回其零点,极点和增益。 此语法可包括先前语法中的任何输入参数。2 {1 P, n; D* W* [; ^. F& b2 h- U+ c

( W) i  s# m) F5 U设计一个6阶高通椭圆滤波器,其通带边缘频率为300 Hz,对于以1000 Hz采样的数据,对应于0.6\pirad / sample。 指定3 dB的通带纹波和50 dB的阻带衰减。 绘制幅度和相位响应。 将零,极点和增益转换为二阶段以供fvtool使用。
* w9 z  s' b. |" l. E4 N" @' L$ v3 f% ^; O' N- j
[z,p,k] = ellip(6,3,50,300/500,'high');/ I& \9 p/ W* Z
sos = zp2sos(z,p,k);
/ `, q: m3 P0 A, x9 m4 gfvtool(sos,'Analysis','freq')' ^- L1 c1 U% O6 w( t( b
- L6 a4 C) ~! z9 R+ g: i

4 d0 t9 h5 e& r& [1 K+ E, `4 L3 t* `. D, D/ r
当然也可以通过原来的方法:
5 ~1 i, v3 F2 S1 a9 Y  @7 K1 ^6 I0 J- ]$ m; k# W* m
clc
: b  F$ H# p9 I+ L5 r; V  G6 tclear
4 z  D2 b! g/ F6 s# ]close all
: s0 i* c1 E; s+ a1 Q3 X) k  k # @- q# p6 n6 I" _2 w1 K+ n4 q
[b,a] = ellip(6,3,50,300/500,'high');/ {! T- f3 F; O" g) J# O# v$ A
freqz(b,a)" \5 S3 ?, U  b

" N" g/ f; f  g8 W- J4 ~8 a6 v
8 A3 ]1 Z. P4 K8 D0 C8 m2 L" d4 |
[A,B,C,D] = ellip(___) 设计低通,高通,带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。0 S0 t& E$ R# y7 j2 J' r3 M
+ r7 C" x5 h- O! C% g

3 A' Q/ K- B' q# KBandpass Elliptic Filter
. ?2 ~7 M; f9 `' \1 J% h$ H3 }& B& a8 T: {/ N: f7 l' f

; l4 `, [5 n' V8 I4 wDesign a 20th-order elliptic bandpass filter with a lower passband frequency of 500 Hz and a higher passband frequency of 560 Hz. Specify a passband ripple of 3 dB, a stopband attenuation of 40 dB, and a sample rate of 1500 Hz. Use the state-space representation. Design an identical filter using designfilt.& f# F/ U6 r) Q8 o

. t- v% [% B! _0 w& P- B) l; `设计一个20阶椭圆带通滤波器与500Hz的低通频带频率和560赫兹的高通频带频率。 指定3 dB的通带纹波,40 dB的阻带衰减和1500 Hz的采样率。 使用状态空间表示。 使用designfilt设计相同的过滤器。
! x9 w4 E, j9 V( j/ l7 q6 _# P. a/ N! ]3 F$ V9 z
[A,B,C,D] = ellip(10,3,40,[500 560]/750);
4 V: G& u3 R' g9 I9 Wd = designfilt('bandpassiir','FilterOrder',20, ...5 u$ R3 W, l% i9 e: g
    'PassbandFrequency1',500,'PassbandFrequency2',560, ...
! J! Y! r8 H3 w    'PassbandRipple',3, ...
, X% a  [; N- y7 p    'StopbandAttenuation1',40,'StopbandAttenuation2',40, ...% l( I( e; j5 |4 q5 w
    'SampleRate',1500);5 X( ^+ e, o& a' o, D

7 S+ c, {/ U1 n- Q  b* b! R9 D5 I' O: K* x
0 _. w$ z% |7 j" t
Convert the state-space representation to second-order sections. Visualize the frequency responses using fvtool.
# j& y$ Q+ _3 u/ H1 Z8 w9 _
9 B, A; Z* _9 T' L: E' k将状态空间表示转换为二阶段。 使用fvtool可视化频率响应。; [3 K3 J' h4 Z' E

0 n; `1 U* m0 L) L! G' l5 G0 ysos = ss2sos(A,B,C,D);
! M+ b8 E- a" s# ]6 S3 Afvt = fvtool(sos,d,'Fs',1500);
: }! O! }' r) q1 D) u" Wlegend(fvt,'ellip','designfilt')
" s) \" H0 ~0 \8 H7 z( G9 l5 k5 ?* f* o9 ?' Q1 K

, _( E: I# [" u. L6 j/ W7 o* ]4 `, e' H/ F7 H' r% _6 @
[___] = ellip(___,'s') 设计了低通,高通,带通或带阻模拟椭圆滤波器,其通带边缘角频率Wp,通带纹波的Rp分贝和阻带衰减的Rs分贝。
/ y5 @1 h- t) E% o! ]+ A
/ x- n3 p8 T2 t5 T; O最后一个就不介绍了,具体参考MATLAB数据手册,在命令窗口输入:
' w3 W6 D. U" ~; L' \  \" J
6 V2 \& \0 A6 f( S8 \doc ellip
4 ~$ m) M9 {# o. @; q. l: i
' B3 i% ^7 f+ B" r5 P8 S# W获得相关帮助。5 Y% r9 c- o8 [) i! E

该用户从未签到

2#
发表于 2020-9-23 15:29 | 只看该作者
MATLAB之ellip 函数介绍(椭圆滤波器设计)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 14:39 , Processed in 0.187500 second(s), 26 queries , Gzip On.

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

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

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