Sunteți pe pagina 1din 45

2.1.

4 Bancuri de filtre digitale


- permit descompunerea semnalului original în sub benzi (K) de
frecvenţă (analiză), procesarea independentă a semnalului în
cele K sub benzi şi recompunerea semnalului original din cele
K semnale procesate (sinteză)
Exemplu de analiză:

Imagine Imagine filtrată Imagine filtrată


originală trece jos trece sus
TPI- curs 3
- descompunerea în sub benzi de frecvenţă se poate face folosind
un banc de filtre digitale de analiză şi (opţional) de filtre de decimare
v0(n)
x(n) H0(z) L
v1(n)
H1(z) L
...

vM-1(n)
HK-1(z) L Analiză

- fiecare semnal rezultat ocupă doar o parte din banda de frecvenţe


a semnalului original
- filtrele Hi(z) pot fi filtre de tip trece jos,trece sus sau trece bandă

TPI- curs 3
- funcţiile de transfer se suprapun în domeniul frecvenţă

H1 H2 H3 H4
K=4
H1(z) 2
H1 H2 H3 H4
x H2(z)

H3(z) 2
H1 H2 H3 H4
H4(z)

- pentru scăderea complexităţii semnalele în subbenzi sunt supuse


unei operaţii de decimare efectuată după descompunere

TPI- curs 3
Decimare
u(0),u(1),u(2)... L u(0), u(L), u(2L)...

Fie u(k): 1,2,3,4,5,6,7,8,9,…


Pentru o decimare cu 2 (L=2) ieşirea filtrului este 1,3,5,7,9,...
-semnalul descompus poate fi procesat independent în cele K
benzi de descompunere
v0(n)
x(n) H0(z) L Procesare 1

v1(n)
H1(z) L Procesare 2
...

vM-1(n)
HK-1(z) L Procesare K

TPI- curs 3
- refacerea semnalului original se face printr-o etapă de sinteză
definită de iterarea unor etape de expandare (supraeşantionare)
şi de filtrare cu ajutorul unor filtre de sinteză (filtre de
interpolare)

L G0(z)

y(n)
L G1(z)
+
...

...

L GK-1(z)

Sinteză

TPI- curs 3
Expandare
- operaţie ce presupune refacerea numărului de eşantioane ale
semnalului original prin inserarea de valori de 0 între eşantioane
consecutive ale semnalului descompus în subbenzi
u(0), u(1), u(2),... L u(0),0,..0,u(1),0,…,0,u(2)...

L-1
Exemplu: fie u(k): 1,2,3,4,5,6,7,8,9,…
- secvenţa de la ieşirea filtrului de expandare cu 2 este:
1,0,2,0,3,0,4,0,5,0...

- filtrele de sinteză trebuie să fie astfel proiectate încât să permită


reconstrucţia (perfectă) a semnalului de intrare chiar şi în prezenţa
posibilelor erori de aliere introduse prin procesul de subeşantionare

TPI- curs 3
-condiţia necesară de reconstrucţie perfectă: semnalul de ieşire
trebuie să identic cu cel de intrare, modulo o întârziere de procesare
şi o atenuare independentă de frecvenţă
-matematic: y (n )   x(n  k )
2.1.5 Filtre de tip QMF (Quadrature Mirror Filter)
- caz particular K=2
-schema bloc a lanţului de procesare:

G0(z) y(k)
x(k) H0(z) 2 2
+
H1(z) 2 2 G1(z)

- Hi(z) – filtre de analiză; Gi(z) – filtre de sinteză

TPI- curs 3
-fie X(z) transformata în z a semnalului de intrare:
G0(z) y(k)
x(k) H0(z) 2 2
+
H1(z) 2 2 G1(z)

U j (z)  H j (z)X (z)

-efectul filtrelor de decimare – posibile erori de aliere:

G0(z) y(k)
x(k) H0(z) 2 2
+
H1(z) 2 2 G1(z)

V j (z)  ?
vj(k)

TPI- curs 3
- un filtru de decimare cu 2 este descris de relaţia:
v j (n )  u j (2n )
- transformata în z a variabilei de ieșire poate fi scrisă sub forma:

Vj z    u (2n)zj
n

n  

 u j (0) z 0  u j (2) z 1  u j ( 4) z  2    u j ( 2) z1  u j (4) z 2  


1

 u j (0) z 0  u j (1) z 1/ 2  u j ( 2) z 1    u j (1) z1/ 2  u j (2) z1  
2

