.
, :
, (1)
x - ;
y ;
ω0 ;
ξ .
freqs.
:
h= freqs (b,a,w).
h W(jω) W(s), (b) (a), w ω. w , 200 , .
.
A=1; ξ=0.05; T0 = 2π / ω0=1.
:
>> T0=1;dz=0.05;
>> om0=2*pi/T0;a=1
>> A=1;
>> a1(1)=1;a1(2)=2*dz*om0;a1(3)=om0^2;b1(1)=A;
>> freqs(b1,a1)
, (1) ( Z - - ), :
, (2)
=1+2 ξ (ω0 Ts)+ (ω0 Ts)2;
= -2 (1+ξ (ω0 Ts));
=1.
:
(3)
MatLab , filter :
y= filter(b, a, x)
x ;
y , ;
b (1);
a .
T1 =1 c A1 = 0.75. Ts=0.001 c:
>> Ts=0.001;
>> t=0:Ts:20;
>> A1=0.75; T1=1;
>> Yp=A1*sin(2*pi*t/T1);
>> plot(t,Yp),grid;
>> title('P-signal');
>> xlabel('t, c');
>> ylabel('Yp')
:
- T2 =0.2 c A2 =10;
- A =5.
x(t):
>> T2=0.2;A2=10; eps=pi/4;
>> Ash=5;
>> x=A1*sin(2*pi*t/T1)+A2*sin(2*pi*t/T2+eps)+Ash*randn(1,length(t));
>> plot(t,x), grid
>> title('input')
|
|
>> xlabel('t, c')
>> ylabel('x(t)')
x, .
.. , (2). , T (T= T1).
, 2ξω02 ( ).
, :
>> T1=1; Tf=T1;dz=0.05;
>> om0=2*pi/Tf;A=1;oms=om0*Ts;
>> a(1)=1+2*dz*oms+oms^2;
>> a(2)= - 2*(1+dz*oms);
>> a(3)=1;
>> b(1)=A*Ts*Ts*(2*dz*om0^2);
:
>> y= filter (b,a,x);
>> plot(t(10002:end),y(10002:end),t(10002:end),Yp(10002:end)),grid
>> title('procesOut(Tf=1,dz=0.05)');
>> xlabel('t, c');
>> ylabel('Y(t)')
, .
:
- ;
- (π/2) .
filtfilt, : , .
.
>> y=filtfilt(b,a,x);
>> plot(t,y,t,Yp),grid;
>> title('procedure FILTFILT (Tf=1,dz=0.05)');
>> xlabel('t, c');
>> ylabel('Y(t)')