EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab 低通Butterworth滤波仿真m文件
% `$ R, F, ?& G; T* a$ M% j- Z! J7 X! p
( }9 ]$ n) w) H) `6 N) j' c
7 v5 o0 H, x4 H; r! `7 d5 {; n////////////////////////////////////////////////////////////////////// clear; P=bodeoptions;+ v8 a0 o! W2 A, y* D. ]/ N
P.Grid='on';
; r! x) f' W+ U+ z4 G, Z& u( A: OP.XLim={[0 800]};
- s; p2 X) ^# O7 SP.XLimMode={'manual'};0 a$ P. L; \" ~/ @, J7 V
P.FreqUnits='Hz';
; w# x: u5 f' y3 j2 d3 i* K2 {P.MagUnits='abs';
' V* h6 D0 l2 T( O5 GP.FreqScale = 'linear';
* m" f8 J- \$ s4 l3 W, p- S2 }7 _n=2;f0=100;fs=6400;1 ]4 B% v4 M- q9 [. l, B' l
[b,a]=butter(n,f0/(fs/2),'low')" a7 t& u) Q& P U; H" i* M
H=tf(b,a,1/fs);$ x/ _! J2 x+ ]0 S& w
bode(H,P);grid on; %绘制滤波器伯德图2 e: D" d/ M6 K" b/ ^( t) f' \0 x
Ts=0.1; % 分析的时间
6 l) l7 V- L6 s& E- At=0:1/fs:Ts;w=100*pi*2; %w=2*pi*f0;
2 ^2 _7 v6 o+ T4 }% [$ |, su=800+100*sin(3*w*t)+500*[(t>=0.05)-(t>=0.05+1/fs)]; %input signal;直流800V+100Hz纹波+冲击
2 P7 Y4 G1 m/ U2 b4 H8 Mfor i=1:1:2' z+ |$ r! M0 L" c1 L
y(i)=0;
) C9 x4 g7 y# G j0 @( C( D9 ~% qend, M y$ v/ l0 D9 Z- r+ V1 v
for i=3:1:Ts*fs+1
+ y0 j/ T/ p: P" Z' K4 ]. E y" [7 v 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);5 s% }% v M- |5 Z' Q
end
# d: \2 j5 A8 m' P! q%figure;plot(t,u,t,y);grid on; % 绘制滤波效果,100Hz衰减95%! ~0 S) R+ |# n
figure;1 H( Q4 d7 q( V: y N6 B
plot(t,u);
8 A w# }, T5 {grid on; % 绘制滤波效果,100Hz衰减95%$ Q$ v! e+ C. G N& \! B. M0 o
figure;% c9 K# Q$ d2 ^' w3 S! @7 r
plot(t,y);
+ n3 v) y7 l9 R9 L# sgrid on; % 绘制滤波效果,100Hz衰减95% - z( r' ^; C/ j+ s [
/////////////////////////////////////////////////////////////////////////////$ f/ ^2 `# w$ J1 M
) N) l' b6 {1 r E0 D' P+ t
0 i9 h6 k: I! e/ \- {5 @ |