EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Matlab 低通Butterworth滤波仿真m文件
$ C; g$ N) g) L, p$ w2 ]0 N
9 }, K8 |$ u1 w1 k' f7 ]0 r& M$ T
$ U. V# U3 E7 g0 l( n; U. ~% d9 ]( K" O- }: ]- z
////////////////////////////////////////////////////////////////////// clear; P=bodeoptions;
, c( [, U: I* R2 v+ ~: ?+ I* iP.Grid='on';+ g. k+ F6 b& {
P.XLim={[0 800]};' B3 _# w8 q# P/ J% s0 u4 e# O
P.XLimMode={'manual'};: I! A7 X, I7 \6 T( g# ^+ `
P.FreqUnits='Hz';
7 ^2 x8 m8 i1 ]8 G, ~9 AP.MagUnits='abs';. o q4 X$ W H1 B; d& F
P.FreqScale = 'linear';
5 u- o4 [; u1 J8 U7 hn=2;f0=100;fs=6400;! A$ U3 ~. o- k) V% @4 q
[b,a]=butter(n,f0/(fs/2),'low')- L2 F; x3 D9 d2 j' U* b
H=tf(b,a,1/fs);
# F$ f4 _3 R+ V* M0 v5 v0 z# hbode(H,P);grid on; %绘制滤波器伯德图. V% v. e0 s0 f; r# j& @1 p0 {
Ts=0.1; % 分析的时间
/ U0 D2 I; y3 V( t! @; t# b; Vt=0:1/fs:Ts;w=100*pi*2; %w=2*pi*f0;
( F; A; K! x& d5 t% ^u=800+100*sin(3*w*t)+500*[(t>=0.05)-(t>=0.05+1/fs)]; %input signal;直流800V+100Hz纹波+冲击3 }2 @3 e3 Y! K* i" W) v& A% H. `
for i=1:1:2
6 B0 X0 ~: r* d3 L) L- o: D y(i)=0;- |8 s+ [6 L8 M4 X" `
end* ^1 F' f& s1 ~$ p; v: J' `5 J
for i=3:1:Ts*fs+1" E# @! {- i* M: z- e) `9 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);+ Z. w% C0 q8 z2 L6 D7 M- P
end
' {4 @# R# G! c( M& y%figure;plot(t,u,t,y);grid on; % 绘制滤波效果,100Hz衰减95%
6 x6 T5 S2 t, y$ o* w0 gfigure;9 w" C4 M' U9 g" n
plot(t,u);
% C8 C: P& P( ~. h9 M1 fgrid on; % 绘制滤波效果,100Hz衰减95%
) `) X8 p5 V2 C' G4 A% t$ ^figure;
0 K g4 w. R1 ]) rplot(t,y);4 l, D5 Z; ]& v& e* h) n- I
grid on; % 绘制滤波效果,100Hz衰减95%
' g0 a7 u+ {6 w6 I/////////////////////////////////////////////////////////////////////////////4 |# u% w2 ?/ m8 e
' }( W4 Y& S# b Q8 g6 x# m. V" U+ y7 ^! s7 z# {
|