Napíšte kód v Matlabe, ktorý vykreslí jednorozmerný, diskrétny jednotkový skok.
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]);
Napíšte kód v Matlabe, ktorý generuje sínusový signál.
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);
Napíšte kód v Matlabe pre určenie diskrétnej Fourierovej transformácie a frekvenčných charakteristík.
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;