- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Zjednodušená ukázka:
Stáhnout celý tento materiálimpuls [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.
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í . Bude:
name='Linear impuls'
a=25;
A=1;
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.
Dalším užitečným signálem, který si vytvoříme jako MATLABovskou funkci bude trojúhelníkový impuls, který nazveme TriangleImpuls.m a naprogramujeme ho opět jako funkci. Bude
% function TriangleImpuls(t,a,b)
% t= time axis [sec]
% a= half width of impuls [sec]
% b= centre of impuls [sec]
function [ft] = TriangleImpuls(t,a,b);
P=max(t)-min(t);
if abs(b)>P/2% limit of impuls center
b=sign(b)*P/2;
end;
ftp=(1/a)*(t+b+a);
ftp=ftp.*(StepFunction(t,a+b)-StepFunction(t,b));
ftn=(1/a)*(-t-b+a);
ftn=ftn.*(StepFunction(t,b)-StepFunction(t,-a+b));
ft=ftp+ftn;
return
Jeho volání opět naprogramujeme jako funkci
% function TriangleImpulsPlot(a,b,A)
% a= half width of impuls [sec]
% b= centre of impuls [sec]
% A= amplitude of impuls [V]
function TriangleImpulsPlot(a,b,A)
P=100; % time interval [sec]
N=512;% number of samples [-]
t=linspace(-P/2,P/2,N); % discrete time axis
name=('Triangle impuls');
ft=A*TriangleImpuls(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í TriangleImpulsPlot(10,0,1) je výsledek na následujícím obrázku. Volejte funkci s různými parametry a sledujte výsledný obrázek.
Ještě jeden signál, a to tlumený kosinusový signál si vytvoříme jako funkci DampedCosineImpuls.m. Bude
% function DampedCosineImpuls(t,a,b,w0)
% t= time axis [sec]
% a= damping parameter [1/sec]
% b= centre of impuls [sec]
% w0= cosine frequency [rad/sec]
function [ft] = DampedCosineImpuls(t,a,b,w0);
P=max(t)-min(t);
if abs(b)>P/2% limit of impuls centre
b=sign(b)*P/2;
end;
ft=cos(w0*(t+b)).*exp(-a*abs(t+b));
return;
Volání této funkce opět naprogramujeme jako funkci DampedCosineImpulsPlot.m
% function DumpedCosineImpulsPlot(a,b,w0,A);
% a= damping parameter [1/sec]
% b= centre of impuls [sec]
% w0= frequency of cosine [rad/sec]
% A= amplitude of impuls [V]
function DumpedCosineImpulsPlot(a,b,w0,A);
P=100; % time interval [sec]
N=512;% number of samples [-]
t=linspace(-P/2,P/2,N); % discrete time axis
name=('Damped cosine impuls');
ft=A*DampedCosineImpuls(t,a,b,w0);
plot(t,ft)
axis([-P/2 P/2 -1.2*A 1.2*A])
title([name,' a='num2str(a),' b='num2str(b),' w0=',num2str(w0),' A=',num2str(A)]);
xlabel('t [sec]');
ylabel('f(t) [V]');
return;
Volání této funkce DampedCosineImpulsPlot(0.05,0,1,1) generuje následující obrázek.
Experimentujte s parametry volání a sledujte výsledek. Prověřte např., že pro je generována netlumená kosinusovka nebo pro je generován exponenciální signál, nebo pro je generován narůstající kosinový signál.
Fakulta elektrotechniky a komunikačních technologií VUT v Brně
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
Vloženo: 28.04.2009
Velikost: 709,50 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Copyright 2025 unium.cz


