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;