EDA365电子论坛网

标题: MATLAB之ellip 函数介绍(椭圆滤波器设计) [打印本页]

作者: mytomorrow    时间: 2020-9-23 15:01
标题: MATLAB之ellip 函数介绍(椭圆滤波器设计)
8 z& {* V4 F& d# {; Z
ellip
( L' _) n' U$ {! C& yElliptic filter design2 g7 ?; e' q8 r, L% l
- _2 n% p; |' Y. r

8 Y8 Z! ?  T; A. F7 D8 ISyntax
$ R" g, c3 ]; N0 W8 c8 D( F1 G; q( Q7 r- g0 j
[b,a] = ellip(n,Rp,Rs,Wp)8 H2 `% a! r" }

. L0 ]! Q3 x- Z8 X1 q' r7 N% j1 L[b,a] = ellip(n,Rp,Rs,Wp,ftype)
; W  j& `9 _1 M  @5 p  l3 O) A' L# j  _& m. d
[z,p,k] = ellip(___)# y- T- p! u  D& A# Y0 z
5 X$ Z. x  S6 k9 g
[A,B,C,D] = ellip(___), p4 W6 q  r! V4 x, O" u
8 @1 \" v4 ^3 d# P; L: Q
[___] = ellip(___,'s')
+ y  I: G+ h$ S/ W. Z. k/ l: j6 i* X3 V) O! n7 v; q/ ]

