7.1 Răspunsuri la impuls comune

Funcția Delta

Răspunsul cel mai simplu de impuls nu este nimic mai mult decât o funcție delta, așa cum se arată în figura 7-1a. Adică, un impuls asupra intrării produce un impuls identic la ieșire. Aceasta înseamnă că toate semnalele sunt transmise prin sistem fără modificări. Convoluția oricărui semnal cu o funcție delta duce la același semnal. Matematic, acest lucru este scris:

Ecuația 7-1 Funcția delta este identitate pentru convoluție.

Orice semnal în convoluție cu funcția delta este lăsat neschimbat.

Această proprietate face funcția delta identitatea pentru convoluție. Aceasta este analogă cu zero care este identitatea pentru adunare (a + 0 = a), iar unu este identitatea pentru înmulțire (a × 1 = a). La prima vedere, acest tip de sistem poate părea trivial și neinteresant. Nu este așa! Astfel de sisteme sunt ideale pentru stocarea, comunicarea și măsurarea datelor. O mare parte din DSP este preocupată de transmiterea informațiilor prin sisteme fără schimbări sau degradări.

Figura 7-1b prezintă o ușoară modificare a răspunsului la impuls funcția delta. Dacă funcția delta este mai mare sau mai mică în amplitudine, sistemul rezultat este un amplificator sau respectiv un atenuator. În forma de ecuație, rezultă amplificare când k este mai mare decât unu și rezultă atenuare când k este mai mic decât unu:

Ecuația 7-2

Un sistem care amplifică sau atenuează are o funcție delta scalată pentru un răspuns la impuls. În această ecuație, k determină amplificarea sau atenuarea.

Răspunsul la impuls din figura 7-1c este o funcție delta cu o deplasare. Acest lucru are ca rezultat un sistem care introduce o deplasare identică între semnalele de intrare și ieșire. Aceasta ar putea fi descrisă ca o întârziere a semnalului sau un avans de semnal, în funcție de direcția deplasării. Lăsând deplasarea să fie reprezentată de parametrul s, aceasta poate fi scris ca ecuația:

Ecuația 7-3

O deplasare relativă între semnalele de intrare și ieșire corespunde unui răspuns la impuls care este o funcție delta deplasată. Variabila s determină valoarea deplasării în această ecuație.

Știința și ingineria sunt pline cu cazuri în care un semnal este o altă versiune deplasată. De exemplu, considerați un semnal radio transmis de la o sondă spațială la distanță și semnalul corespunzător primit pe pământ. Timpul necesar pentru propagarea undelor radio pe distanță determină o întârziere între cele două semnale. În biologie, semnalele electrice din celulele nervoase adiacente sunt versiuni deplasate între ele, determinate de momentul în care un potențial de acțiune traversează joncțiunea sinaptică care leagă cele două.

Figura 7-1d prezintă un răspuns la impuls compus dintr-o funcție delta plus o funcție delta deplasată și scalată. Prin suprapunere, ieșirea acestui sistem este semnalul de intrare plus o versiune întârziată a semnalului de intrare, adică un ecou. Ecourile sunt importante în multe aplicații DSP. Adăugarea de ecouri este un element esențial în crearea înregistrărilor audio naturale și plăcute. Radarul și sonarul analizează ecourile pentru detectarea avioanelor și a submarinelor. Geofizicienii folosesc ecouri pentru a găsi petrol. Ecouri sunt, de asemenea, foarte importante în rețelele telefonice, pentru că doriți să le evitați.

a. Identitate

Funcția delta este identitate pentru convoluție. Un semnal în convoluție cu funcția delta lasă semnalul neschimbat. Acesta este scopul sistemelor care transmit sau stochează semnale.

b. Amplificare și atenuare

Creșterea sau descreșterea amplitudinii funcției delta formează un răspuns la impuls care amplifică sau atenuează. Acest răspuns la impuls va amplifica semnalul cu 1,6.

c. Shift (Deplasare)

Deplasarea funcției delta produce o deplasare corespondentă între semnalele de intrare și ieșire. Depinzând de direcție, acestea pot fi numite întârziere sau avans. Acest răspuns la impuls întârzie semnalul cu patru eșantioane.

d. Ecou

O funcție delta plus o funcție deplasată și scalată conduc la un ecou care se adună la semnalul original. În acest exemplu, ecoul este întârziat cu patru eșantioane și are o amplitudine de 60% din semnalul original.

