220 likes | 425 Views
Informatica industriala. Prelucrarea digitala a semnalelor Transformata in Z, filtre numerice. x(t) x e (t). t. Transformata in Z. Scopul: exprimarea analitica a semnalelor discrete construirea unui semnal discret care sa aproximeze cat mai bine un semnal continuu data
E N D
Informatica industriala Prelucrarea digitala a semnalelor Transformata in Z, filtre numerice
x(t)xe(t) t Transformata in Z • Scopul: • exprimarea analitica a semnalelor discrete • construirea unui semnal discret care sa aproximeze cat mai bine un semnal continuu data • efectul semnalului esantionat xe(t) sa fie acelasi cu semnalul original; ex: integrala celor 2 semnale sa fie aceeasi • se foloseste o suma ponderata de functii Dirac ∞ xe(t) = ∑ x(t) *δ(t-kT) k=- ∞ ∫ x(t) dt ≈ ∫ xe(t) dt
Definirea transformatei in Z • Transformata Laplace a semnalului eşantionat este: ∞ ∞ ∞ L[xe(t)] = ∫ ∑ x(t) *δ(t-kT) e-st dt = ∑ x(kT) e-skT - ∞ k=- ∞ k=- ∞ • Din teorema întârzierii ( L(x(t-t0)) = X(s)* e-st0) rezultă că e-skT are efect de întârziere asupra valorilor x(kT) cu k perioade. • Se face schimbarea de variabilă z = esT şi se obţine formula transformatei în Z: ∞ Z[x(t)] = ∑ x(kT) z -k = X(z) - transformata în Z bilaterală k=-∞ ∞ Z[x(t)] = ∑ x(kT) z -k = X(z) - transformata în Z unilaterală k=0(pentru sisteme cauzale)
Definirea transformatei in Z • Termenul z-1 are un efect de întârziere cu o perioadă de eşantionare • z-k – efect de intarziere de “kT” perioade • Transformata în Z se obţine prin însumarea eşantioanelor semnalului x(t) întârziate cu un număr de perioade egal cu rangul fiecărui eşantion • Transformata în Z a unui semnal indică evoluţia în timp a semnalului la momente discrete de timp. • Transformata în Z inversă • permite refacerea semnalului eşantionat din transformata în Z a semnalului. x(nT) = L-1[Z(z)] = 1/(2πj) *∫ΓX(z) zn-1 dz unde Γ este un contur inchis in jurul originii (in spatiul numerelor complexe)
x(k) x(k-1) x(k-2) z-1 z-1 a0 a1 a2 * * * y(k) + + Exprimarea functiei de transfer a unui sistem prin transformata in Z • Exemplu: filtru de rang 3 y(kT) = a0x(kT) + a1x((k-1)T) + a2x((k-2)T) • Aplicând transformata în Z se obţine: Y(z) = X(Z)( a0 + a1z –1 + a2z –2) • Funcţia de transfer a filtrului exprimată în domeniul Z şi notată cu H(z) se obţine ca un raport între transformata semnalului de ieşire şi transformata semnalului de intrare. • H(z) = Y(z)/X(z) = a0 + a1z –1 + a2z –2
Proprietati ale transformatei in Z • Teorema de linearitate Z(a*x(t) +b*y(t)) = a*Z(x(t)) +b*Z(y(t)) • b. Teorema translaţiei Z( x(t+kT) = zk Z(x(t)) Z( x(t-kT) = z-k Z(x(t)) • c. Teorema derivatei Z(dx(t)/dt) = (1- z-1) Z(x(t)
x(t) y(t) Sistem Functia de transfer a unui sistem • expresia analitică a modului în care un sistem transformă un semnal de intrare într-un semnal de ieşire (efectul produs de un sistem asupra unui semnal de intrare) • Determinarea functiei de transfer: • pe cale analitica – prin solutionarea unor ecuatii diferentiale ce decurg din legile fizico-chimice ce guverneaza sistemul • metoda dificila in cazul sistemelor complexe • pe cale experimentala – determinarea raspunsului sistemului la un semnal cunoscut • metoda aproximativa, dar mai practica
Functia de transfer pentru un sistem liniar • sistem liniar – este valabil principiul superpozitiei efectelor: • iesirea “y” la momentul t0 este suma efectelor produse de valorile intrarii “x” la momentul t0 si la toate momentele anterioare acestui moment • Se defineşte o funcţie h(Δt) care indică ponderea cu care o intrare x(t0 - Δt) influenţează ieşirea y(t0) • iesirea y(t) se calculeaza ca o integrala de convolutie intre semnalul de intrare x(t) si functia h(Δt) y(t) = x() * h(t - ) d - • h(t) – functia de transformare a sistemului
Functia de transfer pentru un sistem liniar • Observatii: • Pentru sistemele cauzale: • h(Δt) are valoarea zero pentru Δt0, adică semnalul de ieşire depinde numai de valorile intrării la momente anterioare momentului considerat; integrala se calculeaza in intervalul (- ∞, t); • daca intrarea este 0 inainte de momentul t=0 atunci integrala se calculeaza pe intervalul (0, t) • În prelucrările de semnale efectuate în regim off-line, funcţia h(Δt) poate avea valori diferite de zero şi pentru Δt >0. • De exemplu la un filtru de mediere valoarea semnalului de ieşire pentru momentul t se calculează pe baza valorilor de intrare din vecinătatea momentului t, adică pentru t (t- Δt, t+ Δt).
Calculul semnalului de iesire pentru sisteme discrete • integrala de convolutie devine suma de convolutie: y(kT) = x(jT)*h(kT-jT) j=- • uzual h(kT) are valori diferite de zero pentru un numar finit de termeni in jurul originii (k=0) • explicatia intuitiva: iesirea y(kT) depinde doar de valori ale intrarii in jurul momentului kT considerat • rezulta un timp de calcul finit al sumei de convolutie
X(s) Y(s)=X(s)*H(s)*G(s) H(s) G(s) Exprimarea iesirii unui sistem liniar cu ajutorul transformatelor • Cu ajutorul transformatei Fourier Y(j) = X(j) * H(j) - în domeniul frecvenţelor reale • Cu ajutorul transformatei Laplace Y(s) = X(s) * H(s) - în domeniul frecvenţelor complexe • Cu ajutorul transformatei in Z Y(z-1) = X(z-1) * H(z-1) - în domeniul discret • h(t), H(j), H(s) si H(z-1) – functia de transformare a sistemului in diferite exprimari • Compunerea functiilor de transfer: • prin produsul dintre functiile de transformare ale componentelor
Determinarea functiei de transfer a sistemului pe cale experimentala • sistemul se considera o cutie neagra • se determina functia de transfer a sistemului pe baza raspunsului la un semnal de intrare cunoscut – semnalul Dirac (t) y(t) = () * h(t - ) d = h(t) - • iesirea este tocmai functia de transfer a sistemului • implementare practica dificila – nu exista impuls Dirac (amplitudine infinita pe o durata ce tinde la 0) • metoda practica: se foloseste integrala semnalului dirac – semnalul treapta unitara t y(t) = σ()h(t-) d = h(u) du unde u=t- - 0 • iesirea este integrala functiei de transfer; prin derivare se obtine functia dorita
Determinarea functiei de transfer pentru sisteme discrete • se foloseste transformata in Z • se aplica transformata in z pe integrala de convolutie Z(y(t)) = Z(() * h(t - ) d) Z(y(t)) = Z((t))*Z(h(t)) y(kT)*z-k = z-k h(kT)* z-k k=0 k=0 k=0 • Se egalează coeficienţii termenilor z-k şi se obţine: y(0) = h(0) y(T) = h(0) +h(T) ........... y(kT) = h(0) + h(T) + ......+ h(kT) de unde rezultă: h(kT) = y(kT) – y((k-1)T) • dacă la intrare s-a aplicat un semnal treaptă unitară, atunci valoarea funcţiei de transfer la momentul kT se obţine ca o diferenţă între ieşirea sistemului la momentul kT şi ieşirea la momentul (k-1)T ... EXTREM DE IMPORTANT
Utilizarea functiei de transfer • calcularea iesirii unui sistem pentru un semnal de intrare oarecare • prin convolutie: k y(kT) = x(jT) *h(jT-kT) j=0 • Concluzie: dacă se cunosc valorile eşantionate ale semnalului de intrare şi răspunsul sistemului la treaptă unitară, atunci se poate estima valoarea semnalului de ieşire, la anumite momente discrete de timp
Filtre numerice • Un filtru este un dispozitiv care transformă un semnal de intrare într-un semnal de ieşire pe baza anumitor condiţii sau restricţii • exemple de conditii: • semnalul de iesire sa contina numai frecvente joase, numai frecvente inalte sau care se incadreaza intr-o plaja de valori • conditii impuse fazei de iesire a semnalului • conditii impuse asupra amplitudinii (atenuare, amplificare) • problema: determinarea functiei de transfer a filtrului care satisface anumite conditii impuse • tipuri de filtre: • dupa modul de implementare: • analogice • digitale (numerice) • filtre cu raspuns finit (FIR – finite response filter) • filtre cu raspuns infinit (IIR – infinite response filter)
Ampl. Ampl. Ampl. Ampl. frecventa frecventa Filtru trece sus Filtru trece jos frecventa Filtru trece banda frecventa Filtru rejectie banda Tipuri de filtre • dupa plaja de filtrare: • filtre trece jos • filtre trece sus • filtre trece banda • filtru cu banda de rejectie
Filtre trece jos si trece sus – functia de transfer si raspunsul in frecventa • filtrul trece sus se obtine din functia de transfer in Z a filtrului trece jos prin negarea tuturor termenilor si adaugarea unei unitati ysus(kT)= x(kT) - yjos(kT) ysus(kT)= x(kT) – Σx(iT)h(iT-kT) Hsus(z-1) = 1-Hjos(z-1) Graficul filtrului trece jos si raspunsul generat in frecventa Graficul filtrului trece sus si raspunsul generat in frecventa
Filtre cu raspuns finit (FIR) • efectul produs de un impuls singular aplicat la intrarea filtrului, dispare după un număr finit de perioade de eşantionare • iesirea depinde numai de un set de esantioane ale semnalului de intrare • expresia semnalului filtrat: y(kT) = Σ x(iT) * h(kT-iT) i=- • uzual funcţia de transfer h(jT) are valori diferite de zero numai pentru un număr finit de puncte aflate în jurul valorii 0 • pentru sistemele cauzale ieşirea de la un anumit moment depinde numai de intrarea de la momentele anterioare, inclusiv momentul considerat
H(z-1) 1/3 0 1 2 3 4 5 Filtre cu raspuns finit (FIR) • daca sistemul este cauzal si semnalul de intrare x(kT) = 0 pentru k<0, atunci formula filtrului devine: k y(kT) = Σ x(iT) * h(kT-iT) i=0 • Exemplu de filtru trece jos de tip FIR • filtru de mediere: y(kT) = (1/3)*x(kT) +(1/3)*x((k-1)T)+ (1/3)*x((k-2)T) • transformata in Z a iesirii: Y(z-1) = X(z-1)[1/3(1+z-1+z-2) • se observa ca h(0)=h(1)=h(2)=1/3 • transformata in Z a functiei de transfer a filtrului: H(z) = Y(z)/X(z) = (1/3)*( 1+ z-1 + z-2)
x(k) x(k-1) x(k-2) x(k-n) z-1 z-1 z-1 a0 a1 a2 an ..... * * * * y(k) + + + Filtre cu raspuns finit (FIR) • Formula generala a functiei de transfer pentru un filtru FIR: n H(z) = Σ ai * z-i i=0 • implementarea unui filtru fir cu circuite de intarziere si de sumare
Referinte • http://www.dspguide.com/pdfbook.htm