Na’Impulse funkce je také známý jako ‚Diracdelta funkce, nebo funkce δ (to wasintroducedbyphysicist Paul Dirac). V souvislosti s digitálním zpracováním signálu (DSP) je často označován jako „funkce unitimpulse“.
je definován následovně:
a má uspokojit identitu:
funkce závisí na reálných vstupních parametrech. Výstup funkce je konečný, kdyvstup je přesně 0. Výstup je nulový pro jakoukoli jinou vstupní hodnotu.
delta Diraku není striktně funkcí, protože každá reálná funkce, která je všude rovna nule, ale v jednom bodě, musí mít celkový integrál roven nule, ale pro mnoho účelů může být tato definice manipulována jako funkce.
Vytvořme některé diskrétní grafy pomocí funkce Matlab ‚stem‘.
pro naše účely definujeme funkci jako 1, když argument Diracfunkce je 0 a výstup bude 0 pro jakoukoli jinou hodnotu argumentu input.
můžemedefinovat funkci, která má jako vstup skalární. Například:
funkce y =dd1(n)
%Naše výchozí hodnota je 0
y = 0;
%funkce je 1 pouze tehdy, jestliže vstup je 0
pokud n == 0
y= 1;
end
Nechte’sfind vhodný výstup pro tento vektor:
n = -2 :2
Jsme useour funkce výše uvedené (‚dd1‘) takto:
pro i = 1 :délka(n)
f(i)= dd1(n(i));
end
stem(n,f)
axis()
xlabel(‚n‘)
ylabel(‚ImpulseFunction‘)
Vsledkem, jak se očekávalo, je:
Teď,řekněme, další vektor:
n =
Jsme použít naši funkci ‚dd1 najít delta funkce výstupu:
for i = 1 :length(n)
f(i)= dd1(n(i));
end
stem(f)
výsledkem je:
Teď,řekněme, že máme vektor (nikoliv skalární) jako vstup. Chceme vypočítat funkci jednotky pro všechny hodnoty obsažené v vstupním vektoru.Můžeme vytvořit další funkce („dd“), aby tento přístup ohleduplný:
funkce y =dd(x)
%x je vektor
%Jsme se vytvořit výstupní vektor pouze 0 (výchozí hodnota)
y =zeros(1, length(x));
%najdeme indexy vstupní hodnoty rovno 0,
%a aby jim 1
y ((x==0))= 1;
nemáme třeba aloop, takže náš postup byl zjednodušen hodně.
n =
f =dd (n)
výsledkem je: f =0 0 0 1 0 0 1 0
Pokud chceme spočítat y = 4δ(n)+ 3δ(n-2), ina rozsah celých čísel, které jdou od -10 do 10, můžeme to dosimply:
n = -10: 10
y =4*dd(n) + 3*dd(n-2)
stem(n,y)
xlabel(‚n‘)
ylabel(‚DeltaFunction‘)