Figura 7-1 Răspunsuri simple la impuls utilizând funcții delta deplasate și scalate.

Calcule-ca operații

Convoluția poate schimba semnalele discrete în moduri care seamănă cu integrarea și diferențierea. Deoarece termenii "derivată" și "integrală" se referă în mod specific la operațiunile cu semnale continue, alte denumiri sunt date omologilor lor discreți. Operația discretă care imită prima derivată se numește prima diferență. De asemenea, forma discretă a integralei se numește running sum. Este, de asemenea, obișnuit să auzi aceste operațiuni numite derivată discretă și integrală discretă, deși matematicienii se încruntă când aud acești termeni informali utilizați.

Figura 7-2 prezintă răspunsurile la impuls care implementează prima diferență și running sum. Figura 7-3 prezintă un exemplu folosind aceste operații. În 7-3a, semnalul original este compus din mai multe secțiuni cu pante variate. Convoluția acestui semnal cu răspunsul la impuls al primei diferențe produce semnalul din figura 7-3b. La fel ca în cazul primei derivate, amplitudinea fiecărui punct din semnalul prima diferență este egală cu panta la locația corespunzătoare din semnalul original. Running sum este operația inversă a primei diferențe. Adică, convoluția semnalului din (b) cu răspunsul la impuls al running sum produce semnalul din (a).

Aceste răspunsuri la impuls sunt destul de simple încât un program complet de convoluție nu este de obicei necesar pentru a le implementa. Mai degrabă, gândiți-vă la ele în modul alternativ: fiecare eșantion din semnalul de ieșire este o sumă de eșantioane ponderate de la intrare. De exemplu, prima diferență poate fi calculată:

Ecuația 7-4

Calcularea primei diferențe. În această relație, x[n] este semnalul original, iar y[n] este prima diferență.

y[n] = x[n] - x[n-1]

Adică, fiecare eșantion din semnalul de ieșire este egal cu diferența dintre două eșantioane adiacente din semnalul de intrare. De exemplu, y[40] = x[40] - x[39]. Trebuie menționat faptul că aceasta nu este singura modalitate de a defini o derivată discretă. O altă metodă comună este definirea simetrică a pantei în jurul punctului examinat, cum ar fi: y[n] = (x[n+1] - x[n -1]) / 2.

a. First difference (Prima diferență)

Aceasta este versiunea discretă a primei derivate. Fiecare eșantion din semnalul de ieșire este egal cu diferența dintre eșantioanele adiacente din semnalul de intrare. Cu alte cuvinte, semnalul de ieșire este panta semnalului de intrare.

b. Running Sum

Running sum este versiunea discretă a integralei. Fiecare eșantion din semnalul de ieșire este egal cu suma tuturor eșantioanelor din semnalul de intrare de la stânga.
Rețineți că răspunsul la impuls se extinde la infinit, o caracteristică mai curând urâtă.

Figura 7-2 Răspunsuri la impuls care mimează operații de calcul.

Figura 7-3

Exemple de calcule-ca operații. Semnalul în (b) este prima diferență a semnalului din (a). Corespunzător, semnalul din (a) este running sum a semnalului din (b). Aceste metode de procesare sunt utilizate cu semnale discrete în același fel cum diferențierea și integrarea sunt utilizate cu semnale continue.

Folosind aceeași abordare, fiecare eșantion din running sum poate fi calculat prin însumarea tuturor punctelor din semnalul original de la stânga locației eșantionului. De exemplu, dacă y[n] este running sum a x[n], atunci eșantionul y[40] este găsit prin adăugarea eșantioanelor x[0] la x[40]. De asemenea, eșantionul y[41] este găsit prin adăugarea eșantioanelor x[0] la x[41]. Desigur, ar fi foarte ineficient să se calculeze running sum în acest mod. De exemplu, dacă y [40] a fost deja calculat, y[41] poate fi calculat cu o singură adăugare: y[41] = x[41] + y[40]. În formă de ecuație:

Ecuația 7-5

Calcularea running sum. În această relație, x[n] este semnalul original, iar y[n] este running sum.

y[n] = x[n] + y[n-1]

Relațiile de acest tip se numesc ecuații recursive sau ecuații diferență. Le vom revedea în capitolul 19. Pentru moment, ideea importantă de a înțelege este că aceste relații sunt identice cu convoluția folosind răspunsurile la impuls din Fig.7-2. Tabelul 7-1 furnizează programe de calculator care implementează aceste calcule ca niște operații.

