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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

7 p& ]* w. q3 u3 h2 P" Rellip& a3 T8 p% H5 F; C5 L
Elliptic filter design
5 o  K/ _- Z' h+ M8 ]! R
# Q7 N" Q9 I: H. {5 ~9 i. B) U9 g  W6 ~, }# j0 P6 R
Syntax
% \. v" W- U0 q: N
$ S+ _# h! i# {5 d* l! p[b,a] = ellip(n,Rp,Rs,Wp)
  y+ V/ m+ [; m& B3 E* ~2 k- H" R& ^# I! d+ d2 i- z4 E
[b,a] = ellip(n,Rp,Rs,Wp,ftype)* |4 v. P, k& ?# U: G* |' X
% Z9 X' k! h+ ]8 E
[z,p,k] = ellip(___)  v% w3 H# T1 p; l- R+ w

3 x1 s2 V5 e* q[A,B,C,D] = ellip(___)
7 ~6 r4 r' F7 p* K" ]. q$ l9 B  _
0 D$ \4 B, u! U: h$ I9 E[___] = ellip(___,'s')
* b- U) n" g) t2 x. d
/ w# \' h2 X9 d. S# n. a+ G2 y" G2 y% a2 D: P* X$ b) S& w) Y. I
Description
; `9 m" {( C, ]# s- [
( a/ ~! H) [6 L2 s9 E$ W[b,a] = ellip(n,Rp,Rs,Wp) 返回具有归一化通带边缘频率Wp的n阶低通数字椭圆滤波器的传递函数系数。# {' f' N" C- M( d6 w* c' Q

. T5 f( h. X# Q: p- @2 O) b1 `得到的滤波器具有峰峰值通带纹波的 Rp 分贝和从峰值通带值向下衰减的阻带衰减的 Rs 分贝。
. r0 m' Y( j* [' z# |1 X" r) n3 x
' {# B/ ~8 J2 @3 P1 G( ^
Lowpass Elliptic Transfer Function) R, ]: w4 U) p$ e3 ]6 M
0 Y" S4 b- q$ }# _/ }
; w( S$ ]8 ~. P0 n1 K' \
设计一个6阶低通椭圆滤波器,具有5 dB的通带纹波,40 dB的阻带衰减和300 Hz的通带边缘频率,对于以1000 Hz采样的数据,它对应于0.6 \pi rad / sample。 绘制其幅度和相位响应。 用它来过滤1000个样本的随机信号。  B* j% V2 Q4 T4 O6 O

6 k- C9 j; d+ G8 q/ P8 }[b,a] = ellip(6,5,40,0.6);
1 G3 ]0 I5 N$ G. ]) h& L+ X! {freqz(b,a)% Q$ P5 ~! i; l' j

3 e9 I) y! R  R' H( g% m0 d4 J   t& t! q4 Z6 a% V. m2 W

0 r2 S4 m+ t; W2 J' h* t! ~dataIn = randn(1000,1);
! O5 E: Z% {8 a- P- F9 pdataOut = filter(b,a,dataIn);, A0 D9 W3 k3 T- y% Q& G- i8 b0 A0 q
% i, Z) U3 m) k% K' n' E1 M5 g

# P* E0 R) y, d2 f7 b# m. f( T& D( N6 Z& s
[b,a] = ellip(n,Rp,Rs,Wp,ftype) 设计低通,高通,带通或带阻椭圆滤波器,具体取决于ftype的值和Wp的元素数量。 将所得的带通和带阻设计是2n阶。7 ~$ T6 _! V4 I0 I1 v6 x! h
$ g% U5 i$ C! J; L- ~

$ u: m1 N+ n9 k; R" k; T  W8 b( D4 yBandstop Elliptic Filter& i" v+ x! H  p# p6 _2 X1 Z
8 T& ^# h: d8 k1 w# B8 x
' D# b* l6 e2 z
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.# P. I/ ?4 M& u( ~8 l5 D+ v

