Príklady v Matlabe
Príklady v Matlabe

Príklad 1

Napíšte kód v Matlabe, ktorý vykreslí jednorozmerný, diskrétny jednotkový skok.

Obr. 7.1: Výsledok: Diskrétny jednotkový skok

riešenie

RIEŠENIE
t=-10:20;     %definícia časovej periódy signálu 
step=heaviside(t);  %heaviside(x) je 
                     funckia v Matlabe,
                     ktorej hodnoty sú 0
                     pre x < 0, 1 pre x > 0,
                     a 0.5 pre x = 0.
step(t==0)=1;
figure;      %príkaz na vykreslenie 
              obrázku
stem(t,step);
grid on;
xlabel('n');
ylabel('f(n)');
title('1D diskrétny jednotkový skok');
axis([-10 10 -1 3]);

Príklad 2

Napíšte kód v Matlabe, ktorý generuje sínusový signál.

Obr. 7.2: Výsledok: Dva harmonické signály a ich súčet

riešenie

RIEŠENIE
range=6*pi;             %časový rozsah signálu
t=0:0.001:range;        %časové body
A=[1 0.13];             %vektor amplitúd
w=[1 3];                %vektor frekvencií [Hz]
phi=[0 0];              %vektor fáz
sig1=A(1)*sin(w(1)*t+phi(1));  % definovanie 
                                 jednotlivých 
                                 signálov
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 ich súčet);

Príklad 3

Napíšte kód v Matlabe pre určenie diskrétnej Fourierovej transformácie a frekvenčných charakteristík.

Obr. 7.3: Príklad prenosovej funkcie LDKI systému, magnitúdová a fázová frekvenčná charakteristika

riešenie

RIEŠENIE
count=32;
Ts=4/count;      %vzorkovacia frekvencia
per=4;           %počet periód
syms k;          %symbolické premenné
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étna Fourierova 
                         transformácia 
os=0:length(Xk)-1;
stem(os,abs(Xk));       %magnitúdová frekvenčná 
                        charakteristika
title('Magnitúdová frekvenčná charakteristika');
grid on;

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