+ H" W0 H9 O5 y4 Y+ C& T3 XDescription6 O' h* p( N+ q
' k, c  l. D7 j( h2 }* D
[b,a] = ellip(n,Rp,Rs,Wp) 返回具有归一化通带边缘频率Wp的n阶低通数字椭圆滤波器的传递函数系数。
. v6 y* ?; M. g2 t6 D: j) E( n; ?4 g$ b$ p
得到的滤波器具有峰峰值通带纹波的 Rp 分贝和从峰值通带值向下衰减的阻带衰减的 Rs 分贝。+ U* B2 m2 Z& q- I

  E3 t! h+ e/ p* z9 T: {+ a% ~; j3 B0 X+ H( |
Lowpass Elliptic Transfer Function5 c( [. r. \- H$ M
% c0 K0 {' q4 M* z

6 `; S6 L% u, W设计一个6阶低通椭圆滤波器,具有5 dB的通带纹波,40 dB的阻带衰减和300 Hz的通带边缘频率,对于以1000 Hz采样的数据,它对应于0.6 \pi rad / sample。 绘制其幅度和相位响应。 用它来过滤1000个样本的随机信号。
8 V) j8 W0 t8 ?7 @% V7 v. J7 u7 ~$ d) L+ U4 x* E. X7 y- I6 k5 W
[b,a] = ellip(6,5,40,0.6);6 c* {7 p2 |: H. _) k5 M
freqz(b,a)
; R6 o7 r  O- w8 ^! c4 g
  Q) P, R$ l9 `' f3 z # T) y, f' J9 V5 g% s1 v* s2 P

, m& \: j  _1 E. ~8 mdataIn = randn(1000,1);+ [: ]! D7 ?0 n" x
dataOut = filter(b,a,dataIn);
4 J: t8 j; o, b/ ~' ]/ [: b6 p) R4 k* f5 e+ \  k+ M+ \1 F3 O
& k+ d& W6 d" Q7 D2 m1 Q  {

; U( G. M" I) A/ H[b,a] = ellip(n,Rp,Rs,Wp,ftype) 设计低通,高通,带通或带阻椭圆滤波器,具体取决于ftype的值和Wp的元素数量。 将所得的带通和带阻设计是2n阶。
) S8 M! q2 [8 i  P3 n
0 B9 p' b% T1 t8 U1 n% b* |" A/ q% R& S, s6 Y! F1 I) v/ Q+ ]
Bandstop Elliptic Filter3 O. b- Q& L  c! l& x0 g# K$ V
, z" B- r7 s2 m

' |' Z  s- R" N0 sDesign 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.
: O3 E0 l$ j' `, A7 _* Q# P& C  o/ v0 X
) _. C+ Y0 }8 M% l9 p[b,a] = ellip(3,5,50,[0.2 0.6],'stop');
! y& a0 c0 C) @' M& s% cfreqz(b,a). G' k/ J: {* G; O4 X" V
  x) M8 n4 y5 ]( h# Z
dataIn = randn(1000,1);
* T7 I0 z$ q( p3 X5 V1 gdataOut = filter(b,a,dataIn);' h) ]! D- Y3 s& q6 t, |6 x) v
& K9 t5 }* |) B2 l. R
( ?8 G! ]3 m/ M8 \
7 G9 v  N$ C( `& I! ^; J6 X0 l. k6 z
[z,p,k] = ellip(___)设计低通,高通,带通或带阻数字椭圆滤波器,并返回其零点,极点和增益。 此语法可包括先前语法中的任何输入参数。
: L% E6 \4 F# C- J1 N, V9 l+ {4 V/ n& F7 v" T2 \2 ^
设计一个6阶高通椭圆滤波器,其通带边缘频率为300 Hz,对于以1000 Hz采样的数据,对应于0.6\pirad / sample。 指定3 dB的通带纹波和50 dB的阻带衰减。 绘制幅度和相位响应。 将零,极点和增益转换为二阶段以供fvtool使用。
+ R2 j6 ~+ X' c3 Q1 T5 H( |
  Q7 E; S3 m$ M) E# N, H[z,p,k] = ellip(6,3,50,300/500,'high');$ m6 c8 A, m' Q) R4 G
sos = zp2sos(z,p,k);6 V* s% ?9 [3 w, \: I4 C& C# x0 o2 F
fvtool(sos,'Analysis','freq')# k( e' _7 M) m, p+ J
; Y5 R6 V; w2 K( A8 Y

- {, |. @9 ?' K
8 ?4 k4 ^( F+ W+ X( E当然也可以通过原来的方法:
% R( e, z/ I# V, g2 k
/ V& L8 l$ A' `& g7 U7 qclc
$ `  b6 [7 ^0 q& H/ c! K3 Tclear
# F7 @7 g9 _7 h, Z* A& z. m6 F# Jclose all
  l1 v) ]6 r) P& v' W1 { " Y8 V. ~3 l0 Y, ]7 l
[b,a] = ellip(6,3,50,300/500,'high');
3 V( Z( Y8 C4 Zfreqz(b,a)" |2 B- u9 Z5 k3 T) e' a) q$ m! _! ^

$ t, h9 d* i) O1 d* x' k) f$ t2 T$ ^4 a
$ v/ D: l; L$ Q* B7 {
' ]' }6 X1 U3 s0 {4 s0 b[A,B,C,D] = ellip(___) 设计低通,高通,带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。
8 @. L7 r9 Y4 h" I- s. D& ?. J) R
" b4 x7 o3 {# [- K  {7 g$ j+ ^
: O8 r2 r4 z$ p( l* ^" l! }Bandpass Elliptic Filter! A* f1 G" e6 d  U* N) j0 Y8 B
% g" D0 r8 o5 Z" W, w

% O2 R, e) ]! w9 C% `7 C; |Design 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.: G0 y, z$ F3 N+ A' ^, p$ b
; ^5 e% V. O$ y, Y$ Z' e5 u
设计一个20阶椭圆带通滤波器与500Hz的低通频带频率和560赫兹的高通频带频率。 指定3 dB的通带纹波,40 dB的阻带衰减和1500 Hz的采样率。 使用状态空间表示。 使用designfilt设计相同的过滤器。
5 n, m; `) G% P5 H9 g3 E4 Y8 u: F6 f/ T
[A,B,C,D] = ellip(10,3,40,[500 560]/750);
/ ~3 K6 k( u# t; [2 W7 q* v* |d = designfilt('bandpassiir','FilterOrder',20, ...
  u) t0 a# K/ ]7 k3 h: L    'PassbandFrequency1',500,'PassbandFrequency2',560, ...
. Y1 m- S# E9 \/ r    'PassbandRipple',3, ...
8 ]) W" i, A' s9 T  ~- {6 i    'StopbandAttenuation1',40,'StopbandAttenuation2',40, ...: o. d; M) |% Q1 A4 t4 ~" g4 }. E5 X
    'SampleRate',1500);
) F( i: R. M, K: w4 ^1 T1 I  C$ F
; ?! p# v/ f+ G; ^" w
( `" r/ Z6 M) g2 \8 o- x6 {5 k; g: x- w3 r
Convert the state-space representation to second-order sections. Visualize the frequency responses using fvtool.
9 I+ y8 m# ?9 G6 S( q. v7 R; o; z+ `3 @  V5 m) _' F
将状态空间表示转换为二阶段。 使用fvtool可视化频率响应。
5 v9 c8 j- r9 M. A" b+ `6 X; N/ I
sos = ss2sos(A,B,C,D);
2 C# G6 j3 E8 V' i8 j# z2 ]/ l; ]fvt = fvtool(sos,d,'Fs',1500);
8 F6 f5 p2 O8 v8 i. L# q7 Hlegend(fvt,'ellip','designfilt')
5 y0 f  O, w1 q$ N/ n1 I# G% j2 N
" m. @/ g' T% q; e! c( S2 u" U4 N
) T; h1 p0 ?* U" D, D3 y3 F% A2 M# l: T3 j% G! h$ Z+ \; i2 G
[___] = ellip(___,'s') 设计了低通,高通,带通或带阻模拟椭圆滤波器,其通带边缘角频率Wp,通带纹波的Rp分贝和阻带衰减的Rs分贝。
. {" s/ b! F7 n; `* _6 X+ L0 a/ E  [2 J) {3 _
最后一个就不介绍了,具体参考MATLAB数据手册,在命令窗口输入:0 r9 x# [. h: p0 @8 X

7 z4 L4 _: F5 A' N7 o% Ydoc ellip
% R4 `; Z) b3 |3 }- J) }6 w$ e1 m! F9 ~+ q4 {8 E% y% p* Y8 s
获得相关帮助。$ {* K+ z( G3 N" M

作者: SsaaM7    时间: 2020-9-23 15:29
MATLAB之ellip 函数介绍(椭圆滤波器设计)




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2