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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

: x* i. u0 Y* ~4 K. F% s4 ?ellip$ }3 d# v6 d2 s3 ^+ j' {
Elliptic filter design
' r* h4 ?; p7 R7 f2 x7 k
' x" a% W( E, ?: o2 a/ w0 E# B5 [) t$ N  W4 b& v; A$ O
Syntax
  W$ Y  |, u" s3 z9 ^$ [! Y. |; u# q3 ]( z5 U; Y
[b,a] = ellip(n,Rp,Rs,Wp)$ A9 }8 c$ o0 ^) X

# n  R/ g  _* _& v* t8 G[b,a] = ellip(n,Rp,Rs,Wp,ftype)
" x  }, T/ o$ L& {, v' `+ u: R
' L, k* Y- }, m! |4 X: Z5 {[z,p,k] = ellip(___)9 S* X% R0 l# ?; v4 C' B

- l3 {2 X" m3 z[A,B,C,D] = ellip(___)5 C# S$ Y' Z/ y" \$ g

. r# F7 }2 _- Q. a' w8 g, b[___] = ellip(___,'s'), z' L3 `6 F4 c4 Z; p- r

: C" M, C3 [' |" p" f8 J) W# w. O
6 I; e( ?5 \* Z: T7 ^% zDescription
4 W0 n( q, j" _; d7 K3 T" G6 N5 d5 t- ?4 y% t7 Q8 h5 @
[b,a] = ellip(n,Rp,Rs,Wp) 返回具有归一化通带边缘频率Wp的n阶低通数字椭圆滤波器的传递函数系数。
4 U! b0 f- x: q* n* L. k* ]
  i' `0 ^0 G* \得到的滤波器具有峰峰值通带纹波的 Rp 分贝和从峰值通带值向下衰减的阻带衰减的 Rs 分贝。' q/ c0 K6 `. ]9 L

5 y: w# j6 k( N4 j* P  L  W9 l% ?* v* L+ Z8 H. c1 W
Lowpass Elliptic Transfer Function" _; `5 C- G! M8 l, U- u1 E' m
2 r9 m6 t) ?! r# d- Q, ]4 H' b# {3 w( |

8 Z9 Y6 o# o7 W- k设计一个6阶低通椭圆滤波器,具有5 dB的通带纹波,40 dB的阻带衰减和300 Hz的通带边缘频率,对于以1000 Hz采样的数据,它对应于0.6 \pi rad / sample。 绘制其幅度和相位响应。 用它来过滤1000个样本的随机信号。
# W, Y% o0 U% t& a
4 h( v5 Y, _- x+ S) c/ Z& _9 Z* S[b,a] = ellip(6,5,40,0.6);
( D7 b7 R, I5 ufreqz(b,a)- @: s4 F- h) [
4 g& L& ?, N5 r  ?" S

7 w$ g) F. {, @+ {" @9 k' W* u! K9 f8 a' }0 _# ~7 m
dataIn = randn(1000,1);
8 {, ~% y% |3 m& Q/ x4 t( jdataOut = filter(b,a,dataIn);* W8 g4 a( H6 [5 e

. U7 q8 ^; `* L. n+ |
- C9 a3 g0 _# l# q8 o, h3 ~( S% H2 a1 I/ K/ D' i! x3 |
[b,a] = ellip(n,Rp,Rs,Wp,ftype) 设计低通,高通,带通或带阻椭圆滤波器,具体取决于ftype的值和Wp的元素数量。 将所得的带通和带阻设计是2n阶。. e# k! z4 p4 j- Z4 Y: x; `5 ^

( N9 G1 f* A7 |8 Q" X- Y" n, A
; g) I8 x: ^( }% ~+ g+ g! PBandstop Elliptic Filter
# q8 q& A4 {6 I; E0 q( _) r/ O/ G' H4 t2 q
9 N5 g6 y. d" ?5 E- x
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.( ~3 H) `$ A% b) n% l  w4 }+ h6 Z
; w7 j% K+ c7 U( X, i
[b,a] = ellip(3,5,50,[0.2 0.6],'stop');$ I2 a9 |: c; C4 d
freqz(b,a)
6 S, C7 Q, Q  F3 V! a$ H# w& @5 q& `) z6 b1 \9 w# j& i1 l
dataIn = randn(1000,1);
9 \- `8 \1 j. b4 e, s" @dataOut = filter(b,a,dataIn);
2 `, S; \% y! f- ]$ Y- t+ u9 M7 g/ ]

' ~6 y% Y; q; q4 X, I* Y
6 }1 Q4 ~& Q1 x5 {6 x[z,p,k] = ellip(___)设计低通,高通,带通或带阻数字椭圆滤波器,并返回其零点,极点和增益。 此语法可包括先前语法中的任何输入参数。6 F2 e  J9 P$ c

& c5 x5 s/ R( O9 `6 ^$ l设计一个6阶高通椭圆滤波器,其通带边缘频率为300 Hz,对于以1000 Hz采样的数据,对应于0.6\pirad / sample。 指定3 dB的通带纹波和50 dB的阻带衰减。 绘制幅度和相位响应。 将零,极点和增益转换为二阶段以供fvtool使用。
2 `, c! i7 w! b! k4 L, G. V8 t: e8 O6 `1 ?7 K2 c: t. y
[z,p,k] = ellip(6,3,50,300/500,'high');
1 Y/ Q0 ~" T7 P0 b1 d5 Asos = zp2sos(z,p,k);
  {. j2 @- M' z2 B, U. Zfvtool(sos,'Analysis','freq')
! S! Q$ }7 G8 A5 H. e! ?3 E9 R0 W" J
4 C& z; n6 f2 b - Z! y* G6 `4 U2 t" x, X8 z1 v
+ D+ b% b9 j% N4 @) Y
当然也可以通过原来的方法:
2 p1 @$ A' `! U: P1 U3 ?- H8 z" F$ p  z+ g) u# `2 |
clc) ^! y! \" o  T" S# y7 p# b" S
clear- ^+ b: Q+ i2 B
close all
4 K0 g, V1 p; K3 p
, W8 I% R. T" i( }  W& `! q[b,a] = ellip(6,3,50,300/500,'high');0 t9 ?7 J  O% U# r- T
freqz(b,a)
* a" e9 ?/ k+ ~1 p$ s# X, H3 W% K
+ o# G1 x& W4 x) M0 h
+ h. o; _& Q- |
* g: q3 B  V) K7 k3 S0 }[A,B,C,D] = ellip(___) 设计低通,高通,带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。
2 a9 J* X1 }0 L8 u% v. u" |- D8 Q9 V& M* l4 L
* C5 x1 }) M+ A2 K- L1 ~3 e9 Q
Bandpass Elliptic Filter1 W8 E% _/ K! x( V* Y

2 C0 t3 R7 {# c/ J1 R0 Q1 P1 c: N. @) g+ i
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.
5 J" P$ @# Y9 o- X
/ [) o5 Z# P) S* O* b% M设计一个20阶椭圆带通滤波器与500Hz的低通频带频率和560赫兹的高通频带频率。 指定3 dB的通带纹波,40 dB的阻带衰减和1500 Hz的采样率。 使用状态空间表示。 使用designfilt设计相同的过滤器。
; z0 n" ^- M7 K4 e; u) Z; j5 b: ]# O# G1 H4 R% A- N0 V
[A,B,C,D] = ellip(10,3,40,[500 560]/750);- |9 q$ d' ^: P' C6 u# c0 X+ G
d = designfilt('bandpassiir','FilterOrder',20, .... ^3 y/ @* K2 F  T/ j7 e
    'PassbandFrequency1',500,'PassbandFrequency2',560, ...
. z- Y  I6 X. Z/ r7 o9 b6 [    'PassbandRipple',3, ...
1 z. M/ R' g% M# A1 E* r: B( m    'StopbandAttenuation1',40,'StopbandAttenuation2',40, ...
1 K7 q( {3 b7 A1 f7 x% l5 k    'SampleRate',1500);
$ @' S6 I) ^+ o* i  f8 Y: R- N' {. f2 m2 R9 A

/ r: I& R1 i/ r/ D" U3 R9 w" Q. `7 B. t6 g; Q- ^
Convert the state-space representation to second-order sections. Visualize the frequency responses using fvtool.' C, k- E3 t' N0 w. Z
( r1 w6 w; Z* m2 q; s* c
将状态空间表示转换为二阶段。 使用fvtool可视化频率响应。. Y3 [& N+ a  v: ?* X* p/ q7 f, ]
  z7 e* @3 p5 w* G1 r
sos = ss2sos(A,B,C,D);
% y+ z# ?# G4 lfvt = fvtool(sos,d,'Fs',1500);
0 F. R1 O  o/ }5 Y' D- W5 flegend(fvt,'ellip','designfilt')
& G8 g3 C( p- p! C  T2 t* k4 S' P. D* A

- }7 N7 [# y, K3 X, K9 Q6 V' `- X+ R/ p/ f9 E' h8 S
[___] = ellip(___,'s') 设计了低通,高通,带通或带阻模拟椭圆滤波器,其通带边缘角频率Wp,通带纹波的Rp分贝和阻带衰减的Rs分贝。
& E  F3 |' W$ a+ J) I
) F5 g, n# ~# U# n" ~( {最后一个就不介绍了,具体参考MATLAB数据手册,在命令窗口输入:
: E: Y# z: [( J5 O0 x
6 \% V! M9 v4 f6 N1 idoc ellip; A" V" g) y; i+ |- p) Z( l

( k7 R" J5 i2 j9 m) g. m* u& v! N# j获得相关帮助。5 p8 F: `/ C% t! F$ O+ c+ z

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 15:50 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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