La ‘funzione Impulse’ è anche conosciuta come la funzione’ Diracdelta’, o funzione δ (è stata introdotta dal fisicista Paul Dirac). Nel contesto dell’elaborazione del segnale digitale(DSP) è spesso indicato come “funzione unitimpulse”.
È definito come segue:
e deve soddisfare l’identità:
La funzione dipende dai parametri di input reali. L’uscita della funzione èinfinita quandol’ingresso è esattamente 0. L’uscita è zero per qualsiasi altro valore di input.
Il delta di Dirac non è strettamente una funzione, perché qualsiasi funzione reale che sia uguale a zero ovunque ma in un singolo punto deve avere un integrale totale uguale a zero,ma per molti scopi questa definizione può essere manipolata come una funzione.
Creiamo alcuni grafici discreti usando la funzione Matlab ‘stem’.
Per i nostri impulsi, definiremo la funzione come 1 quando l’argomento della Diracfunction è 0 e l’output sarà 0 per qualsiasi altro valore dell’argomento input.
Possiamo definire la funzione con uno scalare come input. Per esempio:
la funzione y =dd1(n)
%il Nostro valore predefinito è 0
y = 0;
%La funzione è 1 solo se l’ingresso è 0
se n == 0
y= 1;
fine
Lasciare’sfind output appropriato per questo vettore:
n = -2 :2
Abbiamo useour funzione di cui sopra (‘dd1’) come questo:
for i = 1 :lunghezza(n)
f(i)= dd1(n(i));
fine
stem(n,f)
axis()
xlabel(‘n’)
ylabel(‘ImpulseFunction’)
Theresult, come previsto, è:
Ora,supponiamo un altro vettore:
n =
Abbiamo canuse la nostra funzione ‘dd1’ a trovare la funzione delta di uscita:
for i = 1 :length(n)
f(i)= dd1(n(i));
fine
staminali(f)
Il risultato è:
Ora,supponiamo di avere un vettore (non uno scalare) come input. Vogliamo calcolare la funzione di unità per tutti i valori inclusi nel inputvector.Siamo in grado di creare un’altra funzione (‘dd’) considerare questo approccio:
la funzione y =dd(x)
%x è un vettore
%creiamo un’uscita vettore di 0 (il nostro valore di default)
y =zeros(1, length(x));
%troviamo gli indici di valori di input pari a 0,
%e li rendono 1
y(find(x==0))= 1;
Wedon non hanno bisogno di aloop ora, in modo che il nostro processo è stato semplificato molto.
n =
f = dd (n)
Il risultato è: f =0 0 0 1 0 0 1 0
Se vogliamo calcolare y = 4δ (n)+ 3δ (n-2), inun intervallo di interi che vanno da -10 a 10, possiamo dosimply questo:
n = -10: 10
y =4*gg(n) + 3*gg(n-2)
stem(n,y)
xlabel (‘n’)
ylabel (‘DeltaFunction’)