1_Spojité_signály
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
2.1.6 Cvičení v MATLABu ke kapitole 2.1
Zabýváme se signály se spojitým časem (zkráceně nazývané spojité signály). Takový signál je
z matematického hlediska definován pro všechny časové okamžiky reálné osy času tj. pro
všechna reálná čísla z této osy. Takový signál v číslicovém počítači nelze reprezentovat.
V číslicovém počítači lze signál reprezentovat jen jako konečnou posloupnost hodnot signálu
v jistých časových okamžicích (obvykle ekvidistantních). Osa času je tedy diskrétní a signál je
v těchto časových okamžicích vzorkován, a to po nějakou konečnou dobu
P . Počet vzorků za
tuto dobu označme
N . Předbíháme tak ve výkladu o signálech (vzorkování bude náplní
následujících kapitol), ale bez toho by nebylo možno realizovat úlohy v MATLABu.
Vytvořme diskrétní časovou osu pomocí příkazů MATLAB:
P=100;
% time interval [sec]
N=512;
% number of samples
t=linspace(-P/2,P/2,N); % discrete time axis
16
Fakulta elektrotechniky a komunikačních technologií VUT v Brně
Vytvořme signál typu jednotkový skok
t
a zobrazme jej:
name='Step function';
ft(1:N)=0;
ft((round(N/2)+1):N)=1;
plot(t,ft)
axis([-P/2 P/2 -0.2 1.2])
title(name);
xlabel('t');
ylabel('f(t)');
Výsledkem je následující průběh.
Tento signál budeme v dalším často používat. Proto jej vytvoříme jako MATLABovskou funkci
s tím, že do ní ještě zavedeme časový posuv o a sekund. Budeme mít tedy naprogramovánu
funkci
a
t
tj. posunutý jednotkový skok:
% function StepFunction(t,a)
% t= time axis [sec]
% a= shift time [sec] (a<=max(t), a>=min(t))
function [ft]=StepFunction(t,a)
P=max(t)-min(t);
% observation time [sec]
N=length(t);
% number of samples [-]
if abs(a)>P/2
% limit of shift time [sec]