EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab 低通Butterworth滤波仿真m文件
7 b+ R) n0 g( i7 U2 b. s
3 t3 N3 r4 H& a# v% i$ r7 S
n1 v7 b. T9 F" L' E, p/ B" A
: X. H7 }0 j4 E: |- [) l////////////////////////////////////////////////////////////////////// clear; P=bodeoptions;
3 X+ A& Q2 y0 V: R$ x9 D# @P.Grid='on';
$ k% e: X5 P/ f1 {P.XLim={[0 800]};4 w& x% C. K/ @4 H6 Z5 x
P.XLimMode={'manual'};9 D9 K+ O9 v9 G+ T _5 }6 j% w2 N
P.FreqUnits='Hz';
6 {) K6 @# X4 B3 u/ yP.MagUnits='abs';
6 G$ H5 H9 E' \& g7 `6 uP.FreqScale = 'linear';8 h5 N1 n! @. I; F1 H( Z$ ^
n=2;f0=100;fs=6400;- w7 D1 F5 U$ I3 L5 f
[b,a]=butter(n,f0/(fs/2),'low')
7 ~& J& H$ ~2 lH=tf(b,a,1/fs);( }& |) k7 h3 O# Q9 T; }
bode(H,P);grid on; %绘制滤波器伯德图' M, c8 v$ A3 Y7 W* X
Ts=0.1; % 分析的时间
) R+ l7 `$ u( N" p& [9 Q1 C+ I5 St=0:1/fs:Ts;w=100*pi*2; %w=2*pi*f0;
& o! k# f4 b( ?( B) O- {' S2 gu=800+100*sin(3*w*t)+500*[(t>=0.05)-(t>=0.05+1/fs)]; %input signal;直流800V+100Hz纹波+冲击
4 Z, m9 k. o- F2 tfor i=1:1:2
2 q* G) ^$ K9 T! N y(i)=0;
1 q, o x7 j9 A9 F" F+ i" X8 send
) [9 \* y1 Y0 z* ?( e4 G9 Ifor i=3:1:Ts*fs+1( K% @( B) {/ k' X& r# _
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);
4 c2 h6 } I. m! |5 z0 o& ^- [end
) I9 n" n0 }0 @, U& p%figure;plot(t,u,t,y);grid on; % 绘制滤波效果,100Hz衰减95%% _8 s& {% e% I& o# B. i7 z
figure;
; B! @9 M$ s/ P. v% ~plot(t,u);
) {. [4 K0 k( \: I2 H. |: Pgrid on; % 绘制滤波效果,100Hz衰减95%. S! N$ B, d. H0 [
figure;
) c# w" t7 _9 l# I% Qplot(t,y);
% L7 f' b& ?% Y! kgrid on; % 绘制滤波效果,100Hz衰减95% & z& G' m, \* Z7 R' |3 L
/////////////////////////////////////////////////////////////////////////////1 J2 i: [' ?1 n5 X' C* X
+ P% M8 w) Z! d0 l: L
# _$ k0 P# T) [1 W: m ~4 g5 W |