1

 u j (0) z 0  u j (1) z 1/ 2  u j (2) z 1    u j (1) z1/ 2  u j (2) z1  
2

1
   
 U j z1/ 2  U j  z1/ 2
2


TPI- curs 3
- în domeniul Fourier:
H ( z ) ze j  H (  e j )  H [ e j  (  1)]  H [ e j  e j ]  H [ e j (   ) ]
1     
1
2
  
V j z   U j z1/ 2  U j  z1/ 2  V j    j 
2   2 
U  U j
 2
  

U() U(/2) U(/2+)

-   - 
-2 2

Erori de
aliere

- prin decimare se introduc distorsiuni de aliere


TPI- curs 3
- un filtru de expandare cu 2 este descris de relaţia:
 v j ( n / 2 ), n  0 ,  2 ,  4 , 
z j (n )  
 0, in res t
  m
n n
Z j ( z )   z j (n) z   v j (n / 2) z   v j (m ) z 2m  V j ( z 2 )
n   n   m  
n  2m

G0(z) y(k)
x(k) H0(z) 2 2
+
H1(z) 2 2 G1(z)

V j ( z )  12 {U j ( z 1 / 2 )  U j (  z 1 / 2 )}
TPI- curs 3
- semnalul sintetizat poate fi pus sub forma:
2 1
2
  1

Z j ( z )  V j ( z )  U j ( z )  U j ( z )  H j ( z ) X ( z )  H j ( z ) X ( z )
2

- pe de altă parte: Y ( z )  Z 0 ( z ) G 0 ( z )  Z 1 ( z ) G 1 ( z )
Y ( z )  12 { H 0 ( z ) G 0 ( z )  H 1 ( z ) G 1 ( z ) }X ( z )

 1 {H 0 (  z )G 0 ( z )  H 1 (  z ) G 1 ( z ) }X (  z )
2
termen datorat
fenomenului de aliere
-eliminarea fenomenului de aliere presupune anularea termenului:
H 0 ( z )G 0 (z )  H 1 ( z )G 1 (z )  0
condiţie realizabilă în practică
TPI- curs 3
H1 ( z)

G 0 (z)
G1 (z) H 0 ( z)
-o posibilă alegere este următoarea:
H 1 ( z )  H 0 (  z ), G 0 ( z )  H 1 (  z ), G 1 (z)   H 0 ( z)
j
-prima condiţie: H 1 ( z )  H 0 (  z )  H 1 ( e )  H 0 ( e j (   ) )
-prop. de deplasare in frecvență a transformatei Fourier :
X ( e j (   0 ) )  e j  0 n x ( n )

 b1 n  e j  n b 0 n  [ c o s ( n )  j s in ( n ) ]b 0 n
-pentru filtre cu coeficienţi reali
b 1 n  (  1) n b 0 n
TPI- curs 3
- interpretare în domeniul frecvenţă:
|H0()| |H1()|
– caracteristici de frecvenţă în oglindă
“mirror” (engl.)
FTJ FTS

/2  =2f
frecventa de tăiere ft =fe /4 – “quadrature frequency” (engl.)
-H0, G0 filtre trece jos
-H1, G1 filtre trece sus
- condiţia de absenţă a fenomenului de aliere este doar necesară;
pentru ca reconstrucţia să fie perfectă trebuie impusă o condiţie
suplimentară
TPI- curs 3
Y ( z )  12 { H 0 ( z ) G 0 ( z )  H 1 ( z ) G 1 ( z )}X ( z )  T ( z ) X ( z )
         
T (z)

y[ n ]   x [ n  k ] T (z)   z k

- condiţia suplimentară se rezumă la proiectarea filtrului de analiză


H0 în aşa fel încât semnalul :
1

T (z)  H 0 2 (z)  H 0 2 ( z)   z k
2

- un filtru FIR ce respectă această condiţie este :
H 0 (z )  1  z 1
1
 
T ( z )  (1  z 1 ) 2  (1  z 1 ) 2  z 1
2
TPI- curs 3
- aplicarea filtrelor QMF pentru descompunerea în sub benzi a
imaginilor presupune respectarea algoritmului următor:
M/2

decimare coloane 2 LL N/2


H0
M
H0 2
H1 2 LH
N
H0 2 HL
H1 2

filtrare pe linii H1 2 HH

filtrare decimare linii


N
pe coloane

M/2
TPI- curs 3
- reprezentare uzuală a imaginii descompuse în subbenzi

LL LH

HL HH

