Die ‚Impulsfunktion‘ ist auch als ‚Diracdelta‘ -Funktion oder δ-Funktion bekannt (sie wurde vom Physiker Paul Dirac eingeführt). Im Zusammenhang mit der digitalen Signalverarbeitung (DSP) wird sie oft als ‚Unitimpulsfunktion‘ bezeichnet.
Es ist wie folgt definiert:
und hat die Identität zu befriedigen:
Die Funktion hängt von realen Eingabeparametern ab. Die funktion ausgang isinfinite whenthe eingang ist genau 0. Der Ausgang ist Null für jeden anderen Eingabewert.
DasDirac Delta ist nicht unbedingt eine Funktion, da jede reale Funktion, die überall, aber an einem einzelnen Punkt, gleich Null ist, ein Gesamtintegral haben muss, das gleich Null ist, aber für viele Zwecke kann diese Definition als Funktion manipuliert werden.
Erstellen Sie einige diskrete Diagramme mit der Matlab-Funktion ’stem‘.
Für unsere Zwecke definieren wir die Funktion als 1, wenn das Argument der Diracfunktion 0 ist, und die Ausgabe ist 0 für jeden anderen Wert des Inputarguments.
Wir können die Funktion mit einem Skalar als Eingabe definieren. Zum Beispiel:
funktion y =dd1(n)
%Unser Standardwert ist 0
y = 0;
% Die Funktion ist nur 1, wenn die Eingabe 0
if n == 0
y= 1;
end
Finden Sie die entsprechende Ausgabe für diesen Vektor:
n = -2 :2
Wir verwenden unsere Funktion oben (‚dd1‘) wie folgt:
für i = 1 :length(n)
f(i)= dd1(n(i));
end
stem(n,f)
axis()
xlabel(’n‘)
ylabel(‚ImpulseFunction‘)
Theresult ist wie erwartet:
Nehmen wir nun einen anderen Vektor an:
n =
Wir können unsere Funktion ‚dd1‘ verwenden, um die Delta-Funktionsausgabe zu finden:
für i = 1: Länge (n)
f(i)= dd1(n(i));
Ende
Stamm (f)
Das Ergebnis ist:
Nehmen wir an, wir haben einen Vektor (keinen Skalar) als Eingabe. Wir möchten die Einheitsfunktion für alle im inputvector enthaltenen Werte berechnen.Wir können eine andere Funktion (‚dd‘) erstellen, um diesen Ansatz zu berücksichtigen:
funktion y =dd(x)
%x ist ein Vektor
%Wir erstellen einen Ausgabevektor von nur 0 (unser Standardwert)
y =Nullen(1, Länge(x));
% Wir finden Indizes von Eingabewerten gleich 0,
%und machen sie zu 1
y(find(x==0))= 1;
Wir brauchenaloop jetzt nicht, daher wurde unser Prozess erheblich vereinfacht.
n =
f =dd(n)
Das Ergebnis ist: f =0 0 0 1 0 0 1 0
Wenn wir y = 4δ (n) + 3δ (n-2) in einem Bereich von ganzen Zahlen von -10 bis 10 berechnen möchten, können wir dies tun:
n = -10: 10
y =4 * tt (n) + 3* tt (n-2)
Vorbau (n, y)
xlabel(’n‘)
ylabel(‚DeltaFunktion‘)