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;