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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

/ }* {' @' v$ y6 ~* V* |* R$ Uellip
. N) ~/ G) j0 U2 \( {Elliptic filter design
  U  \! V7 ]* A' l6 K2 m5 F# Z9 d, Q( d3 B+ d: L$ R
+ e6 L* C! |) w0 R; i0 g7 ]
Syntax& X$ X( X! q# s7 K7 q- a% K, K6 c. _
9 }5 W) S: O% `( k% h
[b,a] = ellip(n,Rp,Rs,Wp)
; _! b: a8 ?" Y- L3 ~  O: _
2 L, y! r; U. _) T& U[b,a] = ellip(n,Rp,Rs,Wp,ftype)
7 d* s8 K: p( [/ ?! j; \( K9 _7 I% |' _( H5 [+ u  o5 t$ f6 u
[z,p,k] = ellip(___)) U8 |6 T: `3 G) D& C# {

/ P3 r  r* I/ {  E/ [0 F$ N$ w[A,B,C,D] = ellip(___)
" i- z) K  s% Q7 y0 J* C- b, p' p, L4 S7 Q; w# I( d/ d; F
[___] = ellip(___,'s')" r) d/ a1 o' f* s# l* v) Q9 |0 l

: k: j. G- `# |2 h2 y6 a7 j3 w; B  _& k" d. f# t, y
Description
* D% Y/ W4 L4 U! m5 w2 p8 d2 d. \) s' F; u) |+ T
[b,a] = ellip(n,Rp,Rs,Wp) 返回具有归一化通带边缘频率Wp的n阶低通数字椭圆滤波器的传递函数系数。/ [+ f- K* m& S4 J) @
- {6 n1 I# z- J0 s5 _4 L/ f2 \
得到的滤波器具有峰峰值通带纹波的 Rp 分贝和从峰值通带值向下衰减的阻带衰减的 Rs 分贝。
  C8 ?5 w2 U5 r; \
" \, V* o* D0 Y+ X
$ t, I; D  F: K5 s! ^Lowpass Elliptic Transfer Function$ U+ x' t2 p" S' I9 f6 k
, v& n" c- y  N
$ S! n2 x4 P# c5 A. u, c( c" c
设计一个6阶低通椭圆滤波器,具有5 dB的通带纹波,40 dB的阻带衰减和300 Hz的通带边缘频率,对于以1000 Hz采样的数据,它对应于0.6 \pi rad / sample。 绘制其幅度和相位响应。 用它来过滤1000个样本的随机信号。
% W. g4 ?  L- R6 Z; ?1 ?# Q- R' Y8 X5 s3 A0 t; G
[b,a] = ellip(6,5,40,0.6);0 `3 l6 {7 g# z! C
freqz(b,a)
8 v2 W/ x* D5 e. }
5 L; B: K. B: ?; z6 U. P * F2 z7 ^/ [% ^0 v! L; J: g8 M

3 b# b7 S8 U7 a! B6 zdataIn = randn(1000,1);
6 L( Q- e: c$ a  FdataOut = filter(b,a,dataIn);
) |0 b! E/ q( n+ p4 e  f! [
( d# d* M( n. k) i4 [& Q
; U/ W& W' a" b; T2 X7 y4 N) ^# d! `& |
[b,a] = ellip(n,Rp,Rs,Wp,ftype) 设计低通,高通,带通或带阻椭圆滤波器,具体取决于ftype的值和Wp的元素数量。 将所得的带通和带阻设计是2n阶。! @* ]) W: s- z( s
: l, e$ w8 H' t9 f  S$ W  t

1 `6 r& i; N% w5 s( f1 X! EBandstop Elliptic Filter
2 K' g- S2 N7 w! I! D6 L4 S% q$ N8 }6 ?! u( A
" U; d- M8 A$ [$ d: Y, H7 E- W, A
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.
- C8 i: k5 y  h! N" B1 d" F: R  Z1 g7 K& w. h: @3 I
[b,a] = ellip(3,5,50,[0.2 0.6],'stop');
0 C- g  d; \2 D! J5 \# Gfreqz(b,a)
/ R  B5 Z7 K* y5 h3 @- {! e1 m$ q. B0 {: c( b) {' i/ Y
dataIn = randn(1000,1);
* l$ E4 G( @5 @- jdataOut = filter(b,a,dataIn);
) T. t  H& N3 c
( R& k" m. k5 w, E
0 b7 @9 Q- @: Y& `6 \3 w' y' E. Y' O& X" M) J6 @3 z) v! c
[z,p,k] = ellip(___)设计低通,高通,带通或带阻数字椭圆滤波器,并返回其零点,极点和增益。 此语法可包括先前语法中的任何输入参数。, [/ U) ]1 M8 n

8 k  c8 Q/ N) s/ {. ?设计一个6阶高通椭圆滤波器,其通带边缘频率为300 Hz,对于以1000 Hz采样的数据,对应于0.6\pirad / sample。 指定3 dB的通带纹波和50 dB的阻带衰减。 绘制幅度和相位响应。 将零,极点和增益转换为二阶段以供fvtool使用。
1 h) T5 r0 D0 A/ ~1 u, W+ \
6 C2 `% x! |* W- a[z,p,k] = ellip(6,3,50,300/500,'high');& P9 Y. U6 b& h+ H; Y. r7 c1 B4 [
sos = zp2sos(z,p,k);
# u4 I$ k# D6 R2 Dfvtool(sos,'Analysis','freq')
* T( S' H- `5 q# T3 B- J# P0 v' g% B) r+ s* n) B. {; s

3 Q! i9 r' X9 d; V3 Q7 S" v7 j) m& s8 b' @; ?4 S; }
当然也可以通过原来的方法:
9 L+ c, r7 ]* R4 R/ J3 t% O
" o- ~3 s9 ^) W, c% o. w" {clc% M7 {, e4 P+ e/ X
clear1 H7 I- z5 p0 f" g7 o0 Q5 o, L
close all
* S: {5 _+ b/ P/ U
* E2 G$ [8 G0 O8 {* d( K9 x) N[b,a] = ellip(6,3,50,300/500,'high');7 L2 N8 ^8 T9 b& D
freqz(b,a)+ e# {/ v) i% w  J2 F5 |
% L9 D  a# @) n
3 L" Y8 M) A- h, S2 ~4 p

- {' z8 X6 j( x4 k' y[A,B,C,D] = ellip(___) 设计低通,高通,带通或带阻数字椭圆滤波器,并返回指定其状态空间表示的矩阵。
: N! @. F: T8 V* Z. _* Z/ d
! ^( y' \% ?! K& a; u/ t0 t9 t1 y9 L6 {7 @# Z8 }- i
Bandpass Elliptic Filter
6 l4 k% `4 r1 ?, s& {
1 z7 L: _: ^1 C7 ?' ]. k
! [7 u) ]1 n, L4 {: VDesign 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.
+ y4 o) k! b9 o4 \+ v
* i& J5 N( V8 g1 k) r设计一个20阶椭圆带通滤波器与500Hz的低通频带频率和560赫兹的高通频带频率。 指定3 dB的通带纹波,40 dB的阻带衰减和1500 Hz的采样率。 使用状态空间表示。 使用designfilt设计相同的过滤器。
* {( j* e2 P% q/ F9 `7 e* }: k6 R9 C1 e) `
[A,B,C,D] = ellip(10,3,40,[500 560]/750);& J0 t; C" T9 Y0 ]3 k4 `9 d
d = designfilt('bandpassiir','FilterOrder',20, ...
, I. E: R- ]0 R1 G2 b; O    'PassbandFrequency1',500,'PassbandFrequency2',560, ...
  ?3 Y# [' B) ~    'PassbandRipple',3, ...
' U7 t  B$ L9 Y' [6 X    'StopbandAttenuation1',40,'StopbandAttenuation2',40, ...
& z6 a$ a2 w4 A    'SampleRate',1500);' P8 H& ]6 k6 K. \8 ]7 T; C
: V0 E7 x7 s" P. c' F3 \

' b4 q6 i- g1 J; }6 |" W
1 l& E8 X2 L) V8 @" N5 R0 q( jConvert the state-space representation to second-order sections. Visualize the frequency responses using fvtool.
1 B2 A7 ?0 f, }/ E$ I
9 L* D  K4 T2 W& y8 c将状态空间表示转换为二阶段。 使用fvtool可视化频率响应。
6 L4 E; N- `- t  }6 `/ p
: k! w) k. ~& |* j) D/ Msos = ss2sos(A,B,C,D);, q3 q4 ^! D) M4 m7 W. |# |
fvt = fvtool(sos,d,'Fs',1500);4 s# ~7 f! O5 W5 @6 K# A
legend(fvt,'ellip','designfilt')
; d$ {6 b; r  y$ r9 S/ _$ J
: Q% B& r& E' [2 X! O) ?1 l ' r, k+ u- ^1 s! U# r, l' g

; R: h% ^, u% w( Y5 R5 _. g: X[___] = ellip(___,'s') 设计了低通,高通,带通或带阻模拟椭圆滤波器,其通带边缘角频率Wp,通带纹波的Rp分贝和阻带衰减的Rs分贝。
/ N0 ?9 r/ s+ \5 `8 @4 k% e) h" h$ I; E" p: I0 g
最后一个就不介绍了,具体参考MATLAB数据手册,在命令窗口输入:
: J, _" c0 C2 k1 A  J/ M4 a+ [
, }8 x. a  O0 x- r! E6 O, h/ c) kdoc ellip
! k. [3 K& D' f; v0 }! S* a( M: T' u8 P* _7 s7 R
获得相关帮助。" Y) r1 l  ?6 @. L+ W

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-12 16:47 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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