EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab 低通Butterworth滤波仿真m文件
# H# I) G0 ?- Z: ^: H- Q* Q4 f4 e- u) |. a: Z4 k
% S, c# Y& u* u/ \% G: q, \5 T6 |
1 P2 {1 O# B) R! \$ `////////////////////////////////////////////////////////////////////// clear; P=bodeoptions; b1 x. L+ B* o; a* s
P.Grid='on';
; O4 |2 E k/ x, U9 R( QP.XLim={[0 800]};
0 ?! O9 p$ Z# \' J- t+ M$ O! BP.XLimMode={'manual'};6 V3 `, X" p; x* ?; C4 q
P.FreqUnits='Hz';
) r8 ^( ?$ p4 b0 Y w6 F t( d* h) qP.MagUnits='abs';
' z0 m: _/ D: }0 v8 y! IP.FreqScale = 'linear';0 x% U) c1 ^# R+ }9 d
n=2;f0=100;fs=6400;
# h9 O5 S# V: s/ c! D[b,a]=butter(n,f0/(fs/2),'low')- _0 z# ~2 b0 {5 |! I9 h r
H=tf(b,a,1/fs);9 T" v, a; S" [% z
bode(H,P);grid on; %绘制滤波器伯德图
5 [, ?' h" H6 r v" U: zTs=0.1; % 分析的时间
- P* _ M% z' s" V& Vt=0:1/fs:Ts;w=100*pi*2; %w=2*pi*f0; / k! Y. L5 m0 }( g* F# _
u=800+100*sin(3*w*t)+500*[(t>=0.05)-(t>=0.05+1/fs)]; %input signal;直流800V+100Hz纹波+冲击4 Q6 [; `/ V- |6 Q0 V
for i=1:1:2
) |- A& p7 B$ S/ }( i& l4 O* a y(i)=0;
* j) ^) A5 w# ? cend, w1 b4 t3 ?. _; @( {8 I( b
for i=3:1:Ts*fs+1
& d: x- m: i5 N# ]5 u 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);9 j4 y) f% M) C9 P
end
) X8 ^/ J4 L+ r& @5 `%figure;plot(t,u,t,y);grid on; % 绘制滤波效果,100Hz衰减95%
i! l% }( b/ @( m* ]/ mfigure;
, x( V+ s3 [5 O& oplot(t,u); % x& ^* s7 j; u, n
grid on; % 绘制滤波效果,100Hz衰减95%
V {2 K7 h. R. yfigure;
9 L, G5 Y! j- w3 J8 splot(t,y);
9 s d) q' e C8 }: j* P3 A* Ygrid on; % 绘制滤波效果,100Hz衰减95%
3 m! z8 d9 z$ ]# J0 [/////////////////////////////////////////////////////////////////////////////9 d) v! {0 V) S) Q" D1 [. ^
6 R/ d1 s2 s! @& N
2 h0 x U1 O) D) J5 C
|