Tabelul 7-1

Programe pentru calcularea primei diferențe și a running sum. Semnalul original este ținut în X[ ], iar semnalul procesat (prima diferență sau running sum) este ținut în Y[ ]. Ambele matrici rulează de la 0 la N%-1.

Filtre low-pass și high-pass

Designul filtrelor digitale este detaliat în capitolele ulterioare. Pentru moment, fiți mulțumiți să înțelegeți forma generală a nucleelor (kernels) filtrelor trece-jos și trece-sus (un alt nume pentru răspunsul la impuls al unui filtru). Figura 7-4 prezintă câteva nuclee comune de filtru trece-jos. În general, nucleele filtrelor trece-jos sunt compuse dintr-un grup de puncte pozitive adiacente. Rezultă că fiecare eșantion din semnalul de ieșire este o medie ponderată a multor puncte adiacente din semnalul de intrare. Această mediere netezește semnalul, eliminând astfel componentele de înaltă frecvență. Așa cum se arată prin funcția Sinc din (c), unele kernel-uri de filtru trece-jos includ câteva eșantioane evaluate negativ în cozi. La fel ca și în cazul sistemelor electronice analogice, filtrele low-pass digitale sunt utilizate pentru reducerea zgomotului, separarea semnalului, modelarea undelor etc.

Figura 7-4 Nuclee tipice de filtre trece-jos.

Nucleele tipice de filtre trece-jos sunt formate dintr-un grup de puncte pozitive adiacente care realizează o mediere (netezire) a semnalului. Fiecare din aceste nuclee de filtre este cel mai bun pentru un scop particular. Exponențialul (a) este cel mai simplu filtru recursiv. Impulsul dreptunghiular (b) este cel mai bun la reducerea zgomotului în timp ce menține forma ascuțită a frontului. Funcția sinc din (c), o curbă de forma sin(x)/(x) este utilizată pentru a separa o bară de frecvențe de alta.


Figura 7-5 Nuclee tipice de filtre trece-sus.

Acestea sunt formate prin scăderea nucleelor de filtre trece-jos corespondente din fig. 7-4 din funcția delta. Caracteristica distinctivă a nucleelor de filtre trece-sus este un vârf încadrat de multe eșantioane negative adiacente.

Frecvența cutoff a filtrului este modificată prin transformarea kernelului de filtru mai larg sau mai îngust. Dacă un filtru trece-jos are un câștig de unu la DC (frecvența zero), atunci suma tuturor punctelor din răspunsul la impuls trebuie să fie egală cu unu. Așa cum este ilustrat în (a) și (c), unele nuclee de filtre se extind teoretic până la infinit, fără a cădea la o valoare zero. În practica actuală, cozile sunt trunchiate după un anumit număr de eșantioanee, permițându-le să fie reprezentate de un număr finit de puncte. Cum altfel ar putea fi stocate într-un computer?

Figura 7-5 prezintă trei nuclee comune de filtre trece-sus, derivate din nucleele de filtre trece-jos corespondente din figura 7-4. Aceasta este o strategie comună în proiectarea filtrelor: mai întâi concepem un filtru trece-jos și apoi să-l transformăm în ceea ce avem nevoie, trece-sus, trece-bandă, opește-bandă etc. Pentru a înțelege transformarea low-pass la high-pass, amintiți-vă că un răspuns la impuls al funcției delta trece întregul semnal, în timp ce un răspuns la impuls trece-jos trece numai componentele cu frecvență joasă. Prin suprapunere, un nucleu de filtru alcătuit dintr-o funcție delta minus kernel-ul filtrului trece-jos va trece întregul semnal minus componentele cu frecvență joasă. Este născut un filtru trece-sus! Așa cum se arată în figura 7-5, funcția delta este de obicei adăugată la centrul de simetrie sau eșantionul zero dacă nucleul filtrului nu este simetric. Filtrele trece-sus au câștig zero la DC (frecvența zero), realizat prin efectuarea sumei tuturor punctelor din nucleul filtrului egale cu zero.


Figura 7-6 Exemple de semnale cauzale.

Un răspuns la impuls, sau orice semnal, se spune că este cauzal dacă toate eșantioanele numărate negativ au valoarea zero. Trei exemple sunt arătate aici. Orice semnal necauzal cu un număr finit de puncte poate fi transformat într-un semnal cauzal simplu prin deplasare.