TPI- curs 3
2.2 Prelucrări în domeniul transformatelor
2.2.1 Transformata Fourier Discretă(DFT)
- în aplicații de prelucrare numerică a semnalelor evaluarea
transformatei 
Fourier discrete în timp este imposibilă
X (  )   x ( n ) e  j n DFT
n  
f
  2 - variabilă continuă; aplicațiile
fe
DSP pot evalua valorile X() doar
într-un număr finit de puncte
- în practică un semnal este definit
pe un suport finit (numărul de
eșantioane este finit); fie N nr. de
eșantioane ale semnalului de intrare
TPI- curs 3
- DFT se obține din DTFT prin eșantionare în domeniul spectral
2  nm
N 1 j
X ( n )  X ( n   )    2   x (m )e N
N m 0
- transformata Fourier discretă a unui semnal este o funcţie discretă
complexă

X ( n )  Re X ( n )  j Im X ( n )  X ( n ) e j arg [ X ( n )]
- pentru un semnal de intrare real x(m), transformata Fourier
discretă prezintă simetrie în raport cu N/2
- în aplicaţii practice este suficientă cunoaşterea valorilor X(m)
pentru m=0,1,…N/2 iar celelalte valori se obţin prin conjugare
complexă
X(n) = X*(N-n)

TPI- curs 3
|X()|

 - transformata Fourier
- 0  2 discretă inversă (IDFT)
permite obţinerea valorilor
eşantioanelor în domeniul
|X(n)| timp pornind de la cele din
domeniul frecvenţă

0 N/2 N-1 n
j 2  nm
1 N 1
x ( m )   X ( n )e N
N n 0

TPI- curs 3
- -toate procesoarele numerice de semnal implementează
algoritmi rapizi de calcul ai DFT precum și facilități hardware pentru
implementarea acestora

2.2.2 Transformata Fourier rapidă (FFT)


- FFT – Fast Fourier Transform – algoritm de calcul rapid al DFT ce
se poate aplica dacă N este (tipic) o putere întreagă a lui 2
N 1  j 2  nm  j 2  nm  j 2  nm
X ( n )   x ( m )e N
  x (m )e N
  x ( m )e N
m 0 m par m impar
2
j
Fie W N  e N
o rădăcină de ordinul N a unității

- transformata DFT poate fi rescrisă în acest caz sub forma:


 j 2  nm
N 1 N 1
X (n)   x ( m )e N   x ( m )W nm
m 0 m 0
TPI- curs 3
N 1 N / 2 1 N / 2 1
X (n)   x ( m )W mn
  x ( 2 k )W N2 kn   x ( 2 k  1)W N( 2 k 1) n
m 0 k 0 k 0

W N2  e  j 2  2 / N  e  j 2  / ( N / 2 )  W N / 2

N / 2 1 N / 2 1
X (n )   x (2k )W kn
N/2   x ( 2 k  1) W N2 kn W Nn
k 0 k 0

W N2 kn W Nn  W Nkn/ 2 W Nn
N / 2 1 N / 2 1
X (n )   x (2k )W kn
N/2 W n
N  x ( 2 k  1) W kn
N/2
k 0 k 0

DFT în N/2 puncte


TPI- curs 3
- o transformată DFT în N puncte poate fi descompusă în 2
transformate în N/2 puncte cu o complexitate de calcul mai
redusă
- procedeul de transformare a unei DFT în N puncte în 2 DFT-uri de
N/2 se numeşte decimare în timp (algoritmul Cooley-Tukey)
-FFT prezintă o complexitate mai redusă dacă şi numai dacă
2N<N2 ; pentru N2 condiţia este verificată pentru orice N
- decimarea poate fi continuată până la obţinerea unei DFT în 2 puncte
-modul de calcul al unei FFT va fi reprezentat grafic folosind
următoarele convenţii de reprezentare:
x(n)
x(n)+y(n)
x(n) a ax(n)
y(n)
x(n) x(n-1)
z-1

TPI- curs 3
Exemplu: - decimare în timp pentru N=8
x(0) G(0) X(0)
WN0
G(1)
x(2) X(1)
DFT
WN1
x(4) N/2 G(2)
X(2)
WN2
x(6) G(3)
X(3)
WN3
H(1)
x(1) X(4)
WN4
x(3) H(2)
X(5)
DFT
WN5
x(5) H(3)
N/2 X(6)
WN6
x(7) H(4)
X(7)
WN7
X ( k )  G ( k )  W KN H ( k )
TPI- curs 3
- DFT-urile în N/2 puncte pot fi transformate la rândul lor în
transformate în N/4 puncte
x(0) G(0)
DFT
x(4) N/4 G(1)