& P) `9 A0 y, E[b,a] = ellip(3,5,50,[0.2 0.6],'stop');
' w) ^) }* C# J/ y. Pfreqz(b,a)
' [9 V5 g8 H9 Y2 U6 A% h- _
% E+ j+ k% u' n4 O: ]0 P" @; X: IdataIn = randn(1000,1);
, a% y9 n# K1 @  @dataOut = filter(b,a,dataIn);8 Q8 f9 @3 @' x$ S0 c. B+ X" R
: z5 I- b* f7 l
/ y. |, a+ T' R' U# H* @8 l

, H4 [6 i" Y3 }6 w7 f; h9 M3 X  G  a$ v[z,p,k] = ellip(___)设计低通,高通,带通或带阻数字椭圆滤波器,并返回其零点,极点和增益。 此语法可包括先前语法中的任何输入参数。
8 a& M/ W3 F6 e2 O- n
0 L+ Z4 j8 x6 L3 |" G  _设计一个6阶高通椭圆滤波器,其通带边缘频率为300 Hz,对于以1000 Hz采样的数据,对应于0.6\pirad / sample。 指定3 dB的通带纹波和50 dB的阻带衰减。 绘制幅度和相位响应。 将零,极点和增益转换为二阶段以供fvtool使用。
4 R8 \, X) l* }6 v
4 o5 f- d0 H, N; N[z,p,k] = ellip(6,3,50,300/500,'high');
7 J2 j2 P9 O# T1 i* r; h$ _sos = zp2sos(z,p,k);( R# m( B( R) ?. q2 j( }+ j
fvtool(sos,'Analysis','freq')) d. a  X6 R7 W4 d8 e

: ~3 e' l" O4 v3 q
/ m" `5 U7 b2 {6 M3 G; ?. D+ O: {- N! l# s
当然也可以通过原来的方法:5 R5 E6 P' _, M9 h" X& ^% w: M+ r
) A/ u/ I( J8 L( A  g0 l# _* n9 t
clc. F  h$ X' L$ ^
clear
9 E1 d3 j( b  [+ A3 X/ e1 ]close all
) [: d8 @! p# k+ f4 d / \# p- _. W  T" `( I  p
[b,a] = ellip(6,3,50,300/500,'high');) N8 I0 E1 W6 c0 F8 E2 \! H3 O7 q4 m
freqz(b,a)8 ]& ^* z9 }% `/ u4 p

; `7 q* l/ {5 g8 |
/ T& d/ J( K5 g$ A2 f# A
8 `% p6 p. k; n0 }0 s: p3 z[A,B,C,D] = ellip(___) 设计低通,高通,带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。
+ g; N! P8 T% r2 m6 k' a
% i" Y7 f" e) J% Y1 Y' L
  E. a6 V" f+ z7 g: A% ]Bandpass Elliptic Filter
, O7 U% H  J/ j; |7 X+ J9 W  j6 _0 ~! d! G6 `' T6 J
  f5 _+ B/ z( J" `' v$ @' B! F
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.
) p# {( ~3 d# X( w- m% o1 ?* R% K* i, n4 P' |# w9 N) h) T3 h# e
设计一个20阶椭圆带通滤波器与500Hz的低通频带频率和560赫兹的高通频带频率。 指定3 dB的通带纹波,40 dB的阻带衰减和1500 Hz的采样率。 使用状态空间表示。 使用designfilt设计相同的过滤器。
* K  m9 ?/ Q2 P: r! L4 b6 G/ s  H4 i' {( Y9 {6 O. J
[A,B,C,D] = ellip(10,3,40,[500 560]/750);( A$ ~5 G/ M+ L# u6 o9 h
d = designfilt('bandpassiir','FilterOrder',20, ...
7 ~0 d1 N) d. S6 d    'PassbandFrequency1',500,'PassbandFrequency2',560, ...
& Q: l2 _+ ?+ e# ?) o9 ~    'PassbandRipple',3, ...
% P; L6 V% ~8 S# I4 t    'StopbandAttenuation1',40,'StopbandAttenuation2',40, ...
; u3 _- n" ^$ h  q8 t3 l    'SampleRate',1500);
9 m% \; g+ n7 d$ r/ v9 T. K5 }) K4 }; L6 ~

7 C1 p' Q; E6 ?) p0 U: |7 I- Y: g1 A% [% J. o
Convert the state-space representation to second-order sections. Visualize the frequency responses using fvtool.
5 N8 |/ e9 E! c  F! w, b
" r' o; A( \8 i将状态空间表示转换为二阶段。 使用fvtool可视化频率响应。
. w; ?; C* @+ L5 x8 \+ Q  x4 I$ |% I# c/ Y0 }$ Q0 K5 b4 ~0 W
sos = ss2sos(A,B,C,D);. H! I/ R) ]7 Z6 r+ v' Q
fvt = fvtool(sos,d,'Fs',1500);  C* O& Y/ f$ o+ C: n
legend(fvt,'ellip','designfilt')
. F- |% \% m: [( M# I  T" f5 s+ Y3 \3 p9 J  K+ b4 O9 G9 S
0 G! N# P' X( w
3 k" l7 j7 }( w4 L5 c& S- K, K
[___] = ellip(___,'s') 设计了低通,高通,带通或带阻模拟椭圆滤波器,其通带边缘角频率Wp,通带纹波的Rp分贝和阻带衰减的Rs分贝。# ^) r5 S" P% L3 e- G
! J3 L  V: t$ o" w3 W5 r
最后一个就不介绍了,具体参考MATLAB数据手册,在命令窗口输入:; H2 H) `' b) O; @) ~1 a9 [8 m& i

, @7 o' i/ j: E6 |doc ellip( d6 n% u2 T, Z7 ^) g
$ A: r3 f9 }# k5 E- I
获得相关帮助。
+ }6 h4 `9 N3 N9 ^0 E

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-6 09:21 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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