Příklady v Matlabu
Příklady v Matlabu

Příklad 1

Napište kód v Matlabu, který vykreslí jednorozměrný, diskrétní jednotkový skok.

Výsledek: Diskrétní jednotkový skok

řešení

ŘEŠENÍ
t=-10:20; %definice časové periody signálu 
step=heaviside(t); %heaviside(x) je 
                  funkce v Matlabu,
                  jejíž hodnoty jsou 0
                  pro x < 0, 1 pro x > 0,
                  a 0.5 pro x = 0.
step(t==0)=1;
figure; %příkaz na vykreslení 
         obrázku
stem(t,step);
grid on;
xlabel('n');
ylabel('f(n)');
title('1D diskrétní jednotkový skok');
axis([-10 10 -1 3]);

Příklad 2

Napište kód v Matlabu, který generuje sinusový signál.

Výsledek: Dva harmonické signály a jejich součet

řešení

ŘEŠENÍ
range=6*pi;      %časový rozsah signálu
t=0:0.001:range; %časové body
A=[1 0.13];      %vektor amplitud
w=[1 3];         %vektor frekvencí [Hz]
phi=[0 0];       %vektor fází
sig1=A(1)*sin(w(1)*t+phi(1)); % definování 
                              jednotlivých 
                              signálů
sig2=A(2)*sin(w(2)*t+phi(2));
signal=sig1+sig2;
figure;
plot(t,sig1,':r','LineWidth',2);
hold on;
plot(t,sig2,'--g','LineWidth',2);
hold on;
plot(t,signal,'LineWidth',2);
grid on;
axis([0 rozsah -1.2*sum(A) 1.2*sum(A)]); 
xlabel('t [s]');
ylabel('f(t)');
title(Harmonické signály a jejich součet);

Příklad 3

Napište kód v Matlabu pro určení diskrétní Fourierovy transformace a frekvenčních charakteristik.

Příklad přenosové funkce LDKI systému, magnitudová a fázová frekvenční charakteristika

řešení

ŘEŠENÍ
count=32;
Ts=4/count; %vzorkovací frekvence
per=4;      %počet period
syms k;     %symbolické proměnné
syms n;
signal=[3.*ones(1,count/4) 2.*ones(1, count /4) 
       ones(1, count /4) zeros(1, count /4)];
fn=[];
for n=1:per
  fn=[fn signal];
end
n=0:count*per-1;

figure;
stem(n,fn);
title('Diskrétny signál');
axis([0 length(fn) min(abs(fn))-0.5 
      max(abs(fn))+0.5]);
grid on;

figure;
Xk=fft(signal); %diskrétní Fourierova 
                 transformace 
os=0:length(Xk)-1;
stem(os,abs(Xk)); %magnitudová frekvenční 
                  charakteristika
title('Magnitudová frekvenční charakteristika');
grid on;

figure;
stem(os,angle(Xk)); %fázová frekvenční 
                   charakteristika
title('Fázová frekvenční charakteristika');
grid on;