1_Spojité_signály
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
% limit of impuls center
b=sign(b)*P/2;
end;
ft=StepFunction(t,b+a)-StepFunction(t,b-a);
return
Volání této funkce naprogramujte opět jako funkci s názvem UnitImpulsPlot.m. Bude
% function UnitImpulsPlot(a,b,A)
% a= half width of impuls [sec]
% b= center of impuls [sec]
% A= amplitude of impuls [V]
function UnitImpulsPlot(a,b,A);
P=100;
% time interval [sec]
N=512;
% number of samples
t=linspace(-P/2,P/2,N);
% discrete time axis
name=('Unit impuls');
ft=A*UnitImpuls(t,a,b);
plot(t,ft)
axis([-P/2 P/2 -0.2*A 1.2*A])
title([name,' a='num2str(a),' b=',num2str(b),' A=',num2str(A)]);
xlabel('t [sec]');
ylabel('f(t) [V]');
return
a po zavolání UnitImpulsPlot(10,0,1) obdržíte následující průběh. Volejte funkci s různými
parametry a sledujte výsledný obrázek.
-50
-40
-30
-20
-10
0
10
20
30
40
50
-0.2
0
0.2
0.4
0.6
0.8
1
Unit impuls a=10 b=0 A=1
t [sec]
f(
t)
[
V
]
Signály a systémy
19
Poznámka: Tento impuls můžeme také vytvořit pomocí operace otočení časové osy (flipping)
a součinu takto:
name='Unit impuls(use flip)'
a=10;
A=1;
ftp=A*StepFunction(t,a);
% shifted unit step
ftn=fliplr(ftp);
% flipping of ftp
ft=ftp.*ftn;
% multiplication element-by-element
plot(t,ft)
axis([-P/2 P/2 -0.2*A 1.2*A])
title(name)
xlabel('t [sec]');
ylabel('f(t) [V]');
Vytvořme pomocí jednotkového skoku impuls o jednotkové amplitudě mající obě polarity.
Bude:
name='Unit impuls- both polarities'
a=10;
A=1;
ft=A*StepFunction(t,a)-2*A*StepFunction(t,0)+A*StepFunction(t,-a);
plot(t,ft)
axis([-P/2 P/2 -1.2*A 1.2*A])
title(name)
xlabel('t');
ylabel('f(t)');
Vytvořme lineární signál o délce trvání
a
2 . Bude:
name='Linear impuls'
a=25;
A=1;
-50
-40
-30
-20
-10
0
10
20
30
40
50
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Unit impuls- both polarities
t [sec]
f(
t)
[
V
]
20
Fakulta elektrotechniky a komunikačních technologií VUT v Brně
ft=(A/a)*t;
ft=ft.*UnitImpuls(t,a,0);
plot(t,ft);
axis([-P/2 P/2 -1.2*A 1.2*A])
title(name)
xlabel('t [sec]');
ylabel('f(t) [V]');
a je ukázán na následujícím obrázku.