|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab 低通Butterworth滤波仿真m文件# s, N8 Q( M' c# e, e
, G* ^4 z# G* B+ z5 o% x, p
( k) b) P0 [/ z+ d! T/ J+ m
- G1 `& q' l: p* ~
////////////////////////////////////////////////////////////////////// clear; P=bodeoptions;
7 C8 b* t" B6 P4 c$ h5 RP.Grid='on';
6 y7 a& T$ M( tP.XLim={[0 800]};
( E" d" D: j, v3 O# |: _+ ]P.XLimMode={'manual'};) F+ u" x0 ^. |5 X5 i6 F4 T
P.FreqUnits='Hz';7 P) m& Q/ B0 g1 P: Z
P.MagUnits='abs';. o8 f/ l% E$ {6 m1 w: }' R2 x
P.FreqScale = 'linear';) i: G% r- i2 Y* D5 k! w3 N/ f# p
n=2;f0=100;fs=6400;, S8 K0 i$ M! {* ~# z, e& i. g6 C
[b,a]=butter(n,f0/(fs/2),'low')
. n2 i1 z l. |/ @H=tf(b,a,1/fs);
( P0 y% p/ v+ z# ?& Y. nbode(H,P);grid on; %绘制滤波器伯德图
! a: [9 W; L+ y4 H6 s" `" ~Ts=0.1; % 分析的时间
- ` a5 F$ Y% j6 m5 B4 O' gt=0:1/fs:Ts;w=100*pi*2; %w=2*pi*f0; $ c$ |) O7 B$ M7 h2 U% a. [
u=800+100*sin(3*w*t)+500*[(t>=0.05)-(t>=0.05+1/fs)]; %input signal;直流800V+100Hz纹波+冲击
$ ~" Q+ J5 N9 l7 _0 `: vfor i=1:1:2
; q' _( X' @" j& k y(i)=0;: T* L8 R0 G6 B( L( |% e
end
# k9 m4 ^' H9 N8 f8 ]for i=3:1:Ts*fs+17 f7 C, L& f9 L, M7 o8 a0 ~5 E
y(i)=-1*(a(2)*y(i-1)+a(3)*y(i-2))+b(1)*u(i)+b(2)*u(i-1)+b(3)*u(i-2);8 z! M$ G$ M0 n/ L7 T t
end" \, D# Z& j5 C: f% o/ a! E
%figure;plot(t,u,t,y);grid on; % 绘制滤波效果,100Hz衰减95%, X: T. ?* N. ]' A3 b* K
figure;
, w" x4 _4 ^! c8 |plot(t,u); {& ~8 _6 [" v/ H
grid on; % 绘制滤波效果,100Hz衰减95%
2 @# z2 o. ^9 b! n( {1 V0 sfigure;0 r# l1 J& f4 V, l
plot(t,y);
' j2 l& z% ?3 u& T4 qgrid on; % 绘制滤波效果,100Hz衰减95%
6 `6 W( H$ j6 J/ x7 y c- v///////////////////////////////////////////////////////////////////////////// a1 y8 Q9 \8 U
9 S0 C. B- A8 Y& ]& f' f- \& e. T1 L% { w4 y; d
|
|