Semnale cauzale și necauzale

Imaginați-vă un circuit electronic analogic simplu. Dacă aplicați un impuls scurt la intrare, veți vedea un răspuns la ieșire. Acesta este un fel de cauză și efect pe care se bazează universul nostru. Un lucru pe care îl știm cu siguranță: orice efect trebuie să se întâmple după cauză. Aceasta este o caracteristică de bază a ceea ce numim timp. Acum comparați acest lucru cu un sistem DSP care schimbă un semnal de intrare într-un semnal de ieșire, ambele stocate în matricele unui computer. Dacă acest lucru imită un sistem din lumea reală, trebuie să urmeze același principiu al cauzalității, așa cum face lumea reală. De exemplu, valoarea la eșantionul numărul opt în semnalul de intrare poate afecta doar eșantionul numărul 8 sau mai mare în semnalul de ieșire. Sistemele care operează în acest mod se spune că sunt cauzale. Desigur, procesarea digitală nu trebuie neapărat să funcționeze în acest fel. Deoarece atât semnalele de intrare cât și cele de ieșire sunt matrice de numere stocate într-un calculator, oricare dintre valorile semnalului de intrare poate afecta oricare dintre valorile semnalului de ieșire.

După cum arată exemplele din figura 7-6, răspunsul la impuls al unui sistem cauzal trebuie să aibă o valoare zero pentru toate eșantioanele numerotate negativ. Gândiți-vă la acest lucru din perspectiva de intrare a convoluției. Pentru a fi cauzal, un impuls în semnalul de intrare la eșantionul numărul n trebuie să afecteze doar acele puncte din semnalul de ieșire cu un număr de eșantion n sau mai mare. În uz comun, termenul cauzal este aplicat oricărui semnal în care toate eșantioanele numerotate negativ au o valoare zero, indiferent dacă este sau nu un răspuns la impuls.


Figura 7-7 Exemple de liniaritatea fazei.

Semnalele care au o simetrie stânga-dreapta se zice că au faza liniară. Dacă axa de simetrie apare la eșantionul cu număr zero, se spune că au faza zero. Orice semnal cu faza liniară poate fi transformat într-un semnal cu faza zero simplu prin deplasare. Semnalele care nu au o simetrie stânga-dreapta se zice că sunt de fază neliniară. Nu confundați acești termeni cu liniar în sisteme liniare. Ele sunt concepte complet diferite.

Faza zero, faza liniară și faza neliniară

După cum se arată în figura 7-7, se spune că un semnal este fază zero dacă are o simetrie stânga-dreapta în jurul eșantionului cu număr zero. Un semnal este declarat a fi fază liniară dacă are simetrie stânga-dreapta, dar în jurul unui anumit punct, altul decât zero. Aceasta înseamnă că orice semnal de fază liniară poate fi transformat într-un semnal de fază zero pur și simplu prin deplasarea spre stânga sau spre dreapta. În cele din urmă, se spune că un semnal este fază neliniară dacă nu are simetrie stânga-dreapta.

Probabil că vă gândiți că aceste nume nu par să decurgă din definițiile lor. Ce legătură are faza cu simetria? Răspunsul constă în spectrul de frecvență și va fi discutat mai detaliat în capitolele ulterioare. Pe scurt, spectrul de frecvență al oricărui semnal este compus din două părți, magnitudinea și faza. Spectrul de frecvență al unui semnal care este simetric în jurul valorii de zero are o fază care este zero. De asemenea, spectrul de frecvențe al unui semnal care este simetric în jurul unui punct nonzero are o fază care este o linie dreaptă, adică o fază liniară. În cele din urmă, spectrul de frecvență al unui semnal care nu este simetric are o fază care nu este o linie dreaptă, adică are o fază neliniară.

O notă specială despre termenii potențial confuzi: fază liniară și neliniară. Ce trebuie să facă acest concept pentru liniaritatea sistemului discutat în capitolele anterioare? Absolut nimic! Liniaritatea sistemului este conceptul larg pe care se bazează aproape toate DSP (suprapunere, omogenitate, aditivitate, etc.). Faza liniară și neliniară înseamnă că faza este sau nu o linie dreaptă. De fapt, un sistem trebuie să fie liniar chiar și pentru a spune că faza este zero, liniară sau neliniară.

Secțiunea următoare: Proprietăți matematice