x(2) G(2)
DFT
x(6) N/4
G(3)

x(0) G(0)
DFT WN0
x(4) N/4 G(1)
W N2  W N / 2   WN2
x(2) G(2)
DFT WN4
x(6) N/4 G(3)
WN6
TPI- curs 3
x(0) X(0)
DFT
x(4) N/4 X(1)

x(2) X(2)
DFT
x(6) N/4
X(3)

x(1) X(4)
DFT
N/4
x(5) X(5)

x(3) DFT X(6)


N/4
x(7)
X(7)

TPI- curs 3
transformata DFT în două puncte se poate scrie sub forma:
- o transformată
1 1
X (n )   x (m )W nm
2   x ( m ) e  j 2  n m / 2  x ( 0 ) W 20 n  x (1) W 21n
m 0 n 0

X ( 0 )  x ( 0 )  x (1)
X (1)  x ( 0 )  e  j 2 1 / 2 x (1)  x ( 0 )  x (1)

- reprezentare grafică echivalentă :


x(0) X(0)
2 N
j
W NN / 2  ( e N
)  e  j   1
2

x(1) X(1) W N0  ( e  j 0 )  1

TPI- curs 3
X(0)
x(0)

x(4) X(1)

x(2) X(2)

x(6) X(3)

x(1) X(4)

x(3) X(5)

x(5) X(6)

x(7) X(7)

TPI- curs 3
- evaluarea FFT presupune utilizarea unei structuri repetitive de tip
fluture (butterfly eng.)

WNr

WNr+N/2

nivel m-1 nivel m


de decimare de decimare

W Nr  N / 2   W Nr
WNr
TPI- curs 3
- algoritmul complet FFT pentru N=8 X(0)
x(0)
X(1)
x(4)

x(2) X(2)

x(6) X(3)

X(4)
x(1)

x(5) X(5)

x(3) X(6)

x(7) X(7)

TPI- curs 3
- DSP-urile de generație curentă implementează uzual facilitatea de
adresare cu bit inversat și includ în biblioteci funcții dedicate
calculului FTT

Exemplu: funcții Blackfin BF 533


pentru calculul FFT
Sursa: Visual DSP ++ 5.0 C/C++ Compiler and Library Manual for Blackfin® Processors

TPI- curs 3
2.2.3 Transformata Fourier pe termen scurt (STFT)
- transformata Fourier descrie conţinutul spectral al unui semnal (un
semnal are componente spectrale importante pe frecvenţele f1, f2…)
dar nu oferă informaţii privind localizarea în timp
Exemplu:
- fie un semnal staţionar x(t)=Asin(2*ft)+Asin(2*2ft)+Asin(2*3ft)

30
x(t)
20

10

0
t
0 50 100 150 200 250 300
-10

-20

-30

TPI- curs 3
- reprezentarea amplitudinii coeficienţilor rezultaţi în urma analizei
Fourier permite evidenţierea existenţei celor 3 componente spectrale
|X()|

f 2f 3f

- fie un semnal nestaţionar x(t) de forma următoare (chirp)


f 2f 3f

TPI- curs 3
- reprezentarea coeficienţilor rezultaţi în urma analizei Fourier permite
evidenţierea existenţei celor 3 componente spectrale dar nu oferă
informaţii asupra momentelor de timp la care acestea apar

f 2f 3f
-pentru a putea permite şi localizarea în timp (identificarea
momentelor în care componentele spectrale apar) semnalul trebuie
analizat local, pe un suport de calcul definit de o fereastră glisantă
- în domeniul Fourier analiza locală se face utilizând transformata
Fourier pe termen scurt STFT (Short Time Fourier Transform)
TPI- curs 3

STFT (  ,  )   x ( t )   ( t   ) e  j t

-  - parametru temporal
-  (t) –fereastră de analiză cu suport finit;  (t- ) - fereastră centrată
în 
Exemplu: (t)

 exp(  at 2 ),  1  t  1
(t)  
 0, t  1
t

TPI- curs 3
(t-)

 t

-multiplicarea în domeniul timp cu o funcţie cu suport finit şi


efectuarea transformatei Fourier este echivalentă cu aplicarea
transformatei Fourier pe segmente de semnal
-pentru fiecare întârziere , STFT oferă informaţii legate de
localizarea temporală a componentelor spectrale

TPI- curs 3

f 2f 3f

1 2 Timp
STFT( 1 , ) STFT(2 , )

-principala problemă legată de utilizarea STFT în analiza semnalelor


