EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab 低通Butterworth滤波仿真m文件) z+ `: \: b+ l5 f* [
; Z- H! L7 A2 g; Y! s9 [
5 H, D) M( Y B- `7 b" x: O
7 q9 B, Q3 w4 k# E5 _////////////////////////////////////////////////////////////////////// clear; P=bodeoptions;5 M t2 S9 F( h
P.Grid='on';
2 ~% v7 N/ |$ S0 K6 mP.XLim={[0 800]};
1 j2 O7 K* Q$ ?/ y- CP.XLimMode={'manual'};) P8 E) F9 Y9 J0 j; Y" G3 G- D; [
P.FreqUnits='Hz';# e3 e3 n/ [9 m4 ~; j8 x
P.MagUnits='abs';
$ v/ p$ m4 s. o$ EP.FreqScale = 'linear';
8 Q4 r$ l7 k0 f8 j4 U1 T4 Dn=2;f0=100;fs=6400;
+ O; I+ S+ d$ G' t5 W9 O[b,a]=butter(n,f0/(fs/2),'low'), U6 O7 h" z, R: i9 _: e- B
H=tf(b,a,1/fs);
, ]( ?* P" x" K/ Y: I" jbode(H,P);grid on; %绘制滤波器伯德图3 |+ b) ?/ h2 w$ e; y: n) h9 |2 T
Ts=0.1; % 分析的时间6 J7 P3 l% d: k3 ^$ ^( z
t=0:1/fs:Ts;w=100*pi*2; %w=2*pi*f0; - H$ j' Q# l. Z! @$ L- v
u=800+100*sin(3*w*t)+500*[(t>=0.05)-(t>=0.05+1/fs)]; %input signal;直流800V+100Hz纹波+冲击! F" w' L O# c2 v
for i=1:1:2! E0 Q% {- _. l8 \/ A5 c1 f
y(i)=0;/ o: `2 D$ H+ }7 J
end
$ O0 h* V/ l1 j0 L! Tfor i=3:1:Ts*fs+1
" b; ]) ?! l5 H1 B0 g$ m5 @ 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); u! S. n* `/ ~# w
end( ~. P+ H# B- y. P. Y
%figure;plot(t,u,t,y);grid on; % 绘制滤波效果,100Hz衰减95%1 ?; g+ `1 o, \) ]6 M* d
figure;
' O e0 w' ~$ ]- ]* n7 mplot(t,u);
: S1 y& T7 o6 S1 fgrid on; % 绘制滤波效果,100Hz衰减95%, s; F5 V) [* V2 u6 S3 ^6 L
figure;5 B$ Y: E1 p! I0 p- X
plot(t,y);2 {2 @ Z) r+ b) d% f4 O
grid on; % 绘制滤波效果,100Hz衰减95% 0 d: d0 N" b, |# R8 Y( B) ?0 V" J
/////////////////////////////////////////////////////////////////////////////
! f/ O, o% m. m# l- j& q
' D. Q1 N: v0 ]8 p6 f& F" ?
# ` \% B5 O& ^7 F2 ? e |