este dată de modul de dimensionare al ferestrei de analiză
TPI- curs 3
-ferestrele înguste permit o bună localizare în timp dar oferă o
rezoluție redusă de reprezentare a conținutului spectral și invers
-constrângerea poate fi explicată prin intermediul proprietăților
transformatei Fourier:
M eşantioane
Semnal real Eşantionare
-doar N/2 coeficienţi sunt utili
în reprezentarea conţinutului spectral (0,fe/2)
 (t)
-rezoluţia în frecvenţă este dată de:
f=fe/2 / (N/2) fe/N N eşantioane
(N<M)
f  -> N  - ferestre temporale largi
TF
f  -> N  - ferestre temporale înguste
N coeficienţi
În aplicații practice dimensiunea ferestrei temporale se alege prin compromis
TPI- curs 3
2.3Transformata wavelet
2.3.1 Transformata wavelet continuă (CWT)
- CWT – Continuous Wavelet Transform
- foloseşte funcţii elementare numite wavelet pentru analiza locală a
semnalelor, similar transformatei STFT
- exemplu de funcţie wavelet reală

 cos( t ),  1  t  1
(t)  
0, t  1 -3 -2 -1 0 1 2 3

 ( t ) - mother wavelet
- toate ferestrele de analiză se obţin din funcţia mamă prin scalare
(dilatare) şi translatare în timp

TPI- curs 3
 
 cos( t ),  a  t  a
- scalare  ( t )  a (t )   a a=0,5
 0, t  a
 -3 -2 -1 0 1 2 3

a=1,5
-3 -2 -1 0 1 2 3

 ( t  )
cos[ t ],  a    t    b
- translatare în timp  a (t)  a , ( t )   a
0, in rest

-3 -2 -1 0 1 2 3

a=1,5, =0 a=1,5, =2

TPI- curs 3
- transformata Wavelet continuă undimensională a unui semnal x(t) se
defineşte pe baza relaţiei:
t
 x  t  a ,   t dt   x  t  ( a ) dt
 1 1
CW Tx (  , a ) 
a t a t

Transformata wavelet Factor de normalizare Funcţie mamă wavelet (funcţie


continuă a variabile x(t) prototip) . Toate ferestrele de
folosind funcţia mamă (.) analiză se obţin prin scalare şi
translatare
- în 2D, pentru o funcţie f(x,y) dependentă de coordonate spaţiale
(x,y) transformata wavelet se scrie sub forma:
 1 x i y j
CW T ( a , i , j) 
f   f ( x , y ) ( a , a ) dxdy
a

TPI- curs 3
- parametrul de scală a permite modificarea dimensiunii ferestrei
temporale de analiză; din punct de vedere formal acesta cuantifică
informaţia spectrală a=1/f

- scală fină – detalii, folosită pentru analiza segmentelor


de înaltă frecvenţă ale semnalului nestaţionar, rezoluție
bună în timp

- scală grosieră – folosită pentru aproximarea


segmentelor de joasă frecvenţă ale semnalului
nestaţionar, rezoluție bună în frecvență

- parametrul de translatare  cuantifică (similar transformatei STFT)


informaţia temporală
TPI- curs 3
- calculul transformatei Wavelet în cazul 1D presupune următoarele
etape:
1) Fereastra temporală este plasată la începutul semnalului iar factorul de
scală este setat la valoarea cea mai mică a < 1
2) Funcţia wavelet este multiplicată cu semnalul de analizat x şi integrată
3) Fereastra de analiză este deplasată cu  şi se repetă etapa 2
3) Etapa 3 se repetă pînă când tot semnalul este analizat
4) Scala a este incrementată şi se repetă etapele 1),2) şi 3)
6) Transformata wavelet continuă este definită de toate valorile calculate
pentru parametrii a şi 
- reprezentarea unei analize wavelet se face printr-o scalogramă -
reprezentarea grafică a valorii absolute a amplitudinii C W T x (  , a ) ca
funcție de parametrii de scală (a) și de translatare ()

TPI- curs 3
- exemplu de scalogramă:

Sursa:THE WAVELET TUTORIAL , Robert Polikar, users.rowan.edu/~polikar/WAVELETS/WTtutorial.html

TPI- curs 3
- exemplu Matlab:

- în aplicaţii practice procedura anterioară conduce la timpi de calcul


foarte mari iar transformata wavelet continuă este aproximată fie prin
dezvoltare în serie de funcţii wavelet fie prin transformata sa discretă
TPI- curs 3

S-ar putea să vă placă și