Sunteți pe pagina 1din 300

Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

1. INTRODUCERE.

SEMNALE ŞI SISTEME DISCRETE ÎN TIMP

1.1 Semnale discrete în timp

Prelucrarea numerică a semnalelor analogice a devenit o practică frecvent


întâlnită. Aceasta presupune două operaţii:
- eşantionarea la anumite momente de timp, care în cele ce urmează vor fi
presupuse de forma nTs , unde Ts reprezintă perioada de eşantionare, iar
FS = 1 / TS este frecvenţa de eşantionare ; această operaţie este realizată de un
dispozitiv de eşantionare memorare;
- conversia analog – numerică; aceasta presupune o discretizare a nivelului
semnalului
Acest prim capitol se referă la semnalele discrete în timp, incluzând deci ca
un caz particular şi semnalele numerice.
Vom defini semnalul discret în timp ca o aplicaţie de forma
x(n ) : Z → C sau R
Poate proveni din eşantionarea unui semnal analogic, x a (t ) cu perioada
TS = 1 / FS ,
x(n ) = x a (nTS )
Pentru ca din semnalul discretizat în timp să poată fi refăcut semnalul
analogic iniţial, trebuie îndeplinite condiţiile teoremei eşantionării. Aceasta
presupune ca semnalul să fie de bandă limitată şi
F
FM ≤ S
2
unde FM este frecvenţa limită superioară a spectrului semnalului.

Semnale particulare
Impulsul unitar (Fig. 1.1): δ (n)

1 , n = 0
δ (n ) =  1
0 , n ≠ 0

-2 -1 0 1 2 n

Fig. 1.1

1
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

Impulsul treaptă unitate (Fig. 1.2): u(n)

1 , n ≥ 0
u (n ) =  1
0 , n < 0

-2 -1 0 1 2 n

Fig. 1.2

Semnal periodic de perioadă N.


Vom spune că un semnal discret în timp este periodic dacă ∃ N ∈ Z astfel încât
x(n ) = x(n + N ), ∀ n ∈ Z ,
iar N este perioada semnalului.
Semnal sinusoidal discretizat
Pornind de la semnalul analogic
x a (t ) = A ⋅ cos(Ω 0 t + ϕ 0 ) , Ω 0 = 2πF0
prin eşantionare se obţine
x(n ) = A ⋅ cos(Ω 0 nTS + ϕ 0 )
În cele ce urmează vom nota frecvenţa normată f 0 şi frecvenţa unghiulară
normată ω 0 :
F
f 0 = F0TS = 0 , ω 0 = Ω 0TS
FS
literele mari fiind utilizate pentru mărimile nenormate. Se atrage atenţia că în unele
lucrări mai vechi se utilizează pentru a simboliza normarea unei frecvenţe
sublinierea. Cu notaţia adoptată,
x(n ) = A cos(nω 0 + ϕ 0 )
Acest semnal nu este în general periodic. Este periodic, de perioadă N, numai dacă
∃ N, k, astfel încât

Nω 0 = 2kπ ⇒ ω 0 = k ,
N
sau
TS k
=
T0 N
relaţie care presupune un anumit sincronism între perioada de eşantionare şi
perioada semnalului. Concluzia obţinută este valabilă pentru orice semnal obţinut
prin eşantionarea unui semnal analogic periodic.
Exponenţiala complexă:
x(n ) = A ⋅ e jnω 0

Energia semnalului discret este dată de :


def ∞
∑ x(n )
2
E =
n = −∞

2
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

Conform teoremei eşantionării, energia unui semnal analogic poate fi calculată


pormind de la eşantioanele sale, prin relaţia

∑ x a (nTS )
2
E a = TS
n = −∞
deci energia definită ca mai sus pentru semnalul discret se obţine din energia
semnalului analogic printr-o normare:
1
E= Ea
TS
Dacă energia nu este finită, se poate defini puterea medie a semnalului discret în
timp,
N
1
∑ x(n )
2
P = lim
N →∞ 2 N + 1 n = − N

1.2 Sisteme discrete în timp

Vom defini un sistem discret în timp ca un operator de forma


y (n ) = T {x(n )}
(Figura 1.3)

x(n) y(n)
T{}

Fig. 1.3

Vom defini în continuare clase mai particulare de sisteme discrete în timp.


Sisteme liniare (SL) sunt acele sisteme care satisfac principiul
superpoziţiei adică pentru orice constante a1 , a 2 şi orice semnale x1 (n) , x2 (n) ,
T {a1 x1 (n )+ a2 x2 (n )} = a1T {x1 (n )}+ a2T {x2 (n )} = a1 y1 (n )+ a2 y2 (n )
Pentru sistemele liniare vom introduce funcţia de pondere, ca răspuns al
sistemului la impulsul unitar δ (n ).
h(n ) = T {δ (n )}
Orice semnal discret poate fi reprezentat ca

x(n ) = ∑ x(k )δ (n − k )
k = −∞
În consecinţă răspunsul unui SL poate fi scris
 ∞  ∞ ∞
y (n ) = T {x(n )} = T  ∑ x(k )δ (n − k ) = ∑ x(k )T {δ (n − k )} = ∑ x(k )hk (n )
k = −∞  k = −∞ k = −∞
unde
hk (n ) = T {δ (n − k )}

3
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

Sisteme invariante în timp (SIT) sau invariante la deplasare, se definesc


prin
y (n ) = T {x(n )} ⇒ y (n − k ) = T {x(n − k )} pentru ∀k ∈ Z
Pentru un sistem liniar şi invariant în timp (SLIT):
hk (n ) = T {δ (n − k )} = h(n − k )
aşa încât

y (n ) = ∑ x(k )h(n − k )
k = −∞
Se defineşte convoluţia liniară în timp discret prin

(x1 ∗ x2 )(n ) = ∑ x1 (k )x2 (n − k )
k = −∞
Este evident un operator comutativ,
∞ ∞
(x1 ∗ x2 )(n ) = ∑ x1 (k )x2 (n − k ) = ∑ x2 (k )x1 (n − k ) = (x2 ∗ x1 )(n )
k = −∞ k = −∞
O notaţie echivalentă este frecvent utilizată
(x1 ∗ x2 )(n ) = x1 (n ) ∗ x2 (n )
În concluzie, pentru un SLIT se obţine concluzia importantă că răspunsul acestuia
la un semnal x(n ) este convoluţia dintre acesta şi funcţia de pondere a sistemului
(Fig. 1.4):
y (n ) = (h ∗ x )(n ) = (x ∗ h )(n )

x(n) y(n)=(h ∗ x)(n)


h(n)

Fig. 1.4

Sisteme stabile
Un sistem stabil este un sistem pentru care orice semnal de intrare mărginit
(ca amplitudine) conduce la un semnal de ieşire de asemenea mărginit.
Pentru aceasta este necesar şi suficient ca

∑ h(k ) < ∞
k = −∞
deci ca funcţia de pondere să fie absolut sumabilă.

Sisteme cauzale
O definiţie generală pentru un sistem cauzal impune ca pentru ∀ n < n0 , să
existe implicaţia
x a (n ) = xb (n ) pentru n < n0 ⇒ y a (n ) = y b (n ) pentru n < n0 ,
unde y a (n ), y a (n ) reprezintă răspunsurile sistemului la cele două semnale de
intrare.
Pentru un SL condiţia de cauzalitate se rezumă la condiţia de neanticipativitate
(răspunsul sistemului nu poate apărea înaintea excitaţiei). Într-adevăr, dacă la

4
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

intrarea unui sistem liniar cauzal se aplică x(n ) = x a (n ) − xb (n ) deci x(n ) = 0


pentru. ∀ n < n0 , răspunsul sistemului, în baza liniarităţii este
y (n ) = y a (n ) − yb (n ) ⇒ y (n ) = 0 pentru ∀ n < n0 . Deci în acest caz condiţia de
cauzalitate se poate scrie
x(n ) = 0 pentru n < n0 ⇒ y (n ) = 0 pentru n < n0
Pentru un SLIT condiţia de cauzalitate poate fi scrisă sub forma:
h(n) = 0 , ∀ n < 0 .

Într-adevăr, în acest caz, pentru orice x a (n ), xb (n ) ce satisfac condiţiile de mai


înainte, se poate scrie
n0 −1 ∞
y a (n ) = ∑ xa (k )h(n − k ) + ∑ xa (k )h(n − k )
k = −∞ k = n0
n0 −1 ∞
y b (n ) = ∑ xb (k )h(n − k ) + ∑ xb (k )h(n − k )
k = −∞ k = n0

∞ ∞
y a (n ) = y b (n ) pentru ∀ n < n0 ⇒ ∑ x (k )h(n − k ) = ∑ x (k )h(n − k )
a b
k = n0 k = n0

Dar aceasta înseamnă


∑ [x (k ) − x (k )]h(n − k ) = 0
k =n0
a b ⇒ h(n − k ) = 0 pentru k ≥ n0 şi n < n0 adică

n − k < 0 , deci în final


h(n) = 0 , ∀ n < 0 .
Prin extensie, dacă o secvenţă îndeplineşte condiţia x(n ) = 0 , pentru n < 0 , se
spune că este cauzală.

Ecuaţii cu diferenţe finite

O clasă particulară de SLIT poate fi descrisă prin ecuaţii cu diferenţe finite.


N M
∑ α k y (n − k ) = ∑ β k x(n − k )
k =0 k =0
αk β
Dacă α 0 ≠ 0 rezultă, împărţind cu α 0 şi notând = a k , k = bk ,
α0 α0
M N
y (n ) = ∑ bk x(n − k ) − ∑ a k y (n − k )
k =0 k =1
Dacă N = 0 , rămâne:
M
y (n ) = ∑ bk x(n − k )
k =0
şi în particular, pentru x(n ) = δ (n ),

5
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

M b , n ∈ [0, M ]
h(n ) = ∑ bk δ (n − k ) =  n
k =1  0 , in rest
Un asemenea sistem se spune că este cu răspuns finit la impuls (RFI) sau FIR
(finite impulse response). În caz contrar, N > 0 , sistemul este cu răspuns infinit la
impuls (RII) sau IIR (infinite impulse response).

Comportarea SLIT în domeniul frecvenţă


Pentru caracterizarea unui sistem în domeniul frecvenţă, vom aplica la intrarea sa
un semnal
1 1
x(n ) = A ⋅ cos(nω + θ ) = A ⋅ e jθ e jnω + A ⋅ e − jθ e − jnω
2 2
Să luăm pentru început cazul mai simplu:
x 0 (n ) = e jnω
şi să calculăm răspunsul sistemului. Se găsesc succesiv
∞ ∞
y 0 (n ) = ∑ h(k )x0 (n − k ) = ∑ h(k )⋅ e j (n−k )ω =
k = −∞ k = −∞
∞ ∞
=e jnω
∑ h(k ) ⋅ e − jkω
= x0 (n ) ∑ h(k ) ⋅ e − jkω
k = −∞ k = −∞
Se defineşte funcţia de transfer a sistemului:
( )

H e jω = ∑ h(k ) ⋅ e − jkω
k = −∞
Deci, în cazul considerat, avem:
y 0 (n ) = x0 (n ) ⋅ H e jω ( )
( )
H e jω fiind în general o funcţie complexă, se poate scrie ca:
j arg  H  e jω  
He( ) = H (e ) ⋅ e
jω jω   
( )
= H e jω ⋅ e jϕ (ω )
Un caz important este cel al sistemelor cu funcţie de pondere reală, h(n ) : Z → R .
În acest caz funcţia de transfer se scrie:

( )
∞ ∞ ∞
H e jω = ∑ h(k )(cos kω − j sin kω ) = ∑ h(k )cos kω − j ∑ h(k )sin kω
k = −∞ k = −∞ k = −∞
Evident, partea reală este

{ ( )}

Re H e jω = ∑ h(k )cos kω
k = −∞
iar cea imaginară

{ ( )}

Im H e jω = − ∑ h(k )sin kω
k = −∞
Constatăm deci că în cazul sistemelor cu funcţie de pondere reală, partea reală a funcţiei
de transfer este funcţie pară de ω , iar partea imaginară este funcţie impară. De aici
derivă proprietăţi de simetrie pentru modul şi argument:
( ) { ( )}
H e jω = Re 2 H e jω + Im 2 H e jω = H e − jω { ( )} ( )
6
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

ϕ (ω ) = arctg
{ ( )} = −ϕ (− ω )
Im H e jω
Re{H (e )} jω

În consecinţă,
( ) {(
H e − jω = Re H e − jω )}+ j Im{H (e )}= Re{H (e )}− j Im{H (e )}= H (e )
− jω jω jω ∗ jω

Din rezultatul obţinut până aici se poate deduce simplu răspunsul sistemului la
exponenţiala complexă x 0′ (n ) = e − jnω , înlocuind ω → −ω În final, răspunsul în cazul
semnalului real x(n ) = A ⋅ cos(nω + θ ) se obţine pe baza liniarităţii:

y (n ) =
A jθ
2
( ) A
( )
e H e jω e jϕ (ω ) e jnω + e − jθ H e − jω e jϕ ( −ω ) e − jnω
2
A
( )[
y (n ) = H e jω ⋅ e j (nω +θ +ϕ (ω )) + e − j (nω +θ +ϕ (ω ))
2
]
( )
y (n ) = A ⋅ H e jω ⋅ cos(nω + θ + ϕ (ω ))
Relaţia de mai sus sugerează că
! H e jω( ) arată câştigul introdus de filtru, deci reprezintă caracteristica amplitudine –
frecvenţă ;
! ϕ (ω ) indică defazajul introdus de sistem, deci reprezintă caracteristica fază –
frecvenţă ;
dϕ (ω )
! τ (ω ) = − este caracteristica timp de întârziere de grup (normat)-

frecvenţă.
( )
O particularitate a fucţiei de transfer H e jω a unui sistem discret în timp constă în
faptul că este periodică de perioadă 2π.
În cazul sistemelor cu funcţie de pondere reală, apare şi o simetrie a caracteristicii
amplitudine-frecvenţă în raport cu π
( )
H e j (2π −ω ) = H e jω( ) ( )
⇒ H e j (π −ω ) = H e j (π +ω ) ( )
Având în vedere aceste particularităţi, aspectele caracteristicilor amplitudine-
frecvenţă ale unor filtre sunt date în figurile 1.5-1.7.

( )
H e jω

FTJ

-π 0 π 2π 3π

Fig. 1.5

7
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

( )
H e jω
FTS

-π 0 π 2π 3π
Fig 1.6

( )
H e jω

FTB

-π 0 π 2π 3π
Fig. 1.7

Transformări utilizate în studiul sistemelor discrete în timp


Se reamintesc, pentru precizarea notaţiilor, principalele transformări folosite
în domeniul semnalelor şi sistemelor discrete în timp.

Transformata Fourier în timp discret directă


X (e ) =


∑ x(n ) ⋅ e − jnω = TFTD{x(n )}(ω )
n = −∞
şi inversă
1 π
x(n ) = ∫
2π −π
( )
X e jω ⋅ e jnω dω = TFTDI X e jω (n ) { ( )}
reprezintă un instrument util de lucru pentru analiza în domeniul frecvenţă,
comportarea circuitelor în regim armonic, analiza spectrală a semnalelor.
Transformata Z este definită ca o serie de puteri

X (z ) = Z {x(n )} = ∑ x(n ) ⋅ z − n
n = −∞
1
x(n ) = Z −1 {X (z )} = ∫ X (z ) ⋅ z n −1 dz
2πj C
C = {z ∈ C z = R , R− < R < R+ }

8
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

Ea reprezintă un instrument de bază pentru calculul răspunsului sistemelor discrete


în timp la semnale de tip impuls.
Transformata Fourier discretă se defineşte pentru semnale de suport finit,
sup{x(n )} = 0, N − 1 [ ]
prin
N −1 2π
−j
X (k ) = TFD{x(n )}(k ) = ∑ x(n ) ⋅ wNnk , unde w N = e N
n =0
Transformata inversă este
1 N −1
x(n ) = TFDI{X (k )}(n ) =
∑ X (k ) ⋅ w N−nk
N k =0
Este de fapt modalitatea practică pentru calculul numeric al TFTD.

Probleme
1. Fie x(n ) : Z → R . Demonstraţi că acest semnal se poate reprezenta sub forma
x(n ) = x p (n ) + xi (n ) , unde x p (n ) este partea pară, iar xi (n ) partea impară a
semnalului iniţial, x p (n ) = x p (− n ); xi (n ) = − xi (− n ) .
2. Găsiţi şi reprezentaţi părţile pare şi impare ale semnalelor:
x1 (n ) = α n , 0 < α < 1
x 2 (n ) = A cos(nω + ϕ )
x3 (n ) = e −an sin (nω + ϕ ), α > 0
3. Fie x(n ) : Z → C . Demonstraţi că acest semnal se poate reprezenta sub forma
x(n ) = x p (n ) + xi (n ) , unde x p (n ) este un semnal conjugat simetric,
x p (n ) = x •p (− n ) , iar xi (n ) este un semnal conjugat antisimetric, xi (n ) = − xi• (− n ).
4. Deduceţi părţile conjugat simetrice şi conjugat antisimetrice ale semnalelor
x1 (n ) = Ae j (nω0 +ϕ )
x 2 (n ) = Aα n e j (nω 0 +ϕ )
5. Demonstraţi că operaţia de convoluţie liniară este asociativă:
(x(n ) ∗ y(n )) ∗ z (n ) = x(n ) ∗ ( y(n )∗ z (n )) .
6. Fie două sisteme liniare şi invariante în timp cu funcţiile pondere h1 (n ), h2 (n ) .
Calculaţi funcţia de pondere a sistemului obţinut prin conectarea celor două
sisteme
- în paralel;
- în cascadă.
7. În cazul celor două sisteme din problema 6 fie
( )
H i e jω = TFTD{hi (n )}, i = 1,2
H i (z ) = Z{hi (n )}, i = 1,2
Calculaţi funcţiile de transfer în domeniul frecvenţă şi în domeniul Z ale sistemului
obţinut prin conectarea celor două sisteme
- în paralel;

9
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină

- în cascadă.

8. Fie un sistem liniar şi invariant în timp cu funcţia pondere


a n , n ≥ 0
h(n ) =  n
b , n < 0
Determinaţi valorile lui a şi b pentru care sistemul este
- stabil;
- cauzal şi stabil.
9. Un sistem este caracterizat prin relaţia intrare-ieşire
y (n ) = x(nM ), M ∈ N
Este acest sistem liniar? Dar invariant în timp?
10. Un sistem este caracterizat prin relaţia intrare-ieşire
 n
x , n = kL, k , L ∈ N
y (n ) =   L 
 0 in rest
Este acest sistem liniar? Dar invariant în timp?
11. Un sistem este caracterizat prin relaţia intrare-ieşire
( )
y (n ) = x n 2
Este acest sistem liniar? Dar invariant în timp?
12. Verificaţi dacă sistemele caracterizate prin relaţiile intrare-ieşire
y1 (n ) = cos(x(n ))
y 2 (n ) = x(n )cos(nω 0 )
y3 (n ) = x(n )
y 4 (n ) = x(n ) + nx(n − 1)
sunt
a. liniare;
b. invariante în timp;
c. cauzale;
d. stabile.

10
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

2. SINTEZA FILTRELOR NUMERICE

Proiectarea unui filtru numeric presupune parcurgerea următoarelor etape :


- Sinteza funcţiei de transfer H ( z ) ce satisface condiţiile impuse;
- Alegerea unei structuri care realizează această funcţie de transfer. Realizarea sa va
presupune cuantizarea coeficienţilor la un număr finit de biţi si efectuarea
operaţiilor aritmetice cu o precizie finită;
- Evaluarea efectelor generate de formatele finite de reprezentare a semnalelor si
coeficienţilor ( posibilitatea depăşirii capacităţii registrelor, eliminarea prin scalare
a acestei posibilităţi, stabilirea definitivă a formatelor de reprezentare, zgomotul de
cuantizare datorat operaţiilor aritmetice, oscilaţii datorate formatelor finite de
reprezentare) .

2.1 Sinteza funcţiei de transfer pentru filtre RFI

2.1.1 Proprietăţi generale ale filtrelor RFI

Sunt caracterizate printr-o ecuaţie cu diferenţe finite de forma :


N −1
y ( n) = ∑ a k x(n − k ) (2.1)
k =0
Rezultă o funcţie de pondere
N −1
h( n) = ∑ a k δ (n − k ) (2.2)
k =0
deci
⎧a , n ∈ 0, N − 1
h( n) = ⎨ n (2.3)
⎩0 , in rest
Funcţia de transfer este prin urmare
N −1
H ( z ) = Z{h(n)} = ∑ a k z −k (2.4)
k =0

Filtrele RFI se caracterizează deci printr-o funcţie de transfer polinomială, în


−1
z . Se spune că filtrul este de lungime N (lungimea suportului funcţiei pondere) sau de
ordin N-1.
Ne vom referi în cele ce urmează la cazul frecvent întâlnit când {a n } ⊂ R
(coeficienţii filtrului sunt reali). În acest caz, zerourile funcţiei H ( z ) vor fi reale, sau
perechi complexe conjugate. Există un singur pol, de ordinul N-1, în origine, efectul sau

1
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

apărând numai în întârzierea introdusă de filtru. O consecinţă imediată este că un filtru


RFI este stabil, oricare ar fi coeficienţii a n .
Să vedem ce efect are un nul al funcţiei de transfer asupra caracteristicilor de
frecvenţă.
Vom considera o funcţie de transfer cu un singur nul; z 0 = re jθ , r > 0 ;
z − z0
H ( z ) = 1 − z 0 z −1 = (2.5)
z
În domeniul frecvenţă
H (e jω ) = H (e jω ) e jϕ (ω ) = 1 − re j (θ −ω ) (2.6)

H (e jω ) = e jω − re jθ = 1 + r 2 − 2r cos(θ − ω ) (2.7)
r sin(ω − θ )
tg(ϕ (ω )) = (2.8)
1 − r cos(ω − θ )
Valorile extreme ale modulului sunt :

max H (e jω ) = 1 + r
ω
min H (e jω ) = 1 − r (2.9)
ω

Se constată existenţa unui minim, pentru o frecvenţă normată ω = θ . Acest minim


este chiar zero, daca nulul se află pe cercul unitar (r = 1) . Interpretarea geometrică a
acestei observaţii rezulta din Fig.1.
Im z ejω- z0
z0
r
ejω
1
Re z

Fig.1

În general, minimul va fi cu atât mai pronunţat cu cât nulul se află mai aproape de cercul
de rază unitate. Existenţa mai multor zerouri face ca efectele acestora să interacţioneze.
Ca urmare, este posibil ca unele zerouri, situate mai aproape de centrul cercului unitar, să
nu mai genereze minime, iar minimele să apară la frecvenţe diferite de argumentele
nulurilor.

2
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

1
Se poate simplu arăta că efectul unui nul z 0' = e jθ are asupra caracteristicii
r

amplitudine frecvenţă, acelaşi efect c şi nulul z 0 = re , cu excepţia unui factor de scară
1
. Într-adevăr,
r
1 1 + r 2 − 2r cos(θ − ω )
e jω − e j θ = (2.10)
r r

O funcţie de transfer de tip RFI având toate zerourile în interiorul cercului de


rază unitate se numeşte funcţie de faza minimă. Pentru a justifica această denumire,
putem lua ca exemplu
H ( z ) = 1 + rz −1
H (e jω ) = 1 + r cos ω − jr sin ω (2.11)
Argumentul (faza) funcţiei de mai sus rezultă din relaţiile :
− r sin ω
sin ϕ (ω ) =
1 + r 2 + 2r cos ω
1 + r cos ω
cos ϕ (ω ) = (2.12)
1 + r 2 + 2r cos ω

Se observă ca
1 − r ⎧1 , r < 1
cos ϕ (π ) = =⎨ (2.13)
1 − r ⎩− 1 , r > 1
aşa încât ϕ (π ) = 0 , pentru r < 1 şi ϕ (π ) = −π pentru r > 1 .
Curbele respective sunt date in Fig.2, de unde se vede o variaţie in limite mai
largi a fazei in cazul r > 1 (nul în afara cercului unitar) decât in cazul r < 1 .

ϕ (ω )
π

r >1

−π 0 π ω
r <1

−π

Fig.2

3
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

O funcţie de transfer cu toate zerourile in afara cercului de rază unitate se va numi


de faza maximă.

O proprietate remarcabilă a filtrelor RFI, neîntâlnită in cazul filtrelor analogice cu


constante concentrate, constă in posibilitatea realizării unor filtre cu fază absolut liniară.
Dată fiind importanţa acestui tip de filtre, ne vom concentra atenţia asupra lor.

2.1.2. Filtre cu fază liniară

Funcţia de transfer poate fi scrisă sub forma

H (e jω ) = H (e jω ) e jϕ (ω ) (2.14)

Trecerile prin zero ale funcţiei de transfer conduc la salturi de fază de π, aşa încât ϕ (ω )
are discontinuităţi in aceste puncte. Din acest motiv vom prefera o alta formă:

H (e jω ) = ± H (e jω ) e jθ (ω ) = H 0 (ω ) e jθ (ω ) (2.15)
în care H 0 (ω ) este o funcţie reală, pozitivă sau negativă, numită funcţie de faza nulă, iar
θ (ω ) este o funcţie continuă.
Dorim sa realizăm un filtru având un timp de întârziere de grup constant în toată
banda de frecvenţe ω ∈ [− π , π ] . Sunt posibile două variante :
A. Caracteristica de faza este liniara, cu trecere prin origine,
θ (ω ) = −αω (2.16)
aşa încât timpul de întârziere de grup normat este
dθ (ω )
t g (ω ) = − =α (2.17)

Aceasta conduce la
N −1
H (e jω ) = ∑ h(n) e − jnω = H 0 (ω ) e − jαω (2.18)
n =0

Vom egala părţile reale şi imaginare :


N −1
H 0 (ω )sin αω = ∑ h(n) sin nω
n =0

N −1
H 0 (ω )cos αω = ∑ h(n) cos nω (2.19)
n =0

aşa încât

4
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

N −1 N −1
∑ h(n) sin nω ∑ h(n) sin nω
n =0 n =1
tgαω = N −1
= N −1
(2.20)
∑ h(n) cos nω h(0 ) + ∑ h(n) cos nω
n =0 n =1

Dacă am impune ca faza să fie nulă, α = 0 , ar rezulta


N −1
∑ h(n) sin nω = 0, pentru ∀ω ∈ [− π , π ] (2.21)
n =1

ceea ce conduce la

h(n) = 0, n = 1,..., N − 1 (2.22)

şi funcţia de transfer s-ar reduce la constanta H ( z ) = h(0) . Excludem deci această


situaţie si rămâne :
N −1 N −1
∑ h(n) cos nω sin αω = ∑ h(n) sin nω cosαω (2.23)
n =0 n =0

sau
N −1
∑ h(n) sin(α − n)ω = 0 (2.24)
n =0

Se poate uşor verifica faptul ca relaţia de mai sus este îndeplinită dacă :

N −1
α= (2.25)
2

şi

h(n) = h( N − 1 − n) , n = 0,1,..., N − 1 (2.26)


Într-adevăr, izolând orice pereche de termeni ai sumei (2.24) simetrici în raport cu
centrul sumei, obţinem
⎛ ⎛ N −1 ⎞ ⎞ ⎛⎛ N −1 ⎞ ⎞
h(n )sin ⎜ ⎜ − n ⎟ω ⎟ + h( N − 1 − n )sin ⎜ ⎜ − N + 1 + n ⎟ω ⎟ = 0
⎝⎝ 2 ⎠ ⎠ ⎝⎝ 2 ⎠ ⎠
Dacă N este impar, mai rămâne un termen central,
⎛ N −1⎞ ⎛⎛ N −1⎞ ⎞
h⎜ ⎟ sin ⎜ ⎜α − ⎟ω ⎟ = 0
⎝ 2 ⎠ ⎝⎝ 2 ⎠ ⎠
Prima din cele două condiţii, 2.25, arată că pentru un N dat, valoarea timpului de
întârziere de grup pentru un asemenea filtru este bine determinată. Ea este egală cu un
număr întreg de perioade de eşantionare pentru filtre de lungimi impare, şi un număr
întreg de semiperioade, pentru lungimi pare.

5
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

A doua condiţie, 2.26, impune o simetrie a coeficienţilor in raport cu centrul


secvenţei. În figurile 3 şi 4 sunt date exemple pentru N impar şi par.

h(n ) axa de simetrie


h(n ) axa de simetrie
N=7 N=6

1
0 1 2 3 4 5 6 7 n
0 1 2 3 4 5 6 7 n

Fig. 3 Fig. 4
B. Caracteristica de fază este o dreaptă care nu mai trece prin origine:

θ (ω ) = β − αω (2.27)

aşa încât şi în acest caz timpul de întârziere de grup normat este constant

t g (ω ) = α (2.28)

În mod asemănător ca in cazul A, se poate arăta că aceasta implică :

π N −1
β= ,α =
2 2

h ( n ) = − h ( N − 1 − n) (2.29)

Constatăm că de această dată funcţia pondere trebuie să fie antisimetrică. Două


asemenea exemple sunt date în figurile 5 şi 6.

h(n ) axa de simetrie h(n ) axa de simetrie


N=7 N=6

0 1 2 3 4 5 6 7 n 0 1 2 3 4 5 6 7 n

Fig.5 Fig.6

6
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

În consecinţă, filtrele RFI cu faza liniară se pot clasifica în 4 categorii, după cum
urmează:
1. Funcţie de pondere simetrică , h(n) = h( N − 1 − n) , lungime impara, N = 2 P + 1 ;
2. Funcţie de pondere simetrică, h(n) = h( N − 1 − n) , lungime pară, N = 2 P ;
3. Funcţie de pondere antisimetrică, h(n) = − h( N − 1 − n) , lungime impară,
N = 2P + 1;
4. Funcţie de pondere antisimetrică, h(n) = − h( N − 1 − n) , lungime pară, N = 2 P .
Fiecare din aceste 4 tipuri de filtre are caracteristici specifice, care îl recomandă
sau nu pentru o anumită aplicaţie. Este, in consecinţă, util să analizăm separat
funcţiile de transfer corespunzătoare.

Filtre RFI cu fază liniară de tipul 1

În acest caz, N = 2 P + 1 , deci timpul de întârziere de grup normat este α = P şi are loc
relaţia:
h(n) = h(2 P − n), n = 0,..., P (2.30)
Funcţia de transfer se scrie :
2P P −1 2P
H ( e jω ) = ∑ h(n) e − jnω = ∑ h(n) e − jnω + h( P) e − jPω + ∑ h(n) e − jnω (2.31)
n =0 n =0 n = P +1
În ultima sumă, pe care o vom nota cu S, facem o schimbare a indicelui de însumare
care să permită valorificarea relaţiei de simetrie : m = 2 P − n
Se obţine :
P −1 P −1
S= ∑ h(2 P − m) e − j ( 2 P −m)ω = ∑ h(n) e − j ( 2 P −n)ω (2.32)
m =0 n=0
Înlocuind şi scoţând in factor termenul de fază liniară ,
⎛ P −1 P −1

H (e jω ) = e − jPω ⎜ ∑ h(n) e j ( P − n )ω + h( P ) + ∑ h(n) e − j ( P − n )ω ⎟ (2.33)
⎝ n =0 n =0 ⎠
Se grupează cele două sume şi se obţine

⎛ P −1 ⎞
H (e jω ) = e − jPω ⎜⎜ ∑ 2h(n) cos( P − n)ω + h( P ) ⎟⎟ (2.34)
⎝ n =0 ⎠
În această relaţie se face schimbarea indicelui de însumare, m = P − n şi rămâne :
− jPω ⎛ ⎞
P

H (e ) = e ⎜
⎜ ∑ 2 h ( P − m ) cos mω + h ( P ) ⎟⎟ (2.35)
⎝ m=1 ⎠
Cantitatea din paranteză reprezintă evident funcţia de fază nulă, care poate fi scrisă mai
compact :
P
H 0 (ω ) = ∑ a' (n) cos nω (2.36)
n =0

unde coeficienţii a ' (n) sunt daţi de relaţia :

7
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

⎧2h( P − n) , n = 1,..., P
a ' ( n) = ⎨ (2.37)
⎩h ( P ) ,n=0
Funcţia de transfer în ansamblu este
H (e jω ) = e − jPω H 0 (ω ) (2.38)

Filtre RFI cu fază liniară de tipul 2

Deoarece în acest caz N = 2 P , relaţia de simetrie devine h(n) = h(2 P − 1 − n) ,


1
iar timpul de întârziere de grup normat este α = P −
2
Funcţia de transfer este:
2 P −1 P −1 2 P −1
H ( e jω ) = ∑ h(n) e − jnω = ∑ h(n) e − jnω + ∑ h(n) e − jnω (2.39)
n =0 n =0 n= P
În ultima sumă, pe care o vom nota cu S vom face o schimbare de indice de însumare
care să permită utilizarea relaţiei de simetrie, m = 2 P − 1 − n
P −1 P −1
S= ∑ h(2 P − 1 − m) e − j ( 2 P −1−m)ω = ∑ h(n) e − j ( 2 P −1−n)ω (2.40)
m =0 n =0
Înlocuind in expresia funcţiei de transfer se obţin succesiv:
P −1 P −1
H ( e jω ) = ∑ h(n) e − jnω + ∑ h(n) e − j ( 2 P −1−n)ω =
n =0 n =0
1
− j ( P − )ω ⎛ P −1 1
− j ( n − P + )ω P −1 j ( n − P + )ω ⎞
1
=e 2 ⎜ ∑ h( n) e 2
+ ∑ h(n) e 2 ⎟=
⎜ n =0 ⎟
⎝ n =0 ⎠
1
− ( P − )ω P −1 1
=e 2
∑ 2h(n) cos( P − n − 2 )ω
n =0
(2.41)
Evident, suma reprezintă funcţia de fază nulă si vom mai efectua încă o schimbare de
indice de însumare, m = P − n după care rezultă
P
1
H 0 (ω ) = ∑ 2h( P − m) cos(m − )ω (2.42)
m =1 2
sau
P
1
H 0 (ω ) = ∑ b' (n) cos(n − )ω (2.43)
n =1 2
unde
b' (n) = 2h( P − n), n = 1,..., P (2.44)
şi în final
1
− j ( P − )ω
H (e jω ) = e 2
H 0 (ω ) (2.45)

Filtre RFI cu fază liniară de tipul 3

8
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

În acest caz, N = 2 P + 1 , α = P si h(n) = − h(2 P − n). Procedând asemănător ca


in cazurile precedente, se găseşte
P
H 0 (ω ) = ∑ c' (n) sin nω (2.46)
n =1

unde
c' (n) = 2h( P − n), n = 1,..., P (2.47)
şi
π
j

H (e ) = e − jPω
e 2 H 0 (e jω ) = je − jPω H 0 (ω ) (2.48)

Filtre RFI cu fază liniară de tipul 4

De această dată, N = 2 P , aşa încât h(n) = − h(2 P − 1 − n) . Se găseşte


P
1
H 0 (ω ) = ∑ d ' (n) sin( n − )ω (2.49)
n =1 2
unde
d ' (n) = 2h( P − n), n = 1,..., P (2.50)
şi
1 π 1
− j ( P − )ω j − j ( P− ) ω
H (e j ω ) = e 2
e 2 H 0 (e j ω ) = je 2
H 0 (ω ) (2.51)

Observaţii
• Restricţii privind poziţiile zerourilor
Pentru oricare din cele 4 tipuri de filtre putem scrie :
H ( z ) = h(0) + h(1) z −1 + h(2) z −2 + ... + h( N − 3) z − ( N −3) + h( N − 2) z − ( N −2) + h( N − 1) z − ( N −1)

sau ţinând seama de condiţia de simetrie/antisimetrie


H ( z ) = h(0) + h(1) z −1 + h(2) z −2 + ... ± h( 2) z − ( N −3) ± h(1) z − ( N − 2) ± h(0) z − ( N −1)
Pe de altă parte, evaluând expresia
z − ( N −1) H ( z −1 ) = h(0) z − ( N −1) + h(1) z − ( N − 2) + h(2) z − ( N −3) + ... ± h(2) z −2 ± h(1) z −1 ± h(0)
constatăm că
H ( z ) = ± z − ( N −1) H ( z −1 ) (2.52)

Concluzia imediată este că dacă z i este un nul al funcţiei de transfer, z i−1 va fi de


asemenea nul. O consecinţă imediată o constituie faptul ca filtrele cu faza liniară nu pot fi
în acelaşi timp filtre de fază minimă sau de fază maximă.
În cazul frecvent întâlnit al filtrelor cu coeficienţi reali, daca z i = ri e jϕi este un
nul, vor mai fi de asemenea nuluri şi :
1 1
z i * = ri e − jϕi ; z i−1 = e − jϕi ; ( z i−1 )* = e jϕi
r r
(vezi Fig.7).

9
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

Existenţa unui asemenea nul conduce deci la un factor de ordinul 4 în funcţia de


transfer, de forma
( )( )⎛

1
r
⎞⎛
⎠⎝
1 ⎞
1 − z −1 ri e jϕi 1 − z −1ri e − jϕi ⎜1 − z −1 e jϕi ⎟⎜1 − z −1 e − jϕi ⎟
r ⎠
(2.53)
Im z

(z ) ∗ −1
i

zi

-1 1 Re z

zi∗

z i−1

Fig. 7

Apar următoarele situaţii particulare:


1. Dacă ri = 1 , ϕ i ≠ 0, π , nulul se află pe cercul unitar, z i = e jϕi . În acest caz va mai
apare un zero, z i* = e − jϕi . Celelalte două zerouri, obţinute prin inversarea primelor două,
( ) *
se confundă cu acestea : z i−1 = e − jϕi = z i* , z i−1 = z i (Fig. 8). În consecinţă, rămân
doar două nuluri, care generează un factor de gradul doi in funcţia de transfer :

(1 − z −1 jϕ
e )(1 − z −1 − jϕ
e ) (2.54)

( )
z i = z i−1 *

( )(
⇒ 1 − z −1e jϕi 1 − z −1e − jϕi )
z i* = z i−1
Fig. 8
1
2. Dacă ϕ i = 0 , deci există un zero real, z i = ri , va mai exista implicit şi ( z i )−1 = .
ri
Aceştia generează de asemenea un factor de ordinul doi in funcţia de transfer (Fig. 9).

10
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

zi z i−1
( ⎛
) 1⎞
⇒ 1 − z −1ri ⎜⎜1 − z −1 ⎟⎟
ri ⎠

Fig. 9
3. În fine, în cazul ri = 1 si ϕ i = 0 sau ϕ i = π , deci z i = ±1 , zeroul este egal şi cu
inversul şi cu complex conjugatul său. El generează un factor de ordinul unu (Fig.10, 11)

(
⇒ 1 − z −1 )
zi = z i−1 =1=
( )
= z i• = z i•
−1

Fig. 10

z i = z i−1 = −1
(
⇒ 1 + z −1 )
( )
= z i• = z i•
−1

Fig. 11

• Restricţii in comportarea in domeniul frecvenţă.


In cazul 1 expresia găsită pentru H 0 (ω ) nu presupune restricţii speciale privind
comportarea in domeniul frecvenţă, aşa încât poate fi utilizat pentru realizarea filtrelor
trece jos (FTJ), trece sus (FTS), trece bandă (FTB), opreşte bandă (FOB). Se remarcă în
plus că H 0 (ω ) este funcţie pară.
( )
In cazul 2, se observă imediat ca H e jπ = 0 , deci funcţia de transfer are un nul
la z = e jπ = −1 . Aceasta înseamnă un nul la frecvente înalte, aşa încât acest tip de filtru nu

11
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

poate fi folosit pentru realizarea FTS, FOB, dar poate fi folosit pentru FTJ si FTB. Şi în
acest caz H 0 (ω ) este funcţie pară.
In cazul 3, se constată că
( ) ( )
H e j 0 = 0 şi H e jπ = 0 , ceea ce implică zerouri ale lui H(z) pentru z = ±1 .
Caracteristica de frecvenţă prezintă zerouri atât la frecvente joase ( ω = 0 ) cât si înalte
( ω = π ), deci nu poate fi utilizat pentru FTJ, FTS, FOB. Poate fi utilizat pentru FTB. Se
constată de asemenea că H 0 (ω ) este funcţie impară de ω
( )
Funcţiile de tipul 4 au evident H e j 0 = 0 , deci z = 1 este un nul al funcţiei H ( z ) .
Frecvenţele joase sunt rejectate, deci acest tip nu poate fi folosit pentru realizarea de FTJ,
FOB. El poate fi utilizat pentru a realiza FTS sau FTB. Si in acest caz, H 0 (ω ) este funcţie
impară de ω.
Paritatea funcţiei H 0 (ω ) trebuie avută în vedere in realizarea unor categorii de
filtre. De exemplu diferenţiatorul ideal si transformatorul Hilbert necesită o funcţie
H 0 (ω ) impară, ceea ce presupune utilizarea tipurilor 3 sau 4.

Tipul 1: Tipul 3:
H0 funcţie pară şi simetrică faţă de π H0 funcţie impară şi antisimetrică faţă de π

H 0 (ω )
H 0 (ω )

ω ω
-π 0 π 2π 3π -π 0 π 2π 3π

Tipul 2: Tipul 4:
H0 funcţie pară şi antisimetrică faţă de π H0 funcţie impară şi simetrică faţă de π

H 0 (ω ) H 0 (ω )

ω ω
-π 0 π 2π 3π -π 0 π 2π 3π

Tabelul 1. Simetria funcţiei de fază nulă H0 pentru cele 4 tipuri de filtre

12
Zerouri obligatorii
H 0 (ω ) = 0 , H ( z ) = 0 Nu se pot
Tip Lungime Secvenţa h(n) H 0 (ω ) θ (ω ) Se pot proiecta
ω=0 ω =π proiecta
z =1 z = −1

simetrică N −1 FTJ
2 N −1 fără con- fără con- FTS tr. Hilbert
− ω
1 N impar
h( n ) = h( N − 1 − n)
∑ an cos(nω ) 2 strângeri strângeri FTB diferenţiator
n =0
FOB

simetrică N
N −1 FTS, FOB
2
⎛ 1⎞ fără con- FTJ
− ω
2 N par
h( n ) = h( N − 1 − n)
∑ bn cos⎜⎝ n − 2 ⎟⎠ω 2 strângeri
0
FTB
tr. Hilbert
diferenţiator
n =1

antisimetrică
N −1
h( n) = − h( N − 1 − n) π N −1 FTB FTJ
2
− ω
3 N impar
h⎜
⎛ N −1⎞
⎟=0
∑ cn sin (nω ) 2 2
0 0 tr. Hilbert
diferenţiator
FTS
FOB
n =1
⎝ 2 ⎠

antisimetrică N FTS
2
⎛ 1⎞ π N −1 fără con- FTB FTJ
− ω
4 N par
h( n) = − h( N − 1 − n) ∑ d n sin⎜⎝ n − 2 ⎟⎠ω 2 2
0
strângeri tr. Hilbert FOB
n =1
diferenţiator
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

2.1.3. Metode de sinteza a funcţiilor de transfer pentru filtre RFI

Vom prezenta in continuare 4 metode de sinteză a funcţiilor de transfer.


1. Metoda ferestrelor.
2. Metoda eşantionării in domeniul frecvenţă.
3. Metodă bazată pe minimizarea erorii maxime.
4. Metodă bazată pe minimizarea erorii pătratice (în sensul celor mai mici
pătrate).

2.1.3.1. Metoda ferestrelor

Fie funcţia de transfer dorită H d (e jω ) . Evident, aceasta trebuie să fie o funcţie


periodică in ω cu perioada 2π şi se poate dezvolta intr-o serie Fourier :

H d ( e jω ) = ∑ hd (n)e − jnω
n = −∞
π
1 jω
unde hd (n) = ∫ H d (e )e jnω dω (2.55)
2π −π

Pe de altă parte, filtrul numeric RFI are o funcţie de transfer de forma

N −1
H ( e jω ) = ∑ h(n)e − jnω (2.56)
n =0
Pornind de la observaţia că termenii celor două sume reprezentând funcţia dorita şi
funcţia de transfer a filtrului sunt de aceeaşi formă, se poate realiza o identificare a unui
număr finit de termeni,
h(n) = hd (n), n = 0,..., N − 1 (2.57)
Aceasta este echivalentă cu o trunchiere a seriei H d (e jω ) pentru a o putea identifica cu
suma finită H (e jω ) .
Frecvent, se doreşte un filtru cu o caracteristică de fază liniară şi cu o
caracteristică amplitudine frecvenţă H d (e jω ) impusă. Vom presupune dată şi lungimea
N (cel puţin aproximativă) a filtrului. Decizia asupra tipului de filtru ales se ia având în
vedere restricţiile prezente mai înainte. Într-o sinteză cu coeficienţi reali, H d (e jω )
îndeplineşte condiţia de paritate:
H d ( e − jω ) = H d ( e jω ) (2.58)
În cazurile 1 si 2, H 0 (ω ) este funcţie pară şi se poate lua
H d (ω ) = H d (e jω ) , ω ∈ [− π , π ]
0
(2.59)
care se completează cu factorul de fază
N −1
−j ω

H d (e ) = e 2
H d (ω )
0
(2.60)

14
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

În cazul filtrelor de tip 3 sau 4, H 0 (e jω ) este o funcţie impară de ω, aşa încât se


poate lua :
⎧ H d (e jω ) , ω ∈ (0, π ]

H d 0 (ω ) = ⎨− H d (e jω ) , ω ∈ [− π ,0 ) (2.61)
⎪ 0 ω=0

Evident, opţiunea pentru aceste tipuri este justificată numai dacă H d (e j 0 ) = 0 . Se


completează apoi cu termenul de fază liniară,
N −1
−j ω

H d (e ) = je 2
H d (ω )
0
(2.62)
După stabilirea lui H d (e jω ) se face descompunerea în serie Fourier, având ca
rezultat secvenţa infinită hd (n), n = −∞,..., ∞ . În final, se determină coeficienţii
filtrului sintetizat cu
h(n ) = hd (n ), n = 0,", N − 1 (2.63)
Această trunchiere a seriei Fourier este echivalentă cu o înmulţire a seriei cu o fereastră
temporală, w(n ) ,
h( n) = hd ( n) w(n) (2.64)
cu proprietatea
w(n) = 0, pentru n ∉ 0, N − 1 [ ] (2.65)
Este de aşteptat ca trunchierea seriei sa conducă la anumite efecte asupra
caracteristicilor realizate.
Pentru a pune in evidenţă acest fapt vom introduce transformatele Z
Z{hd (n)} = H d ( z ) şi W ( z ) = Z{w(n)}
Înmulţirea secvenţelor are drept efect convoluţia in planul Z, deci
z
h(n) = hd ( n) w(n) ← ⎯→ ( H d ∗ W )( z ) = H ( z ) (2.66)
Deci funcţia de transfer a filtrului obţinut este
1 ⎛z⎞
H ( z) = ∫ H d (v)W ⎜ ⎟v −1dv
2πj C ⎝v⎠ (2.67)
{
C = v ∈C v = e ju
}
Făcând schimbarea de variabilă v = e ju si trecând pe cercul unitar, z = e jω pentru
a obţine caracteristicile de frecvenţă obţinem
jω 1 π
H (e ) = ∫ H d (e ju ) W (e j (ω −u ) ) du (2.68)
2π −π
care evident nu coincide in general cu H d (e jω ) .
In cazul sintezei filtrelor cu fază liniară, funcţia fereastră va trebui să
îndeplinească condiţia de simetrie
w(n) = w( N − 1 − n) (2.69)

15
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

deci se poate scrie


N −1
−j ω

W (e ) = e 2
⋅ W0 (ω ) (2.70)

W ( e jω )

Fig. 11

0 ω

Aşa cum se va vedea in continuare, pentru ferestrele uzuale, caracteristicile


amplitudine frecvenţă au un lob principal, centrat pe ω = 0 si un număr lobi secundari, cu
o tendinţă generala de descreştere (Fig.11)

Hd (e jω )

H(e jω ) Fig. 12

Efectul produs asupra caracteristicii obţinute (cunoscut sub numele de efect


Gibbs) se poate constata în special in zonele de tranziţie rapidă. În figura 12 este luat
exemplul unui filtru trece–jos ideal (caracteristica dorită). Se constată apariţia a două
fenomene :
- Apare o bandă de tranziţie de lărgime finită între banda de trecere si cea de oprire
(in cazul filtrului ideal, lărgimea acestei benzi era nulă). Se poate arăta că lărgimea
acestei benzi este cu atât mai mare cu cât este mai mare lărgimea lobului principal
al spectrului ferestrei.
- Apar nişte ondulaţii (ripluri) , atât în banda de trecere cât şi în cea de oprire, cu
amplitudini mai mari in apropierea tranziţiilor. Se poate arăta că amplitudinea
acestora şi viteza lor de scădere este determinată de amplitudinea şi viteza de
scădere a lobilor secundari ai spectrului ferestrei.

16
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

În concluzie, pentru a avea o banda de tranziţie cât mai mică şi ondulaţii cât mai
reduse, funcţia fereastra utilizată ar trebui sa aibă un lob principal cât mai îngust şi
lobi secundari cât mai mici. La limită, condiţiile acestea ar fi îndeplinite de
W (e jω ) = 2πδ (ω ) , ceea ce ar conduce evident la
H d ( e jω ) = H ( e jω )
Acest rezultat nu are însă valoare practică, deoarece in acest caz w(n) = 1 = const. ,
pentru orice n, deci lipseşte fereastra.
Observaţiile de mai sus conduc la o modalitate de specificare a “gabaritului”
impus pentru câştigul sau atenuarea filtrului. Sa consideram tot cazul unui FTJ (Figura
13)
Se pot preciza :
- limita superioară a benzii de trecere, ω t ;
- ondulaţia maximă (eroarea) in banda de trecere, δ t ;
- limita inferioară a benzii de oprire ω b ;
- ondulaţia maximă (eroarea) in banda de oprire (blocare), δ b .
Evident, acest mod de definire presupune ca :
H (e jω ) − 1 ≤ δ t pentru ω ∈ [0, ω t ]

H (e jω ) ≤ δ b pentru ω ≥ [ω b , π ] (2.71)

Oricare din aceste ripluri se poate exprima in dB

H(e jω )
1+ δt
1
Fig. 13
1− δt

δb

ωt ωb ω

Se mai poate indica, in loc de δ t , abaterea maximă a atenuării in banda de trecere :


1+ δt
Δat = −20 lg(1 − δ t ) + 20 lg(1 + δ t ) = 20 lg (dB) (2.72)
1− δt

Asemănător, in loc de δ b se poate specifica atenuarea minimă în banda de oprire :


Δab = −20 lg δ b (dB) (2.73)
Din multitudinea de funcţii fereastră propuse în literatură, vom prezenta în
continuare câteva care sunt cele mai frecvent folosite.

17
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

Fereastra dreptunghiulară
Se defineşte prin :
[
⎧1, n ∈ 0, N − 1
wD ( n ) = ⎨
] (2.74)
⎩0, in rest
şi este reprezentată în figura 14.

wD (n)

-2 -1 0 1 N-1 N N+1 n
Fig. 14

Transformata z este :

N −1
1 − z −N
WD ( z ) = ∑ z −n = 1 − z −1
(2.75)
n =0
iar spectrul e dat de
N
− jNω ω N −1 sin
jω 1− e 2−j ω
W D (e ) = =e 2 (2.76)
1 − e − jω 1
sin ω
2
Cum era de aşteptat, având in vedere relaţia de simetrie wD (n) = wD ( N − 1 − n) , apare si
aici termenul de faza nulă
N
sin ω
WD 0 (ω ) = 2 (2.77)
1
sin ω
2

Modulul spectrului, WD (e ) este reprezentat, pentru N=8 in Fig. 15

18
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

( )
W D e jω

2π 2π
0 2 π 2π ω
N N
Fig. 15

Remarcăm următoarele puncte caracteristice :


- Pentru ω = 2kπ se obţin maxime principale egale cu N;
N 2π
- Pentru ω = 2π , deci ω = r , dar r ≠ mN , se obţin anulări;
2 N
- Între două zerouri succesive apare câte un maxim secundar; zerourile delimitează
lobii secundari;
- Să facem o evaluare a amplitudinii primului lob secundar. Vom presupune N
N 1
suficient de mare, aşa încât sin ω variază mult mai repede decât sin ω . Maximul
2 2
N
(in modul) se obţine când sin ω = ±1 . Prima frecvenţă la care este îndeplinită
2
N π 3π
această condiţie, este ω = π + deci ω = . Să evaluăm raportul între
2 2 N
amplitudinea acestui lob şi aceea a lobului principal.

j
W D (e N
1 1 ) 2 1
⋅ =≈ ≈ 0,2 = (2.78)
W D (e ) N 3π
j0 3π 5
2N
sau -13dB. Această valoare s-a obţinut pentru N suficient de mare. La valori mici ale lui
N, poate rezulta o valoare ceva mai mare a lobului secundar, dar pe măsura ce N creşte,
aceasta nu mai depinde de N, încât poate fi considerată practic constantă. Valoarea
raportului de mai sus, exprimată în decibeli, este reprezentată în figura 16, pentru N=29.
În caracteristica rezultată a filtrului sintetizat, vor rezulta ondulaţii cu amplitudinea
maximă de circa 9% (-21 dB) din amplitudinea tranziţiei.

19
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

W D ( e jω )
0 W D (e j 0 ) dB

-10

-20

-30

-40

-50

-60

-70
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
frecventa normata

Fig. 16

Ferestrele Hamming

Se definesc prin relaţia :


⎧ ⎛ 2π 1 ⎞
⎪α − (1 − α ) cos⎜ N (n + 2 ) ⎟, [
n ∈ 01, N − 1 ]
wH ( n ) = ⎨ ⎝ ⎠ (2.79)

⎩ 0, in rest

Este de fapt o familie de ferestre, cu parametrul α . Pentru α = 0,54 se obţine fereastra


Hamming propriu-zisa, iar pentru α = 0,5 se obţine fereastra Hann (deseori, in mod
impropriu numită Hanning)
1

0.9 wH (n )
0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35 40 45

Fig. 17

20
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

Aspectul secvenţei wH (n ) este sugerat în Fig 17, pentru N=45. Eşantioanele de la


capete (primul si ultimul) au valoarea
π
wH (0) = wH ( N − 1) = α − (1 − α ) cos
N
Pentru lungimi N mari ,
wH (0) = wH ( N − 1) ≅ 2α − 1
valoare apropiată de 0 pentru α ≈ 0,5 . Termenul central (dacă există, deci dacă N e
impar) are valoarea
⎛ N −1⎞
wH ⎜ ⎟ =1
⎝ 2 ⎠
Căderea abruptă la extremităţile ferestrei este înlocuită cu una mai lentă, având drept
efecte, pe de o parte lărgimea lobului principal al spectrului, iar pe de alta parte,
reducerea importantă a lobilor laterali. Să justificăm printr-un calcul aceste afirmaţii.
wH (n) poate fi scris
π 2π π 2π
1−α j N j N n 1−α − j N − j N n
wH (n) = αwD ( n) − e e wD ( n ) − e e wD ( n) (2.80)
2 2
Pentru evaluarea spectrului vom utiliza teoremele liniarităţii şi deplasării :
π 2π π 2π
jω 1−α jN
jω N ) − 1 − α e N W (e
j (ω − ) −j j (ω + )
W H (e ) = αW D (e ) − e W D (e D
N ) (2.81)
2 2
unde W D (e jω ) este spectrul ferestrei dreptunghiulare:
N −1
−j ω
W D ( e jω ) = e 2
WD (e jω ),
0

N
ω sin (2.82)
WD (ω ) = 2
0
1
sin ω
2

În consecinţă :
N −1
−j ω
W H (e ) = α ⋅ e
jω 2
WD (ω ) −
0

1−α jN π
−j
N −1
(ω − 2π

)
− e e 2
WD (ω − ) −
N
(2.83)
2 N 0

1 − α − j N − j 2 (ω + N )
π N −1 2π

− e e WD (ω + )
2 N 0

dar
N −1 2π N −1 π π N −1
−j (ω − ) −j ω −j −j −j ω
e 2 N =e 2 e N e jπ = −e Ne 2

aşa încât
N −1

−j ω ⎛ 1−α 2π 1 − α 2π ⎞
WH (e ) = e ⎜ α ⋅ WD0 (ω ) + WD0 (ω − )+ WD0 (ω + )⎟ (2.84)
2
⎝ 2 N 2 N ⎠

21
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

În faţa parantezei s-a obţinut termenul de fază liniară, aşa încât cantitatea din paranteză
reprezintă funcţia de fază nulă
1−α 2π 1 − α 2π
WH 0 (e jω ) = α ⋅ WD0 (ω ) + WD0 (ω − )+ WD0 (ω + ) (2.85)
2 N 2 N
Aceasta funcţie este reprezentată în Figura 18, cu linie continuă. În aceeaşi figură, sunt
reprezentaţi cu linie punctată, cei trei termeni ai sumei din relaţia 2.85.
Se constată :
⎛ 8π ⎞
- o dublare a lăţimii lobului principal ⎜ ⎟ faţă de cazul ferestrei dreptunghiulare
⎝N⎠

- în cazul ferestrei Hamming propriu-zisă mai apare o anulare a spectrului între
N

şi , care face ca principalul lob secundar sa aibă o valoare foarte redusa (circa –
N
41dB faţă de lobul principal). Spectrul e reprezentat în figura 19, pentru N=29.
Aceasta va conduce la ondulaţii ale caracteristicii de amplitudine a filtrului realizat
ce nu depăşesc -54dB din amplitudinea saltului.

WH (ω )
0

αN

2π 2π 4π 6π ω

N N N N

Fig. 18

22
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina

( )
W H e jω
0
WH (e ) j0
dB
-10

-20

-30

-40

-50

-60

-70

-80

-90
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
frecventa normata

Fig. 19

- în cazul α = 0,5 (fereastra Hann), amplitudinea celui mai mare lob secundar este
de circa -31dB din aceea a lobului principal. Spectrul este reprezentat în figura 20,
pentru N=29. Ondulaţiile caracteristicii de frecvenţă sunt de circa –44 dB din
amplitudinea tranziţiei.

( )
W H e jω
0 WH (e ) j0
dB

-20

-40

-60

-80

-100

-120
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
frecventa normata

Fig. 20

23
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Fereastra Blackman

Ideea ce stă la baza ferestrelor Hamming, de a realiza o fereastră cu tranziţii


mai lente în timp, având ca rezultat un spectru cu lobi secundari mai mici, dar şi o
lăţime mai mare a lobului principal, se poate în continuare extinde în generarea
altor ferestre. Un exemplu este fereastra Blackman definită
prin:

wB (n ) = 
 2π  1 
2 
 4π  1 
[
0,42 − 0,5 ⋅ cos  n +   + 0,08 ⋅ cos  n +   , n ∈ 0, N − 1
2 
]
N  N 
 0 , in rest
(2.95)
Analiza spectrului acestor ferestre se poate face urmând aceeaşi cale ca în
cazul ferestrelor Hamming, cu următoarele concluzii:
• Lăţimea lobului principal este de 3 ori mai mare ca în cazul ferestrei
 12π 
dreptunghiulare  ;
 N 
• Amplitudinile lobilor secundari nu depăşesc –58 dB din lobul principal. În
consecinţă, ondulaţiile caracteristicii amplitudine – frecvenţă nu depăşesc
–74 dB din amplitudinea saltului.

Fereastra Bartlett

Este o fereastră triunghiulară, definită prin:


 2 1 N −1
 N n + 2 , 0≤n≤
   2
 2  1  N − 1
wBT (n ) = 2 −  n +  , ≤ n ≤ N −1 (2.96)
 N  2  2
 0 , in rest

Există şi alte moduri de definire a acestei ferestre, cu rezultatele apropiate


pentru N mare. Performanţele sunt modeste în sinteza filtrelor numerice. Această
fereastră este mai mult utilizată în anumite probleme de analiză spectrală.
Lăţimea lobului principal este aceeaşi ca în cazul ferestrelor Hamming
 8π 
  , dar lobii secundari sunt mai mari (circa –25 dB din lobul principal), iar
N 
eroarea în caracteristicile obţinute prin sinteză este de circa –26 dB.

1
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Fereastra Kaiser

Este definită prin:


  2 
 I α 1 −  2  n + 1  − 1 
 0 2   
wK (n ) =   N
 I 0 (α )
[ ]
 , n ∈ 0, N − 1 (2.97)


 0 , in rest
unde I 0 (n ) este funcţia Bessel modificată de ordin 0.
Avem de această dată la dispoziţie doi parametri, α şi N . Prin alegerea lui
α se poate ajusta nivelul lobilor secundari ai spectrului şi deci şi amplitudinea
ondulaţiilor caracteristicii realizate. Prin alegerea lui N se poate aduce banda de
tranziţie la valoarea dorită.

2.1.3.2 Metoda eşantionării caracteristicii de frecvenţă

( )
Fie H d e jω caracteristica dorită şi N lungimea filtrului ce se doreşte a fi
sintetizat. Dispunem de N grade de libertate (cei N coeficienţi
h(n ), n = 0,L, N − 1 ai filtrului) aşa încât putem impune ca, pentru un set de N

frecvenţe egal distanţate, ω k = k , k = 0,..., N − 1 , să existe identitate între
N
( )
caracteristica filtrului sintetizat, H e jω , şi cea dorită
( ) (e ), k = 0,..., N − 1
H e jω k = H d jω k (2.98)
Aceasta implică:
 jk 2π  N −1 − jkn

H d  e N  = ∑ h(n ) ⋅ e N , k = 0,..., N − 1 (2.99)
  n =0
 
Relaţia de mai sus reprezintă de fapt un sistem de N ecuaţii şi N
necunoscute {h(n )}n=0,L, N −1 care ar putea fi deci rezolvat direct.
Se mai observă că membrul drept al acestei relaţii reprezintă transformata
Fourier discretă H (k ) a secvenţei h(n ) :
 jk 2π 
H d  e N  = TFD{h(n )}(k ) = H (k ) , k = 0,..., N − 1 (2.100)
 
 
Înseamnă că {h(n )}n=0,L, N −1 se pot calcula cu transformata Fourier discretă
inversă:
  jk 2π 
h(n ) = TFDI H d  e N  (n ) , n = 0,..., N − 1 (2.101)
  


2
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

deci
1  jk 2π  jkn 2π
N −1
∑ H d  e N  ⋅ e N , n = 0,..., N − 1
h(n ) =
N
(2.102)
k =0  
Vom putea în consecinţă exprima funcţia de transfer a filtrului sintetizat
prin:
N −1 N −1
1 N −1  jk 2π  jkn 2π
H (z ) = ∑ h(n ) ⋅ z −n
=∑ ∑ H d  e N  ⋅ e N ⋅ z −n =

n =0 n =0 N k =0  
n
(2.103)
 2π  N −1
N −1 2π 
1 jk jk
= ∑ H d  e N  ⋅ ∑  e N ⋅ z −1 
N k =0   n =0  
   
Ultima sumă este o progresie geometrică şi făcând calculele se obţine:
n 2π
2π jk ⋅ N
N −1 
e
jk
 1 − e N ⋅ z −N 1 − z −N
∑ ⋅zN−1

=
jk

=
jk

(2.104)
n=0   −
1− e N ⋅ z 1
1 − e N ⋅ z −1
aşa încât se obţine în final
 jk 2π 
H d  e N 

1 − z − N N −1  
H (z ) = ⋅∑ 2π
(2.105)
N k =0 jk
1− e N
⋅ z −1

jk
Funcţia H ( z ) este de tip polinomial în z , deoarece expresiile 1 − e
−1 N z −1
ce apar la numitor divid 1 − z − N .
În ceea ce priveşte caracteristica rezultată, se va obţine identitate cu
caracteristica dorită la cele N frecvenţe ω k , dar nu avem un control direct asupra
erorilor ce apar la alte frecvenţe.
H (e jω )
De exemplu, în cazul realizării
unui FTJ ideal, este de aşteptat
1 H d (e )
j ω să rezulte ondulaţii atât în banda
de trecere cât şi în banda de
oprire (Fig. 23). Amplitudinea
ondulaţiilor poate fi mare, dacă,
aşa cum rezultă din acest
exemplu, se impune o bandă de
tranziţie foarte mică (în
 2π  exemplul de faţă mai mică decât
0 1 2 3 4 5 6 7 ω × 
 N  2π
).
N
Fig. 23

3
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Ondulaţiile pot fi reduse acceptând o bandă de tranziţie mai largă, fie


impunând un număr de eşantionare cu valori intermediare între 0 şi 1 în această
bandă, fie lăsând neprecizate valorile câtorva eşantioane în zona de tranziţie,
gradele de libertate rămase fiind utilizate pentru minimizarea ondulaţiilor.

Observaţie
În cazul când se doreşte obţinerea unui filtru cu coeficienţi reali
{h(n )}n=0,..., N −1 ⊂ R , caracteristica impusă trebuie să fie o funcţie circular conjugat
simetrică:
 jk 2π   j ( N − k ) 2π 
Hd e N  ∗
= Hd e N , (2.106)
    k = 0,..., N − 1
   
Dacă această condiţie nu este respectată, vor rezulta coeficienţi complecşi.

2.1.3.3 Metodă bazată pe minimizarea erorii maxime. Algoritmul Remez

S-a arătat că pentru filtrele de tipul 1, se poate exprima funcţia de fază nulă
N −1

( )
H 0 e jω =
2
∑ a' (n )cos nω
n=0 (2.107)
iar pentru cele de tipul 2,
N

( )
H 0 e jω =
2 
∑ b' (n )cos n − 2 ω
1
n =1   (2.108)
Se poate arăta că prin transformări trigonometrice simple, ultima relaţie se
poate pune sub forma:
N
−1

( )
H 0 e jω = cos
ω
2
2
∑ b′′(n )cos nω
n=0 (2.109)
În general, se poate demonstra că pentru oricare dintre cele 4 tipuri de filtre
cu fază liniară, funcţia de fază nulă poate fi pusă sub forma:
( ) ( ) ( )
H 0 e jω = Q e jω ⋅ P e j ω
(2.110)
unde

( ) = ∑α (n)cos nω
r −1

Pe (2.111)
n=0
iar Q(e jω
) este o funcţie continuã şi fãrã anulãri în intervalul (0,π ) ,

4
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

 1, tipul1
 ω
cos , tipul 2
( )
Q e jω = 2
sin ω , tipul 3

 sin ω , tipul 4
 2
Să presupunem că se impune funcţia de fază nulă dorită H d 0 e jω . Vom ( )
defini o eroare ponderată:
( ) ( )[ ( )
E e jω = W e j ω ⋅ H d 0 e jω − H 0 e j ω ( )] (2.112)
unde W (e jω
) este o funcţie pondere reală, cu valori mai mari în acele domenii de
frecvenţă care interesează mai mult în procesul de sinteză. În ansamblu, E e jω ( )
este o funcţie reală şi se mai poate scrie:
( ) ( ) [ ( ) ( ) ( )] ( ) [ ( ) ( )]
E e jω = W e jω ⋅ H d 0 e jω − Q e jω ⋅ P e jω = Wˆ e jω ⋅ Hˆ d 0 e jω − P e jω
(2.113)
unde s-au notat:
( ) ( ) ( )
not
Wˆ e jω = W e jω ⋅ Q e jω
H (e ) jω
Hˆ (e ) =
not
jω d0

Q (e )
d0 jω
(2.114)
Ne punem problema să găsim funcţia P e ( )

cu forma specificată mai
înainte, deci să determinăm coeficienţii α (n ) astfel încât să fie minimizate
maximele funcţiei de frecvenţă E (e jω ), adică să realizăm:
min max E e jω 
α (n ) 
 ω∈A 
( ) (2.115)
A ⊂ [0, π ) reprezintă mulţimea benzilor de frecvenţã pe care ne interesează
comportarea filtrului. Aproximarea va fi una cu „ondulaţii egale”, de tip Cebâşev.
Soluţia problemei este dată de teorema alternanţei.

Teorema alternanţei

O funcţie
( )
r −1
P e jω = ∑ α (n ) cos nω
n =0 (2,116)
realizează cea mai bună aproximare în sens Cebâşev a unei funcţii continue
( )
Hˆ d 0 e jω într-un domeniu compact A ⊂ [0, π ) dacă şi numai dacă funcţia eroare
( )
ponderată E e jω admite cel puţin r + 1 frecvenţe de extrem în A, valorile
extreme fiind egale în modul şi cu semne alternate.

5
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Trebuie să existe deci un set de frecvenţe distincte


0 ≤ ω 0 < ω1 < ... < ω r ≤ π astfel încât:
( ) ( )
E e jω i = − E e jω i +1 , i = 0,1, L , r − 1
E (e ) = max{ E (e ) },
jω i jω (2.117)
i = 0,1, L , r
ω∈ A
O metodă practică pentru rezolvarea numerică a problemei este oferită de
„algoritmul de schimb” propus de Remez. Vom prezenta, fără a intra în detalii,
ideile de bază ale acestui algoritm.
Pe domeniul de frecvenţe A se ia o mulţime densă de frecvenţe discrete,
între care trebuie găsite r + 1 frecvenţe ce satisfac condiţiile teoremei alternanţei.
Algoritmul este iterativ şi se parcurg următoarele etape:

1. Se alege un set iniţial de r + 1 frecvenţe ω i şi se pune condiţia ca funcţia


eroare să ia valori alternate, ± δ în aceste puncte, δ nefiind precizat.
Rezultă deci sistemul:
( ) [ ( ) ( )]
Wˆ e jωi ⋅ Hˆ d 0 e jωi − P e jωi = (− 1)i δ , i = 0,1,L, r , (2.118)
sau
 1 
1 cos ω 0 cos 2ω 0 K cos(r − 1)ω 0 Wˆ e jω0  ( )
 ( )
 α (0 )  Hˆ d e 0 

1 cos ω cos 2ω K cos(r − 1)ω −


 1 1 1
1  
( )
Wˆ e 1  ⋅
j ω  =

( ) 
α (1)   Hˆ d e jω1 
M   M   M 
M M O M M 

1 cos ω cos 2ω K cos(r − 1)ω (− 1 ) r


 δ


  H
 d ( ) 
ˆ e jω r 

 r r r
ˆ
We ( )
jω r 

2. Prin rezolvarea sistemului de mai sus rezultă valorile α (n ) şi δ .


( ) ( )
3. Se evaluează E e jω pe setul dens de frecvenţe. Dacă E e jω ≤ δ în toate
aceste puncte, înseamnă că α (n ) reprezintă coeficienţii căutaţi. În caz
contrar, se trece la o nouă iteraţie, alegând însă de această dată cele r + 1
frecvenţe pornind de la acelea unde eroarea are valorile maxime.

Deşi o demonstraţie riguroasă a convergenţei acestui algoritm nu a fost


dată, totuşi nu au fost semnalate cazuri de divergenţă. Algoritmul lui Remez stă la
baza unor programe de proiectare a filtrelor FIR, primul fiind realizat de
McClellan, Parks şi Rabiner. În aceste programe, se impun de regulă lungimea
filtrului şi benzile de trecere şi de oprire. În acest caz, ondulaţia nu mai poate fi
impusă. Prin alegerea funcţiei de pondere W (e jω ) se poate însă realiza o distribuţie
adecvată a acesteia în diferite benzi.

6
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

De exemplu, în cazul unui FTJ, gabaritul caracteristicii amplitudine-


frecventã este descris prin ω t , ω b , δ t , δ b (Fig.24). Dacă N este impus, nu se mai
pot impune atât δ b cât şi δ t . Se poate însă impune raportul lor prin intermediul
( )
funcţiei de pondere a erorii W e jω :
δ b
; ω ∈ [0, ω t ]
We ( )
jω 
= δ t (2.119)
 1 ; ω ∈ [ω b , π ]

1+ δt

1
1− δt

δb

ωt ωb π

Fig. 24

Astfel, eroarea în banda de oprire va rezulta δ b = δ , iar banda de trecere


δt
δt = ⋅ δ . Dacă dorim să impunem toţi cei 4 parametri, atunci trebuie ales un N
δb
suficient de mare. Există formule empirice pentru o evaluare aproximativă a lui N.

2.1.3.4 Metodă de proiectare bazată pe minimizarea erorii în sensul celor


mai mici pătrate

Fie funcţia dorită, pe care o vom presupune de fază liniară


( ) ( )
H d e jω = e j ( β −αω ) ⋅ H d 0 e jω (2.120)
şi cea realizată
( ) ( )
H e jω = e j ( β −αω ) ⋅ H 0 e jω (2.121)
Caracteristica de fază fiind realizată în mod exact, în cazul filtrului de fază
liniară rămâne de aproximat funcţia de fază nulă.

7
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Fie un set de frecvenţe ω k , k = 1,..., M . Se poate defini eroarea ponderată


la frecvenţa ω k ,
( ) ( )[ ( )
ek = E e jωk = W e jωk ⋅ H d 0 e jω k − H 0 e jωk , k = 1,L, M ( )]
(2.121)
unde W e ( )

este o funcţie de pondere reală.
Definim vectorul eroare:
e = [e1 , e 2 , K , e M ]T (2.122)
şi eroarea pătratică:
M
E = ∑ ek2 = eT e
k =1 (2.123)
sau

∑ [W (e )⋅ [H (e ) − H (e )]]
M 2
jω k jω k jω k
E= d0 0
k =1 (2.124)
În funcţie de tipul filtrului, se poate exprima H 0 e ( jω k
) prin coeficienţii a’,
b’, c’, d’. Vom lua drept exemplu filtrul de tipul 1, pentru care

(e ) = ∑ a'
P

H0 n cos nω
n =0 (2.125)

Definim vectorii:
a = [a0′ , a1′ ,L, a ′P ]T
(2.126)
s k = [1, cos ω k ,L, cos Pω k ]T
aşa încât
(
H 0 e jωk = s Tk a ) (2.127)
şi
( ) (
ek = d k − W e jω k ⋅ s Tk a unde d k = W e jω k ⋅ H d 0 e jω k . ) ( ) (2.128)
Vom introduce în continuare vectorul d :
d = [d1 , d 2 , K , d M ]T (2.129)
matricea diagonală W a ponderilor, de dimensiuni M × M :
[ ( ) ( )
W = diag W e jω1 ,W e jω 2 ,K ,W e jω M ( )] (2.130)
şi matricea S , de dimensiuni (P +1)× M :
S = [s1 , s 2 , K , s M ] (2.131)
Rezultă
e = d − WS T a (2.132)
Vom nota
X = WS T (2.133)

8
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

şi deci
e = d − Xa . (2.134)
Problema se reduce la minimizarea formei pătratice
2
E = e T e = d − Xa (2.135)
unde . semnifică norma euclidiană a unui vector, în funcţie de vectorul a .
În principiu, eroarea ar putea fi nulă dacă Xa = d . Sistemul acesta are
P + 1 necunoscute şi M ecuaţii. El poate fi rezolvat exact numai dacă M = P + 1 . În
mod uzual M > P + 1 (numărul de condiţii este mai mare ca al gradelor de
libertate), astfel încât sistemul devine supradeterminat. El poate fi rezolvat
aproximativ, prin minimizarea erorii în sensul celor mai mici pătrate.
Pentru aceasta, vom mai scrie 2.135 sub forma:
( )
E = d T − a T X T (d − Xa) = d T d + a T X T Xa − a T X T d − d T Xa
Această expresie trebuie minimizată în raport cu a. Pentru aceasta, se egalează cu
0 gradientul expresiei E:
 ∂E 
 ∂a 
 0
 ∂E 
∇ a E =  ∂a1  = 0 (2.136)
 M 
 ∂E 
 
 ∂a P 
Pentru simplificarea scrierii vom nota:
R = XT X
(2.137)
r = XT d
R este o matrice simetrică de dimensiuni (P + 1) × (P + 1) şi se verificã uşor cã este
pozitiv semidefinitã. r este un vector (P + 1) × 1 . E devine deci:

E = d T d + a T Ra − a T r − r T a (2.138)
Să evaluăm derivatele termenilor ce compun expresia:
∂  P P  P
∂ T
( )
P P

∂a k
a Ra = ∑ ∑ i ij j  ∑ j kj ∑ i ik ∑ ai Rik
∂a k  i =0 j =0
a R a  = a R + a R = 2 (2.139)
 j =0 i =0 i =0
aşa încât
( )
∇ a a T Ra = 2Ra (2.140)
Apoi,
∂ T
∂a k
( )
a r =
∂ T
∂a k
( )
r a =
∂ P 
 ∑ ai ri  = rk
∂a k  i =0
(2.141)

deci

9
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

( ) ( )
∇ a aT r = ∇ a r T a = r (2.142)
Condiţia ∇ a E = 0 se reduce deci la
Ra = r (2.143)
numită şi ecuaţia normală, cu soluţia
a = R −1r (2.144)
Aceastã valoare a lui a conduce realmente la un minim al formei pãtratice E
deoarece Hessianul transformãrii este ∇ 2 E = 2R , matrice pozitiv semidefinitã.
Vectorul a se mai scrie
(
a = XT X )−1
XT d . (2.145)
Matricea
(
X + = XT X XT )
−1
(2.146)
este pseudo–inversa matricei dreptunghiulare X şi soluţia problemei se poate
scrie:
a = X+d (2.147)
Cele M frecvenţe pot fi eventual luate echidistante,

ω k = (k − 1) , k = 1,..., M (2.148)
M
În cazul M = N se obţine, ca un caz particular, metoda eşantionării în
frecvenţă. Metoda aceasta poate fi privită deci ca o generalizare a metodei
eşantionării în frecvenţă.

2.1.4 Funcţii pentru proiectarea filtrelor FIR în MATLAB

Mediul MATLAB conţine în directorul SIGNAL o serie de funcţii destinate


proiectării filtrelor FIR. Există o serie de particularităţi şi de diferenţe faţă de
notaţiile şi formulele prezentate până acum, care vor fi succint trecute în revistă.
Mai întâi două diferenţe generale:
- Frecvenţa de normare în MATLAB este FS 2 (unde FS este frecvenţa de
eşantionare) în loc de FS , aşa cum se lucrează în teorie.
- Cu N se noteză ordinul filtrului (şi nu lungimea).

Proiectare cu metoda Remez

Există două funcţii care realizează acest algoritm. Prima este o funcţie
ajutătoare, care determină ordinul şi pregăteşte parametrii necesari pentru sinteza
propriu – zisă. Ea are structura:
[N,Fo,Mo,W] = remezord(F,M,DEV,Fs)
În argumentele (parametrii de intrare) ai funcţiei se utilizează frecvenţe
nenormate. Fs este frecvenţa de eşantionare. F,M şi DEV sunt vectori prin care se
precizează caracteristica de amplitudine. Filtrul generat este de fază liniară. F este

10
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

un vector ce reprezintă extremităţile benzilor de trecere şi de oprire. Prima bandă


începe cu frecvenţa 0 iar ultima se termină cu frecvenţa FS 2 . Acestea sunt
implicite (nu trebuie specificate în structura vectorului). M şi DEV sunt vectori prin
care se precizează amplitudinea şi eroarea (deviaţia) acceptate în benzile
respective. Un exemplu de filtru cu două benzi de trecere este dat în Fig. 2.25
Prima bandă este delimitată de frecvenţele 0 şi F(1) şi se caracterizează prin
câştigul M(1) cu eroarea DEV(1).
A doua este o bandă de oprire, de la F(2) la F(3), cu M(2)=0. Între F(1) şi
F(2) este o bandă de tranziţie pentru care nu se specifică alţi parametrii. Deci în
cazul de faţă vectorul F are 6 elemente, iar M şi DEV au câte 4.

M(1)
M(3)
M(2)=0 M(4)=0

F(1) F(2) F(3)F(4) F(5) F(6) FS 2

Fig. 2.25

. Deoarece fiecare bandă de trecere sau de oprire este specificată prin două
frecvenţe, iar frecvenţele 0 şi FS 2 sunt implicite, rezultă următoarea relaţie între
dimensiunile vectorilor:
length(F)=2length(M)-2
length(M)=length(DEV)
Parametrii de ieşire sunt:
- N – ordinul minim al filtrului ce îndeplineşte relaţiile de gabarit impuse. Se
estimează cu ajutorul unor relaţii empirice. Este posibil ca uneori acest ordin să
nu fie suficient. Este necesar ca după sinteză să se verifice realizarea condiţiilor
de proiectare şi, dacă nu sunt îndeplinite, să se mărească ordinul.
- Fo – vector al frecvenţelor normate ce reprezintă extremităţile benzilor de
trecere sau de oprire. Primul element este obligatoriu 0 iar ultimul 1 (datorită
normării la FS 2 ).
- Mo – vector al amplitudinilor la frecvenţele respective.
- W – vectorul ce conţine valorile funcţiei pondere pentru fiecare bandă.

11
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Caracteristica de frecvenţe se obţine unind prin segmente de dreaptă


punctele (Fo(k),Mo(k)) cu (Fo(k+1),Mo(k+1)) etc. (Fig. 2.26)

Mo(1) Mo(2)
Mo(5) Mo(6)

Mo(3) Mo(4) Mo(7) Mo(8)

Fo(1)=0 Fo(3) Fo(4) Fo(6) Fo(8)=1


Fo(2) Fo(5) Fo(7)

Fig. 2.26

Evident, există relaţiile între dimensiunile vectorilor:


length(Fo)=length(Mo)= length(M)=length(W)
Sinteza propriu – zisă se realizează cu funcţia:
B=remez(N,Fo,Mo,W)
unde N,Fo,Mo,W au semnificaţiile precizate mai înainte şi pot fi calculate cu
funcţia remezord. Putem utiliza direct remez, dacă ordinul filtrului este impus,
caz în care nu mai putem impune şi valorile deviaţiilor în toate benzile, ci doar
rapoartele lor, prin funcţia de pondere W. În general, funcţia generează un filtru
FIR de tipul 1 sau 2, în funcţie de paritatea lui N. Se pot sintetiza şi filtre cu
funcţie pondere antisimetrică, specificând în lista de argumente ’hilbert’ sau
’differentiator’.

Exemplu
Dorim realizarea unui FTJ cu frecvenţa limită superioară a benzii de trecere
Ft = 1000 Hz , frecvenţa limită inferioară a benzii de oprire Fb = 2000 Hz , frecvenţa
de eşantionare FS = 8000 Hz , eroarea maximă în banda de trecere de δ t = −20dB ,
atenuarea minimă în banda de oprire de δ b = −40dB .
Se apelează mai întâi funcţia remezord.
[N,Fo,Mo,W] = remezord([1000,2000],[1,0],[0.1,0.01],8000)
care returnează:
N=9

12
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Fo=[0,0.25,0.5,1]
Mo=[1,1,0,0]
W=[1,10]
Se apelează apoi:
B=remez(N,Fo,Mo,W)
Vizualizând cu freqz caracteristicile se constată că totuşi nu se obţin în
totalitate erorile impuse. Majorând ordinul cu 2 unităţi, se obţine o încadrare
corectă în gabarit.
Caracteristica obţinută cu ordinul sugerat de MATLAB:
20
M a g n it u d e (d B )

-2 0

-4 0

-6 0

-8 0
0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9 1
N o r m a li z e d F r e q u e n c y (× π ra d / s a m p le )

0
P h a s e (d e g re e s )

-1 0 0

-2 0 0

-3 0 0

-4 0 0

-5 0 0
0 0 .1 0 .2 0 .3 0 .4 0 .5 0 .6 0 .7 0 .8 0 .9 1
N o r m a li z e d F r e q u e n c y (× π ra d / s a m p le )

Caracteristica obţinută majorând ordinul cu 2 unităţi:


50
M a g n it u d e (d B )

-5 0

-1 0 0

-1 5 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
N o r m a liz e d F re q u e n c y ( × π ra d / s a m p le )

0
P h a s e (d e g re e s )

-2 0 0

-4 0 0

-6 0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
N o r m a liz e d F re q u e n c y ( × π ra d / s a m p le )

Proiectare cu metoda ferestrelor

Există două funcţii pentru sinteza prin metoda ferestrelor. Ambele


generează filtre cu fază liniară;
fir1 – generează filtre cu o bandă de trecere (FTJ, FTS, FTB) sau o bandă
de oprire (FOB).
Pentru FTJ:

13
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

B=fir1(N,F)
N este ordinul filtrului, F frecvenţa normată de tăiere iar B este un vector cu
N + 1 elemente ce reprezintă coeficienţii filtrului.
Pentru FTS:
B=fir1(N,F,’high’)
Pentru FTB:
B=fir1(N,[F1,F2])
unde F1 şi F2 delimitează banda de trecere.
Pentru FOB:
B=fir1(N,[F1,F2],’stop’)
Se poate sintetiza şi un filtru multibandă, dacă F este un vector. Filtrele sunt
în general de tip 1 sau 2 (în funcţie de N). Fereastra utilizată implicit este
Hamming propriu – zisă. Se pot însă utiliza şi alte ferestre, precizând acest lucru în
lista de argumente. În plus, coeficienţii filtrului sunt normaţi în aşa fel încât în
centrul benzii de trecere să se obţină amplitudinea 1.

fir2 – generează filtre cu o caracteristică de amplitudine poligonală


(constituită din segmente de dreaptă), specificarea acesteia fiind identică celei de
la funcţia remez.
B=fir2(N,Fo,Mo)
De aceea, pentru generarea parametrilor de intrare, inclusiv pentru
estimarea ordinului N, se poate utiliza într-o primă etapă funcţia remezord.
În ceea ce priveşte tipul de filtru şi tipul ferestrei rămân valabile precizările
făcute pentru fir1.

firls – generează filtre pe baza minimizării erorii în sensul celor mai


mici pătrate. Sinteza este:
B=firls(N,Fo,Mo,W)
în care parametrii au aceeaşi semnificaţie ca în cazul funcţiei remez şi în
consecinţă pot fi pregătiţi cu funcţia remezord.

Probleme

1 Demonstraţi că funcţia de fază nulă a unui filtru RFI cu fază liniară de tipul
3 este de forma
P
H 0 (e jω
) = ∑ c' (n) sin nω
n =1
unde
c' (n) = 2h( P − n), n = 1,..., P

14
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

2. Demonstraţi că funcţia de fază nulă a unui filtru RFI cu fază liniară de tipul
4 este de forma
P
1
H 0 (e jω ) = ∑ d ' (n) sin(n − )ω
n =1 2
unde
d ' (n) = 2h( P − n), n = 1,..., P

3. Se ştie că funcţia de fază nulă pentru un filtru RFI cu fază liniară de tipul 2
şi lungime N = 2 P poate fi scrisă sub forma
P
1
H 0 (e jω ) = ∑ b' (n) cos(n − )ω
n =1 2
unde
b' (n) = 2h( P − n), n = 1,..., P
Demonstraţi că ea mai poate fi pusă şi sub forma

( )
H 0 e jω = cos
ω P −1
∑ b′′(n )cos nω
2 n=0
şi între cele două seturi de coeficienţi există relaţiile:
b′(1) = b′′(0) + 0,5b′′(1),
b′(k ) = 0,5(b′′(k − 1) + b′′(k )), k = 2,L, P − 1,
b′(P ) = 0,5b′′(P − 1)
π
j
4. Un filtru RFI cu fază liniară şi coeficienţi reali are un nul la z 0 = 0,5e şi 3

un câştig de 0 dB la frecvenţa 0. Deduceţi funcţia de pondere a filtrului de lungime


minimă ce îndeplineşte aceste condiţii şi reprezentaţi diagrama zerourilor. Evaluaţi
câştigul filtrului la frecvenţa Fs 2 unde Fs este frecvenţa de eşantionare.

5. Un filtru RFI cu fază liniară şi coeficienţi reali rejectează frecvenţele 1kHz,


2kHz şi 4kHz şi are timp de întârziere de grup minim. Frecvenţa de eşantionare
este 8kHz, iar la frecvenţe joase, introduce o atenuare de 6 dB. Calculaţi funcţia de
pondere a filtrului.

6. Deduceţi expresiile coeficienţilor h(n) pentru un filtru cu fază liniară de tipul


trece jos, cu frecvenţa de tăiere Ft şi frecvenţa de eşantionare Fs, utilizând fereastra
dreptunghiulară. Care din cele patru tipuri de filtre pot fi utilizate? În care caz este
asigurată rejecţia totală a frecvenţei Fs/2?

7. Deduceţi expresiile coeficienţilor h(n) pentru un filtru cu fază liniară de tipul


trece sus, cu frecvenţa de tăiere Ft şi frecvenţa de eşantionare Fs, utilizând fereastra
dreptunghiulară în ipotezele:

15
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

- funcţie de pondere simetrică;


- funcţie de pondere antisimetrică.
Ce valori poate lua N? In ce situaţie, prin alegerea ordinului filtrului, este asigurată
rejecţia totală a componentei continue?
9. Se proiectează prin metoda ferestrelor un filtru RFI cu fază liniară trece jos şi
un filtru trece sus, de acelaşi tip, având aceiaşi frecvenţă de tăiere. Stabiliţi relaţia ce
există între funcţiile de pondere ale celor două filtre. Generalizaţi această proprietate.
La ce poate fi utilizată?

10. Proiectaţi un filtru RFI cu fază liniară, de tipul 1, având caracteristica


amplitudine-frecvenţă definită prin:
• segmentul de dreaptă ce uneşte punctele de coordonate ( f1 , a1 ) , ( f 2 , a 2 )
pentru f1 ≤ f ≤ f 2 , f1 ≥ 0, f 2 ≤ 0,5
• zero, pentru f ∈ [0, π ] \ [ f1 , f 2 ]
Cum ar trebui modificate condiţiile din enunţ dacă s-ar utiliza un filtru de tip 2 sau
3 sau 4?

11. Utilizând problema precedentă stabiliţi o metodă de sinteză a unui filtru


RFI cu fază liniară, a cărui caracteristică de frecvenţă este definită prin matricea
 f1 a1 
f 
 2 a2 
 M M 
 
 f M aM 
Prima coloană reprezintă frecvenţa, iar a doua, modulul funcţiei de transfer la
frecvenţa respectivă, f1 = 0, f M = 0,5 . Între două puncte succesive, caracteristica
este dreapta ce uneşte cele două puncte.

12. Să se proiecteze un filtru trece jos cu fază liniară de tipul 1, utilizând fereastra
dreptunghiulară, cu frecvenţa normată de tăiere 0,05. Cât trebuie să fie ales ordinul
filtrului, aşa încât să se reţină:
a) numai lobul principal al funcţiei de pondere;
b) lobul principal şi o pereche de lobi secundari;
c) lobul principal şi primele două perechi de lobi secundari.lobul principal şi
primele trei perechi de lobi secundari.
Cum se modifică rezultatele de mai sus dacă se dublează frecvenţa de tăiere?
Proiectaţi în Matlab filtrul în ipotezele a, b, c şi d. Reprezentaţi coeficienţii şi
caracteristicile amplitudine-frecvenţă în cele trei situaţii. Ce concluzii rezultă?

13. Exprimaţi funcţia de fază nulă corespunzătoare unei ferestre Blackman în


funcţie de aceea a unei ferestre dreptunghiulare şi reprezentaţi-o grafic.

16
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

Indicaţie. Se va utiliza un procedeu asemănător cu cel folosit pentru fereastra


Hamming.

14. Proiectaţi un FTJ RFI de lungime N=23 cu frecvenţa limită superioară a


benzii de trecere de ωc = 0.3π folosind ferestrele şi procedurile din mediul Matlab.
a) Fereastra dreptunghiulară;
b) Fereastra triunghiulară;
c) Fereastra Hann;
d) Fereastra Hamming;
e) Fereastra Blackman.
Reprezentaţi răspunsul la impuls, caracteristica amplitudine - frecvenţă, poziţia
zerourilor. Comparaţi cele cinci caracteristici conform următoarelor criterii:
- ondulaţiile maxime în banda de trecere şi de oprire
- lărgimea benzii de tranziţie
- eroarea de ordinul 1 definită prin
1 N −1 2π k
E1 = ∑ H ( e jωk ) − H d ( e jωk ) , ω k =
N k =0 N
unde Hd este caracteristica filtrului ideal, iar H, a filtrului realizat.
- eroarea pătratică definită prin
1 N −1 2π k
E2 = ∑ H ( e j ω k ) − H d ( e j ω k ) , ω k =
2

N k =0 N

15. Proiectaţi prin metoda eşantionării în frecvenţă un filtru RFI trece jos, cu
fază liniară, cu lungime N=15, frecvenţa normată de tăiere fiind 0,2, iar câştigul în
banda de trecere 0 dB. Reprezentaţi apoi utilizând mediul Matlab caracteristica
amplitudine-frecvenţă.

16. Aceleaşi chestiuni ca în problema precedentă pentru un filtru trece sus cu


aceeaşi frecvenţă de tăiere.

17. Scrieţi un program Matlab care să calculeze coeficienţii unui filtru RFI cu
fază liniară, prin metoda eşantionării în frecvenţă. Caracteristica amplitudine
frecvenţă este specificată ca în problema 11.

18. Să se determine coeficienţii unui filtru RFI cu fază liniară de lungime M=15
având un răspuns la impuls simetric şi un răspuns în frecvenţă de forma
1, k = 0,L,3
He( )
jω 
=  x, k=4
0, k = 5,6,7

Se vor considera mai întâi cazurile x=0 şi x=1. Determinaţi utilizând mediul Matlab:

17
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină

• Eroarea maximă în banda de trecere, δ t definită pentru maximul caracteristicii;


• Eroarea maximă în banda de oprire, δ b definită pentru ondulaţia maximă a
caracteristicii după trecerea prin 0;
• frecvenţa limită superioară a benzii de trecere, definită pentru o eroare δ t ;
• frecvenţa limită inferioară a benzii de oprire definită pentru o eroare δ b .
Luând apoi diferite valori pentru x în intervalul (0,1), determinaţi aceleaşi
elemente. Ce concluzii rezultă?

19. Proiectaţi cu algoritmul Remez un filtru trece jos având frecvenţa limită
superioară a benzii de trecere 0,2, frecvenţa limită inferioară a benzii de oprire
0,25, o abatere maximă a atenuării în banda de trecere de 0,5 dB şi o atenuare
minimă în banda de oprire de 40 dB. Verificaţi prin vizualizarea caracteristicii
îndeplinirea condiţiilor. Utilizând aceiaşi parametri ca şi pentru algoritmul Remez,
sintetizaţi un filtru pe baza minimizării erorii în sensul celor mai mici pătrate.
Comparaţi caracteristicile obţinute pentru cele două filtre.
Indicaţie. Vezi formula 2.72. Al doilea filtru se sintetizează cu funcţia firls cu
parametrii daţi de remezord.

18
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

3. SINTEZA FILTRELOR CU RĂSPUNS INFINIT LA IMPULS (RII,IIR)

3.1. Proprietăţi generale

Un filtru IIR poate fi caracterizat prin ecuaţia cu diferenţe finite:

M N
y ( n) = ∑ bk x(n − k ) − ∑ ak y(n − k ) (3.1)
k =0 k =1

Trecând în planul Z ,

M N
Y ( z) = ∑ bk z −k X ( z ) − ∑ a k z −k Y ( z ) (3.2)
k =0 k =1

Rezultă funcţia de transfer :

M
∑ bk z −k B( z )
k =0
H ( z) = N
= (3.3)
A( z )
1 + ∑ ak z −k

k =1
Filtrul se presupune cauzal, aşa încât domeniul de convergenţă este :

D = {z ∈ C , z > R} (3.4)

Funcţia de pondere se poate obţine pornind de la ecuaţia cu diferenţe finite :

M N
h( n) = ∑ bk δ (n − k ) − ∑ a k h(n − k ) (3.5)
k =0 k =1

1
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

 N
 n ∑ a k h(n − k ), n ∈ [0, M ]
b −
 k =1
 N
h(n) = − ∑ a k h(n − k ), n > M (3.6)
 k =1
0, n < 0


Introducerea restricţiei de cauzalitate asigură condiţiile iniţiale necesare
definirii complete a lui h(n ) , pentru orice n , din ecuaţia cu diferenţe finite.
Filtrul este stabil dacă:

∑ h( n) < ∞ (3.7)
n =0

În planul Z , condiţia de mai sus conduce la necesitatea ca cercul unitar să


fie inclus în domeniul de convergenţă, deci R<1. Aceasta presupune ca toţi polii să
se situeze în interiorul cercului unitar.
Funcţia pondere poate fi calculată şi ca transformata Z inversă a funcţiei de
transfer:

1
h(n) = Z −1{H ( z )} = ∫ H ( z ) z n −1 dz (3.8)
2πj C

unde

C = {z ∈ C, z = 1} (3.9)

Comportarea în domeniul frecvenţă poate fi caracterizată prin :

M
∑ bk e − jkω
H ( e jω ) = k =0
N
= H (e jω ) e jϕ (ω ) (3.10)
1 + ∑ ak e − jkω

k =1

Caracteristica amplitudine-frecvenţă este :

2
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

B (e jω
) ∑ bk bl cos(k − l )
k ,l =0
H ( e jω ) = = , a0 = 1 (3.11)
A(e jω ) N
∑ ak al cos(k − l )
k ,l =0

Filtrul are nuluri şi poli. Efectul nulurilor este cel prezentat la filtrele FIR
(minime, eventual rejecţii în cazul zerourilor situate pe cercul unitar). Polii
generează maxime ale caracteristicii amplitudine-frecvenţă, cu atât mai
pronunţate, cu cât se află mai aproape de cercul unitar. Ca urmare, filtrele RII
permit realizarea unor maxime ascuţite, benzi de trecere foarte înguste, benzi de
tranziţie foarte mici. Asemenea performanţe s-ar putea realiza şi cu filtre RFI, dar
ar necesita lungimi foarte mari.
Un dezavantaj îl constituie faptul ca nu permit realizarea unor filtre cu fază
perfect liniară. Caracteristica de fază a filtrului poate fi scrisă :
ϕ (ω ) = ϕ A (ω ) − ϕ B (ω ) (3.12)

unde ϕ A (ω ) si ϕ B (ω ) reprezintă argumentele funcţiilor A(e jω ) şi B (e jω ) .


Utilizând condiţiile de simetrie studiate la filtrele FIR pentru A( z ) , ϕ A (ω ) poate fi
obţinut perfect liniar. Acest lucru nu este însă posibil şi pentru numitor, deoarece
s-a arătat că o funcţie de fază liniară care admite un nul zi , admite de asemenea şi
nulul zi−1 . Această condiţie aplicată numitorului vine în contradicţie cu restricţia de
stabilitate .Se poate cel mult aproxima o caracteristică cu fază liniară.
Filtrele IIR permit în schimb realizarea unei caracteristici amplitudine-
frecvenţă perfect constante, în toata banda de frecvenţă (filtru trece-tot) , deci a
unor defazoare ideale.
Metodele de proiectare se pot împărţi în două categorii :
• Metode indirecte - în care se porneşte de la un filtru analogic prototip,
având o funcţie H a (s) , ce îndeplineşte condiţiile de proiectare. Într-o a
doua fază se realizează trecerea din planul S în planul Z .
• Metode directe – în care se urmăreşte determinarea coeficienţilor pe
baza minimizării unei funcţii cost ce are în vedere caracteristicile dorite.
Primele metode pot fi aplicate şi analitic. Ultimele sunt în general iterative şi nu
pot fi realizate decât pe calculator .

3.2 Metode indirecte de sinteză

3.2.1 Filtre analogice prototip


Vom trece în revistă pentru început, foarte succint, câteva dintre filtrele
analogice prototip mai frecvent întâlnite. Ne vom referi la filtre de tip trece-jos

3
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

normate, atât in frecvenţă, în sensul că frecvenţa unghiulară de tăiere este 1, cât şi


în amplitudine, (câştigul la frecvenţe joase este unitar). Normarea în frecvenţă va
fi simbolizată prin sublinierea funcţiei, iar frecvenţa unghiulară normată se va nota
cu Ω . Normarea în amplitudine se simbolizează prin indicele n ,deci funcţia astfel
normată se va scrie H n ( j Ω) .
După cum se ştie, un filtru trece-jos ideal nu este fizic realizabil. De aceea,
o asemenea caracteristică se poate realiza doar aproximativ. Există mai multe
posibilităţi de aproximare :
-aproximarea de tip maxim plat. Dacă această aproximare se referă la
caracteristica amplitudine-frecvenţă se obţine familia de filtre cu maxim de
liniaritate a amplitudinii (MLA), din care fac parte filtrele Butterworth. Dacă
aproximarea se referă la caracteristica timpului de întârziere de grup, ceea ce
corespunde unei aproximări de fază liniară, se obţin filtrele cu maxim de liniaritate
a fazei (MLP) .Din acesta familie fac parte filtrele Bessel.
-aproximarea cu ondulaţii egale în banda de trecere şi comportare
monotonă în banda de blocare (aproximare Cebâşev de tipul I ) .
-aproximarea cu ondulaţii egale în banda de blocare şi comportare
monotonă în banda de trecere (aproximare Cebâşev de tipul II ) .
-aproximarea cu ondulaţii egale atât în banda de trecere cât şi în banda de
oprire (filtre eliptice) .

Filtre Butterworth

Sunt filtre având doar poli la frecvenţe finite (deci numărătorul este
constant ) cu o caracteristică amplitudine-frecvenţă :
1
H n ( j Ω) = (3.13)
2N
1+ Ω
N este ordinul filtrului (numărul de poli ). Caracteristica e reprezentată in figura
3.1. Într-o reprezentare la scară logaritmică, panta de scădere a caracteristicii
H n ( j Ω ) este de 6N dB/octavă sau 20N dB/decadă. Frecvenţa limită superioară
a benzii de trecere este Ω t = 1 , ceea ce atestă normarea în frecvenţă .
Polii acestei funcţii de transfer sunt rădăcini de ordinul 2N ale lui (−1) N +1 ,
deci :

s 2k N = (−1) N +1 = e j[( N +1)π + 2 kπ ] (3.14)

( N +1)π + 2 kπ π 2 k +1
j j( + π)
sk = e 2N =e 2 2N

4
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

H n ( jΩ)
1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Ω

Fig. 3.1

Ecuaţia de mai sus are 2N rădăcini, pentru k=0 ,1 ,2 … 2N-1. Dintre acestea, N
rădăcini sunt în semiplanul stâng , iar restul în semiplanul drept .Se reţin numai N
rădăcini, care se situează în semiplanul stâng, deci care asigură stabilitatea funcţiei
de transfer. Acestea se obţin pentru k=0 ,…, N-1. Polii normaţi se mai scriu :

 π 2k + 1   π 2k + 1 
s k = cos + π  + j sin  + π , k = 0,1,L, N − 1 (3.15)
2 2N  2 2N 
sau

2k + 1 2k + 1
s k = − sin π + j cos π , k = 0,1,L, N − 1 (3.16)
2N 2N
Polii mai pot fi evaluaţi pornind de la nişte consideraţii geometrice simple.
Într-adevăr, să observăm că ei se bucură de proprietăţile :
- sunt situaţi pe semicercul din semiplanul stâng al cercului de rază
unitate;
2π π
- diferenţa de argument între doi poli succesivi este = ;
2N N
- dacă N e impar, -1 este pol. Ceilalţi poli apar în perechi complex
conjugate;
De exemplu, pentru N=2, polii normaţi sunt reprezentaţi in figura 3.2 .
Rezultă imediat :
2 2
s 1, 2 = − ± j
2 2

5
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

π 4 π 3
-1 π 4 -1 π 3

Fig. 3.2 Fig. 3.3


La fel, pentru N=3, un pol este s1 = −1 ,iar ceilalţi doi sunt
1 3
s 2,3 = − ± j ( Figura 3.3 ) .
2 2
Având polii, funcţia de transfer se obţine imediat :

1
H n (s) = N −1
(3.17)
∏ (s − s k )
k =0

Astfel, pentru N=2 :

1
H n ( s) = 2
s + 2 s +1

iar pentru N=3 :

1
H n ( s) = 2
( s + 1)( s + s + 1)

Dacă se impun Ω t = 1 ( definit pentru o eroare maximă de 3 dB ) si Ω b ( definit


pentru o eroare maximă δ b ), va rezulta ordinul filtrului. Într-adevăr ,
2 1
H ( jΩb ) = 2N
≤ δ b2 (3.18)
1+ Ωb

de unde

lg(δ b −2 − 1)
N≥ (3.19)
2 lg Ωb

6
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Filtre cu ondulaţii egale în banda de trecere ( Cebâşev I )

Sunt filtre fără nuluri la distanţe finite ( numărătorul este constant).


Caracteristica amplitudine-frecvenţă este :

1
H n ( j Ω) = (3.20)
2 2
1 + ε C N (Ω )
unde C N (x) este polinomul Cebâşev de ordinul N. Aceste polinoame se definesc
prin :

cos( N arccos x), x ≤1


C N ( x) =  (3.21)
ch( N arg ch x), x >1

Primele polinoame se pot calcula direct, pe baza definiţiei de mai sus :


C0 ( x ) = 1
(3.22)
C1 ( x ) = x
iar pentru următoarele este utilă relaţia de recurenţă :
C N +1 ( x) = 2 xC N ( x) − C N −1 ( x) (3.23)
Pe baza acesteia se obţin :
C 2 ( x) = 2 x 2 − 1
(3.24)
C 3 ( x) = 4 x 3 − 3 x

2.5

C2 (x )
2

1.5

C1 ( x )
1

0.5

-0.5

-1

-1.5

-2 C3 ( x )
-2.5
-1.5 -1 -0.5 0 0.5 1 1.5 x

Fig. 3.4

7
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Polinoamele sunt reprezentate în figura 3.4. Din definiţie rezultă imediat că :


C N ( x) ≤ 1, x ≤ 1
C N ( x) > 1, x > 1
C N (±1) = 1
Se mai constată că C N (x) este funcţie pară pentru N par şi impară pentru N impar.
În intervalul ( -1,1 ) polinomul C N (x) are N anulări. Dacă N este impar, una dintre
acestea este în origine. În caz contrar , C N (0) = 1 . Între aceste nuluri există N-1
puncte de extrem, având valorile ± 1. În intervalele ( -∞,-1 ) şi ( 1,∞ ), plinoamele
au o comportare monotonă, cu C N ( x ) crescător monoton, de la C N (± 1) = 1 la
C N (± ∞ ) = ∞ .
În punctele în care C N (Ω) = 0 , H n ( j Ω) au valorile maxime egale cu 1 .
H n ( jΩ) H n ( jΩ)
1 1

1 1
1+ ε 2 1+ ε 2 N=4
N=3

δb δ b0
0
0
Ωt = 1 Ωb Ω Ωt = 1 Ωb Ω

Fig. 3.5

În fig.3.5 sunt date caracteristicile pentru N=3 şi N=4.


Polii normaţi ai funcţiei de transfer de tip Cebâşev I sunt de forma :
s k = α k + jΩ k (3.25)
unde

1 1  2k + 1
α k = − sh  argsh  sin π
N ε 2N
(3.26)
1 1 2k + 1
Ω k = ch argsh  cos π, k = 0,L, N − 1
N ε 2N

8
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

şi sunt situaţi în semiplanul stâng, pe o elipsă având drept axe axele de coordonate.
Cunoscând polii, funcţia de transfer se scrie :

1
H n (s) = N −1
, bN = ε ⋅ 2 N −1 (3.27)
bN C ( s − s k )
k =0

Filtre cu ondulaţii egale în banda de oprire ( Cebâşev II )

Funcţia de transfer H n (s ) este un raport de polinoame, iar caracteristica


amplitudine-frecvenţă are expresia :

1
H n ( j Ω) = , Ωb > 1 (3.28)
2
2 CN (Ω b )
1+ ε
Ω 
C N2  b 
 Ω 
Având în vedere proprietăţile polinoamelor Cebâşev arătate în paragraful
precedent, rezultă că :
- H n ( j 0) = 1 ;
Ωb Ω 
- în intervalul 0 ≤ Ω ≤ Ω b , raportul 1 ≤< ∞ , aşa încât C N  b 
Ω  Ω 
descreşte monoton când Ω variază de la 0 la Ω b . La fel variază şi
H n ( j Ω) ;
1
- H n ( j1) =
1+ ε 2
Ω t =1 este frecvenţa limită superioară a benzii de trecere şi deci :
1
1− δt = (3.29)
1+ ε 2

sau, altfel spus, Ω t este definit pentru o abatere de δ t , dată de relaţia de mai sus, a
caracteristicii amplitudine-frecvenţă ;
1
- H n ( jΩb ) = = δb .
1 + ε 2 C N2 (Ω b )

9
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Acceptăm deci că Ω b este frecvenţa unghiulară limită inferioară a benzii de


oprire, definită pentru o eroare dată de relaţia de mai sus.
Ωb
- În domeniile Ω b < Ω < ∞ , raportul < 1 , aşa încât în aceste

Ω 
domenii C N  b  are N anulări . Dacă N e impar, una din acestea se obţine
 Ω 
Ωb
pentru = 0 , deci H n ( j∞) = 0 . Dacă N este par, H n ( j∞) = δ b .

H n ( jΩ) H n ( jΩ)
1 1
1 1

2
1+ ε 2 0.9 1+ ε 0.9

0.8 0.8

0.7 0.7
N=4 N=5
0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2
δb 0.1 δb 0.1

0 0
0 2 4 6 0 2 4 6

Ωt = 1 Ωb Ω Ωt = 1 Ωb Ω

1 1

0.9 0.9

0.8 0.8

0.7 0.7

0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
0 5 10 15 0 5 10 15

Fig. 3.6

10
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

În figura 3.6 sunt prezentate aceste caracteristici pentru N = 4 şi N = 5. În partea de


jos a figurii sunt reprezentate aceleaşi caracteristici, dar într-un domeniu mai larg
de frecvenţe, pentru a pune în evidenţă comportarea la frecvenţe mari.
Pentru realizarea celor N zerouri ale câştigului , numărătorul funcţiei de
transfer este un polinom de gradul N cu rădăcini situate pe axa imaginară,

Filtre cu ondulaţii egale atât în banda de trecere cât şi în banda de oprire


(eliptice)

Şi în acest caz funcţia de transfer este o funcţie raţională, iar caracteristica de


amplitudine are forma :

1
H n ( j Ω) = (3.30)
1 + ε 2U N2 ( Ω )

unde U N (Ω) este funcţia raţională Cebâşev . Această funcţie poate fi scrisă sub
forma :

 2 (Ω12 − Ω 2 )(Ω 32 − Ω 2 )....(Ω 22 M −1 − Ω 2 )


γ 2 2 2 2 2 2
, pentru N = 2 M
 (1 − Ω Ω1 )(1 − Ω Ω 3 )....(1 − Ω Ω 2 M −1 )

U N (Ω ) =  (3.31)
 2 2 2 2 2 2
γ 2 Ω (Ω 2 − Ω )(Ω 4 − Ω )....(Ω 2 M − Ω ) , pentru N = 2 M + 1
 (1 − Ω 2 Ω 2 )(1 − Ω 2 Ω 2 )....(1 − Ω 2 Ω 2 )
 2 4 2M

Câteva din proprietăţile acestor funcţii rezultă direct din aceste forme, altele din
valorile pe care le au parametrii Ω i şi γ .
1
- dacă ± Ωi este o pereche de zerouri, atunci ± vor fi poli;
Ωi
- în cazul N impar , U N (Ω ) are nul în origine şi pol la infinit;
- în cazul N par , U N (0) = 1 şi U N (∞) = L (finit);
- Ω i < 1 ,aşa încât toate zerourile apar la frecvenţe subunitare;
1
- > 1 , deci toţi polii apar la frecvenţe supraunitare;
Ωi
- în intervalul Ω ≤ 1 , U N (Ω ) oscilează între –1 si 1, extremele având
valoarea absolută 1.
- U N ( j1) = 1
- între doi poli consecutivi există câte un minim având valoarea L.

11
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

În figura 3.7 sunt reprezentate caracteristicile H n ( j Ω) pentru N=4 şi pentru


N=5 .

H n ( jΩ)
1 1
2
1+ ε 0.8
0.6 N=4

0.4
0.2
δb
0
0 0.5 1 1.5 2 2.5 3
1 1
Ω1 Ω3 Ω
Ω3 Ω1

H n ( jΩ)
1 1
2
1+ ε 0.8
N (Ω)
2
U
0.6 N=5

0.4
0.2
δb
0
0 0.5 1 1.5 2 2.5 3
1 1
Ω2 Ω4 Ω
Ω4 Ω2

Fig. 3.7

3.2.2 Denormarea funcţiilor de transfer

Pentru a realiza filtre cu caracteristici impuse pornind de la filtrele trece jos


normate prezentate mai înainte vor trebui efectuate două tipuri de denormări :
- denormarea în frecvenţă .
- denormarea în amplitudine .
Denormarea în frecvenţă are drept scop obţinerea unui FTJ , FTS , FTB sau
FOB cu frecvenţe de tăiere impuse, pornind de la filtrul trece-jos normat .

12
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Filtru trece-jos cu frecvenţa de tăiere Ωt

s
Se face schimbarea de variabilă s = .Se obţine funcţia normată numai
Ωt
în amplitudine :

 s 
H n ( s ) = H n   (3.32)
 Ωt 

Evident, schimbarea de variabilă are drept consecinţă o transformare de frecvenţă


Ω= (3.33)
Ωt
Filtre trece-sus cu frecvenţa de tăiere Ωt

Ωt
Se face schimbarea de variabilă s = , rezultând funcţia :
s
Ω 
H n (s) = H n  t  (3.34)
 s 

H n ( j Ω)


-1 1

H n ( jΩ )

− Ωt Ωt Ω
Fig. 3.8

13
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Prin transformarea de frecvenţă :


Ωt
Ω=− (3.35)

se realizează următoarele corespondenţe :

Ω = 1 → Ω = − Ωt
Ω = −1 → Ω = Ωt
Ω = 0 → Ω = ±∞
Ω = ±∞ → Ω = 0

care justifică utilizarea acestei schimbări de variabilă (fig. 3.8) .

Filtru trece bandă cu banda de trecere cuprinsă între Ωt1 şi Ωt2

Schimbarea de variabilă este :


s 2 + Ωt1 Ωt2
s= (3.36)
s (Ωt2 − Ωt1 )

sau în frecvenţă :

Ω 2 − Ωt1 Ωt2
Ω= (3.37)
Ω (Ωt2 − Ωt1 )

H n ( j Ω) H n ( jΩ )

Ω − Ωt2 − Ωt1 Ωt1 Ωt2


-1 1
− Ωt1 Ωt2 Ωt1 Ωt 2

Fig. 3.9

Corespondenţa frecvenţelor este următoarea (Fig.3.9):


Ω = 0 → Ω = ± Ωt1 Ωt2
Ω = 1 → Ω = − Ωt1 , + Ωt2

14
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Ω = −1 → Ω = + Ωt1 , − Ωt2
Ω = +∞ → Ω = 0, + ∞
Ω = −∞ → Ω = 0, − ∞

Filtru opreşte-bandă cu banda de oprire cuprinsă între Ωt1 şi Ωt2

Schimbarea de variabilă este :


s (Ωt2 − Ωt1 )
s= (3.38)
s 2 + Ωt1 Ωt2
sau în frecvenţă :

Ω (Ωt2 − Ωt1 )
Ω=− (3.39)
Ω 2 − Ωt1 Ωt2

H n ( j Ω) H n ( jΩ )

Ω − Ωt2 − Ωt1 Ωt1 Ωt2


-1 1
− Ωt1 Ωt2 Ωt1 Ωt 2

Figura 3.10

Denormarea în amplitudine

Se face simplu ,înmulţind funcţia de transfer normată, care are câştig unitar în
centrul benzii de trecere, cu H 0 , câştigul dorit :
H ( s) = H 0 H n ( s) (3.40)

3.2.3 Trecerea de la filtrul analogic la filtrul digital

Există mai multe procedee de trecere de la funcţia de transfer a filtrului analogic,


H a (s ) , care este o funcţie raţională de s,

15
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

M
∑ bk s k
k =0
H a (s) = N
, N≥M (3.41)
∑ ak s k

k =0

la funcţia de transfer a filtrului numeric, H(z) , exprimată de asemenea sub forma


unei funcţii raţionale. Se pune deci problema trecerii de la un sistem analogic la
unul discret în timp , cu o funcţionare cât mai apropiată de cea a primului .
Această transformare din planul s în planul z ar trebui să îndeplinească
următoarele cerinţe :
- să conserve proprietatea de stabilitate – deci să asigure transformarea
unui filtru analogic stabil într-un filtru numeric de asemenea stabil .
Condiţia este îndeplinită dacă semiplanul stâng al planului s se
transformă în interiorul cercului unitar din planul z . Aşa cum vom
vedea, transformările ce vor fi prezentate satisfac acest criteriu .
- să păstreze comportarea caracteristicilor de frecvenţă . Această condiţie
ar necesita o transformare liniară a axei imaginare s = jΩ în cercul
unitar z = e jω . Este evident că o asemenea condiţie nu poate fi
îndeplinită pe tot domeniul de frecvenţe [0, ∞ ) . El ar putea fi realizat cel
Fs
mult în intervalul [0, ] , deci în limitele impuse de teorema
2
eşantionării.Mai departe, caracteristica filtrului discret în timp devine
periodică, având perioada F s , deci este clar că identitatea celor două
caracteristici nu mai este posibilă. În consecinţă, toate transformările
realizează doar o transpunere aproximativă a caracteristicilor filtrului
analogic în cele ale filtrului numeric, într-un domeniu de frecvenţă
F
inclus în [0, s ] .
2

Metoda transformării biliniare

Pentru a găsi o modalitate de trecere din planul s în planul z vom porni de la


relaţia simplă :
U (s ) = sV (s ) (3.42)
În baza teoremei integrării, aceasta corespunde în timp operaţiei:
t
v(t ) = ∫ u (t ) dt (3.43)
0

Pentru a trece în timp discret să luăm eşantioanele la momente de forma nTs :

16
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

nTs
v(nTs ) = ∫ u (t )dt
0
(3.44)
( n −1)Ts
v((n − 1)Ts ) = ∫ u (t )dt
0

Se poate scrie însă :

( n −1)Ts nTs
v(nTs ) = ∫ u (t )dt + ∫ u (t )dt (3.45)
0 ( n −1)Ts

Pentru Ts suficient de mic , integrala se poate aproxima prin :


nTs
Ts
∫ u (t )dt ≅ (u (nTs ) + u ((n − 1)Ts ) ) (3.46)
( n −1)Ts
2
aşa încât rămâne că :
Ts
v(nTs ) − v((n − 1)Ts ) = (u (nTs ) + u ((n − 1)Ts ) (3.47)
2
Aplicând transformata Z , se obţine :
(1 − z −1 )V ( z ) =
Ts
2
(
U ( z ) + z −1U ( z ) ) (3.48)
sau
2 1 − z −1
U ( z) = V ( z) (3.49)
Ts 1 + z −1

Această relaţie sugerează substituţia :


2 1 − z −1
s= (3.50)
Ts 1 + z −1
În consecinţă , se obţine H ( z ) simplu , prin relaţia :
 2 1 − z −1 
H ( z ) = H a  
−1 
(3.51)
 s 1+ z 
T
jΩTs
Conturul z = e ( cercul unitar ) are drept corespondent în planul s :

Ts
− jΩTs sin Ω
2 1− e 2 2 = j 2 tg Ω Ts
s= = j (3.52)
Ts 1 + e − jΩTs Ts T Ts 2
cos Ω s
2

17
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Vom nota cu Ωa frecvenţa corespunzătoare filtrului analogic (planul s) şi cu


Ω frecvenţa nenormată corespunzătoare filtrului numeric (planul z). Ω este
frecvenţa unghiulară la care funcţia de transfer a filtrului numeric are aceiaşi
valoare ca şi funcţia de transfer a filtrului analogic, evaluată la frecvenţa Ωa .
Evident, din relaţia 3.52 rezultă corespondenţa între frecvenţe :

2 T 2 ω
Ωa = tg Ω s = tg (3.53)
Ts 2 Ts 2

Relaţia sugerează de asemenea transformarea axei imaginare s = jΩ a în cercul


z = e jω . În particular există corespondenţele :

s=0 (Ωa = 0) → z = 1 (ω = 0)
(3.54)
s = j∞ ( Ω a = ∞ ) → z = −1 (ω = π )
deci semiaxa imaginară superioară din planul s se transformă în semicercul
unitar superior din planul z.

Im s Im z

Re s Re z
-
0 -1 0 1

Fig. 3.11
2
În plus punctul s=− se transformă în z=0 , ceea ce arată că semiplanul
Ts
Re s < 0 se transformă în interiorul cercului unitar, z < 1 . Rezultă că
transformarea conservă condiţia de stabilitate .
Să analizăm acum transformarea frecvenţelor. Corespondenţa frecvenţelor, dată de
relaţia
ΩT
ω = 2 arctg a s (3.55)
2

18
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

este reprezentată în fig.3.12 .

ω (Ωa )
π

Ωa

−π
Fig. 3.12

Constatăm că dependenţa dintre frecvenţa corespunzatoare filtrului analogic şi cea


a filtrului digital este neliniară . Este posibilă o aproximare liniară numai pentru :

ΩaTs π
<< (3.56)
2 2
deci

π 1
Ωa << = Ωs (3.57)
Ts 2

sau, în frecvenţă ,
Fs
Fa << (3.58)
2
Corespondenţa între frecvenţe este aproximativ liniară numai la frecvenţe mult
mai mici decât frecvenţa Nyquist . La frecvenţe mai mari are loc o “compresie” ,
frecvenţa infinită fiind adusă la valoarea π , aşa cum se poate vedea în Fig. 3.13. .
De aceea, dacă se impune de exemplu frecvenţa de tăiere ω t = Ts Ωt a filtrului
numeric , pentru a realiza în mod exact această frecvenţă se porneşte de la un filtru
analogic cu frecvenţa de tăiere :

2 T
Ωat = tg Ωt s (3.59)
Ts 2
Această tehnică de “predistorsionare“ rezolvă problema coincidenţei
caracteristicilor numai la frecvenţa pentru care s-a aplicat .
În mediul Matlab transformarea biliniară poate fi realizată cu funcţia
bilinear.

19
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

H a ( jΩ )


H ( e jω )

ω
π 2π
Fig. 3.13

Metoda invariantei răspunsului la impuls unitar

Fie ha (t ) funcţia pondere a filtrului analogic şi h(n ) cea a filtrului numeric,


deci:
H a (s ) ←→L
ha (t )
(3.60)
H ( z ) ←→
Z
h(n )
Vom impune ca la momentele de eşantionare cele două funcţii să coincidă:
h(n ) = Ts ha (nTs ) (3.61)
unde Ts este perioada de eşantionare. Dacă H a (s ) este o funcţie raţională cu
gradul numitorului mai mare ca al numărătorului şi dacă are numai poli simpli, se
poate descompune in fracţii simple :
A
H a ( s) = ∑ k , (3.62)
k s − sk
unde s k sunt polii lui H a (s ) , iar Ak sunt reziduurile in aceşti poli. În consecinţă
 A 
h a (t ) = ∑ L−1  k  = ∑ Ak e sk t u a (t ) (3.63)
k  s − sk  k
deci

20
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

h(n) = Ts ∑ Ak e sk nTs u (n) (3.64)


k
unde u a (t ) şi u (n ) reprezintă funcţiile treaptă unitate în timp continuu şi în timp
discret.
Funcţia de transfer căutată este :
{
H ( z ) = Z {h(n)} = Ts ∑ Ak Z Ak e sk nTs u (n) . }
(3.65)
k
Dar
{ }
∞ ∞
1
Z e sk nTs u (n) = ∑ e sk nTs z −n = ∑ (e skTs z −1 ) −n = . (3.66)
n =0 n =0 1 − e skTs z −1
Condiţia de convergenţă a seriei de mai sus este :
e sk Ts z −1 < 1 (3.67)
sau
z > e sk Ts = e Re{sk Ts } . (3.68)
Presupunând filtrul analogic stabil, Re{s k } < 0 , şi deci e Re{sk Ts } < 1 . În
consecinţă, domeniul de convergenţă a seriei ce reprezintă de fapt H ( z ) , este
exteriorul unui cerc de rază subunitară. Această observaţie asigură conservarea
proprietăţii de stabilitate.
În final, funcţia de transfer căutată este :
Ak
H ( z ) = Ts ∑ sk Ts −1
. (3.69)
k 1− e z
Se observă că polii filtrul numeric sunt daţi de z k = e sk Ts . Să vedem cum se
transformă planul s în planul z, prin transformarea
sTs (α + jΩ )Ts αTs jΩTs
z=e =e =e e
-Se constată imediat că Re{s} > 0 (semiplanul drept) se transformă în
z > 1 (exteriorul cercului unitar).
-Fiecare interval al axei s = jΩ de forma
π π
(2k − 1) ≤ Ω ≤ (2k + 1) (3.70)
Ts Ts
corespunde cercului de rază unitate; mai precis parcurgerea intervalului de la
π π
2k la (2k + 1) este echivalentă în planul Z cu parcurgerea semicercului
Ts Ts
π
superior, de la ω = 0 la ω = π , iar parcurgerea intervalului de la 2k la
Ts
π
(2k − 1) , corespunde parcurgerii semicercului inferior, de la 0 la − π .
Ts

21
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Im s
π
3
Ts
Im z

A π
Ts
C A' C' O'
Re s
O B' Re z
π

B Ts

Fig. 3.14

Pentru k=0, parcurgerea traseului O→A→C→O in planul s este echivalentă


cu parcurgerea traseului O`→A`→C`→O` in planul z (figura 3.14) . De
asemenea, parcurgerea traseului O→B→C→O corespunde cu O`→B`→C`→O`.
În general, fiecare fâşie din planul s, definită prin:
{ s = α + jΩ α ≤ 0, (2k − 1) π ≤ Ω ≤ (2k + 1) π } se transformă în interiorul
Ts Ts
cercului unitar. Constatăm încă o dată păstrarea proprietăţii de convergenţă .
Pe de altă parte, se ştie că având in vedere faptul că h(n) = Ts ha (nTs ) ,
conform teoremei eşantionarii, între spectre există relaţia:

H (e jΩ Ts
)= ∑ H a ( j (Ω + kΩs )) (3.71)
k = −∞
Caracteristica de frecvenţă a filtrului numeric se obţine deci prin periodizarea cu
perioada Ωs a caracteristicii filtrului analogic (Figura 3.15)
1
Evident, dacă H a ( jΩ ) = 0 pentru Ω > Ωs , atunci
2
( ) 1
2
1
H e jΩ Ts = H a ( jΩ ), pentru − Ωs ≤ Ω ≤ Ωs , deci se obţine identitatea
2

22
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

H a ( jΩ ) (
H e jΩ Ts )

Ωs 2Ω s

Fig. 3.15
caracteristicilor în tot domeniul de frecvenţă de interes. Altfel spus, pentru a se
obţine identitatea celor două caracteristici, caracteristicile filtrului analogic ar
trebui să îndeplinească restricţiile teoremei eşantionării. Acest lucru nu se
întâmplă însă în realitate ( o asemenea caracteristică nu ar fi fizic realizabilă )
decât cel mult in mod aproximativ, pentru filtre de tip trece jos sau trece bandă,
cu banda de trecere situata la frecvente mici in comparaţie cu frecvenţa de
eşantionare. În cazul real, o anumită suprapunere spectrală apare totuşi şi ca
urmare caracteristica reală este greu de controlat.
Pentru sinteza bazată pe metoda prezentată, în mediul Matlab se poate
utiliza funcţia impinvar.

3.2.4. Transformări de frecvenţă în planul Z

Am văzut că pentru obţinerea unui filtru numeric cu anumiţi parametri se


poate porni de la un FTJ analitic prototip normat, care se aduce mai întâi la
parametrii doriţi, după care se transformă într-un filtru numeric.
O alta cale ar fi aceea de a transforma filtrul prototip într-un filtru
numeric de tip trece jos şi de a aplica apoi schimbarea de variabilă în planul z, prin
care sa se aducă acest filtru la parametrii doriţi. Vom indica în cele ce urmează
schimbările de variabilă necesare pentru a realiza aceste transformări. Punctul de
plecare este de fiecare dată un filtru trece jos cu frecvenţa de taiere ω t .

-Filtru trece jos cu frecvenţa de tăiere ω t′ :


ω − ω t′ 
−1 sin  t 
z −β 2 
z −1 → unde β =  (3.72)
1 − βz −1
ω + ω t′ 
sin  t 
 2 

23
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

-Filtru trece sus cu frecvenţa de tăiere ω t′ :


ω + ω t′ 
−1 cos t 
z −β  2 
z −1 → − unde β = (3.73)
1 − βz −1
ω − ω t′ 
cos t 
 2 

-Filtru trece bandă cu frecvenţele limită ω t1 , ω t 2 :


−1 z −2 − β1 z −1 + β 2 2γk k −1
z →− −2 −1
unde β1 = ; β2 = ;
β2z − β1 z +1 k +1 k +1
ω t1 + ω t2 (3.74)
cos ω t2 − ω t1
2 ω
γ = ; k = ctg tg t
ω t1 − ω t2 2 2
cos
2

-Filtru opreste bandă cu frecvenţele limită ω t1 , ω t 2 :


z −2 − β1 z −1 + β 2 2γ 1− k
z −1 → −2 −1
unde β1 = ; β2 = ;
β2z − β1 z +1 k +1 1+ k
ω t1 + ω t2 (3.75)
cos ω t2 − ω t1
2 ω
γ = ; k = tg tg t
ω t1 − ω t2 2 2
cos
2

3.2.5 Realizarea filtrelor trece-tot (defazoare)

Se pune problema realizării unor filtre caracterizate prin


H (e jω ) =constant
şi o caracteristică de fază impusă. Se poate uşor arăta ca o funcţie de tipul:
P( z )
H ( z) = −N , (3.76)
z P( z −1 )
N
unde P( z ) = ∑ ak z −k , a k ∈ R , este de tip trece tot.
k =0
Într-adevăr

24
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

( )
H e jω =
( )
P e jω
( )
e − jNω P e − jω
. (3.77)

Dar
( )
P e jω = P e − jω ( ) (3.78)
aşa încât:

( )
H e jω =
( )
P e jω
= 1.
P (e ) (3.79)
e − jNω − jω

Caracteristica de fază este:


ϕ (ω ) = arg H (e jω ) = Nω + 2 arg P (e jω ) . { } (3.80)
Vom mai nota “polinomul reciproc” al lui P ( z ) cu
N N
~
P ( z ) = z − N P( z −1 ) = ∑ a k z −( N −k ) = ∑ a N −k z −k (3.81)
k =0 k =0
Aceasta se obţine din polinomul iniţial prin inversarea ordinii coeficienţilor. În
consecinţă, o funcţie de tipul
P( z )
H ( z) = ~ (3.82)
P ( z)
este de tip trece tot.

3.3 Metode directe de sinteză

În aceste metode se porneşte de la ideea ca H ( z ) este o funcţie raţională cu


grade precizate pentru numărător şi numitor.
Se defineşte un criteriu de aproximare, exprimat de obicei sub forma unei
funcţii cost. Această funcţie se poate referi la răspunsul in timp sau la
comportarea în domeniul frecvenţă (caracteristica amplitudine-frecvenţă sau timp
de grup-frecvenţă sau ambele).
Utilizând un algoritm adecvat se determină coeficienţii a k , bk ai funcţiei de
transfer , astfel încât să fie minimizată funcţia cost.

3.3.1 Metode directe de sinteză în domeniul frecvenţă

Metoda minimizării erorii pătratice (Steiglitz).


Fie H d (e jω ) caracteristica de amplitudine dorită şi un set de frecvenţe
{ω i },
i = 1,L, M la care se doreşte sa se minimizeze eroarea, în sensul celor mai
mici pătrate. Funcţia cost este eroarea pătratica, exprimată prin:

[ ]
M 2
E = ∑ H (e jω i
) − H d (e jω i
) (3.83)
i =1

25
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Se scrie H ( z ) factorizat în funcţii de gradul II (în vederea realizării in cascadă).


N 1 + bk ,1 z −1 + bk , 2 z −2
H ( z ) = A∏ = AG ( z ) (3.84)
a k ,1 z −1 + a k , 2 z − 2
k =1 1 +
Eroarea E este o funcţie de vectorul (a11, a12, b11, b12, a21, a22, b21, b22,…,aN,1, aN,2,
bN,1, bN,2, A). Din păcate, dependenţa nu mai este însă de tip pătratic (aşa cum se
întâmpla in cazul aplicării metodei minimizării erorii in sensul celor mai mici
pătrate pentru filtre FIR). Punând condiţia anulării derivatelor parţiale ale lui E în
raport cu cele 4N+1 necunoscute se obţine un sistem neliniar. Problema se rezolva
cu ajutorul calculatorului prin metode iterative. Trebuie avută în vedere în acest
proces stabilitatea filtrului. Dacă la un moment dat se obţine un pol z i în
exteriorul cercului unitar, el se înlocuieşte cu z i−1 , operând şi corecţia
corespunzătoare asupra lui A pentru a lăsa nemodificată caracteristica amplitudine-
frecvenţă.

Metoda minimizării normei Lp a erorii (Deczky)

In acest caz funcţia cost este norma Lp a erorii ponderate. Se impune caracteristica
amplitudine-frecvenţă | Hd(ejω) | şi timp de grup-frecvenţă τ d (ω ) . Funcţia cost
este:

[ ] dω + λ ∫V (e
π p π
E = (1 − λ ) ∫ W (e jω
) H (e jω
) − H d (e jω
) jω
)[τ (ω ) − τ d (ω ) − τ 0 ] p dω
0 0
unde
( ) ( )
• W e jω şi V e jω sunt funcţiile de pondere ale erorilor pentru modul şi pentru
timpul de întârziere de grup, prin intermediul cărora proiectantul poate preciza
domeniile de frecvenţă de interes mai mare. Ambele sunt funcţii reale si
pozitive.
• λ ∈ [0,1] este un parametru ales de proiectant, prin intermediul căruia se acordă
o importanţă mai mare în proiectare modulului sau timpului de întârziere de
grup.
• τ 0 este numit “întârziere nominală” şi rezultă din procesul de optimizare. De
regulă se doreşte o anumită alura a caracteristicii timpului de grup, de exemplu
constantă, şi nu ne interesează valoarea constantei.
• p este un întreg par. Pentru valori mari ale lui p, aproximările obţinute se
apropie de cele de tip Cebâsev.
Într-o abordare numerică, integralele se înlocuiesc cu suma efectuata pe o
reţea discretă densă de frecvenţe. Funcţia de transfer se presupune factorizată la
fel ca in cazul metodei precedente. Prin egalarea cu 0 a celor 4N+1 derivate
parţiale se obţine un sistem neliniar. Pentru găsirea unui minim se poate utiliza

26
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

algoritmul Fletcher-Powell. Prin această metodă se obţine un minim al erorii,


pornind de la un set iniţial pentru cele 4N+1 mărimi. În general, suprafaţa E are
mai multe minime si nu există garanţia că acesta este minimul global. Pentru
căutarea acestuia, se poate repeta algoritmul pentru mai multe seturi de valori
iniţiale.

3.3.2 Metode de sinteză directă în domeniul timp

Ne punem problema sintezei filtrului pornind de la o funcţie pondere


impusă hd (n ) . În metoda invarianţei răspunsului la impuls unitar, s-a văzut că
dacă hd (n ) este obţinut prin eşantionarea funcţiei pondere ha (t ) a unui sistem
analogic cu constante concentrate, este posibilă o sinteză a unui filtru având exact
această funcţie pondere. Acesta este însă un caz particular. În general, problema
se poate rezolva doar aproximativ.
Cele expuse în continuare prezintă interes nu numai pentru sinteza filtrelor
numerice, ci si pentru rezolvarea unei probleme de identificare de sistem: se
testează un sistem necunoscut utilizând ca semnal de test un impuls unitar şi se
măsoară răspunsul. Pe baza acestuia, se doreşte determinarea funcţiei de transfer,
exprimate ca raport de polinoame in z-1. De asemenea aceasta abordare poate fi
utila pentru modelarea unui semnal, ca răspuns al unui sistem la impuls.

Metoda Padé

Vom presupune impuse hd (n ) si gradele M şi N ale numărătorului,


respectiv numitorului funcţiei de transfer. Prin urmare H ( z ) se caută sub forma :
M M

B( z )
∑ bk z −k ∑ bk z −k
k =0 k =0
H ( z) = = N
= N
unde a k , bk ∈ R . (3.85)
A( z )
∑ ak z −k
1 + ∑ ak z −k

k =0 k =1
Deoarece există M+N+1 grade de libertate, este in principiu posibil sa impunem:
h(n ) = hd (n ), n = 0,L, M + N . Vom presupune in plus sistemul cauzal, deci
h(n ) = 0, pentru n < 0 . Din B ( z ) = A( z )H ( z ) şi teorema convoluţiei rezultă:
b , i = 0,..., M
(an ∗ h(n))(i ) =  i (3.86)
0, i = M + 1,..., M + N
În exprimarea convoluţiei vom ţine seama de suporturile limitate ale secvenţelor
ce intervin:
supp{h(n )} = [0, ∞ )
(3.87)
supp{an } = [0, N ]
deci

27
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

bi
N min(i , N )
b i = 0,..., M
∑ ak h(i − k ) = ∑ ak h(i − k )., =  0i i = M + 1,L, M + N
(3.88)
k =0 k =0 

sau

 h(0) 0 0 L 0   b0 
 h(1) h(0 )   
 0 L 0   a 0   b1 
 h(2) h(1) h(0) L 0     b2 
   a1   
 M M M O M  a  =  M 
 h(M ) h(M − 1) h(M − 2 ) L h(M − N )    b M 
2
  M  
 h(M + 1) h(M ) h(M − 1) L h(M − N + 1)    0 
 
 M M M O M  a N   M 
   
h(M + N ) h(M + N − 1) h(M + N − 2) L h(M )   0 
(3.89)

unde a0=1. Se constată imediat ca ak si bk se pot calcula pe rând după cum


urmează. Observăm că în ultimele N ecuaţii intervin numai necunoscutele ak:

 1  0 
 h(M + 1) h (M ) L h(M − N + 1)    
 M M O M   a1  = 0 (3.90)
  M  M 
h(M + N ) h(M + N − 1) L h(M )     
 a N  0 

sau

 h (M ) h(M − 1) L h(M − N + 1)  a1   h(M + 1) 


     
 M M O M   M  = − M  (3.91)
h(M + N − 1) h(M + N − 2 ) L h(M )  a N  h(M + N )

Acesta este un sistem de N ecuaţii cu N necunoscute din care se pot determina ak,
k=1,…,N, dacă matricea H N a sistemului este nesingulară:
H M a′ = −h M +1 (3.92)
unde
a′ = [a1 ,..., a N ]T , h M +1 = [h( M + 1),..., h( M + N )]T . (3.93)
Dacă H M e singulară, rămân doua posibilităţi:

28
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

-Dacă
rang H M =rang [H M ,−h M +1 ] (3.94)
sistemul este compatibil nedeterminat. Nu exista soluţie unică şi in funcţie de
valoarea rangului, pentru unul sau mai mulţi din coeficienţii ak se pot lua valori
arbitrare.
-Dacă
rang H M ≠ rang [H M ,−h M +1 ] (3.95)
sistemul este incompatibil. Se poate atunci renunţa la condiţia a0=1, şi luând a0=0,
rămâne
H M a′ = 0 (3.96)
~
care admite soluţie nebanală, deoarece H N e singulară.
Odată determinaţi ak, restul de coeficienţi bk se calculează simplu utilizând
primele M+1 ecuaţii ale sistemului 3.89.

Observaţii
-Metoda s-ar putea aplica şi pentru realizarea unei caracteristici de frecvenţă
( )
impuse, H d e jω , după dezvoltarea acesteia in serie Fourier.
-Faptul ca s-a impus realizarea in mod exact numai a primelor M+N+1 valori ale
funcţiei pondere şi nu s-a precizat nici o condiţie pentru celelalte, poate să
conducă la abateri mari pentru n > M+N.
-Din acelaşi motiv , nu e garantata stabilitatea filtrului (este posibil ca
h(n ) → ∞ pentru n → ∞ .

Metoda Prony

În această metodă vom impune hd (n ) = h(n ) numai pentru n=0,…,M, ceea ce ne


permite să calculăm coeficienţii bi, i=0,…,M, dacă se cunosc ai , i=0,…,N, la fel ca
în cazul metodei Padé.
Rămâne de soluţionat problema determinării coeficienţilor ai.
Se defineşte funcţia eroare
e ′(n) = h d (n) − h(n) (3.97)
sau in planul z,
B( z )
E ′( z ) = H d ( z ) − (3.98)
A( z )
O minimizare in sensul celor mai mici pătrate a acestei erori, deci a funcţiei de
cost

∑ e′(n)
2

n =0
ar conduce la o ecuaţie neliniară in ai şi bi. Vom considera o funcţie eroare
modificata:

29
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

E ( z ) = E ′( z ) A( z ) = A( z ) H d ( z ) − B( z ) . (3.99)
Aceasta este o funcţie liniară de coeficienţii căutaţi. În timp, aceasta conduce la:
(ai ∗ hd (i ))(n) − bn , n = 0,..., M
e( n ) =  (3.100)
(ai ∗ hd (i ))(n), n ≥ M +1
După cum am arătat la început, vom impune ca e ′(n) , deci şi e(n) , să fie nule
pentru n=0,…,M, iar apoi vom defini funcţia cost globală:
∞ ∞
J = ∑ e 2 ( n) = ∑ e 2 ( n) (3.101)
n =0 n = M +1
Pentru n ≥ M + 1 , avem însă:
N N
e(n) = (ai ∗ hd (i ))(n) = ∑ ai hd (n − i ) = hd (n) + ∑ ai hd (n − i ) (3.102)
i =0 i =1
astfel încât:
∞ N 2
J= ∑ hd (n) + ∑ ai hd (n − i ) (3.103)
n = M +1 i =1
Această funcţie cost este o funcţie pătratică de coeficienţii ai, aşa încât poate fi
minimizată în funcţie de aceşti parametri. Vom pune pentru aceasta condiţiile:
∂J
= 0, k = 1,..., N , (3.104)
∂a k
ceea ce conduce la:

∂e(n)
∑ 2e(n) ∂a = 0, k = 1,..., N (3.105)
n = M +1 k
sau

∑ e(n)hd (n − k ) = 0, k = 1,..., N (3.106)
n = M +1
Aceasta reprezintă o relaţie de ortogonalitate între secvenţa eroare şi cea dorită.
Înlocuind e(n) din (3.102) se obţine :
∞  N 
∑ (hd (n) + ∑ ai hd (n − i))hd (n − k ) = 0, k = 1,..., N (3.107)
n = M +1  i =1 
sau
N  ∞  ∞
∑ i ∑ d
a h ( n − i ) hd ( n − k )  = − ∑ hd (n)hd (n − k ) (3.108)
i =1  n = M +1  n = M +1
Vom introduce notaţiile:

rh (k , i ) = ∑ hd (n − i ) hd (n − k ) (3.109)
n = M +1
Sistemul capătă forma:

30
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

N
∑ ai rh (k , i) = −rh (k ,0), k = 1,..., N (3.110)
i =1
Acest sistem reprezintă ecuaţia normală din care se calculează ak, k=1,…,N.
După cum s-a mai arătat, coeficienţii bk, k=0,…,M se calculează din condiţiile
e(n)=0, n=0,…,N (3.111)
adică
bk = (a i ∗ hd (i ))(k ) (3.112)
În final să găsim valoarea minimă a funcţiei cost:

∞ ∞  N 
∑ ∑ e(n) hd ( n) + ∑ a k hd (n − k ) =
2
J min = e( n ) =
n = M +1 n = M +1  k =1  (3.113)
∞ N ∞
= ∑ e(n)hd (n) + ∑ a k ∑ e(n)hd (n − k )
n = M +1 k =1 n = M +1

Utilizând relaţia de ortogonalitate, rămâne:

∞ ∞  N  
J min = ∑ e(n)hd ( n) = ∑  d  h ( n ) + ∑ ak hd (n − k ) hd (n) =
n = M +1 n = M +1  k =1   (3.114)
N
= rh (0,0) + ∑ a k rh (0, k )
k =1

Probleme

1. Să se demonstreze că pentru un filtru având


M
∑ bk z −k
k =0
H ( z) = N
1 + ∑ ak z −k
k =1
caracteristica amplitudine-frecvenţă poate fi exprimată prin
M
∑ bk bl cos(k − l )
k ,l =0
H (e jω ) = , a0 = 1
N
∑ ak al cos(k − l )
k ,l =0
Pe această bază scrieţi o funcţie Matlab care să traseze caracteristicile
amplitudine-frecvenţă ale filtrelor numerice. Ca parametri se vor lua vectorii
reprezentând cele două seturi de coeficienţi şi numărul de frecvenţe la care se face

31
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

calculul.
Găsiţi expresiile corespunzătoare pentru caractersticile fază-frecvenţă şi
timp de grup-frecvenţă.

2. Scrieţi funcţiile de transfer pentru filtrele analogice trece-jos Butterworth


având frecvenţa de tăiere Ω0 , câştigul în banda de trecere H 0 şi pantele de
scădere a câştigului la frecvenţe înalte de 6dB/octavă, 12 dB/octavă, 18
dB/octavă, 24 dB/octavă.

3. Schiţaţi (calitativ) caracteristica amplitudine frecvenţă pentru un filtru


trece-jos de tip:
• Cebâşev 1;
• Cebâşev 2;
• Eliptic.
Se vor considera cazurile N=6 şi N=7.

4. Scrieţi funcţiile de transfer pentru filtrele analogice trece-sus Butterworth


de ordine 1, 2, 3, 4, având frecvenţa de tăiere Ω0 şi câştigul în banda de trecere
H0.

5. Pornind de la filtrul trece jos Butterworth normat, deduceţi funcţia de


transfer a unui filtru trece bandă cu frecvenţa centrală Ωc = Ωt1Ωt 2 , lărgimea de
bandă BΩ = Ωt 2 − Ωt1 şi câştigul H 0 la frecvenţa centrală. Demonstraţi că pentru
lărgimi de bandă relativ mici, se obţine aproximativ funcţia cunoscută

s 0 H0
Q Ω + Ωt 2
H (s ) = , Ω0 = t 1
Ω 2
s 2 + s 0 + Ω02
Q

iar Q = 0 este factorul de calitate.
BΩ

6. Se proiectează un FTJ numeric, cu perioada de eşantionare T, pornind de la un


filtru analogic cu
H0
H a (s ) =
s + Ωc

şi utilizând transformata biliniară. Se cer:


a) H0 astfel încât filtrul să aibă un câştig de 0dB la frecvenţe joase.
b) Ωc astfel încât frecvenţa de tăiere normată a filtrului digital să fie f 0 = 0,1 .

32
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

c) Funcţia de transfer H(z) a filtrului numeric.


d) Pe funcţia obţinută, folosind eventual mediul Matlab, verificaţi îndeplinirea
condiţiilor de proiectare.

7. Fie filtrul analogic cu


H0
H a (s ) =
s + Ωc
Să se proiecteze un filtru numeric având funcţia pondere h(n ) = Tha (nTs ) , unde Ts
este perioada de eşantionare. Determinaţi H 0 astfel încât filtrul numeric să aibă un
câştig de 0 dB la frecvenţe joase. Pentru cazul ΩcTs = 0,2π trasaţi caracteristica
filtrului numeric şi comparaţi cu aceea a filtrului analogic.

8. Deduceţi funcţia de transfer a unui filtru digital trece jos, obţinut pornind de
la un filtru analogic Butterworth de ordinul doi şi utilizând metoda transformării
biliniare. Filtrul digital va avea frecvenţa de tăiere F0 şi un câştig de 0 dB la
frecvenţe joase, iar frecvenţa de eşantionare este Fs . Reluaţi problema pentru un
filtru de ordinul trei.

9. Deduceţi funcţia de transfer a unui filtru digital trece sus, obţinut pornind
de la un filtru analogic Butterworth de ordinul doi şi utilizând metoda
transformării biliniare. Filtrul digital va avea frecvenţa de tăiere F0 şi un câştig
de 0 dB la frecvenţe înalte, iar frecvenţa de eşantionare este Fs . Reluaţi problema
pentru un filtru de ordinul trei.

10. Deduceţi funcţia de transfer a unui filtru numeric trece jos, pornind de la un
filtru analogic Butterworth de ordinul doi, cu frecvenţa de tăiere Fa 0 , utilizând
metoda invarianţei răspunsului la impuls. Frecvenţa de eşantionare este Fs .
Deduceţi expresiile câştigurilor la frecvenţe joase şi la frecvenţe înalte. Utilizând
eventual mediul Matlab determinaţi aceste câştiguri şi frecvenţa de tăiere la 3dB,
dacă Fs = 10 kHz , iar pentru Fa 0 se vor lua cazurile 0,5 kHz şi 2 kHz.

11. Să se sintetizeze un filtru numeric Butterworth cu caracteristicile:


• căştig unitar în banda de trecere;
• la frecvenţa 2 kHz, atenuarea filtrului este de cel mult 1 dB;
• la frecvenţa 4 kHz, atenuarea filtrului este de cel puţin 10 dB;
• perioada de eşantionare este de 50 µs .
• Se utilizează metoda transformării biliniare.
Reluaţi problema utilizând mediul Matlab.

12. Un filtru numeric trece-jos, are frecvenţa de tăiere la 3 dB F0 = 2 kHz şi

33
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

frecvenţa de eşantionare Fs = 10 kHz . Calculaţi atenuarea filtrului la frecvenţa


F = 4 kHz , ştiind că filtrul a fost sintetizat cu metoda transformării biliniare,
pornind de la un filtru analogic trece-jos Butterworth de ordinul 5.

13. Un filtru numeric trece-jos, are frecvenţa limită superioară a benzii de


trecere F0 = 2 kHz şi frecvenţa de eşantionare Fs = 10 kHz . Calculaţi atenuarea
filtrului la frecvenţa F = 4 kHz , ştiind că filtrul a fost sintetizat cu metoda
transformării biliniare, pornind de la un filtru analogic trece-jos Cebâşev de
ordinul 4, având în banda de trecere ondulaţii egale cu o atenuare cuprinsă între 0
dB şi -0,0432 dB.

14. Fie un filtru analogic trece-jos, cu funcţia de transfer H a (s ) şi cu frecvenţa


de tăiere Ωat . Caracterizaţi filtrul digital cu
 2 1 + z −1 
H ( z ) = H a  
−1 
 s 1− z 
T
unde Ts este perioada de eşantionare.

15. Fie un filtru analogic trece-jos, cu funcţia de transfer H a (s ) şi cu frecvenţa


de tăiere Ωat . Arătaţi că filtrul numeric având
 1 − 2γz −1 + z −2 ω t 2 − ω t1 
H ( z ) = H a  Ωat

−2
ctg 

 1− z 2 
ω t1 + ω t 2
cos
este un filtru trece bandă, cu frecvenţele de tăiere ω t1 , ω t 2 , iar γ = 2 .
ω t1 − ω t 2
cos
2
16. Problema 15 dă o metodă de ce permite sinteza unui filtru numeric trece
bandă, pornind de la un filtru analogic trece jos. Găsiţi o metodă asemănătoare
pentru sinteza unui filtru numeric opreşte bandă.
Indicaţie. Vezi paragraful 3.2.4 şi metoda transformării biliniare.

17. Fie un filtru analogic trece-bandă (rezonator) analogic cu funcţia de transfer



s 0 H0
Q
H a (s ) =

s 2 + s 0 + Ω02
Q

Ω0
unde este fercvenţa de rezonanţă, iar Q >> 1 este factorul de calitate. Pornind

34
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

de la acesta se sintetizează cu ajutorul transformării biliniare un filtru numeric


H ( z ) . Vom nota mărimile caracteristice al acestuia cu:
• f 0 , frecvenţa de rezonanţă;
• b3dB , lărgimea de bandă la 3 dB;
f
• q = 0 , factorul de calitate;
b3dB
 f f 
• ξ = q − 0  , dezacordul normalizat.
 f0 f 
Se cere:
• să se stabilească legătura dintre b3dB şi q şi mărimile corespunzătoare ale
filtrului analogic;
• să se arate că în jurul frecvenţei f 0 , caracteristica amplitudine-frecvenţă a
filtrului numeric se poate exprima prin
( )
H e jω ≈
H0
1+ ξ 2
• să se scrie H ( z ) şi să se pună în evidenţă legăturile dintre coeficienţii acestei
funcţii şi parametrii f 0 , q , b3dB , H 0 , Ts .

18. Fie un filtru analogic cu funcţia de transfer H a (s ) , cu polii simpli şi gradul


numitorului mai mare ca al numărătorului. Se notează cu y a (t ) răspunsul filtrului
la impulsul treaptă unitate. Se sintetizează un filtru numeric având răspunsul la
treaptă y (n ) = y a (nTs ) (metoda invarianţei răspunsului la impuls treaptă).
Deduceţi expresia funcţiei de transfer a filtrului numeric şi demonstraţi că metoda
conservă proprietatea de stabilitate şi câştigul la frecvenţe joase. Deduceţi expresia
funcţiei de pondere a filtrului obţinut şi comparaţi-o cu aceea a filtrului analogic.

19. Fie H ( z ) un filtru trece-tot de ordinul doi şi H 1 ( z ) = 1 − H ( z ) . Arătaţi că


filtrul cu funcţia de transfer H 1 ( z ) este de tip trece bandă. Analizaţi posibilitatea
generalizării acestei proprietăţi pentru un filtru de ordin N.

20. Fie un filtru analogic stabil cu funcţia de pondere


ha (t ) = ∑ Ak e sk t u (t )

unde u(t) este funcţia treaptă unitate şi fie h(n) funcţia de pondere a filtrului numeric,
proiectat pornind de la filtrul analogic prin transformarea biliniară cu o frecvenţă de
eşantionare Fs = 1 Ts .

35
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină

Demonstraţi că dacă
Fs
>> max sk
2 k
atunci
h(n ) ≈ Tha (nTs ), pentru n ≥ 1 .

21. Utilizând mediul Matlab, proiectaţi un filtru digital trece jos cu următoarele
specificaţii: atenuarea minimă în banda de oprire 40dB, atenuarea maximă în banda
de trecere 1,8 dB, frecvenţa limita superioară a benzii de trecere 1,5kHz, frecvenţa
limită inferioară a benzii de oprire 2,5 kHz. Frecvenţa de eşantionare este 10 kHz.
Se vor folosi aproximările: Butterworth, Cebâşev1, Cebâşev2, eliptică şi
transformarea biliniară.

22. Fie H ( z ) funcţia de transfer a unui filtru numeric stabil trece jos, cu
frecvenţa de tăiere ω t . Să se demonstreze că filtrul cu funcţia de transfer
 1 − β z −1 
H 1 ( z ) = H  − −1 

 z −β 
 ω + ω t′ 
cos t 
 2 
este un filtru trece sus stabil, cu frecvenţa de tăiere ω t′ şi β = . Să
 ω t − ω t′ 
cos 
 2 
se caracterizeze filtrul cu funcţia de transfer H 1 ( z ) , dacă H ( z ) este un filtru trece
sus cu frecvenţa de tăiere ω t .

23. Fie H ( z ) funcţia de transfer a unui filtru numeric stabil trece jos, cu
frecvenţa de tăiere ω t . Să se caracterizeze filtrul cu funcţia de transfer
H 1 ( z ) = H (− z ) . Să se studieze cazurile când H ( z ) este de tip trece sus, trece
bandă, opreşte bandă.

36
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

4. RESTRICTII DE UNILATERALITATE. TRANSFORMATE


HILBERT

4.1 Restricţii în domeniul frecvenţă pentru secvenţe reale cauzale

Fie o secvenţă reală cauzală, în sensul că


x(n ) = 0, pentru n < 0 (4.1)
Dorim să stabilim constrângerile ce derivă din această restricţie pentru
( )
transformata Fourier in timp discret X e jω .
Se pot pune in evidenţă partea pară x p (n ) şi partea impară, xi (n ) ale acestui
semnal:
x(n ) = x p (n ) + xi (n ) (4.2)

unde
1
x p ( n) =( x(n) + x(−n))
2 (4.3)
1
xi (n) = ( x(n) − x(− n))
2
Ţinând seama de condiţia de unilateralitate:
2 x p (n), n > 0

x(n) =  x p (n), n = 0 (4.4)

0, n < 0
sau
2 x (n), n > 0
x ( n) =  i (4.5)
0, n < 0

Un exemplu este dat in Figura 4.1.


Introducem funcţia:
2, n > 0

s (n) = 1, n = 0 (4.6)
0, n < 0

aşa încât
x(n ) = s (n )x p (n ) (4.7)
şi
x(n ) = s(n )xi (n ) + x(0)δ (n ) (4.8)

1
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

x(n) x(− n )

n
n
n

x p (n) xi (n)

n n

Fig. 4.1

Transformata Z a semnalului s (n ) este :


2 1 + z −1
S ( z ) = Z {2u (n) − δ (n)} = −1 = . (4.9)
1 − z −1 1 − z −1

Notând:
X ( z ) = Z {x(n)}; X i ( z ) = Z {xi (n)}; X p ( z ) = Z {x p (n)}
avem

deci
1 z 1 z + v dv
X ( z) = ∫ X p (v)S  v −1dv = ∫ X p (v )
2πj C v 2πj C z−v v
unde
C = {v ∈ C/ v = 1} (4.11)
si
1 z + v dv
X ( z) = ∫
2πj C
X i (v )
z−v v
+ x ( 0)

Presupunem că x(n ) este absolut sumabil, deci există transformata Fourier


(TFTD) şi cercul |z|=1 se afla in domeniul de olomorfie al funcţiei X ( z ) .
Putem deci evalua X ( z ) pe cercul unitar:

2
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

X ( z) = X (e jω ) = X R (e jω ) + jX I (e jω ) (4.12)
z = e jω
unde s-au pus in evidenţă părţile reală şi imaginară. Cum însă x(n ) este o
secvenţă reală,
X R (e jω ) = TFTD{x p (n)} = X p (e jω )
(4.13)
jX I (e jω ) = TFTD{xi (n)} = X i (e jω )
Deoarece integralele din (4.11) se efectuează pe cercul unitar, se poate scrie:
1 z + v dv
X ( z) =
2πj C∫ X R (v )
z−v v
, z >1
(4.14)
1 z + v dv
X ( z) = ∫
2π C
X I (v )
z −v v
+ x(0), z > 1

Pe conturul C, v = e jθ şi vom exprima z sub forma z = re jω


1 π jθ re

+ e jθ
X (re jω ) =
2π −∫π
X R ( e ) dθ , r >1
re jω − e jθ
sau (4.15)
π
jω jω 1 jθ r 2 − 1 + 2 jr sin(θ − ω )
X R (re ) + jX I (re )=
2π ∫ X R (e ) r 2 + 1 − 2r cos(θ − ω ) dθ
−π
Rezultă de aici că:
1 π
jω 2r sin(θ − ω )
X I (re ) = ∫ X R ( e jθ ) 2 dθ , r > 1 (4.16)
2π −π r + 1 − 2r cos(θ − ω )
Relaţia de mai sus permite calculul părţii imaginare a transformatei Z în
exteriorul cercului unitar, în funcţie de partea reală, evaluată pe cercul unitar.
Procedând la fel cu cea de-a doua ecuaţie, se obţine:
1 π 2r sin(θ − ω )
X R (re jω ) = − ∫ X I ( e jθ ) 2 dθ + x(0), r > 1 (4.17)
2π −π r + 1 − 2r cos(θ − ω )
Putem trece la limită, în ipotezele făcute, pe cercul unitar r → 1 . Se obţine:
2r sin(θ − ω ) sin(θ − ω ) θ −ω
lim 2 = = ctg (4.18)
r →1 r + 1 − 2r cos(θ − ω ) 1 − cos(θ − ω ) 2
care tinde către ∞ atunci când θ → ω , aşa încât integralele vor trebui calculate
în sensul de valori principale:
π

X I (e ) =
1

V .P. ∫ X R e jθ ctg ( )
θ −ω
2

−π
(4.19)
π
1
X R (e jω ) = − V .P. ∫ X I e jθ ctg

( )
θ −
2
ω
dθ + x(0)
−π
Se defineşte transformata Hilbert pentru o funcţie periodică de perioadă
2π (transformata Hilbert în domeniul frecvenţă) prin:

3
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

π
θ −ω
H F { f }(ω ) = V .P. ∫ f (θ ) ctg dθ (4.20)
−π
2
şi rezultă că pentru o secvenţă cauzală:
1
X I ( e jω ) = H F { X R }(ω )

(4.21)
1
X R ( e jω ) = − H F { X I }(ω ) + x(0)

4.2 Restricţii în domeniul timp pentru semnale unilaterale


în domeniul frecvenţă

Datorită periodicităţii spectrului, condiţia de unilateralitate se poate pune


doar în interiorul benzii de bază, deci
X (e jω ) = 0 pentru − π ≤ ω < 0 (4.22)
Ne propunem să vedem ce efecte are această restricţie asupra secvenţei
x(n)
x(n) nu poate fi reală, pentru că altfel ar trebui ca
X ( e − j ω ) = X ∗ ( e jω ) (4.23)
care împreună cu (4.22) ar implica egalitatea cu zero a spectrului. Deci
x(n) = x R (n) + jx I (n), {x R (n)} ⊂ R, {x I (n)} ⊂ R (4.24)
Se spune că x(n) este semnalul analitic asociat oricăreia din secvenţele
reale x R (n) sau x I (n) .
TFTD {x(n)} = TFTD{x R (n)} + j TFTD{x I (n)} = X r (e jω ) + jX i (e jω ) (4.25)
Notăm
1
(
X r (e jω ) = TFTD{x R (n)} = TFTD  x(n) + x ∗ (n)  (4.26)) 
2 

X i (e jω ) = TFTD{x I ( n)} = TFTD 


1
( ) 
x(n) − x ∗ (n)  (4.27)
2 j 
Deci
1
[ ]
X r ( e jω ) = X ( e jω ) + X ∗ ( e − j ω )
2
1
[ ]
jX i ( e jω ) = X (e jω ) − X ∗ (e − jω )
2
(4.28)

Atât X r (e jω ) cât şi X i (e jω ) sunt transformate ale unor secvenţe


reale, astfel încât
X r ( e jω ) = X r ∗ ( e − jω )

4
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

X i ( e jω ) = X i ∗ ( e − jω ) (4.29)

Se observă că
 2 X r (e jω ), 0≤ω <π
X ( e jω ) =  (4.30)
 0, −π ≤ ω < 0
jω  2 jX i (e jω ), 0≤ω <π
X (e ) =  (4.31)
 0, −π ≤ ω < 0
Având în vedere şi condiţia de unilateralitate

X r (e jω ) + jX i (e jω ) = 0 pentru. − π ≤ ω < 0 (4.32)


rezultă

jω − jX r (e jω ), 0 ≤ ω < π
X i (e )=  jω
(4.33)
 jX r (e ), − π ≤ ω < 0

sau
X i ( e jω ) = H H ( e jω ) ⋅ X r ( e jω ) (4.34)
unde
− j , 0 ≤ ω < π
H H ( e jω ) =  (4.35)
 j, − π ≤ ω < 0

Spectrele respective sunt reprezentate în figura 4.2.


Sistemul având această funcţie de transfer este transformatorul Hilbert ideal.
Evident, se mai poate scrie
π
j
jω jω
H H (e )= e 2H
H 0 (e ) (4.36)
H H 0 (e jω ) = − sign ω , ω ∈ [− π ,π ] (4.37)

5
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

X ( e jω ) Re
Im

−π π 2π ω
∗ − jω
X (e )

X r (e jω ) ω

ω
X i ( e jω )

Fig. 4.2

Să calculăm funcţia de pondere.

π
1 jω jnω j 0
jnω j π jnω
hH ( n ) =
2π ∫ H H (e )e dω =
2π ∫e dω −
2π ∫0
e dω =
−π −π

j 1 − e − jnπ j e jnπ − 1 2 − e jnπ − e − jnπ


= ⋅ − ⋅ = (4.38)
2π jn 2π jn 2nπ
π
sin 2 (n )
1 − cos nπ 2 2
hH ( n ) = = ⋅ pentru n ≠ 0
nπ π n

6
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

Pentru n = 0 , calculul se face separat şi rezultă hH (0) = 0 deci,

hH (n )
2
π
2
2

-3 -2 -1 0 1 2 3 4 5 n
2


2

π
Fig. 4.3
 2 π
2 sin ( n )
 ⋅ 2 , n≠0
h H ( n ) = π n (4.39)

 0 , n=0

Observaţii :
- Funcţia de pondere este, cum era de aşteptat, o funcţie impară.
- Filtrul obţinut este necauzal.
- Modulul şi argumentul funcţiei de transfer sunt reprezentate în figura 4.4.

H H ( e jω ) {
arg H H (e jω ) }

π
2
ω ω
−π π
π

2
Fig. 4.4

- Se constată imediat că

7
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

jω X i ( e jω )
X r (e )= jω
= − H H ( e jω ) ⋅ X i ( e jω ) (4.40)
H H (e )
- Rezultă în domeniul timp

x I ( n) = ∑ x R (m) ⋅ hH (n − m) = Η T {x R (n)} (4.41)
m = −∞

x R ( n) = − ∑ x I (m) ⋅ hH (n − m) = −Η T {x I (n)} (4.42)
m = −∞
unde s-a notat cu Η operatorul transformator Hilbert în domeniul timp.
Η T {}
. = (. ∗ hH (n )) (4.43)

4.3 Generarea unui semnal BLU

În acest caz este utilă introducerea unui semnal analitic în banda de bază.
Fie semnalul modulator real x R (n) de frecvenţă maximă ω M şi vom introduce
x(n) = x R (n) + jx I (n) ; x I (n) = Η{x R (n)} (4.44)
deci
X (e jω ) = 0 pentru. − π ≤ ω < 0
Semnalul modulat este
s (n) = x(n)e jω0n = s R (n) + js I (n) (4.45)
unde ω 0 este frecvenţa purtătoare. În domeniul frecvenţă
S (e jω ) = X (e j (ω −ω ) (4.46)
0

Notăm

S r (e jω ) = TFTD{s R (n)} =
1
2
(
S ( e jω ) + S ∗ ( e − jω ) )
jS i (e jω ) = j TFTD{s I (n)} =
1
2
(
S ( e jω ) − S ∗ ( e − jω ) (4.47) )
Se observă (figura 4.5) că dacă ω0 + ω M < π , S (e jω ) este tot un spectru de
suport unilateral, deci
S i ( e jω ) = H H ( e jω ) ⋅ S r ( e jω ) (4.48)
Observăm de asemenea că s R (n ) este tocmai semnalul BLU căutat. Pe de altă
parte, semnalul complex poate se mai poate scrie, punând în evidenţă modulul
şi argumentul
x(n) = A(n) e jΦ ( n ) (4.49)

8
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină

X r (e jω )

ωM ω
−π π
jX i (e jω )

ω
−π π

X ( e jω )

ω
−π ππ
S ( e jω )

ω0 + ωM
ω
−π ω0 π

S r ( e jω )

jS i (e jω )

Fig. 4.5

9
Prelucrarea numerică a semnalelor Silviu Ciochină

sau partea reală şi cea imaginară (componentele în cuadratură)


x R (n) = A(n) cos Φ (n) (4.50)
x I (n) = A(n) sin Φ( n) (4.51)
Între acestea există relaţiile evidente

( )
1
A( n) = x R2 (n) + x I2 (n) 2 (4.52)
x ( n)
Φ (n) = arctg I (4.53)
x R ( n)
Semnalul modulat complex va fi
s (n) = A(n) e j (ω 0n + Φ ( n )) (4.54)
iar partea sa reală este semnalul căutat
s R ( n) = A(n) cos(ω 0 n + Φ (n) ) = x R (n) cos nω 0 − x I ( n) sin nω 0 (4.55)
În consecinţă, el poate fi generat pe baza schemei din figura 4.6.

cos nnω
cos ω00 +

x R (n) s R (n)
-

H
x I (n) sin nω 0

Fig. 4.6

4.4 Schimbătorul de frecvenţă

Fie x(n ) un semnal real, de bandă limitată, centrat pe frecvenţa ω 0 , cu spectrul


( )
X e jω reprezentat în figura 4.7. Se vor reprezenta cu linie plină partea reală, şi cu
linie punctată, partea imaginară. Un asemenea spectru este tipic pentru un semnal
modulat. Dorim să translatăm acest semnal de pe frecvenţa centrală ω 0 pe
ω1 = ω 0 + ∆ω , în care ∆ω poate fi pozitiv (conversie superioară de frecvenţă) sau
( )
negativ (conversie inferioară). Vom nota cu Y e jω spectrul dorit. Soluţia obişnuită
constă în multiplicarea cu cos(n∆ω ) , urmată de o filtrare cu un filtru trece-sus, dacă
∆ω > 0 , sau trece-jos, dacă ∆ω < 0 (figura 4.8). După înmulţire se obţine
1 1
u (n ) = x(n )cos(n∆ω ) = x(n )e jn∆ω + x(n )e − jn∆ω (4.56)
2 2
cu spectrul
( ) 1
2
( 1
) (
U e jω = X e j (ω −∆ω ) + X e j (ω + ∆ω )
2
) (4.57)
Vom considera cazul ∆ω > 0 . Prin filtrare trebuie eliminat spectrul centrat pe
ω 0 − ∆ω . Pentru ca acest lucru să fie posibil, este necesar ca
∆ω > ω M (4.58)
10
Prelucrarea numerică a semnalelor Silviu Ciochină

( )
X e jω

− ω0 ω0 − ω M ω0 ω0 + ω M ω

( )
Y e jω

− ω1
( ) U (e )
H e jω jω
ω1

ω 0 + ∆ω − ω M
ω 0 − ∆ω + ω M

( )
X I e jω

( )
V e jω

Fig. 4.7

( )
Gabaritul filtrului H e jω este sugerat în figura 4.7. Filtrul este cu atât mai uşor de
realizat cu cât banda de tranziţie, ∆ω − ω M este mai mare. Prin urmare, metoda
prezentată până aici se poate aplica numai pentru modificări ale frecvenţei relativ mari
în raport cu lărgimea de bandă a semnalului. Vom da în continuare o metodă mai
generală, care, deşi mai complicată, poate fi aplicată şi în cazul ∆ω < ω M .

11
Prelucrarea numerică a semnalelor Silviu Ciochină

x(n) u (n)
( )
H e jω
y (n)

cos n∆ω

Fig. 4.8

u (n)

cos nnω
cos ∆0ω +

x(n) y (n)
-
v(n)
H
x I (n) sin n∆ω
Fig. 4.9

Aceasta porneşte de la observaţia că operaţia dorită este de fapt echivalentă cu o


modulaţie cu bandă laterală unică a purtătoarei cos(n∆ω ) cu semnalul x(n ) . Schema
este dată în figura 4.9. Semnalul u (n ) are expresia şi spectrul deduse mai sus. Pe
cealaltă cale, se formează
1 1
v(n ) = x I (n )sin (n∆ω ) = x I (n )e jn∆ω − x I (n )e − jn∆ω (4.59)
2j 2j

( )
V e jω =
1
2j
(
X I e j (ω −∆ω ) −
1
2j
) (
X I e j (ω + ∆ω ) )
(4.60)

Se observă uşor din figura 4.7, că prin scăderea spectrelor semnalelor u (n ) şi


v(n ) se obţine spectrul semnalului dorit, y (n ).

Probleme
1. Se dă partea reală a transformatei Fourier în timp discret pentru o secvenţă
cauzală x(n )

1 - a cos ω
X R (e jω) = , | a |< 1
1 - 2a cos ω + a 2

Să se determine X(z), x(n ) şi părţile pară şi impară ale lui x(n )


.
2. Pentru o secvenţă cauzală x(n ) , se cunoaşte partea imaginară a transformatei
Fourier

12
Prelucrarea numerică a semnalelor Silviu Ciochină

( )
X I e jω =
− a sin ω
1 + a 2 − 2a cos ω
, a < 1, x(0 ) = 1

Determinaţi X(z) şi x(n ) .


3. Partea imaginară a funcţiei de transfer a unui filtru cauzal este

( )
H I e jω =
(a 2
− 1 sin ω ) , a <1
1 + a 2 − 2a cos ω
( )
Ştiind că H e j 0 = 1 , deduceţi şi reprezentaţi caracteristica amplitudine-
frecvenţă a filtrului.
4. Fie x(n ) = a(n )cos nω 0 , unde a (n ) este un semnal real. Calculaţi transformata
Hilbert şi semnalul analitic asociat lui x(n ) . Aceiaşi problemă, pentru
x(n ) = a(n )sin nω 0 .

13
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

5. STRUCTURI DE FILTRE NUMERICE

5.1 Realizarea filtrelor cu răspuns finit


la impuls (RFI)

Vom considera filtrul caracterizat prin funcţia de transfer:


N -1
H ( z) = ∑ a k z -k (1)
k =0

sau prin ecuaţia cu diferenţe finite:


N -1
y ( n) = ∑ a k x(n − k ) (2)
k =0

Se constată că evaluarea unui eşantion y(n) presupune efectuarea unor operaţii


de înmulţire şi adunare. În plus, se observă că sunt necesare, în afara eşantionului
curent al intrării, x(n), şi eşantioanele întârziate ale acestuia, x(n-k). Acestea pot fi
obţinute cu ajutorul unor circuite de întârziere. Ele sunt realizate practic prin nişte
registre de memorie, întârzierea rezultând din diferenţa dintre momentele de înscriere
şi citire a informaţiei.
Sunt posibile mai multe structuri pentru o funcţie de transfer. Deşi ele sunt
aparent echivalente, realizând aceeaşi funcţie de transfer, totuşi performanţele lor pot
să difere din alte puncte de vedere (complexitate, viteză, efecte ale limitării numerelor
de biţi).

5.1.1 Forma directă


O formă de realizare sugerată de ecuaţia cu diferenţe finite (2) este dată în
figura1 .Un filtru cu o asemenea structură este uneori numit filtru transversal.

x(n) x(n − 1) x(n − 2) x(n − N + 1)


−1 −1 −1
z z z

a0 a1 a2 a N −1
y (n)

Fig.1

1
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

5.1.2. Forma transpusă


O variantă a schemei precedente este prezentată în figura 2, în care se
efectuează mai întâi înmulţirile şi apoi întârzierile. Se observă uşor că graful acestei
structuri se obţine din graful structurii din figura 1, inversând intrarea cu ieşirea şi
sensurile tuturor transmitanţelor. Se ştie din teoria grafurilor de fluenţă că prin această
operaţie, numită transpoziţie, se obţine un graf echivalent (având aceeaşi
transmitanţă). De aceea, schema din figura 2, mai este uneori numită schema
transpusă.

z −1 z −1 z −1 y (n)

a N −1 a N −2 a N −3 a0

x(n)
Fig.2
5.1.3 Realizarea în cascadă
Este de asemenea posibilă şi o realizare în cascadă, descompunând în factori
polinomul H(z), dar este relativ rar întâlnită.

5.1.4 O realizare recursivă, bazată pe eşantionarea în frecvenţă


Din cele arătate până aici se constată că structurile corespunzătoare filtrelor
RFI nu conţin bucle de reacţie, deci sunt structuri nerecursive. Se pune întrebarea
dacă noţiunea de filtru RFI se confundă cu aceea de filtru nerecursiv.
Vom arăta în cele ce urmează că un filtru RFI poate fi realizat şi utilizând o
structură recursivă. Vom porni de la exprimarea funcţiei de transfer obţinută prin
metoda eşantionării caracteristicii de frecvenţă:

 jk 2π 
H d  e N 

1 - z −N N -1
 
H(z) =
N
∑ jk

(3)
k =0
1- e N z −1

Suma conduce la o structură în paralel, în care fiecare celulă conţine o buclă


de reacţie (pentru realizarea numitorului). Apare totuşi problema că polii de forma:

jk
zk = e N , k = 0,...., N − 1 (4)

sunt situaţi pe cercul │z│=1, deci la limita de stabilitate.


Pentru a elimina pericolul unei instabilităţi, se poate face o mică modificare a
funcţiei de transfer, înlocuind z-1 cu rz-1, unde 0<r<1, este foarte apropiat de 1.

2
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

În felul acesta, funcţia de transfer devine:


 jk 2π 
N -1 H d e N 
1 - r N z- N  
H (z ) = ∑ 2π
(5))
N k=0 1 - re jk
z −1
N

Polii apar în perechi complex conjugate, aşa încât termenii corespuzători din
sumă se grupează câte doi, conducând la funcţii de transfer cu coeficienţi reali.
Fiecare din aceste funcţii, H i (z ) poate fi realizată în forma directă 1 sau 2, (după
cum vom vedea în paragraful următor), deci cu o structură recursivă. Rezultă în final
schema din figura 3.

H 0 ( z)

1 H1 ( z)
N
x(n)

− r N z −N

H N −1 ( z )
y (n)
Fig. 3

Un filtru RFI poate fi deci realizat fie utilizând o structură nerecursivă ( cel
mai frecvent ), fie una recursivă ( extrem de rar).

5.1.5 Forma latice


Această formă este prezentată în figura 4.

x(n) = eof (n) e1f (n) e2f (n) e Nf (n) = y f (n)

k1 k2 kN

k1 k2 kN
−1 −1
z z z −1
eob (n) e1b (n) e2b (n) e Nb (n) = y b (n)

Fig.4

3
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Coeficienţii ki poartă numele de ceficienţi de reflexie. Se poate considera că


schema din figura 4 este obţinută prin conectarea în cascadă a unor cuadripoli cu
structura dată în figura 5 . Aceştia pot fi caracterizaţi prin ecuaţiile cu diferenţe finite:

ei−f 1 ( n) eif (n )
ki
z −1 ki

b
ei− b
1 ( n) ei −1 ( n − 1) eib (n )

Fig.5

eif (n)  1 k i   eif-1 (n)


 =   
 eb (n) k i 1 eb (n - 1)
 i   i -1 

Aplicând transformata Z:
E if ( z ) = Z {eif ( n)}, E if-1 ( z ) = Z {eif−1 ( n)}
(6))
E bi ( z ) = Z {ei −1 (n)} , E bi−1 ( z ) = Z {ei −1 (n)}
b b

rezultă:

 E if ( z )  1 k i z -1  E if-1 ( z )
 =   (7))
 b 
 E b ( z ) k i
 i  z -1  E i-1 ( z )
sau, notând

 E f ( z ) 1 k i z −1   Ei −f 1 ( z )
E i ( z ) =  ib , L i (z ) =    (8))
 Ei ( z )  k i z −1   Eib−1 ( z )

se obţine:
E i ( z ) = L i ( z )E i −1 ( z ) (9))
Deci:
E N ( z ) = L N ( z )E N −1 ( z ) = L N ( z )L N −1 ( z )E N −2 ( z ) = L N ( z )L N −1 ( z )L L1 ( z )E 0 ( z )
(10)
Dar:

Y f ( z )  X ( z )
E N (z ) =  b  ; E0 (z ) =   (11)
Y (z )  X ( z )

4
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

şi notând:

L( z ) = L N ( z )L N −1 ( z )LL1 ( z ) (12)

rezultă:

Y f ( z ) 1
  =L( z )   X ( z ) (13)
 Y b ( z ) 1

Vom introduce funcţiile de transfer globale:

Y f (z ) ; Y b (z )
H f (z ) = H b (z ) = (14)
X (z ) X (z )

şi funcţiile de transfer parţiale

E if ( z ) E b
(z )
H if (z ) = ; H i (z) = i
b
(15)
X (z ) X (z )

deci:

 H f ( z ) 1  L11 ( z ) + L12 ( z )


  = L( z )   =   (16)
 H b ( z ) 1  L21 ( z ) + L22 ( z )

Având în vedere (7), se constată uşor că:

 H if ( z )  1 k i z −1   H i -1 ( z )
f
 =  (17)
 H b ( z ) k i z −1   H b ( z )
 i   i -1 
sau

H if ( z ) = H if-1 ( z )+ k i z -1 H bi-1 ( z ) (18)


H bi ( z ) = k i H if-1 ( z ) + z -1 H bi-1 ( z ) (19)

Se poate demonstra prin inducţie relaţia

H bi ( z ) = z -i H if z( )
−1
(20)

Egalitatea se verifică imediat pentru i=1, apoi presupunând adevărată relaţia

( )
H bi-1 ( z ) = z -(i-1) H if-1 z
−1
(21)

şi înlocuind în (18) şi (19) se obţin

5
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

( )
H if ( z ) = H if-1 ( z )+ k i z -i H if-1 z ; H bi ( z ) = k i H if-1 ( z )+ z -i H if-1 z
−1 −1
( ) (22)

Comparând cele două relaţii, rezultă imediat (20).


Prima din ecuaţiile (22) reprezintă o relaţie de recurenţă a funcţiilor de transfer
de tipul "f".
Observaţie
Se constată că Hb(z) este polinomul reciproc al lui Hf(z),

H b (z ) = z- N H f z
−1
( ) (23)

deci cele două funcţii de transfer au aceeaşi caracteristică amplitudine-frecvenţă,

| H b ( e jω) |=| H f (e j ω) | (24)

iar între caracteristicile de fază există relaţia:


arg{H b (e jω )} = Nω + arg{H f (e- jω )} = Nω - arg{H f (e jω )}

Analiza structurii latice (trecerea de la forma latice la forma directă )


Ne propunem să determinăm funcţia de transfer
N
H (z ) = H Nf (z ) = ∑ a j z- j (25)
j=0

cunoscând coeficienţii de reflexie ki, i=1,...,N.


Vom nota polinomul corespunzător funcţiei de transfer parţiale
i
H if ( z ) = ∑ ai , j z
−j
(26)
j=0

Înlocuind în relaţia de recurenţă (22), se obţine


i i −1 i −1
∑ ai , j z −j
= ∑ ai −1, j z −j
+ ki z −i
∑ ai−1, j z j =
j =0 j =0 j =0
(27)
i −1 i
= ∑ ai −1, j z −j
+ k i ∑ ai −1,i −m z −m

j =0 m =1

Identificând coeficienţii termenilor asemenea se ajunge la următoarele


concluzii:

ai ,0 = ai −1,0 , i = 1,L, N (28)

Observând însă că

H 0f ( z ) = 1 (29)

6
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

rezultă
ai ,0 = 1 , i = 0,1,L , N (30)

• Din egalarea puterilor i se obţine


ai ,i = k i ai −1,0 = k i i = 1,L, N (31)

• În fine
ai , j = ai −1, j + k i ai −1,i − j , j = 1,L, i − 1 (32)

Algoritmul de analiză a laticei, presupune calculul coeficienţilor funcţiei de transfer,


aj, j=0,...,N, cunoscând coeficienţii de reflexie ki, i=1,...,N. Se porneşte de la funcţiile
parţiale de ordinul 1, pentru care se cunosc ambii coeficienţi, deoarece
a1,1 = k1 , a1,0 = 1. Apoi se incrementează succesiv ordinul, utilizând relaţiile de
recurenţă deduse mai înainte, până se ajunge la ordinul N, pentru care rezultă funcţia
de transfer globală. Algoritmul este sintetizat în tabelul 5.1.

a1,1 = k1 , a1,0 = 1
for i = 2 : 1 : N
ai ,i = k i , ai ,0 = 1
for j = 1 : 1 : i - 1
ai , j = ai −1, j + k i ai −1,i − j
end
end
for j = 0 : 1 : N
a j = aN , j
end

Tabelul 5.1

Sinteza structurii latice (trecerea de la forma directă la forma latice)


În acest caz este dată funcţia de transfer

N
H ( z ) = ∑ a j z − j , a0 = 1 (33)
j =0

şi se cer coeficienţii ki, i=1,...,N.

7
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Vom deduce mai întâi o relaţie de recurenţă în sens invers (care permite
reducerea ordinului). Pentru aceasta se evaluează, pornind de la (22), expresia:

( )
H if ( z ) - k i z -i H if z =
−1
(34)
= H if-1 ( z ) + k i z -i H if-1 (z )- k z H (z )- k
−1
i
-i f
i -1
−1 2 f
i H i -1 (z )
de unde

H if-1 ( z ) =
1
1 − ki
[
2 Hi
f
(z ) - k i z -i H if z −1 ( )] (35)

Această relaţie permite trecerea de la funcţia de ordin i la aceea de ordin i-1


(reducerea ordinului). Procedând la fel ca mai înainte (înlocuind polinoamele cu
expresiile lor şi identificând termenii asemenea), se obţine formula
ai , j − k i ai ,i − j
ai −1, j = , j = 1,L, i − 1 (36)
1 − k i2

Această relaţie de recurenţă permite trecerea de la forma directă la forma latice


(sinteza laticei). Vom porni de această dată de la funcţia de transfer de ordin N, deci
funcţia de transfer globală şi vom reduce succesiv ordinul, până la 1. Coeficienţii
a j , j determină, pentru fiecare ordin, coeficienţii de reflexie k j .
Algoritmul de sinteză este prezentat în tabelul 5.2.

for j = 0 : 1 : N
aN , j = a j
end
for i = N : -1 : 2
ki = ai ,i
for j = 1 : 1 : i - 1
ai , j − ki ai ,i − j
ai −1, j =
1 − ki2
end
end
k1 = a1,1

Tabelul 5.2

Algoritmii de conversie prezentaţi mai sus sunt realizaţi într-o formă foarte
concentrată în MATLAB de funcţiile poly2rc (trecerea de la polinom la latice) şi

8
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

rc2poly (trecerea de la latice la polinom). Propunem cititorului analiza acestor două


programe.

5.2 Structuri pentru filtre cu răspuns infinit la impuls

Fie funcţia de transfer

M
∑ bk z −k B( z )
H (z ) = k =0
= (37)
N
A( z )
1 + ∑ ak z −k

k =1

Vom nota cu x(n) şi y(n) secvenţele de la intrarea şi ieşirea filtrului şi


Y (z )
X ( z ) = Z {x( n)} , Y ( z ) = Z {y (n)} , H ( z ) = . (38)
X (z )

În domeniul timp, filtrul poate fi caracterizat prin ecuaţia cu diferenţe finite:


M N
y ( n) = ∑ bk x(n − k ) − ∑ a k y(n − k ) (39)
k =0 k =1

5.2.1 Forma directă 1

Vom scrie relaţia intrare-ieşire

B( z )
Y ( z ) = X ( z )H ( z ) = X ( z ) (40)
A( z )

sub forma:

M
W ( z ) = X ( z )∑ bk z −k (41)
k =0

W (z )
Y (z ) = N
(42)
1 + ∑ ak z −k

k =1

9
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Rezultă ecuaţiile cu diferenţe finite


M
w(n) = ∑ bk x(n − k ) (43))
k=0
N
y (n) = w(n) - ∑ a k y (n − k ) (44))
k=1

Aceste ecuaţii corespund schemei din figura 6.

x(n)
b0 w(n ) y (n)

−1
−1 z
z
b1 − a1
x(n − 1) y (n − 1)
−1
z −1 z

b2 − a2
x(n − 2) y (n − 2)

−1
z −1 z
bM − aN
x(n − M ) y (n − N )

Fig. 6

De exemplu, în cazul M=N=2, se obţine schema având graful din figura 7.

x(n) b0 y (n)

z −1 − a1` z −1
b1

z −1 b2 − a2 z −1

Fig. 7

10
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Se constată că în graf, o serie de noduri au fost unificate, aceasta neavând alt


efect decât simplificarea desenului.
Se poate verifica uşor că funcţia de transfer pentru graful din figura 7 este:

b0 + b1 z −1 + b2 z −2
H (z ) = (45)
1 + a1z −1 + a2 z −2

Într-adevăr, utilizând regula lui Mason,

∑ Pi ∆i
H (z ) = i
(46)

unde
∆ = 1 − ∑ Li + ∑ Li L j − ∑ Li L j Lk + L (47)
i i, j i , j ,k

Reamintim că în această expresie, Li reprezintă transmitanţa buclei i a


grafului, prima sumă se referă la toate buclele grafului, a doua la perechile de bucle
neadiacente, a treia la grupurile de câte trei bucle neadiacente şi aşa mai departe. Pi
reprezintă transmitanţa căii i de la nodul sursă la nodul de ieşire, suma de la
numărător fiind efectuată pentru toate aceste căi. În fine, ∆ i se obţine din ∆
eliminând termenii ce corespund unor bucle adiacente căii i .
Graful din figura 7 are două bucle simple adiacente, cu transmitanţele
L1 = − a1 z −1 ; L2 = − a 2 z −2

deci
∆ = 1 + a1 z −1 + a 2 z −2
şi trei căi simple între intrare şi ieşire, fiecare cale fiind adiacentă tuturor buclelor
grafului, deci

P1 = b0 ; ∆1 = 1;
−1
P2 = b1 z ; ∆ 2 = 1;
P3 = b2 z −2 ; ∆ 3 = 1;
aşa încât rezultă expresia lui H(z) precizată mai înainte.
În general, complexitatea schemei poate fi caracterizată prin:
- M+N elemente de întârziere;
- M+N+1 multiplicatoare;
- M+N sumatoare.
În cazul unei realizări bazate pe o unitate aritmetică unică, (este cazul
majorităţii procesoarelor de semnal integrate) o funcţionare pe baza formei directe 1

11
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

presupune executarea operaţiilor conform celor două ecuaţii cu diferenţe finite (41),
(42), iar numărul de celule de întârziere din schemă determină necesarul de memorie
RAM. Dacă unitatea aritmetică efectuează o operaţie aritmetică pe tact, rezultă că vor
fi necesare 2M+2N+1 tacte pentru calculul fiecărui eşantion. Toate aceste operaţii
trebuie executate pe durata unei perioade de eşantionare, fapt care limitează frecvenţa
maximă de eşantionare, în funcţie de tactul procesorului.

5.2.2. Forma directă 2.


Relaţia intrare-ieşire mai poate fi exprimată şi sub forma:

X (z )
W (z ) = N
(48)
1 + ∑ ak z −k

k =1

M
Y ( z ) = W ( z ) ∑ bk z −k (49)
k =0

Rezultă ecuaţiile cu diferenţe finite:

N
w( n) = x(n) - ∑ a k w(n − k ) ;
k=1
(50)
M
y ( n) = ∑ bk w(n − k )
k =0

Aceste relaţii conduc la schema din figura 8.


În această schemă se observă că o parte din eşantioanele w(n-k) sunt stocate în
două locuri diferite. Unificând nodurile respective, rezultă o reducere a numărului
celulelor de întârziere, rezultând structura din figura 9, în care s-a presupus M=N.
Complexitatea aritmetică a schemei este de:
- max {M,N} circuite de întârziere;
- M+N+1 circuite de înmulţire;
- M+N circuite de însumare.
Se constată o reducere a numărului de circuite de întârziere, deci a memoriei
necesare. Acest lucru este explicabil prin aceea că singurele eşantioane ce trebuie
memorate sunt w(n-k).
Datorită efectelor ce rezultă din reprezentarea semnalelor cu un număr finit de
biţi, formele directe 1 şi 2 se folosesc de obicei numai pentru ordine mici (unu sau
doi). Pentru filtre de ordine mai mari, se pot utiliza structuri în cascadă sau în paralel.

12
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

x(n) w(n) b0 y (n)

−1 −1
z z
− a1 b1
w(n − 1) y (n − 1)
−1 −1
z z
− a2 b2
w( n − 2) y ( n − 2)

−1
z

− aN w(n − N )
−1
z
bM
y (n − M )

Fig. 8

x(n) b0 y (n)

−1
z
− a1 b1

−1
z
− a2 b2

−1
z
− aN bN

Fig. 9

13
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

5.2.3. Realizarea în cascadă.


Funcţia de transfer poate fi factorizată sub forma:
P bl ,0 + bl ,1 z −1 + bl , 2 z −2 P
H (z ) = ∏ = ∏ H l ( z) (51)
l=1 1 + al ,1 z −1 + al , 2 z −2 l=1

Rezultă o realizare în cascadă, reprezentată în figura 10.

x(n) y1 (n) y 2 ( n) y P ( n) = y ( n)
H1 ( z) H 2 ( z) H P (z )

Fig. 10

Fiecare din filtrele componente, având o funcţie de transfer de ordinul 2, poate


fi realizată în una din formele directe 1 sau 2.
Presupunând că se foloseşte forma directă 2, ecuaţiile cu diferenţe finite vor fi:

w1 (n ) = x(n ) − a1,1w1 (n − 1) − a1, 2 w1 (n − 2)


y1 (n ) = b1,0 w1 (n ) + b1,1w1 (n − 1) + b1, 2 w1 (n − 2)
w2 (n ) = y1 (n ) − a 2,1w2 (n − 1) − a2, 2 w2 (n − 2)
y 2 (n ) = b2,0 w2 (n ) + b2,1w2 (n − 1) + b2, 2 w2 (n − 2 ) (52)
M
wP (n ) = y P −1 (n ) − a P ,1wP (n − 1) − a P , 2 wP (n − 2)
y (n ) = y P (n ) = bP ,0 wP (n ) + bP ,1 wP (n − 1) + bP , 2 wP (n − 2)

Mărimile ce trebuie memorate sunt wl(n-1) şi wl(n-2), l=1,...,P. Dacă se


doreşte realizarea unei frecvenţe de lucru ridicate şi se dispune de P unităţi
aritmetice, se pot intercala registre de memorie între celule, rezultând o structură de
tip pipe-line. Cele P celule vor lucra simultan, prima calculând y1 (n ) , a doua
y 2 (n − 1) , ultima y (n − P + 1) = y P (n − P + 1) . Rezultă o întârziere suplimentară de
P-1 tacte, dar numărul de operaţii efectuate de fiecare unitate aritmetică pe durata
unei perioade de eşantionare este de numai 4 adunări şi 5 multiplicări, rezultând
posibilitatea funcţionării cu o frecvenţă de eşantionare mai ridicată, pentru aceiaşi
frecvenţă de tact.

5.2.4. Realizarea în paralel.


În acest caz se porneşte de la descompunerea în fracţii simple a funcţiei H(z).
Presupunând ak, bk ∈ R, fracţiile simple (cu numitor de gradul 1) au în general

14
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

coeficienţi complecşi. Grupând însă fracţiile corespunzătoare perechilor de poli


complex conjugaţi, rezultă funcţiile Hl(z) de gradul 2, cu coeficienţi reali, al,k, bl,k ∈ R
P bl ,0 + bl ,1 z −1 P
H (z ) = C + ∑ = C + ∑ H l (z ) (53)
l =1 1 + al ,1 z −1 + al , 2 z − 2 l =1

Se obţine schema din figura 11.

y1 (n)
H1 ( z )

y 2 ( n)
H 2 ( z)
x(n)

y p (n)
H p (z )

C y (n)

Fig.11

Dacă fiecare celulă este realizată în forma directa 2, ecuaţiile cu diferenţe


finite sunt:
w1 (n) = x( n) − a1,1 w1 (n − 1) − a1, 2 w1 (n − 2)
y1 (n) = b1,0 w1 (n) + b1,1 w1 (n − 1) (54)
w2 (n) = x(n) − a 2,1 w2 (n − 1) − a 2, 2 w2 (n − 2)
y 2 (n) = b2,0 w2 (n) + b2,1 w2 (n − 1)
M
w p (n) = x(n) − a p ,1w p (n − 1) − a p , 2 w p (n − 2)
y p (n) = b p ,0 w p (n) + b p ,1w p (n − 1)
y (n) = Cx (n) + y1 ( n) + ..... + y p (n)

Dacă se utilizează o singură unitate aritmetică, succesiunea operaţiilor este cea


prezentată în relatiile 54. Dacă există mai multe unităţi aritmetice, acestea vor putea
lucra în paralel, fiecărei unităţi revenindu-i 3 adunări şi 4 multiplicări. Rămâne însă
de realizat suma finală, care poate fi făcută numai după ce s-au calculat toate valorile
yl (n ) .

15
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

5.2.5. Realizarea în formă latice.


Structura latice recursivă
O realizare în forma latice este posibilă şi pentru filtre RII. Să considerăm
pentru început structura din figura 12.

x(n) = e Nf (n) e Nf −1 (n) e1f (n) e0f (n)

− kN − k N −1 − k1
kN k N −1 k1
z −1 z −1 z −1
e Nb (n) e Nb −1 (n) e1b ( n) e0b (n)

Fig. 12

Se poate considera că această structură provine din interconectarea unor cuadripoli,


cu schema din figura 13.

eif (n) ei−f 1 (n)


− ki
ki z −1
eib (n) eib−1 (n − 1)
b
ei−1 ( n)

Fig. 13

Pentru această schema se pot scrie ecuaţiile cu diferenţe finite:

eif−1 (n) = eif (n) − k i eib−1 (n − 1)


i = N , N − 1,L,1 (55)
eib (n) = k i eif−1 (n) + eib−1 (n − 1)

sau, în transformate Z,

Ei f−1 ( z ) = Ei f ( z ) − k i z −1 Eib−1 ( z )
(56)
Eib ( z ) = k i Ei −f 1 ( z ) + z −1 Eib−1 ( z )

Vom defini:

16
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

• funcţia de transfer de tip f:

E 0f ( z )
E 0f ( z )
H Nf ( z) = f = (57)
E N ( z) X ( z)

• funcţia de transfer de tipul b,

E Nb ( z )
H Nb ( z ) = (58)
E0b ( z )

• funcţia de transfer parţială de tipul f şi ordinul i:

E0f ( z )
H i (z ) =
f
(59)
Ei f ( z )

• funcţia de transfer parţială de tipul b şi ordinul i:

Eib ( z )
H ib ( z ) = (60)
E 0b ( z )

Constatăm imediat prin inspecţia grafului , (există o singură cale de la x(n ) la e0f (n ) ,
de transmitanţă 1), că functia de transfer de tipul f este de forma:
1
H Nf ( z ) = (61)
AN ( z )

unde AN ( z ) este un polinom în z −1 , deci aceasta corespunde unui filtru având numai
poli şi un zero multiplu in origine. Evident, de o proprietate similară se bucură şi
funcţiile parţiale de tipul f:

1
H if ( z) = , i = 1,L, N − 1 (62)
Ai ( z )

Vom demonstra în continuare că funcţia de transfer de tipul b este un polinom în


z −1 dat de relaţia

E Nb ( z )
H Nb = = z − N AN ( z −1 ) (63)
E0b ( z )

Această proprietate se poate generaliza pentru funcţiile de transfer parţiale,

17
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Eib ( z )
H ib ( z ) = = z −i Ai ( z −1 ) , i = 1, L , N − 1 (64)
E 0b ( z )

Vom demonstra aceste proprietăţi prin inducţie. Pentru i=1 (figura 14)

E1f ( z ) E 0f ( z )

− k1

k1 z −1
b
E11b (( zz ))
E E0b ( z )
Fig. 14

E 0f ( z ) 1 1
H 1f ( z ) = = −1
= (65)
E1f ( z) 1 + k1 z A1 ( z )

E1b ( z )
H 1b ( z ) = = k1 + z −1 = z −1 A1 ( z −1 ) (66)
E0b ( z )

Să presupunem acum egalităţile adevărate pentru o latice cu i-1 celule, deci

E0f ( z ) 1
H i −f 1 ( z ) = = ;
Ei −f 1 ( z ) Ai −1 ( z )
(67)
Eib−1 ( z )
H ib−1 ( z ) = = z −(i −1) Ai −1 ( z −1 )
E0b ( z )

şi să arătăm că rezultă valabilitatea proprietăţii pentru laticea cu i celule, obţinută din


cea de ordin i-1, prin completarea cu o celulă (figura 15). Se poate scrie:

18
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

E0f ( z) =
1
Ai−1 ( z)
Eif−1 ( z) =
1
Ai−1 ( z)
(
Eif ( z) − ki z −1Eib−1 ( z) = )
=
1
Ai−1 ( z)
(
Eif ( z) − ki z −1 z −(i−1) Ai−1 ( z −1 )E0b ( z) ) (68)

Ei f (z ) E i−f 1 ( z ) E0f ( z )

− ki
ki z −1
b
Eib (z ) Ei−1 ( z) E 0b ( z )

Fig. 15

de unde

1 1
H if ( z) = −i −1
= (69)
Ai −1 ( z ) + k i z Ai −1 ( z ) Ai ( z )

deci

Ai ( z ) = Ai −1 ( z ) + k i z −i Ai −1 ( z −1 ) (70)

Apoi,
Eib ( z ) = k i Ei −f 1 ( z ) + z −1 Eib−1 ( z ) = k i Ai −1 ( z ) E 0f ( z ) + z −1 z − (i −1) Ai −1 ( z −1 ) E 0b ( z ) (71)

de unde
H ib ( z ) = k i Ai −1 ( z ) + z − i Ai −1 ( z −1 ) = z −i Ai ( z −1 ) (72)

Observaţii
• Se observă imediat că relaţia de recurenţă (70) a polinoamelor Ai ( z ) are aceeaşi
formă cu formula de recurenţă stabilită pentru funcţia de transfer H i f ( z ) a
laticei nerecursive (22).
• O consecinţă interesantă a relaţiei (72) este că funcţia de transfer

19
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

E Nb ( z )E Nb ( z ) E0f ( z ) z − N AN ( z −1 )
H Nfb ( z ) = f = ⋅ b f
= H ( z)H ( z) = (73)
E N ( z ) E0b ( z ) E Nf ( z ) AN ( z )

reprezintă evident o funcţie trece-tot.


• În consecinţă, structura latice recursivă prezentată până acum permite realizarea
unor funcţii de transfer având doar poli (cu numărător unitar), dacă se utilizează
E0f ( z ) ca ieşire, sau a unor funcţii de tip trece tot, dacă mărimea de ieşire este
E Nb ( z ) .

Sturctura latice-scară
Dacă dorim să obţinem o funcţie de transfer având atât poli cât şi nuluri, vom
completa structura latice cu o structură în scară (figura 16).
La ecuaţiile cu diferenţe finite ce caracterizau structura fără nuluri (partea
superioară a schemei, adică laticea recursivă propriu-zisă) se adaugă relaţiile
specifice secţiunii în scară (nerecursivă) a schemei. Aceasta realizează o combinaţie
liniară cu ponderile ci a semnalelor eib (n ) :

N
y (n ) = ∑ ci eib (n )
i =0 (74)
N
Y (z ) = ∑ ci Eib (z )
i =0

x(n) = e Nf (n) e Nf −1 (n) e1f (n) e0f (n)

− kN − k N −1 − k1
kN k N −1 k1
z −1 z −1 z −1
e Nb (n) e Nb −1 (n) e1b ( n) e0b (n)

cN c N −1 c1 c0

y (n)

Fig. 16

Evident, se poate scrie:

20
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

f
Y ( z) N E b ( z ) N E 0 ( z ) Eib ( z ) 1 N Eib ( z )
H ( z) = = ∑ ci i = ∑ ci ⋅ b = ∑ ci (75)
X ( z ) i =0 X ( z ) i =0 X ( z ) E 0 ( z ) AN ( z ) i =0 E0b ( z )

Dar

Eib ( z )
= H ib ( z ) (76)
E0b ( z )

este, după cum s-a arătat, un polinom, aşa încât

1 N
H ( z) = ∑
AN ( z ) i =0
ci H ib ( z ) (77)

este un raport de polinoame de forma


N
∑ bi z −i B( z )
i =0
H ( z) = N
= (78))
A( z )
1 + ∑ ai z −i

i =1

Vom stabili relaţiile dintre coeficienţii ai , bi ai funcţiei de transfer şi


elementele schemei k i , ci . Evident, polinomul de la numitor este chiar AN ( z ) , deci

A( z ) = AN ( z )
N
(79)
B N ( z ) = ∑ ci H ib ( z )
i =0

Având în vedere că, aşa cum s-a arătat, relaţia de recurenţă a polinoamelor
Ai ( z ) are aceeaşi formă cu formula de recurenţă stabilită pentru funcţia de transfer
H i f ( z ) a laticei nerecursive (FIR) , relaţiile dintre coeficienţii ai,j şi ki deduse
pentru laticea FIR rămân valabile şi în acest caz. Rezultă că pentru partea recursivă a
structurii se pot utiliza algoritmii de sinteză sau analiză prezentaţi pentru laticea
nerecursivă. Pentru a găsi relaţiile de calcul ale secţiunii în scară (coeficienţii ck), vom
porni de la relaţia (79), în care vom explicita polinoamele,

N N N i
∑ bi z −i = ∑ ci z −i Ai ( z −1 ) = ∑ ci z −i ∑ ai ,m z m (80)
i =0 i =0 i =0 m =0
N N i N i
∑ bi z −i
= ∑ ci ∑ ai ,m z m −i
= ∑ ci ∑ ai ,i − p z − p (81)
i =0 i =0 m =0 i =0 p =0

21
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Rezultă
N

bl = ∑
N ci ai ,i −l = cl + ∑ ci ai,i−l ; l = N − 1, N − 2,L,0
i =l +1 (82)
i =l

bN = c N
N
cl = bl − ∑ ci ai,i−l , l = N − 1, N − 2,L,0 (83)
i =l +1

În procesul de sinteză a structurii latice-scară, se calculează mai întâi


coeficienţii de reflexie k i după algoritmul de sinteză a laticei FIR. Calculul
coeficienţilor ck se va face deci recursiv, în baza formulei (83), începând cu cN.
În procesul de analiză se evaluează mai întâi numitorul, deci coeficienţii ai , cu
algoritmul de la analiza laticei FIR. Ca produs secundar, rezultă şi coeficienţii
polinoamelor parţiale, ai , j , cu ajutorul cărora se calculează bl , folosind relaţia (82).
În mediul MATLAB, variantele începând de la 5, s-au introdus două funcţii
care realizează sinteza şi respectiv analiza laticei. Acestea au sintaxa:
[k,c]=tf2latc(B,A), pentru sinteză, notaţiile fiind cele utilizate mai sus;
[B,A]=latc2tf(k,c), pentru analiză.

Stabilitatea filtrelor în forma latice. Criteriul Schur-Cohn


Pentru un filtru dat în forma latice, testarea stabilităţii ar presupune calculul
polinomului de la numitor, AN(z) apoi a rădăcinilor acestuia, care trebuie să se situeze
în interiorul cercului de rază unitate.
O cale mult mai simplă se bazează pe testul de stabilitate Schur-Cohn.
Acesta afirmă că filtrul este stabil dacă şi numai dacă toţi coeficienţii de
reflexie sunt de modul subunitar,
k m < 1, m = 1,2,L, N (84)

Aplicat în general unei funcţii de transfer raţionale H(z), testul Schur-Cohn


are avantajul de a permite verificarea stabilităţii, fără a necesita calculul polilor,
operaţie dificilă în cazul unor filtre de ordine mari.
Acest test, aplicat unei structuri latice nerecursive, permite să se verifice dacă
filtrul respectiv este sau nu de fază minimă.
x(n) = e Nf (n) e Nf −1 (n) e1f (n) e0f (n)

kN k N −1 k1

e Nb (n) e Nb −1 (n) e1b ( n) e0b (n)


Fig. 17

22
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

5.2.6 Alte variante ale structurii latice


După cum s-a văzut, structura latice recursivă porneşte de la schema din figura
17 care generează filtre având o funcţie de transfer cu numărător unitar.
Schema de mai sus constă într-un număr de celule cu structură identică,
interconectate. Schema unei celule este dată în figura 13 şi ea este descrisă prin
ecuaţiile (55). Introducând eif−1 (n ) dat de prima ecuaţie în cea de-a doua, se obţine

eif−1 (n) = eif (n) − k i eib−1 (n − 1)


i = N , N − 1,L,1 (85)
( )
eib (n) = k i eif (n) + 1 − k i2 eib−1 (n − 1)

Aceste ecuaţii corespund schemei din figura 18.

eif (n) ei−f 1 (n)

ki − ki
1 − k i2 z −1
eib (n) eib−1 (n − 1)
b
ei−1 ( n)

Fig. 18

Noua structură nu prezintă în interes deosebit, având o complexitate aritmetică


ridicată (3 multiplicări). Ea reprezintă însă punctul de plecare pentru deducerea altor
scheme. Vom face pentru început o operaţie de normare cu un factor α i , compensată
în final, astfel încât să nu modifice funcţiile de transfer (figura 19)

1 αi αi
eif (n) ei−f 1 (n)

α i ki − ki
1 − k i2 z −1
eib (n) eib−1 (n − 1)
b
ei−1 ( n)

Fig. 19

O structură echivalentă cu aceea din figura 19 este dată în figura 20, în care s-a
introdus o multiplicare spre ieşirea eib (n ) operând totodată modificările necesare
pentru ca această mărime să nu se schimbe.

23
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

1 αi αi
eif (n) ei−f 1 (n)

ki − ki
z −1
eib (n) αi (1− k ) α
2
i i
b
ei−1 ( n)

Fig. 20

În fine, se costată uşor că multiplicările cu 1 α i şi α i din partea stângă a schemei pot


fi mutate în partea dreaptă (figura 21), noul graf rămânând echivalent cu cel din
figura 20.

αi 1 αi
eif (n) ei−f 1 (n)

ki − ki

eib (n) (1− k ) α


2
i i
α i z −1 b
ei−1 ( n)

Fig. 21
Dacă dorim să construim o latice cu asemenea celule, cei doi multiplicatori din partea
dreaptă a fiecărei celule pot fi comasaţi la extremităţile acesteia (figura 22), în care
N
α = ∏α i , iar celulele vor avea deci structura din figura 23.
i =1

x(n) = e Nf (n) e Nf −1 (n) e1f (n) e0f (n)


α
kN k N −1 k1
αN α N −1 α1

e Nb (n) e Nb −1 (n) e1b ( n) e0b (n)

Fig. 22

24
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

αi
eif (n) ei−f 1 (n)

ki − ki

eib (n) (1− k ) α


2
i i
z −1 b
ei−1 ( n)

Fig. 23

Alegând α i = 1 + k i se obţine celula din figura 24, cunoscută sub denumirea


celula Kelly-Lochbaum.

1+ k
eif (n) i ei−f 1 (n)

ki − ki

eib (n) 1− k z −1 b
ei−1 ( n)
i

Fig. 24

Pornind tot de la structura din figura 23, presupunând laticea stabilă, deci
k i < 1 , putem nota

k i = sin θ i i = N , N − 1,L,1 (86)

şi alegem α i = cosθ i . Se obţine structura din figura 25, numită celula latice normată

eif (n) cosθ i ei−f 1 (n)

sinθ i − sinθ i

eib (n) cosθ i z −1 b


ei−1 ( n)

Fig. 25

Ea este caracterizată de ecuaţiile

25
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

eif−1 (n) = cosθ i eif (n) − sin θ i eib−1 (n − 1)


i = N , N − 1,L,1 (87)
eib (n) = sin θ i ei (n) + cosθ i eib−1 (n − 1)
f

O calitate a acestei celule constă în robusteţea ei numerică, în sensul de a avea o


comportare satisfăcătoare în cazul utilizării unei reprezentări în virgulă fixă cu un
număr finit de biţi.
În fine, pornind tot de la celula Kelly-Lochbaum (figura 24) se poate deduce o
structură cu un singur multiplicator (figura 26). Lăsăm pe seama cititorului
demonstrarea echivalenţei între această celulă şi celula Kelly-Lochbaum.

eif (n) ki ei−f 1 (n)


−1

eib (n) z −1 b
ei−1 ( n)

Fig. 26

5.2.7 O structură bazată pe ecuaţiile de stare-forma normală

Pentru a putea caracteriza comportarea unui sistem discret la un moment


n>n0, nu este suficientă doar cunoaşterea semnalului de intrare x(n), pentru n>n0; mai
trebuie cunoscut şi un set de condiţii iniţiale la n=n0, deci "starea" sistemului la acest
moment de timp. Această observaţie sugerează separarea unui sistem în două părţi,
una care conţine elementele cu memorie şi alta, pe acelea fără memorie. Informaţia
stocată în componentele cu memorie (ieşirile circuitelor de întârziere) reprezintă
starea sistemului.
În schema unui filtru, variabilele de stare vor fi deci ieşirile circuitelor de
întârziere şi vom nota cu v(n) vectorul format cu acestea. Intrările circuitelor de
întârziere cu care se poate constitui deci vectorul v(n+1), sunt determinate de
variabilele de stare, v(n), şi de semnalul de intrare x(n). În fine, semnalul de ieşire,
y(n), va fi determinat numai de variabilele de stare v(n) şi de intrarea x(n). Aceste
afirmaţii sunt conţinute în sistemul de ecuaţii:
v (n + 1) = Av(n) + Bx(n)
(88)
y (n) = Cv(n) + dx(n)

Acesta corespunde schemei din figura 27.

26
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

x(n) v(n + 1) v(n) y (n)


B I ⋅ z −1 C

Fig. 27

În cazul unui filtru de ordinul doi, se obţine schema din figura 28.
a11

v1 (n + 1) v1 (n)
z −1
b1 a12 a 21 c1
x(n ) y (n)

d
b2 c2
−1
z
v 2 (n + 1) v 2 ( n)

a 22

Fig. 28
Să determinăm expresia funcţiei de transfer, a unui filtru descris prin ecuaţiile
de stare.
Aplicând transformata Z ecuaţiilor de stare,

zV ( z ) = AV ( z ) + BX ( z )
(89)
Y ( z ) = CV ( z ) + dX ( z )

unde
X ( z ) = Z {x(n )}; Y ( z ) = Z {y (n )}; V ( z ) = Z {v(n )} (90)

Din prima relaţie

27
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

V ( z ) = ( zI − A) −1 BX ( z ) (91)

deci
Y ( z)
H ( z) = = C( zI − A) −1 B + d (92)
X ( z)

Polii funcţiei de transfer sunt daţi de :

det( zI − A) = 0 (93)

care este ecuaţia caracteristică a matricei A, deci ei sunt valorile proprii ale acestei
matrice.
Aplicaţie
Să se arate că o modificare a matricelor ce intervin în ecuaţiile de stare ale
unui filtru conform relaţiilor

A' = T −1AT; B' = T −1B; C' = CT; d ' = d ,

unde T este o matrice nesingulară, lasă invariantă funcţia de transfer. Care sunt
consecinţele acestui fapt?
Rezolvare:
Noua funcţie de transfer este dată de

H ' ( z ) = C' ( zI − A' ) −1 B'+ d ' = CT( zT' T − T −1 AT) −1 T −1B + d =


(94)
= CT[T −1 ( zI − A)T]−1 T −1B + d = C( zI − A) −1 B + d = H ( z )

Prin această transformare se modifică structura, păstrând funcţia de transfer.


Se poate pune deci problema găsirii unei transformări care să minimizeze zgomotele
datorate numărului limitat de biţi cu care se efectuează operaţiile aritmetice.

Probleme

1. Fie filtrele având funcţiile de transfer


H 1 ( z ) = 1 − 3,5 z −1 + 3,5 z −2 − z −3

H 2 ( z ) = 1 − 4 z −1 + 7,5 z −2 − 7,5 z −3 + 4 z −4 − z −5
H 3 ( z ) = 1 − 3 z −1 + 4,5 z −2 − 3z −3 + 1
H 4 ( z ) = 1 − 2 z −1 + 1,5 z −2 + 1,5 z −3 − 2 z −4 + z −5
Sintetizaţi-le în structura:
-directă;
-transpusă;
-cascadă.

2. Fie filtrele având funcţiile de transfer

28
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

H 1 ( z ) = 1 + 0,6 z −1 + 0,624 z −2 + 0,8 z −3

H 2 ( z ) = 1 − 1,7 z −1 + 1,69 z −2 − 0,723z −3 + 0,089 z −4


H 3 ( z ) = 1 − 3 z −1 + 4,5 z −2 − 3 z −3 + z −4
H 4 ( z ) = 1 − 2 z −1 + 1,5 z −2 + 1,5 z −3 − 2 z −4 + z −5
H 5 ( z ) = 1 + 0,78 z −1 + 0,75 z −2 + 1,25 z −3
Sintetizaţi-le în structura latice. Încercaţi acelaşi lucru şi cu ajutorul programelor
MATLAB; este întotdeauna posibil ?

3. Sintetizaţi în forma directă şi în forma transpusă filtrele având coeficienţii de


reflexie
a. 0,2; 0,4; 0,8.
b. 1; 1; 1; 1.
c. 0,5; 2; 0,3.
d. 0,2; 0,4; 1,25.
e. 1; 0,2; 0,1; 0,1.

4. Verificaţi dacă filtrele având funcţiile de transfer:


H 1 ( z ) = 1 + z −1 + z −2 + z −3 + z −4
H 2 ( z ) = 1 + 0,27 z −1 + 0,106 z −2 − 0,18 z −3 − 0,8 z −4
H 3 ( z ) = 1 + 2,88 z −1 + 0,34 z −2 − 2,16 z −3 − 0,8 z −4
sunt de fază minimă. Sintetizaţi-le în formă latice.

5. Demonstraţi că în cazul unui filtru cu


(
H ( z ) = 1 + z −1 ) N

toţi coeficienţii de reflexie sunt egali cu 1.

6. Propuneţi o realizare nerecursivă şi una recursivă pentru integratorul numeric:


N
H ( z ) = ∑ z −i
i=0
Comparaţi cele două realizări.

7. Sintetizaţi în structura cascadă filtrele cu:


1 − 1,8 z −1 + 2,21z −2 − 1,232 z −3 + 0,4628 z −4
H1 (z ) =
1 − 1,4 z −1 + 1,69 z −2 − 0,924 z −3 + 0,4148 z −4
1 + 0,2 z −1 - 2,74 z −2 + 3,082 z −3 - 0,9915 z −4
H 2 (z ) =
1 - 2,8 z −1 + 3,66 z −2 - 2,428 z −3 + 0,7565 z −4
2 - 3,6 z −1 + 1,3 z −2 + 0,4 z −3 - 0,2 z −4
H 3 (z ) =
1 - 0,6 z −1 + 0,04 z −2 + 0,806 z −3 − 0,4 z −4

29
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

Arătaţi cum pot fi folosite funcţiile MATLAB pentru rezolvarea problemei.


Verificaţi stabilitatea filtrelor.

8. Sintetizaţi în forma "paralel" filtrele având:


1 + z −1
H1 (z ) =
(1 - 0,5 z −1 )(1 - 0,8 2 z −1 + 0,64 z −2 )
1 - z −4
H 2 (z ) =
2 − 0,6 z −1 − 0,26 z −2 + 0,75 z −3 − 0,36 z −4
Arătaţi cum pot fi folosite funcţiile MATLAB pentru rezolvarea problemei.
Evaluaţi funcţiile de pondere corespunzătoare.

9. Scrieţi un program MATLAB care să rezolve problema sintezei unui filtru RII în
structura latice-scară, care, fiind dat:
N
∑ bi z −i
H (z ) = i =0
N
1 + ∑ a i z −i
i =1
să genereze coeficienţii ki şi ci.

10. Sintetizaţi în formă latice-scară filtrele având:


1 - 2 z −1 + z −2
H1 (z ) =
1 - z −1 + 0,5 z −2
1 + 2 z −1 + 3z −2 + 2 z −3
H 2 (z ) =
1 + 0,9 z −1 - 0,8 z −2 + 0,5 z −3
Verificaţi stabilitatea.

11. Scrieţi un program MATLAB care să rezolve problema analizei unui filtru RII în
structura latice care, fiind daţi parametrii ci, ki, să determine:
N
∑ bi z −i
H (z ) = i=0
N
1 + ∑ a i z −i
i=1

12. Stabiliţi formulele de calcul pentru realizarea funcţiei:


b0 + b1 z −1 + b2 z −2
( )
H z =
1 + a1 z −1 + a 2 z −2
în forma "latice-scară", utilizând formula de recurenţă.

13. Verificaţi formulele obţinute la problema 12 utilizând regula lui Mason. Aplicaţi
aceste formule pentru

30
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

1 - 2 z −1 + z −2
H (z ) =
1 - z −1 + 0,5 z −2

14. Demonstraţi, utilizând regula lui Mason, că filtrul din figura 20 este de tip trece-
tot.
x(n)

− k2 − k1

k2 k1

y (n) z −1 z −1

Fig.29

Poate fi generalizată această proprietate ?

15. Sintetizaţi în formă latice filtrul


0,5 + 0,2 z −1 - 0,6 z −2 + z −3
H (z ) =
1 - 0,6 z −1 + 0,2 z −2 + 0,5 z −3
Testaţi stabilitatea filtrului.

16. Demonstraţi echivalenţa între celula Kelly-Lochbaum (figura 24) şi celula cu un


singur multiplicator (figura 26).

17. Pentru celula latice recursivă în forma normală (figura 25) definim vectorul
semnalelor de intrare [e f
i −1 (n ), eib (n )] şi vectorul semnalelor de ieşire
[ei
f
(n ), eib−1 (n − 1)] . Demonstraţi că aceşti vectori au aceiaşi normă.

18. Sintetizaţi cu un număr minim de multiplicatoare filtrul cu funcţia de transfer

0,5 + 0,2 z −1 - 0,6 z −2 + z −3


H (z ) =
1 - 0,6 z −1 + 0,2 z −2 + 0,5 z −3

19. Sintetizaţi filtrul cu funcţia de transfer


1
H (z ) =
1 − 0,2 z 0,9 z −2 + 0,6 z −3
−1

în formele:

31
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

• latice;
• latice Kelly-Lochbaum;
• latice normată;
• latice cu un multiplicator pe celulă.

20. Se consideră sistemele discrete din figurile 30 şi 31.

x(n ) z −1 z −1 z −1 z −1 z −1 z −1

1 1 1 1 1 1
2 −
4 2 4 2 4 2

1

1 y (n )
4 2
Fig.30
x(n ) −1 −1
z z z −1

z −1 z −1 z −1

a b c
y (n )

Fig.31

Se cere:
a) Să se determine coeficienţii a, b, c astfel încât cele două sisteme să fie
echivalente.
b) Să se exprime funcţia de transfer în forma
( )
H e jω =
( )
Y e jω
( )
= H 0 e jω e jθ ( ω ) , ( )
H 0 e jω ∈ R
( )
X e jω

21. Sintetizaţi în forma latice filtrul având:


1
H (z ) =
1 - 2rz −1 cosθ + r 2 z −2

22. Se consideră filtrul cu structură "normală" din figura 28. Deduceţi funcţia de
transfer sub formele:

32
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină

γ1 z −1 + γ2 z −2
H (z ) = d +
1 + a1 z −1 + a 2 z −2
b0 + b1 z −1 + b2 z −2
H (z ) =
1 + a1 z −1 + a 2 z −2

23. Verificaţi formulele obţinute la problema 22 folosind regula lui Mason.

24. Calculaţi ecuaţia intrare-ieşire cu diferenţe finite, ecuaţiile de stare, funcţia de


transfer şi desenaţi diagrama poli-zerouri pentru filtrul cu schema din figura 32.

r cos θ
r sin θ
z −1
x(n) r sin θ y (n)

− r sinθ
z −1
− r cos θ

r cosθ

Fig. 32

25. Scrieţi ecuaţiile de stare şi găsiţi realizarea corespunzătoare pentru un filtru RFI
având:
M
H ( z ) = ∑ bk z −k
k=0

33
Prelucrarea Numerică a Semnalelor Silviu Ciochină

PROCESE ALEATOARE DISCRETE ÎN TIMP

2.1 PROPRIETĂŢI GENERALE


2.1.1 Medii statistice. Clasificări
Un proces aleator discret poate fi definit ca o secvenţă de variabile aleatoare x(n),
indexată cu variabila temporală n. Evident, x(n), privit ca o variabilă aleatoare, poate fi
caracterizat prin funcţia densitate de probabilitate, care va fi în general o funcţie de timp,
wx(n)(x). În consecinţă, valorile medii sunt şi ele dependente şi de variabila temporală n. De
exemplu, valoarea medie va scrie

m x (n ) = E{x (n )} = ∫ xw x (n ) (x )d x (2.1)
−∞
iar funcţiile de corelaţie şi covarianţă vor depinde de două variabile temporale,
∞ ∞
{ } ∫ ∫ xy *wx(k )y(l ) (x, y )d x d y
rxy (k , l ) = E x (k ) y * (l ) = (2.2)
−∞ −∞
c xy (k , l ) = E{(x (k ) − m x (k ))( y (l ) − m y (l ))* }= rxy (k , l ) − m x (k )m *y (l ) (2.3)
În cazul când x (k ) şi y (l ) sunt două variabile aleatoare statistic independente, deci
w x (k ) y (l ) (x, y ) = w x (k ) ( x )w y (l ) ( y ) (2.4)
rezultă imediat că
rxy (k , l ) = m x (k )m *y (l ) (2.5)
şi în consecinţă
c xy (k , l ) = 0 (2.6)
Dacă este îndeplinită ultima relaţie, se spune că x (k ) şi y (l ) sunt necorelate. Se observă că
dacă două semnale sunt statistic independente, ele sunt şi necorelate. Reciproca nu este în
general adevărată. Ea are totuşi loc în cazul proceselor gaussiene, unde cele două noţiuni sunt
echivalente.
Se spune că x (k ) şi y (l ) sunt ortogonale, dacă
{ }
rxy (k , l ) = E x (k ) y * (l ) = 0 (2.7)
În cazul particular x=y, se obţin funcţiile de autocorelaţie
{
rxx (k , l ) = E x (k )x * (l ) } (2.8)
şi autocovarianţă,
{ }
c xx (k , l ) = E (x (k ) − m x (k ))(x (l ) − m x (l ))∗ = rxx (k , l ) − m x (k )m*x (l ) (2.9)
Se poate uşor demonstra că:
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

- Dacă x (k ) şi y (l ) sunt variabile aleatoare ortogonale, funcţia de autocorelaţie a sumei este


egală cu suma funcţiilor de autocorelaţie,
rx + y , x + y (k , l ) = rxx (k , l ) + ryy (k , l ) (2.10)
- Dacă x (k ) şi y (l ) sunt variabile aleatoare necorelate, autocovarianţa sumei este egală cu
suma autocovarianţelor,
c x + y , x + y (k , l ) = c xx (k , l ) + c yy (k , l ) (2.11)

Proces aleator staţionar

Dacă proprietăţile statistice sunt independente de timp se zice că procesul este


staţionar.
De exemplu, dacă densitatea de probabilitate de ordinul 1, w x (n ) (x ) = w x ( x ) nu
depinde de n, rezultă că media m x (n ) = m x nu depinde de n. Se spune în acest caz că procesul
este staţionar de ordinul 1 sau staţionar în medie.
Dacă în plus, densitatea de probabilitate de ordinul 2, satisface condiţia
w x (k )x (l ) ( x1 , x 2 ) = w x (k + n )x (l + n ) ( x1 , x 2 ) (2.12)
pentru orice n întreg, se spune că procesul este staţionar de ordinul doi. In acest caz funcţia de
autocorelaţie va fi
rxx (k , l ) = rxx (k + n, l + n ) (∀) n ∈ ℤ (2.13)

sau luând n=-l,


rxx (k , l ) = rxx (k − l ,0) = rxx (k − l ) (2.14)
deci funcţia de autocorelaţie depinde numai de diferenţa momentelor de timp k-l.
În fine, dacă proprietatea de mai sus poate fi extinsă pentru densităţile de probabilitate
de orice ordin, se spune că procesul este staţionar în sens strict.
Deoarece frecvent interesează numai mediile de ordin 1 şi 2, este utilă noţiunea de
proces aleator staţionar în sens larg, definit ca un proces pentru care:
- m x (n ) = m x constant;
- rxx (k , l ) = rxx (k − l ) depinde numai de diferenţa momentelor de timp;
- c xx (0) < ∞ (este finit).
Deoarece condiţiile acestea se pun numai asupra momentelor, ele sunt mai slabe decât
cele impuse asupra densităţilor de probabilitate.

Proprietăţi ale funcţiilor de corelaţie pentru procese aleatoare staţionare în sens


larg.
Pentru această categorie de procese aleatoare sunt evidente următoarele relaţii:
{ } { }
rxy (k ) = E x (n + k ) y * (n ) = E x (n ) y * (n − k ) (2.15)
rxx (k ) = E{x (n + k )x * (n )}= E{x (n )x * (n − k )} (2.16)

ryx (k ) = E{y (n + k )x * (n )}= E{x (n ) y * (n + k )} = rxy


* *
(− k ) (2.17)
În particular
rxx (k ) = rxx
*
(− k ) (2.18)
deci secvenţa de autocorelaţie este conjugat simetrică.
Având în vedere că
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

c xy (k ) = rxy (k ) − m x m *y (2.19)
rezultă de asemenea
c yx (k ) = c *xy (− k ) (2.20)
deci, în particular, şi funcţia de autocovarianţă este conjugat simetrică, şi

c xx (k ) = rxx (k ) − m x
2
(2.21)

În fine, valoarea din origine a funcţiei de autocorelaţie,


{
rxx (0) = E x (n )
2
} (2.22)
reprezintă valoarea medie pătratică a procesului aleator x(n). Se poate demonstra că modulul
funcţiei de autocorelaţie îşi atinge maximul în origine,
rxx (n ) < rxx (0), n ≠ 0 (2.23)
Valoarea în origine a funcţiei de autocovarianţă este numită varianţă
var{x} = c xx (0) = σ x2 = rxx (0) − m x
2
(2.24)
unde σ x este dispersia.

2.1.2 Medii temporale. Ergodicitate


Valorile medii prezentate până aici sunt medii statistice, pe ansamblul tuturor
realizărilor posibile. Deşi sunt foarte utile pentru multe aplicaţii, frecvent ele nu sunt
cunoscute. Se pune problema de a estima aceste valori medii pornind de la cunoaşterea
eşantioanelor succesive ale unei singure realizări particulare a procesului aleator.
Dacă se cunosc 2N+1 eşantioane ale unei realizări particulare, se poate evalua media
aritmetică a acestora,
N
1
mˆ x (N ) = ∑ x (n ) (2.25)
2 N + 1 n =− N
Se pune problema în ce măsură cantitatea de mai sus tinde către media statistică
E{x(n)}, atunci când N creşte. Evident problema are sens numai dacă procesul este staţionar în
medie (deci dacă media statistică este constantă).
Se spune că mˆ x ( N ) tinde către mx în medie pătratică dacă

N →∞
{
lim E mˆ x (N ) − mx
2
}= 0 (2.26)

Un proces care satisface relaţia de mai sus se zice că este ergodic în medie şi vom
scrie că:
lim mˆ x (N ) = mx = E{x (n )} (2.27)
N →∞
Se poate demonstra că o condiţie necesară şi suficientă pentru ca un proces staţionar în
sens larg să fie ergodic în medie este
N
1
lim c xx (n ) = 0
∑ (2.28)
N →∞ 2N + 1
n=−N
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

Ideea de estimare temporală se poate extinde şi asupra altor medii. Pentru funcţia de
autocorelaţie, putem porni de la secvenţa
y k (n ) = x (n + k )x * (n ) (2.29)

Introducem estimatorul:
N N
1 1
rˆxx (k , N ) = y k (n ) =
∑ x (n + k )x * (n )
∑ (2.30)
2N + 1 n = −N 2N + 1 n = −N
Dacă acesta converge în medie pătratică spre rx(k),

N →∞
{
lim E rˆxx (k , N ) − rxx (k )
2
}= 0 (2.31)

se spune că procesul este ergodic în autocorelaţie şi se scrie


lim rˆxx (k , N ) = rxx (k ) (2.32)
N →∞
În particular, pentru un asemenea proces putem scrie:
N N
1 1
rxx (0) = lim x * (n )x (n ) = lim
∑ x (n ) ∑
2
(2.33)
N →∞ 2N + 1 N →∞ 2N + 1
n=−N n=−N
Această expresie reprezintă însă puterea medie a semnalului, deci rezultă valabilitatea
afirmaţiei:
Funcţia de autocorelaţie evaluată în origine este egală cu puterea medie a
semnalului.
Relaţia
rxx (0 ) = σ x2 + m x
2
(2.34)
pune în evidenţă două componente ale acestei puteri; prima, dată de varianţa semnalului, se
referă la componentele variabile ale semnalului, în timp ce ultima, este datorată valorii medii.
Vom accepta în general faptul că
lim c xx (n ) = 0 (2.35)
n →∞
Aceasta corespunde ipotezei naturale că două eşantioane luate la momente de timp foarte
depărtate devin practic necorelate. Se poate demonstra că această condiţie are drept urmare
faptul că procesul aleator este ergodic în medie.

2.1.3 Proprietăţi spectrale


Vom introduce transformata Z a funcţiei de autocorelaţie.

Z {rxx (n )} = ∑r
n = −∞
xx (n )z − n =ˆ Pxx (z )
(2.36)
1
rxx (n ) = Z −1
{Pxx (z )}(n ) = ∫P xx (z )z n −1
dz
2π j
C

unde C este un cerc inclus în domeniul de convergenţă al lui Pxx(z).


S-a văzut că rxx(n)=r*xx (-n), astfel încât :
∞ ∞
⎛ 1 ⎞
Pxx (z ) = ∑
n = −∞
*
rxx (− n )z − n = ∑r
n = −∞
*
xx (n )z n = Pxx* ⎜ * ⎟
⎝z ⎠
(2.37)

În particular, în cazul unui semnal real,


Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

Pxx (z ) = Pxx z −1 . ( ) (2.38)

În consecinţă, domeniul de convergenţă este de forma R− < z < R+ , iar relaţia de mai sus
conduce la R+=1/R-.
Aceasta înseamnă că dacă domeniul de convergenţă este nevid, R-<1, R+>1, deci
cercul z = 1 este inclus în domeniul de convergenţă. Trecând deci pe cercul z=ejω, se obţin
relaţiile Wiener-Hincin:
π

∫π P (e )e { ( )}
1
rxx (n ) = ω
xx
j j nω
d ω = TFTDI Pxx e j ω (n )

− (2.39)

( ) ∑r
Pxx e j ω = xx (n ) e − j nω = TFTD{rxx (n )}(ω )
n = −∞
unde s-au notat cu TFTD şi TFTDI transformatele Fourier în timp discret directă şi inversă.
Pentru n=0,
π

∫π P (e )d ω
1
rxx (0) = ω
xx
j
(2.40)

relaţie ce justifică numele de densitate spectrală de putere dat funcţiei Pxx(ejω), deoarece
c xx (0) = rxx (0) = E x (n ) { 2
} (2.41)
reprezintă puterea medie a semnalului.
În concluzie:
• Secvenţa de autocorelaţie şi funcţia densitate spectrală de putere reprezintă o pereche de
transformate Fourier.
• Această proprietate se extinde şi asupra funcţiei de autocovarianţă pentru semnale cu
valoare medie nulă. Acesta este şi motivul pentru care în multe lucrări se întâlneşte
afirmaţia că funcţia de autocovarianţă şi densitatea spectrală de putere formează o pereche
de transformate Fourier. Se remarcă însă că dacă valoarea medie nu este nulă, transformata
Z a funcţiei de autocorelaţie are domeniul de convergenţă vid, iar transformata Fourier
conţine un impuls delta în origine.
• Funcţia densitate spectrală de putere este o funcţie reală de ω , după cum rezultă din
relaţia (2.37). În plus, din (2.38) rezultă că densitatea spectrală de putere a unui semnal
real este o funcţie pară de ω . Se poate de asemenea demonstra că această funcţie este
( )
nenegativă, Pxx e jω ≥ 0 .
• Puterea medie a unui semnal se poate evalua cu

{ }= 21π
π
E x (n )
2
∫ Pxx (e

)d ω = 2π1 j ∫ P xx (z )z −1 d z (2.42)
−π C
C = {z ∈ ℂ z = 1}
• Urmând un procedeu analog celui prezentat mai înainte, se poate introduce şi o funcţie
densitate de putere de interacţiune a două procese, definită ca transformată Z a secvenţei
cxy(n).

Aplicaţia 1
Zgomotul alb se poate defini prin
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

rxx (k ) = σ x2δ (k ) (2.43)


Vom presupune în plus că valoarea medie este nulă, aşa încât varianţa
rxx (0) = c xx (0) = σ x2 (2.44)
reprezintă puterea medie. Conform relaţiilor de mai sus, zgomotul alb se caracterizează prin
aceea că două eşantioane diferite sunt necorelate. Pe de altă parte, densitatea spectrală de
putere este

( ) ∑σ x2δ (n )e − jnω = σ x2

Pxx e jω = (2.45)
n = −∞
constantă, ceea ce justifică denumirea de zgomot alb şi poate constitui o definiţie echivalentă
cu precedenta. Aparent, ar exista o contradicţie între faptul că σx2 reprezintă puterea şi în
acelaşi timp şi densitatea de putere. Aceasta provine din faptul că se utilizează frecvenţe
normate, deci
( )
Pxx e jω = σ x2 pentru ω ∈ [0, 2π ] (2.46)
In frecvenţe nenormate, densitatea spectrală de putere se exprimă prin

( )
2
σ
Pxx e jΩ = x pentru Ω ∈ [0, 2πFs ] (2.47)
Fs
Aplicaţia 2
Fie un proces aleator staţionar discret caracterizat prin
E{x (n )} = 0, rxx (k ) = α , 0 < α < 1
k

Să evaluăm şi să reprezentăm, ca funcţie de ω, densitatea spectrală de putere.

∑ (αz )−k + ∑ (αz −1 ) = ∑ (αz )k + ∑ (αz −1 )


∞ −1 ∞ k ∞ ∞ k
Pxx (z ) = Z {rxx (k )} = ∑α
k
z −k =
k = −∞ k = −∞ k =0 k =1 k =0
Prima din cele doua progresii geometrice este convergentă dacă:
1
αz < 1 ⇒ z <
α
iar a doua, dacă
αz −1 < 1 ⇒ z >α
Rezultă domeniul comun de convergenţă,
1
α<z<
α
nevid dacă 0<α<1, în care
1 1 1−α2
Pxx (z ) = αz + =
1 − αz 1 − αz −1 (1 − αz ) 1 − αz −1 ( )
Deoarece domeniul de convergenţă include cercul |z|=1, are sens

( ) (
Pxx e jω =
1−α 2
1 − α e jω 1 − α e − jω
=
)(
1−α 2
1 + α 2 − 2α cos ω)
În figura 2.1 este reprezentată funcţia de autocorelaţie pentru α=0,5 (cu linie plină) şi α=0,9 (cu
linie punctată). Evident, cu cât α este mai mic, rxx(k) scade mai repede (eşantioanele având un
anumit decalaj în timp sunt mai slab corelate). In figura 2.2, sunt reprezentate densităţile
spectrale de putere în cele două cazuri.
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

Se vede că la valori mai mici ale lui α, rezultă o mai mare "împrăştiere" a puterii în
frecvenţă (semnalul se apropie mai mult de un zgomot alb, când α → 0 ). Exemplul considerat
ilustrează de fapt o proprietate mai generală, conform căreia “durata” funcţiei de autocorelaţie
şi lărgimea de bandă a spectrului de putere al semnalului se află într-o dependenţă inversă.

rxx 1

0 .8

0 .6

0 .4

0 .2

k
0
-4 0 -2 0 0 20 40

Fig. 2.1 Funcţiile de autocorelaţie pentru α = 0,5 (linie plină) şi α = 0,9 (linie punctată)

20
P xx

15

10

ω
0
-4 -2 0 2 4

Fig. 2.2 Densităţile spectrale de putere pentru α = 0,5 (linie plină) şi α = 0,9 (linie punctată)

2.1.4 Matricea de autocorelaţie a unui proces staţionar


Fie seria temporală trunchiată, reprezentată prin vectorul
x( n ) = [x (n ), x (n − 1),..., x (n − N + 1)]T (2.48)
unde x este un proces staţionar în sens larg. Se defineşte matricea de autocorelaţie prin:
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

⎡ r (0) r (1) . . . r (N − 1)⎤


⎢ r (− 1) r ( 0) . . . r (N − 2 )⎥
⎢ ⎥
{ } ⎢
R = E x (n )x H (n ) = ⎢
.
.

⎥ (2.49)
⎢ ⎥
⎢ . ⎥
⎢ ⎥
⎣ r (− N + 1) r (− N + 2 ) . . . r ( 0) ⎦
unde indicele H semnifică operaţiile de conjugare şi transpunere, iar
{ } { }
r (k ) = E x * (n )x (n + k ) = E x * (n − k )x (n ) (2.50)
este funcţia de autocorelaţie a vectorului x(n). Altfel spus, elementul liniei i şi coloanei j al
matricei R este Rij = r ( j − i ) .
Având în vedere rolul foarte important pe care această matrice îl are în analiza
statistică, vom prezenta în continuare o serie de proprietăţi ale acesteia.
1) Matricea de autocorelaţie pentru un proces aleator staţionar în sens larg este
hermitică:
RH = R
Acest lucru este evident din definiţie (forma compactă) sau din forma dezvoltată, având în
vedere că r (− k ) = r * (k ) .
2) Matricea R este o matrice Toeplitz (are toate elementele de pe diagonala principală
egale, iar elementele de pe orice altă diagonală paralelă cu diagonala principală, de asemenea,
egale între ele ).
3) Matricea R este pozitiv semidefinită. Pentru a demonstra această proprietate, vom
arăta că pentru orice vector complex nenul u de dimensiune N × 1 ,
N N
u H Ru = ∑∑ r ( j − i )u *i u j ≥ 0. (2.51)
i =1 j =1
Într-adevăr,

{ } { } ⎧ 2⎫
u H Ru = u H E x (n )x H (n ) u = E u H x (n )x H (n )u = E ⎨ u H x (n ) ⎬ ≥ 0. (2.52)
⎩ ⎭
4) Fie xB(n) vectorul obţinut inversând ordinea elementelor vectorului x(n):
x B ( n ) = [x (n − N + 1), x (n − N + 2 ),..., x (n )]T (2.53)
Matricea de autocorelaţie a acestui vector se obţine prin transpunerea matricei R iniţiale:
{ }
E x B (n )x BH (n ) = R T . (2.54)

5) Matricea R aşa cum a fost definită, este de dimensiune NxN. Putem pune în
evidenţă acest lucru, adăugând un indice inferior (RN). Adăugând încă un element la vectorul
x(n) va rezulta o matrice de autocorelaţie extinsă de dimensiune (N+1)x(N+1) pe care o notăm
deci RN+1. Se poate uşor vedea că sunt posibile următoarele partiţii:
⎡ r (0) r H ⎤ ⎡ R N r B* ⎤
R N +1 = ⎢ ⎥ = ⎢ BT ⎥ (2.55)
⎢⎣ r R N ⎥⎦ ⎢⎣r r (0)⎥⎦
unde
r H = [r (1), r (2 ),..., r (N )] (2.56)
Fie λi valorile proprii ale matricei R, deci rădăcinile ecuaţiei caracteristice
det (R − λI ) = 0 (2.57)
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

şi qi vectorii proprii asociaţi,


Rq i = λi q i , i = 1,..., N . (2.58)
6) Valorile proprii ale matricei Rk, unde k este întreg, sunt λik, i=1,2,..,N.
7) Dacă valorile proprii λi, i=1,..,N sunt distincte, atunci vectorii qi corespunzători sunt
liniar independenţi, şi pot fi deci utilizaţi ca o bază pentru reprezentarea oricărui vector w în
spaţiul respectiv.
8) Toate valorile proprii ale matricei de autocorelaţie sunt reale şi pozitive. Este o
consecinţă a proprietăţilor 1 şi 3. Într-adevăr, înmulţind la stânga relaţia (2.58) cu qiH se
obţine
q iH Rq i
λi = ≥0 (2.59)
q iH q i
9) Vectorii proprii qi, qj, corespunzători unor valori proprii distincte,
λi ≠ λ j , i, j = 1,2,..., N , i ≠ j , sunt ortogonali,
q Hj q i = 0 (2.60)
Pentru demonstraţie vom scrie, conform definiţiei:
Rq i = λi qi , Rq j = λ j q j (2.61)
şi vom înmulţi prima relaţie cu qjH,
q Hj Rq i = λi q Hj q i (2.62)
Celei de-a doua relaţii i se aplică o transpunere hermitică (transpunere şi conjugare complexă),
ţinând seama şi de proprietatea 1,
q Hj R H = q Hj R = λ j q Hj (2.63)
după care se înmulţeşte cu qi la dreapta
q Hj Rq i = λ j q Hj q i (2.64)
şi se scade din ecuaţia obţinută mai înainte,
(λi − λ j )q Hj q i = 0 (2.65)
care demonstrează proprietatea enunţată. În particular, deoarece prin înmulţirea unui vector
propriu cu o constantă se obţine tot un vector propriu, se poate construi un set ortonormat de
vectori proprii
⎧1, i = j
q Hj q i = ⎨ (2.66)
⎩0, i ≠ j
10) Matricea R poate fi diagonalizată în cazul în care valorile proprii sunt distincte
conform relaţiei:
Q H RQ = Λ (2.67)
unde
Q = [q1 , q 2 ,..., q N ], Λ = diag(λ1 , λ2 ,..., λ N ) (2.68)
iar qi reprezintă un set ortonormal de vectori proprii. Evident, matricea Q este unitară, în sensul
că:
Q H Q = I, sau Q −1 = Q H . (2.69)
Demonstraţia proprietăţii este imediată, având în vedere că din relaţiile (2.58) rezultă:
RQ = QΛ (2.70)
şi înmulţind la stânga cu QH se obţine (2.67).
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

Înmulţind aceeaşi ecuaţie cu Q −1 = Q H rezultă teorema lui Mercer sau teorema


spectrală:
N
R = Q Λ Q H = ∑ λi q i q iH . (2.71)
i =1
11) Urma matricei R, adică suma elementelor de pe diagonala principală, este egală
cu suma valorilor proprii
N
tr (R ) = ∑ λi (2.72)
i =1
Este o proprietate mai generală a matricelor pătrate, care în cazul de faţă conduce la
N
1
r (0) = ∑ λi . (2.73)
N i =1

12) Se defineşte norma spectrală a unei matrice A prin

( )
1
H
A s
= valoarea proprie maxima a matricei A A 2 (2.74)
În cazul matricei R, aceasta înseamnă, ţinând seama de proprietăţile 1 şi 6,
R s = λmax . (2.75)
Se defineşte numărul condiţional al unei matrice, prin
χ (A ) = A s
A −1 (2.76)
s
În cazul matricei R:
1 λmax
R = λmax , R −1 = , ⇒ χ (R ) = (2.77)
s s λmin λmin
unde λmin şi λmax sunt respectv valoarea proprie minimă şi maximă ale matricei R. Se spune că o
matrice este “rău condiţionată” când acest număr are valori mari, aceasta conducând la
dificultăţi în calculul numeric.

13) Câtul Rayleigh asociat unui vector u nenul, de dimensiune Nx1, definit prin
u H Ru
(2.78)
uH u

ia valori limitate inferior şi superior conform:


u H Ru u H Ru
λmin = min H , λmax = max H (2.79)
u u u u
Acesta este o consecinţă a "teoremei minimax" din algebra liniară.
14) Valorile proprii ale matricei de autocorelaţie sunt mărginite superior şi inferior de
valorile maximă şi respectiv, minimă ale densităţii spectrale de putere,

ω
( )
min Pxx e jω ≤ λi ≤ max Pxx e jω
ω
( ) (2.80)

Exemple:
1) Cazul unui zgomot alb:

{ }
⎧⎪σ 2 , k = 0
r (k ) = E x * (n )x (n + k ) = ⎨
⎪⎩ 0, k ≠ 0
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

deci
R = σ 2I

2) Cazul unei sinusoide complexe, x (n ) = A e jnω , A = A e jϕ în care A şi ω sunt nişte constante,


iar ϕ este o variabilă aleatoare.

{
r (k ) = E A e − jϕ e − j nω A e jϕ e j(n + k )ω = A e jkω } 2

⎡ 1 e jω . . . e j(N −1)ω ⎤
⎢ ⎥
⎢ e − jω
1 . . . e j( N − 2 )ω ⎥
2⎢ . ⎥
⎥ = A e (ω )e H (ω )
2
R= A ⎢
⎢ . ⎥
⎢ . ⎥
⎢ ⎥
⎢⎣e − j(N −1)ω e − j(N − 2 )ω . . . 1 ⎥⎦
unde
[
e (ω ) = 1, e − jω ,..., e − j( N −1)ω ]
T

1) Sinusoidă complexă însumată cu zgomot alb, cu valoare medie nulă,


x (n ) = A e j nω + v (n )
⎧⎪ A 2 + σ 2 , k = 0
r (k ) = ⎨ 2
j kω
⎪⎩ A e , k ≠0

⎡ A2 +σ 2 A e jω A e j(N −1)ω ⎤
2 2
. . .
⎢ ⎥
⎢ A 2 e − jω A e j(N − 2 )ω ⎥
2 2
A +σ 2 . . .
⎢ ⎥
.
R=⎢ ⎥
⎢ . ⎥
⎢ ⎥
⎢ . ⎥
⎢ A 2 e − j( N −1)ω A e − j(N − 2 )ω
2
. . . A + σ 2 ⎥⎦
2

2.2 RĂSPUNSUL SISTEMELOR DISCRETE ÎN TIMP


LA PROCESE ALEATOARE
Fie x(n) un proces aleator staţionar în sens larg aplicat unui sistem liniar, invariant în timp, cu
funcţia de pondere h(n). Semnalul de la ieşirea sistemului, y(n), poate fi exprimat prin
convoluţia

y (n ) = ∑ h(k )x(n − k ) = x(n ) ∗ h(n ) (2.81)
k = −∞
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

• Valoarea medie a semnalului la ieşire

⎧⎪ ∞
( )
⎫⎪ ∞ ∞
E{y (n )} = E ⎨ ∑ h (k )x (n − k )⎬ = ∑ h (k ) E{x (n − k )} = m x ∑ h (k ) =m x H e j 0 (2.82)
⎪⎩k = −∞ ⎪⎭ k = −∞ k = −∞
• Funcţia de corelaţie între semnalele de la ieşire şi intrare

{ } { }
⎧ ∞ ⎫ ∞
⎪ ⎪
ryx (k ) = E y (n + k )x * (n ) = E ⎨ ∑ h (l )x (n + k − l )x * (n )⎬ = ∑ h (l ) E x (n + k − l )x * (n )
⎪⎩l = −∞ ⎪⎭ l = −∞

ryx (k ) = ∑ h(l )rxx (k − l ) = rxx (k ) ∗ h(k )
l = −∞
(2.83)

• Funcţia de autocorelaţie a ieşirii

{ } { }
⎧⎪ ∞ ⎫⎪ ∞
ryy (k ) = E y (n + k ) y * (n ) = E ⎨ y (n + k ) ∑ x * (l )h * (n − l )⎬ = ∑ h * (n − l ) E y (n + k )x * (l ) =
⎪⎩ l = −∞ ⎪⎭ l = −∞

= ∑ h* (− l )ryx (k − l ) = ryx (k ) ∗ h* (− k )
l = −∞

(2.84)
Ţinând seama de expresia obţinută pentru funcţia ryx (k ) rezultă
ryy (k ) = rxx (k ) ∗ h (k ) ∗ h * (− k ) (2.85)

Rezultatele obţinute pot fi reprezentate sintetic prin schema din figura 2.3.

rxx (k ) ryx (k ) ryy (k )


*
h (k) h (-k)

Fig. 2.3 Schemă pentru calculul funcţiei de autocorelaţie la ieşirea sistemului

• Densitatea spectrală de putere a semnalului de ieşire


Vom presupune în cele ce urmează că semnalul de intrare are valoare medie nulă,
deci
Z {rxx (k )} = Pxx (z ); { }
Z ryy (k ) = Pyy (z ) (2.86)
şi vom nota funcţia de transfer a sistemului
H (z ) = Z {h (n )} (2.87)
Rezultă imediat

{
⎛ 1 ⎞
Z h * (− n ) = H * ⎜⎜ ⎟⎟ } (2.88)
⎝ z* ⎠
deci având în vedere expresia obţinută mai înainte pentru ryy şi teorema convoluţiei,
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

⎛ 1 ⎞
Pyy (z ) = Pxx (z )H (z )H * ⎜⎜ ⎟⎟ (2.89)
⎝ z* ⎠
sau, în frecvenţă:
( ) ( ) ( )
Pyy e jω = Pxx e jω H e jω
2
(2.90)

• Puterea medie a semnalului la ieşire.


Presupunând în continuare valoarea medie a semnalului nulă,
π π
r yy (0) = c yy (0) = σ 2y =
1
2π ∫ ( )
Pyy e jω d ω =
1
2π ∫ Pxx (e

) H (e ω )
j
2
dω (2.91)
−π −π
Utilizând transformate Z,
1 1 ⎛ 1 ⎞ −1
σ 2y = Pyy (z )z −1 d z =
∫ Pxx (z )H (z )H * ⎜⎜
∫ ⎟⎟ z d z, C = {z ∈ ℂ z = 1} (2.92)
2π j 2π j ⎝ z* ⎠
C C

În cazul unui sistem cu funcţie de pondere reală, rămâne:


σ 2y =
1
2π j ∫ ( )
Pxx (z )H (z )H z −1 z −1 d z, C = {z ∈ ℂ z = 1} (2.93)
C

O exprimare temporală se obţine pornind de la (2.84) care pentru k=0 conduce la


∞ ∞ ∞
σ 2y = ryy (0) = ∑ h * (l )ryx (l ) = ∑ ∑ h * (l )rxx (l − m )h(m ) (2.94)
l = −∞ l = −∞ m = −∞
deci
{
σ 2y = E y (n )
2
}= h H
Rh (2.95)
unde h este vectorul coloană format cu elementele h(n), iar R este matricea de autocorelaţie.
Această exprimare prezintă interes în special în cazul filtrelor cu răspuns finit la impuls, când
dimensiunile lui h şi R sunt finite.

• Aplicaţie în cazul unui zgomot alb cu valoare medie nulă mx=0 şi varianţă (putere medie)
σx2;
rxx (k ) = σ x2δ (k ), Pxx (z ) = σ x2
π
σ 2y =
1
2π j
( )
σ x2 ∫ H (z )H z −1 z −1 d z =
1 2

σx ∫ H (e

)2 d ω
C −π

2.3 FACTORIZAREA SPECTRALĂ. TEOREMA LUI WOLD


Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

2.3.1. Procese aleatoare regulate. Factorizarea spectrală.


Densitatea spectrală de putere, Pxx(ejω), pentru un proces aleator discret, staţionar în sens larg,
este o funcţie reală, pozitivă şi periodică. Vom arăta în continuare că, dacă ea este o funcţie
continuă de ω , Pxx(z) poate fi factorizat sub forma:
⎛ 1 ⎞
Pxx (z ) = σ 02 Q (z )Q * ⎜⎜ ⎟⎟ (2.96)
⎝ z* ⎠
Relaţia de mai sus defineşte factorizarea spectrală a lui Pxx(z).
Fie x(n) un proces staţionar în sens larg, cu valoare medie nulă şi cu o densitate
spectrală de putere Pxx(ejω), continuă (ceea ce presupune absenţa componentelor periodice):

Pxx (z ) = ∑ rxx (n )z −n (2.97)
n = −∞
1
Să presupunem, în plus, că lnPxx(z) este analitică într-o coroană circulară R < z < , R<1,
R
conţinând cercul unitate. Aceasta implcă faptul că lnPxx(z) şi toate derivatele sale sunt funcţii
continue şi este posibilă o dezvoltare în serie Laurent:

ln Pxx (z ) = ∑ a (n )z −n (2.98)
n = −∞
sau pe cercul unitar

( ) ∑ a(n )e − jnω

ln Pxx e jω = (2.99)
n = −∞
Din ultima relaţie rezultă că a(n) reprezintă coeficienţii dezvoltării în serie Fourier ai funcţiei
( )
periodice ln Pxx e jω . Deoarece aceasta e o funcţie reală, rezultă că secvenţa a(n) este
conjugat simetrică,
a (n ) = a * (− n ) (2.100)
π
a (0) =
1
2π ∫ ln Pxx (e

)d ω (2.101)
−π
Secvenţa a(n) poartă numele de cepstrum al secvenţei rxx(n). Mai departe
⎧⎪ ∞ ⎫⎪ ⎧⎪ −1 ⎫⎪
Pxx (z ) = exp{a (0)}exp ⎨ ∑ a (n )z −n ⎬ exp ⎨ ∑ a (n )z −n ⎬ (2.102)
⎪⎩n =1 ⎪⎭ ⎪⎩n = −∞ ⎪⎭
Vom defini:
⎧⎪ ∞ ⎫⎪
Q (z ) = exp ⎨ ∑ a (n )z −n ⎬, z > R (2.103)
⎪⎩n =1 ⎪⎭
Factorizare spectrală. Teorema lui Wold 25

Deoarece Q(z) şi lnQ(z) sunt analitice în z > R , înseamnă că Q(z) este o funcţie de fază
minimă (fără nuluri în exteriorul cercului de rază unitate). Ultimul termen din factorizarea lui
P(z) mai poate fi scris :

*
⎧⎪ ∞ −n
⎧⎪ −1 ⎫⎪ ⎧⎪ ∞ ⎫⎪ ⎛ 1 ⎞ ⎫⎪ ⎛ 1 ⎞
exp ⎨ ∑ a (n )z −n ⎬ = exp ⎨ ∑ a (− n )z n ⎬ = exp ⎨ ∑ a (n )⎜⎜ ⎟⎟ ⎬ = Q * ⎜⎜ ⎟⎟ (2.104)
*
⎪⎩n = −∞ ⎪⎭ ⎪⎩n =1 ⎪⎭ ⎪⎩n =1 ⎝ z ⎠ ⎪⎭ ⎝ z* ⎠

aşa încât
⎛ 1 ⎞
Pxx (z ) = σ 02 Q (z )Q * ⎜⎜ ⎟⎟ (2.105)
⎝ z* ⎠
unde
⎧⎪ 1 −π ⎫⎪
σ 02
= exp⎨ ∫ ln P e jω
d ω ⎬ ( ) (2.106)
⎪⎩ 2π π ⎪⎭
Un proces care îndeplineşte condiţiile precizate mai înainte şi admite o asemenea factorizare
spectrală se spune că este un proces regulat.

Proprietăţi ale proceselor regulate.


• Un asemenea proces poate fi considerat ca ieşirea unui filtru stabil şi cauzal, având la
intrare zgomot alb cu varianţa σ 02 (figura 2.4.a).

u (n ) x (n ) x (n ) u (n )
1
Q(z
Puu (z ) = σ 02 Pxx (z ) = Pxx (z ) Q( z) Puu (z ) = σ 02
⎛ 1 ⎞
= σ 02 Q (z )Q * ⎜⎜ ⎟⎟
⎝ z* ⎠
a. b.
Fig. 2.4 Reprezentarea unui proces staţionar în sens larg cu ajutorul inovaţiilor

Această reprezentare a procesului aleator x(n) este cunoscută în literatură sub denumirea de
reprezentare cu ajutorul inovaţiilor.
• Filtrul având funcţia de transfer inversă, 1/Q(z), poate fi considerat un filtru de albire
pentru procesul aleator cu densitatea spectrală de putere Pxx(z).
• Q(z) poate fi reprezentat printr-o serie de puteri:
Q (z ) = q(0) + q(1)z −1 + q(2 )z −2 + ... (2.107)
unde q(0) = 1 , deoarece evident
lim Q (z ) = q(0) = 1 (2.108)
z →∞
• Dacă Pxx(z) este o funcţie raţională, atunci
B (z )
Q (z ) = (2.109)
A(z )
şi factorizarea are forma:
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

⎛ 1 ⎞
B (z )B * ⎜⎜ ⎟⎟
⎛ 1 ⎞
Pxx (z ) = σ 02Q (z )Q * ⎜⎜ ⎟⎟ = σ 02 ⎝ z* ⎠ (2.110)
⎝ z* ⎠ ⎛ 1 ⎞
A(z )A* ⎜⎜ ⎟⎟
⎝ z* ⎠

unde
A(z ) = 1 + a (1)z −1 + a (2 )z −2 + ... + a (N )z − N
(2.111)
B (z ) = 1 + b(1)z −1 + b(2 )z −2 + ... + b(M )z − M

iar polinoamele A(z ), B (z ) au toate zerourile în interiorul cercului de rază unitate.

2.3.2 Teorema lui Wold


Forma de reprezentare a semnalelor aleatoare, prezentată mai înainte, fiind după cum s-a văzut,
supusă unor restricţii, nu este cea mai generală.
Teorema lui Wold stabileşte că un proces staţionar în sens larg poate fi descompus în
două procese ortogonale:
-un proces regulat xr(n)
-un proces predictibil xp(n)
Se spune că un proces xp(n) este predictibil dacă există un set de coeficienţi a(n), aşa
încât:

x p (n ) = ∑ a (k )x p (n − k ) (2.112)
k =1
Altfel spus, orice eşantion poate fi determinat fără eroare, cunoscând eşantioanele
precedente.
Se poate însă arăta că pentru un asemenea proces, densitatea spectrală de putere este
de forma:

( ) ∑α k δ (ω − ω k )
N
Pp e jω = (2.113)
k =1
Rezultă că o formă generală a densităţii spectrale de putere este

( ) ( ) ∑α k δ (ω − ω k )
N
P e jω = Pr e jω + (2.114)
k =1
unde Pr(ejω), partea continuă a spectrului, corespunde unui proces regulat.

2.4 ELEMENTE DE TEORIA ESTIMĂRII


Noţiunea de estimare în prelucrarea semnalelor se referă la deducerea valorilor unor
mărimi necunoscute sau aleatoare pornind de la un set de observaţii ce reprezintă variabile
aleatoare.
Din afirmaţia de mai sus rezultă existenţa a două aspecte distincte.
a. Estimarea parametrilor - se referă la aflarea unor parametri determinişti dar
necunoscuţi pornind de la setul de observaţii. Exemple: determinarea valorii medii, a funcţiei
de autocorelaţie, a densităţii spectrale de putere pentru un proces aleator staţionar.
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

b. Estimarea unei variabile aleatoare. De exemplu, determinarea eşantioanelor de la intrarea


unui sistem cunoscând ieşirea acestuia, suprapusă peste un zgomot. Este evident o problemă mai
complexă decât prima.
In cele ce urmează ne vom concentra atenţia numai asupra primului aspect.
Să presupunem că se doreşte estimarea unui parametru θ al densităţii de probabilitate wx(x;θ)
a unui proces aleator x pe baza observaţiilor x o = [x (0), x (1),..., x (N − 1)]T . Vom nota cu
θˆ = θˆ x o ( ) (2.115)
o estimare a lui θ , realizată pe baza setului de observaţii xo. Aceasta este evident o funcţie de xo
(vector aleator) şi în consecinţă este de asemenea o variabilă aleatoare. Pentru aprecierea unui estimator
se pot utiliza diverşi indicatori.
- Deplasarea unui estimator se defineşte prin:
() ()
B θˆ = E θˆ − θ (2.116)
()
Se spune că estimatorul e nedeplasat dacă B(θ ) = 0 . Dacă B θˆ → 0 când N → ∞ , estimatorul se
numeşte asimptotic nedeplasat.
- Eroarea pătratică medie:
⎧ 2⎫
EPM = E ⎨ θˆ − θ ⎬ (2.117)
⎩ ⎭
- Varianţa şi dispersia:

() θ
⎧ 2⎫
var θˆ = σ 2ˆ = E ⎨ θˆ − E θˆ ⎬ () (2.118)
⎩ ⎭
- Consistenţa unui estimator. Un estimator e consistent dacă pentru orice ε>0, oricât de mic,
{
lim Pr θˆ − θ > ε = 0
N →∞
} (2.119)

- Funcţia de plauzibilitate este definită prin densitatea de probabilitate


l (θ ) = w x ( x,θ ) (2.120)
În unele cazuri este mai convenabil să se lucreze cu logaritmul acestei funcţii,
L(θ ) = ln (w x ( x,θ )) (2.121)
Dacă θ este un vector cu M componente, L(θ) este şi el un vector
L(θ ) = [L(θ1 ), L(θ 2 ),..., L(θ M )]T (2.122)
- Măsura informaţiei unui parametru în sensul Fischer
⎧⎪ ∂ 2 L(θ ) ⎫⎪ ⎧⎪ ∂ 2 ln w x ( x,θ ) ⎫⎪
I (θ ) = − E ⎨ ⎬ = − E⎨ ⎬ (2.123)
⎪⎩ ∂θ 2 ⎪⎭ ⎪⎩ ∂θ 2 ⎪⎭
Se poate demonstra că este posibilă şi următoarea exprimare echivalentă
⎧⎪⎛ ∂L(θ ) ⎞ 2 ⎫⎪ ⎧⎪⎛ ∂ ln w (x,θ ) ⎞ 2 ⎫⎪
I (θ ) = E ⎨⎜ ⎟ ⎬ = E ⎨⎜
x
⎟ ⎬ (2.124)
⎪⎩⎝ ∂ θ ⎠ ⎪⎭ ⎪⎩⎝ ∂ θ ⎠ ⎪⎭
Evident, o posibilitate de a găsi un estimator este de a maximiza după θ funcţia de plauzibilitate,
θˆ(x ) = arg max{w (x,θ )}
x (2.125)
θ
Un asemenea estimator se numeşte de plauzibilitate maximă.
Dacă θ este un vector cu M componente, această măsură se exprimă printr-o matrice de
dimensiuni M × M , având drept elemente
⎪⎧ ∂ ln w x ( x, θ ) ⎪⎫
2
I k ,l = − E ⎨ ⎬ (2.126)
⎪⎩ ∂θ k ∂θ l ⎪⎭
sau, altfel scris,
{
I(θ ) = − E ∇L(θ )(∇L(θ ))T } (2.127)

27
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

- Marginea Cramér-Rao reprezintă o valoare minimă pentru varianţa unui estimator


nedeplasat. În cazul unui estimator θ scalar, presupunând că derivata a doua a funcţiei L(θ ) există şi
este absolut integrabilă,
()
var θˆ = σ 2 ≥ I −1 (θ )
θˆ
(2.128)
În relaţia de mai sus se obţine egalitate dacă şi numai dacă estimatorul satisface relaţia
∂L(θ )
θˆ(x ) − θ = K (θ ) (2.129)
∂θ
în care K(θ) nu depinde de valoarea estimată.
Dacă această limită este atinsă, se spune că estimatorul este de varianţă minimă sau că este
eficient. În cazul unui estimator vectorial, inegalitatea de mai sus se transformă în afirmaţia că matricea
C θˆ − I −1 (θ ) (2.130)
unde C θˆ este matricea de autocovarianţă a estimatorului, este pozitiv semidefinită. In acest caz
estimatorul de varianţă minimă se obţine dacă
θˆ (x ) − θ = K (θ )∇{L(θ )} (2.131)

Aplicaţii
1. Estimarea valorii medii.
Fie o variabilă aleatoare reală, gaussiană, caracterizată prin:

( x −m )2
1 2σ 02
w x ( x; m ) = e
2πσ 02
Să presupunem cunoscut setul de observaţii independente x = [x0 , x1 ,..., x N −1 ]T . Densitatea de
probabilitate de ordinul N este deci

( xi − m )2
N −1 N −1
1
w x (x; m ) = ∏ w x ( xi ; m ) = ∏ e 2σ 02

i =0 i =0 2πσ 02

N
( )
N −1
(x − m )2
L(m ) = − ln 2πσ 02 − ∑ i
2 i =0 2σ 02
∂L(m ) N −1 xi − m
= ∑
∂m i =0 σ 0
2

Egalând cu 0 această cantitate se obţine estimatorul de plauzibilitate maximă:


1 N −1
mˆ = ∑ xi
N i =0
Evident, estimatorul este nedeplasat, căci:
1 ⎧⎪ N −1 ⎫⎪
E{mˆ } =
E ⎨ ∑ xi ⎬ = m
N ⎪⎩ i =0 ⎪⎭
Deoarece observaţiile au fost presupuse independente, varianţa estimatorului este
1 N −1 σ2
var{mˆ } = ∑ var{xi } = 0
N 2 i =0 N
În fine,
⎧⎪ ∂ 2 L(m ) ⎫⎪ N
I (m ) = − E ⎨ ⎬=
⎪⎩ ∂m 2 ⎪⎭ σ 02

deci

28
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

var (mˆ ) = I −1 (m )
aşa încât estimatorul este şi de varianţă minimă. Lucrul acesta era de aşteptat având în vedere că
1 N −1 σ 02 ∂L(m )
mˆ (x ) − m = ∑i x − m =
N i =0 N ∂m

2. Estimarea dispersiei.
Pentru acelaşi caz al variabilei gaussiene,
( )=− N
∂L σ 02 1 N −1 ( x i − m )

2

∂ (σ )
+
2 2 2 i =0 σ 04
0 2σ 0
Egalând cu zero se obţine estimatorul varianţei:
1 N −1
∑ (xi − m )2
σˆ 02 =
N i =0
Dacă m nu este cunoscut, se va utiliza pentru el estimatorul obţinut mai înainte:
1 N −1
∑ (xi − mˆ )2
σˆ 02 =
N i =0
Să calculăm valoarea medie a estimatorului:

{ }
E σˆ 02 =
1 N −1
({ } { }
∑ E xi2 + E mˆ 2 − 2 E{xi mˆ } =
N i =0
)
1 N −1⎛⎜ ⎞
= ∑
N i =0 ⎜
{ }
E xi2 +
N
1 N −1N −1
2 ∑ ∑ {
E xl x j −
2 N −1
}
∑ E xi x j
N j =0
{ }⎟⎟
⎝ l = 0 j = 0 ⎠

Observaţiile fiind presupuse independente:

{
⎧⎪
E xi x j = ⎨ } E xi2 , { }
i= j
{ }
⎪⎩ E{xi }E x j = m , i ≠ j
2

aşa încât, ţinând seama şi de staţionaritate,

{ } 1 N −1 ⎛ N − 1
E σˆ 02 = ∑ ⎜
N i =0 ⎝ N
({ }
⎞ N −1 2
E xi2 − m 2 ⎟ =
⎠ N
σ0 )
Se constată că estimatorii de plauzibilitate maximă a variantei sau ai dispersiei sunt deplasaţi. Totuşi,
{ }
lim E σˆ 02 = σ 02
N →∞
deci ei sunt asimptotic nedeplasaţi. Uneori se preferă utilizarea estimatorului nedeplasat al dispersiei:
1 N −1
σˆ 0 = ∑ (xi − mˆ )2
N − 1 i =0

3. Estimatori pentru funcţia de autocorelaţie


Vom considera un proces aleator staţionar x(n) de valoare medie nulă, deci:
{
rxx (m ) = c xx (m ) = E x * (n )x (n + m ) }
Procesul fiind ergodic,
N
1
rxx (m ) = lim x * (n )x (n + m )

N →∞ 2 N + 1
n =− N
Ne propunem să găsim un estimator utilizând numai setul de observaţii x(n), n=0,...,N-1, deci pornind
de la:
⎧ x (n ), n ∈ [0, N − 1]
x N (n ) = ⎨
⎩ 0 n ∉ [0, N − 1]
Vom defini:

29
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

1 ∞ *
rˆxx (m ) =
x N (n )x N (n + m )

M n = −∞
unde M poate fi astfel ales încât să se obţină un estimator nedeplasat. Având în vedere suporturile
finite,
supp x N (n ) = [0, N − 1], supp x *N (n + m ) = [ −m, N − 1 − m],
rezultă rˆxx (m ) = 0 pentru |m|>N-1.
Pentru m=0,...,N-1, limitele de însumare vor fi 0 şi N-1-m, aşa încât în general vom putea
scrie:
⎧1 ∞ *
⎪ ∑ x N (n )x N (n + m ) m ∈ [0, N − 1]
⎪ M n = −∞

rˆxx (m ) = ⎨ *
rˆxx (− m ), m ∈ [−( N − 1),−1]
⎪ 0, m > N −1



Valoarea medie a estimatorului este:

E{rˆxx (m )} = ∑
M n =0
{
1 N −1− m *
}
E x (n )x(n + m ) =

1 N −1− m N −m
= ∑ rxx (m ) = rxx (m ), m = 0,1,..., N − 1
M n =0 M
În mod asemănător, pentru m=-(N-1),...,-1 se obţine:
N +m
E{rˆxx (m )} = rxx (m )
M
deci în general:
N−m
E{rˆxx (m )} = rxx (m )
M
şi rezultă o deplasare a estimatorului:
N− m −M
B (rˆxx (m )) = E(rˆxx (m )) − rxx (m ) = rxx (m )
M

Pentru a obţine un estimator nedeplasat se poate lua M=N-|m| deci:


⎧ 1 ∞
⎪ ∑ x * (n )x(n + m ) m ∈ [0, N − 1]
⎪ N − m n = −∞

rˆxx (m ) = ⎨ *
rˆxx (− m ), m ∈ [−( N − 1),−1]
⎪ 0, m > N −1


sau cu o exprimare unitară:


1 N −1 *
rˆxx (m ) = ∑ x N (n )x N (n + m ), m ∈ [ −(N − 1), N − 1]
N − m n =0
Uneori se preferă să se ia M=N şi rezultă:
⎧1 ∞ *
⎪ ∑ x (n )x(n + m ) m ∈ [0, N − 1]
⎪ N n = −∞

rˆxx (m ) = ⎨ *
rˆxx (− m ), m ∈ [−( N − 1),−1]
⎪ 0, m > N −1


Acesta este evident un estimator deplasat, deoarece:

30
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

N−m
E (rˆxx (m )) = rxx (m )
N
Totuşi când N → ∞
lim E{rˆxx (m )} = rxx (m )
N →∞
şi deci estimatorul acesta este asimptotic nedeplasat.

2.5 MODELAREA PROCESELOR ALEATOARE


2.5.1 Modele ARMA. Forme particulare
În multe cazuri întâlnite în practică, procesul aleator poate fi modelat ca ieşire x(n) a unui sistem
liniar, invariant în timp, caracterizat printr-o funcţie de transfer raţională, H(z),

B (z )
∑ bk z −k
H (z ) = = k =0
(2.132)
A(z ) N
1 + ∑ ak z −k

k =1
căruia i se aplică la intrare un semnal u(n). Frecvent, u(n) este un zgomot alb, el fiind cel care imprimă
caracterul aleator al lui x(n). El reprezintă o parte intrinsecă a modelului. Vom putea exprima deci x(n) cu
ajutorul ecuaţiei cu diferenţe finite:

M N
x (n ) = ∑ bk u(n − k ) − ∑ a k x(n − k ) (2.133)
k =0 k =1

Acest model este cunoscut în literatură sub denumirea de model "ARMA" ( auto regressive-
moving average ), deci autoregresiv cu mediere mobilă.
H(z) se presupune un filtru stabil şi cauzal, aşa încât nulurile lui A(z) se găsesc în interiorul
cercului |z|=1.
Se ştie că densitatea spectrală de putere a semnalului de la ieşire se poate calcula cu:
( ) ( ) P (e ω )
Pxx e jω = H e jω
2
uu
j
(2.134)

În cazul când u(n) este zgomot alb, cu P (e ω ) = σ ,


uu
j 2

P (e ω ) = σ H (e ω )
2
j 2 j
xx (2.135)
Fără a pierde din generalitate, vom considera că ao=bo=1, deoarece câştigul filtrului poate fi
încorporat în σ 2 . Se utilizează frecvent notaţia ARMA (M,N), care pune în evidenţă gradele
numărătorului şi numitorului.

Forme particulare
-Modelul autoregresiv (AR), notat AR(N)=ARMA(0,N) se obţine pentru M=0. Rămân ecuaţia cu diferenţe
finite :
N
x (n ) = − ∑ a k x (n − k ) + u (n ) (2.136)
k =1
şi funcţia de transfer:

1 1
H (z ) = = (2.137)
A(z ) N
1+ ∑ ak z −k

k =1

-Modelul mediere mobilă (MA), notat MA(M)=ARMA(M,0), rezultă particularizând N=0:

31
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

M
x (n ) = ∑ bk u(n − k ) (2.138)
k =0
M
H (z ) = B ( z ) = ∑ bk z −k (2.139)
k =0

Un proces ARMA(M,N), pentru M şi N finiţi, poate fi reprezentat printr-un proces AR (∞ ) sau


printr-un proces MA (∞ ) Să ilustrăm această afirmaţie printr-un exemplu. Fie procesul ARMA(1,1),
caracterizat prin funcţia de transfer:
1 + b1 z −1`
H (z ) = , a1 < 1, b1 < 1 (2.140)
1 + a1 z −1
Pentru a-l exprima ca un model AR, H(z) trebuie pus sub forma:

1 z + a1
H (z ) = , C (z ) = 1 + c k z − k =
∑ (2.141)
C (z ) k =1
z + b1
Dar
⎧ z + a1 ⎫
c k = Z −1 ⎨ ⎬(k ) (2.142)
⎩ z + b1 ⎭
deci
c k = (a1 − b1 )(− b1 )k −1 pentru k ≥ 1 (2.143)
Dacă se doreşte aproximarea procesului ARMA(1,1) cu un proces AR(L), cu L finit, va fi necesar un ordin
L cu atât mai mare cu cât nulul z = −b1 este mai apropiat de cercul |z|=1.
Pentru a echivala procesul ARMA(1,1) cu un proces MA (∞ ) vom scrie:

z + b1
H (z ) = ∑
= 1 + d k z −k (2.144)
z + a1 k =1
din care
⎧ z + b1 ⎫
⎬(k ) = (b1 − a1 )(− a1 )
k −1
d k = Z −1 ⎨ pentru k ≥ 1 (2.145)
⎩ z + a1 ⎭
Şi în acest caz, dacă se doreşte o aproximare a procesului ARMA(1,1) cu un proces MA(L) de
ordin finit, L va fi cu atât mai mare cu cât polul z = − a1 al procesului ARMA este situat mai aproape de
cercul |z|=1.

2.5.2 Relaţii între parametrii modelului şi funcţia de autocorelaţie


Vom presupune că u(n) este un zgomot alb cu valoare medie nulă şi varianţă σ 2 . Atunci:
⎛ 1 ⎞
B * ⎜⎜ ⎟⎟
B (z ) ⎝ z * ⎠ 2
Pxx (z ) = σ (2.146)
A(z ) * ⎛ 1 ⎞
A ⎜⎜ ⎟⎟
⎝ z* ⎠
sau
⎛ 1 ⎞
Pxx (z )A(z ) = H * ⎜⎜ ⎟⎟ B (z )σ 2 (2.147)
⎝ z* ⎠
Vom aplica transformata z inversă acestei relaţii şi vom ţine seama că:
Z −1 {Pxx (z )}(k ) = c xx (k ) = rxx (k ) (2.148)
deoarece x(n) va avea şi el valoarea medie nulă, şi
⎧⎪ ⎛ 1 ⎞⎫⎪
Z −1 ⎨ H * ⎜⎜ ⎟⎟⎬(n ) = h * (− n ) (2.149)
⎪⎩ ⎝ z * ⎠⎪⎭
Rezultă, folosind teorema convoluţiei şi cauzalitatea secvenţei h(n):

32
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină

⎧ 2M M
∑ bl h * (l − k ) = σ 2 bl h * (l − k ), k = [0, M ]

N
⎪σ
∑ a l rxx (k − l ) = ⎨ (2.150)
l =0 l =k
l =0 ⎪ 0, k ≥ M +1

de unde:
⎧ N M
⎪− a l rxx (k − l ) + σ
∑ ∑ bl h * (l − k ), k = [0, M ]
2
⎪ l =1
rxx (k ) = ⎨ N
l =k (2.151)
⎪ − a l rxx (k − l ),
⎪ ∑ k ≥ M +1
⎩ l =1
Acestea relaţii sunt cunoscute sub denumirea de ecuaţiile Yule-Walker. În principiu, ele permit
determinarea parametrilor modelului dacă se cunosc funcţiile de autocorelaţie. Cum în foarte multe cazuri
acestea nu sunt cunoscute, ele pot fi eventual estimate, aşa cum s-a văzut în paragraful precedent, pe baza
cunoaşterii unui număr de eşantioane (măsurări sau observaţii) ale unei realizări particulare a procesului
aleator. Rezolvarea sistemului este simplă doar în cazul proceselor AR, când, deoarece M=0, dispare
practic a doua sumă, care imprimă un caracter neliniar ecuaţiilor.
Pe de altă parte, ecuaţiile Yule-Walker oferă o metodă recursivă de calcul a funcţiilor de
autocorelaţie, dacă sunt cunoscuţi parametrii modelului.
Alegerea unui model adecvat procesului studiat este esenţială. Este util ca modelul ales să aibă
un număr minim de parametri. In cazul în care procesul studiat se caracterizează printr-o densitate spectrală
de putere cu maxime "ascuţite", este indicată alegerea unui model AR, ştiind că asemenea maxime se obţin
datorită unor poli situaţi în apropierea cercului |z|=1. Dacă, din contră, ea se caracterizează prin minime
pronunţate, eventual anulări, este indicată alegerea unui model MA cu zerouri situate în apropierea sau pe
cercul |z|=1. Când intervin ambele tipuri de comportări ale densităţii spectrale de putere, se va alege un
model ARMA. Un alt parametru ce trebuie avut în vedere este şi panta caracteristicii densitate spectrală de
putere - frecvenţă. O pantă mare (variaţie rapidă) va necesita pentru simulare un proces AR sau ARMA de
ordin mare.

33
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

7. EFECTE ALE FORMATELOR FINITE DE REPREZENTARE


A NUMERELOR

În sistemele de prelucrare numerică a semnalelor, se pot utiliza pentru


reprezentarea semnalelor formatele:
a) virgulă fixă - în cazul când este necesară viteză mare, complexitate
hardware redusă, dar gama dinamică a semnalelor cu care se operează este restrânsă;
b) virgulă mobilă - util în special atunci când gama dinamică este mare.

7.1. Particularităţi ale reprezentării cu virgula fixă

Pentru reprezentarea numerelor cu semn se folosesc formatele:


- semn şi modul (bitul cel mai semnificativ reprezintă semnul, următorii
reprezintă modulul);
- complement faţă de 1;
- complement faţă de 2;
Datorită utilizării foarte largi a reprezentării în complement faţă de 2 în
schemele de prelucrare numerică, ne vom opri asupra acestei reprezentări.
În acest format, un număr x se reprezintă cu B+1 biţi prin
( )
B
x = x (0 ) , x (1) , !, x (B ) = −2 0 x (0 ) + ∑ 2 −i x (i ) , x (i ) ∈ {0,1} 1
i =1
Evident, primul bit, x (0 ) , joacă rolul de bit de semn căci pentru
x (0 ) = 0, x ≥ 0 , iar pentru x (0 ) = 1, x < 0 .
• Numărul maxim reprezentabil este:
B
−1 1 − 2−B
x max = (0,1,! ,1) = ∑ 2 −i
=2 −1
= 1 − 2 −B ≈ 1 2
i =1 1− 2

• Numărul minim reprezentabil:


x min = (1,0,..,0) = −1 3
-B
deci se pot reprezenta numere x∈[-1,1-2 ]≈[-1,1). Ele pot fi stocate în registre de
B+1 biţi.

• Opusul unui număr este:


y = − x = ( x (0) , x (1) ,..., x ( B) ) + 2 − B 4
unde supralinierea reprezintă negatul logic.

• Înmulţirea cu 2-1
y = 2 − 1 x ≅  x (0),x (0 ),! ,x (B − 1)  5
 

1
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

x (0 ) x (1) x (B −1) x (B )

Fig 1.

(B −1)
x (0 ) x (0 ) x (B − 2 ) x

Se constată (figura 1) pierderea bitului cel mai puţin semnificativ ca urmare a


reţinerii a numai B+1 biţi. Apare deci o eroare daca se păstrează formatul de B+1 biţi,
egala cu 2 −(B +1) x (B ) (eroare de trunchiere).
• Înmulţirea cu 2.
() ( ) ( )
y = 2 x =  x 1 , x 2 , ! , x B , 0  6
 
Se observă că poate sa apară o schimbare a bitului de semn. Pentru ca acest
lucru sa nu se întâmple trebuie ca x (0 ) = x (1) , ceea ce implică x ∈ [− 0,5 , 0,5). În felul
acesta, prin deplasare, bitul de semn se păstrează (figura 2). În caz contrar, apare o
depăşire a capacităţii registrului în care e stocat numărul deoarece rezultatul corect ar
fi y ∉ [− 1,0) .

x (0 ) x (1) x (B −1) x (B )

Fig 2.

x (1) x (2 ) x (B ) 0

• Operaţia de adunare - se realizează după regulile obişnuite ale adunării cu


transport, ignorând transportul rezultat din adunarea biţilor cei mai semnificativi.
Daca rezultatul este de modul supraunitar, apare o depăşire a capacităţii
registrului.
Depăşirea la adunarea a două numere x = x (0 ) ,!, x (B ) ( )
, şi
( ) ( )
y = y (0 ) ,!, y (B ) , conducând la rezultatul s = s (0 ) , !, s (B ) , poate fi detectată după
regulile foarte simple:
-dacă x (0 ) ≠ y (0 ) (operanzii au semne diferite) , nu poate să apară depăşire;
-dacă x (0 ) = y (0 ) (operanzii au acelaşi semn) trebuie ca s (0 ) = x (0 ) = y (0 )
(suma sa aibă acelaşi semn). În caz contrar, există depăşire şi rezultatul e eronat.
O proprietate foarte importantă a adunării în complement faţă de doi este
următoarea:
Dacă se adună mai multe numere şi suma lor corectă este de modul subunitar
(reprezentabilă deci în complement faţă de 2), rezultatul va fi întotdeauna corect,

2
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

indiferent de ordinea în care se fac însumările, chiar dacă rezultă depăşire în unele
etape intermediare de calcul.

7.2. Particularităţi ale reprezentării cu virgula mobilă


.
În acest caz
x = 2c ⋅ M 7
c este exponentul sau caracteristica, iar M este mantisa, 0,5≤│M│<1.
c şi M sunt stocate în forma binară cu semn (folosind una din reprezentările de
mai înainte).
La înmulţirea a doua numere,
c +c
x1 x 2 = 2 1 2 M 1M 2 8
rezultatul trebuie normalizat, în sensul ca 0,5≤│M1M2│<1.
Operaţia de adunare se complica. Operanzii trebuie aduşi mai întâi la acelaşi
exponent, cel corespunzător numărului cel mai mare. Dacă se utilizează un număr fix
de biţi pentru mantisă, prin această operaţie se pot pierde un număr de biţi, rezultând
astfel o eroare. După aceasta ajustare se adună mantisele şi se face operaţia de
normalizare.
Uneori se utilizează o reprezentare în virgulă mobila simplificată. Sistemul de
prelucrare numerică este împărţit în blocuri, iar în fiecare bloc se utilizează o
reprezentare asemănătoare celei în virgula mobilă, dar cu exponent constant, fără a
mai impune condiţia 0,5≤M<1. În consecinţă, adunările se fac mult mai simplu.
Operaţiile de normalizare a mantisei se fac numai la trecerea între blocuri.

7.3. Efectele limitării numărului de biţi

Vom enumera pentru început principalele funcţiuni afectate de formatele finite


de reprezentare ale numerelor şi efectele rezultate.
• Limitarea numărului de biţi la convertorul analog-numeric prin cuantizarea
cu un număr finit de biţi (cuantizarea intrării). Efectul cuantizării poate fi considerat
un zgomot, suprapus peste semnal .
• Limitarea numărului de biţi cu care sunt reprezentaţi coeficienţii
(cuantizarea coeficienţilor); va conduce la unele diferenţe între caracteristicile efectiv
realizate şi cele corespunzătoare funcţiei de transfer obţinute în prima fază de
proiectare.
In acest sens se poate vorbi de senzitivitatea unor parametri la variaţia
coeficienţilor în cazul filtrelor numerice. In cazul circuitelor analogice, conceptul de
senzitivitate era interesant din doua puncte de vedere:
-precizia de realizare a coeficienţilor funcţiei de transfer era limitată datorită
toleranţelor elementelor de circuit utilizate (R, L, C, amplificatoare).
-variaţia coeficienţilor în timp ca urmare a unor factori de influenţă,
îmbătrânire, etc.

3
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

În cazul filtrelor numerice, al doilea aspect dispare, iar primul nu mai are
propriu-zis un caracter aleator, deoarece fiind cunoscut formatul de reprezentare a
numerelor, coeficienţii efectiv realizaţi pot fi uşor evaluaţi, şi deci şi funcţia de
transfer respectivă.
• Rezultatul înmulţirii între un coeficient reprezentat pe C+1 biţi şi o variabilă,
reprezentată pe B+1 biţi este, în general un număr reprezentabil pe B+C+1 biţi. În
realitate, de cele mai multe ori se reţin tot B+1 biţi, deci rezultă o eroare ca urmare a
rotunjirii (trunchierii) rezultatului . Operaţia de limitare a numărului de biţi ai
rezultatului este obligatorie în cazul filtrelor recursive.
În cazul utilizării reprezentării în virgulă mobilă apar erori şi la adunare, ca
urmare a operaţiei de aducere la acelaşi exponent.
Erorile datorate efectuării operaţiilor aritmetice pe un număr finit de biţi pot fi,
în majoritatea cazurilor, echivalate cu un zgomot de cuantizare. În unele cazuri,
erorile apar sub forma unor oscilaţii, care, evident, nu mai pot fi echivalate cu
zgomote.
• În circuitele de însumare în virgula fixă precum şi în cele de înmulţire cu
coeficienţi de modul supraunitar, pot rezulta depăşiri ale capacităţii registrelor cu
efecte catastrofale asupra rezultatelor. Pentru a evita acest pericol sunt necesare
operaţii de scalare.

7.4. Cuantizarea semnalului de intrare

Fie x semnalul de intrare, x∈[-1, 1), astfel încât poate fi reprezentat exact
utilizând un număr infinit de biţi în complement faţă de doi:

x = −2 0 x (0 ) + ∑ 2 −i x (i ) , x (i ) ∈ {0,1} 9
i =1
Se poate limita numărul de biţi prin doua metode:
- trunchiere;
- rotunjire.

Cuantizarea prin trunchiere.


Valoarea trunchiată la B+1 biţi a lui x se obţine din (9) reţinând primii B+1
biţi:
B
Qt (x ) = (x0 , x1 ,!, x B ) = −2 0 x (0 ) + ∑ 2 −i x (i ) , x (i ) ∈ {0,1} 10
i =1

Qt (x )

−∆ ∆ Fig.3
x

4
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Vom nota cu ∆ = 2 − B pasul de cuantizare.


Rezultă o eroare de trunchiere

e = Qt (x ) − x = − ∑ 2 −i x (i ) 11
i = B +1
Evident


− ∑ 2 −i < e ≤ 0 12
i = B +1
Marginea inferioară a erorii se mai scrie
− ( B + 1) 1
e > −2 = −2− B = −∆ 13
1 − 2− 1
Rezultă că eroarea e mărginită conform relaţiei -Δ<e≤0. Se observă că eroarea este
negativă, aproximarea prin trunchiere fiind o aproximare prin lipsă, după cum se
poate vedea şi din figura 3, în care este reprezentată valoarea trunchiată în funcţie de
cea exactă.
Pentru un semnal de intrare x necunoscut, e poate fi considerat o variabilă
aleatoare. Putem accepta o densitate de probabilitate uniformă în intervalul (-Δ,0]
(figura 4).
∆− 1 , pentru e ∈ (− ∆,0]
we (e) =  14
0, in rest

we (e )

∆−1
Fig. 4

−∆ e

Vom calcula valoarea medie:


∞ 0

me = E(e ) = ∫ ewe (e)de = ∫ e∆ de = −
−1
15
−∞ −∆
2
Valoarea medie pătratica este

( ) ∆2 2 −2 B
0
2 −1
E e2 = ∫ e ∆ de = 3
=
3
16
−∆
Dispersia este data de:

{ }
σ e2 = E (e − me ) 2 = E (e 2 ) − me 2 =
∆2 ∆2 ∆2 2 − 2 B
3

4
=
12
=
12
17

5
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Cuantizarea prin rotunjire

Qt (x )
we (e )

∆−1

−∆ 2
∆ 2 x −∆ 2 ∆ 2 e

Fig.5 Fig.6

Valoarea rotunjita la B+1 biţi a semnalului x se obţine din valoarea trunchiată


la care se adună o unitate pe poziţia cea mai puţin semnificativă, dacă primul bit
neglijat, x (B +1) , are valoarea 1:
B
Qr (x ) = Qt (x ) + 2 − B x (B +1) = −2 0 x (0 ) + ∑ 2 −i x (i ) + 2 − B x (B +1) 18
i =1
Să evaluăm şi în acest caz eroarea de cuantizare.


e = Qr (x ) − x = 2 − B x (B +1) − ∑ 2 −i x (i ) =
i = B +1

( )

= 2 − B − 2 −(B +1) x (B +1) − ∑2 −i
x (i ) = 19
i =B +2

= 2 −(B +1) x (B +1) − ∑2 −i
x (i )
i=B+2
Valorile minimă şi maximă ale erorii sunt

1 ∆
e>− ∑ 2 −i = −2 −(B + 2 ) −1
= −2 −(B +1) = − 20
i=B+2 1− 2 2

− ( B + 1) ∆
e≤2 = 21
2
 ∆ ∆
e ∈− ,  22
 2 2

Vom considera o distribuţie uniformă a erorii în acest interval (figura 6)

6
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

 −1  ∆ ∆
∆ , pentru e ∈  − , 
we (e) =   2 2 23
0, in rest

Valorile medii sunt


2
me = E(e ) = ∫ e∆
−1
de = 0 24


2

( ) ∆2
2
2 −1
E e2 = ∫ e ∆ de = 12
25


2

iar varianţa
2
ο =Ee ( )
2
=
∆2 2 −2 B
12
=
12
26
Observaţii
• În ambele cazuri dispersia erorii este aceiaşi.
• În cazul trunchierii, eroarea are o valoare medie negativă, în timp ce în cazul
rotunjirii valoarea medie este nulă.
• Pentru un semnal de intrare necunoscut, eroarea de cuantizare a semnalului
de intrare se poate considera un zgomot, având proprietăţile:
a)-este independent de semnal;
b)-este un zgomot alb;
c)-are o distribuţie uniformă într-un interval de cuantizare- rezultând valorile
medii deduse mai înainte.
Acestea sunt nişte ipoteze de calcul, fără a putea fi riguros justificate. Ele pot
fi considerate acceptabile în cazul când semnalul are un caracter aleator. Un exemplu
în care asimilarea erorii de cuantizare cu un zgomot alb este evident nejustificată este
acela al unei tensiuni continue. În acest caz eroarea este şi ea constantă, deci este
departe de modelul adoptat. Cum practic, orice semnal este însoţit şi de un zgomot, în
măsura în care acesta depăşeşte pragul de cuantizare, apare şi aici o "aleatorizare",
care face acceptabil modelul descris mai sus.
Dacă funcţia de transfer a sistemului este H (z ), ca urmare a zgomotului de
cuantizare de la intrare, va rezulta la ieşire un zgomot cu valoarea medie
j0
meo = me H (e ) 27
şi cu varianţa

π
σ o2 = σ e2 H (z )
2
2
= σ e2
1

2πj Γ
( )
H (z )H z −1 z −1dz = σ e2
1
2π ∫ ( ) dω
H e jω
2

28
−π
{
Γ = z ∈C z =1 }

7
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

7.5. Erori datorate operaţiilor aritmetice efectuate cu un număr finit de biţi

7.5.1 Sisteme ce folosesc formate cu virgulă fixă


În mod curent se introduc limitări ale numărului de biţi pentru a evita creşterea
excesiva a lungimii cuvintelor după operaţiile de înmulţire. Limitarea este necesară în
cazul structurilor recursive, care ar conduce la o creştere nelimitată a numărului de
biţi. Aceste limitări pot fi de asemenea realizate prin trunchiere sau rotunjire şi efectul
lor poate fi considerat un zgomot. Pentru acesta se pot accepta ipotezele făcute în
paragraful precedent pentru zgomotul de cuantizare şi în plus, ipoteza că zgomotele
datorate trunchierilor (rotunjirilor) efectuate în puncte diferite ale schemei sunt
necorelate între ele.
Eroarea datorată limitării numărului de biţi într-un punct al schemei se
simulează prin introducerea unei surse de zgomot în acel punct.
Exemplu
Să analizăm cazul unui filtru de ordinul doi, realizat în forma directă 2. Vom
presupune pentru început că fiecare înmulţire este urmată de o limitare a numărului
de biţi, simbolizată în figura 7 prin operatorul Q.

b0
Q
x(n ) y (n )

z −1
− a1 b1
Q Q

z −1
− a2 b2
Q b0 Q

x(n ) b0 y (n )

e3
e0 − a1 z −1 b1

e1 z −1 e4
− a2 b2

e2 e5

Fig.7.

8
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Fiecare operaţie de limitare a numărului de biţi este echivalată cu o sursă de zgomot


aplicată nodului respectiv (e1 ,! , e5 ) e0 este datorat cuantizarii semnalului de
intrare în convertorul analog-numeric.
O variantă a schemei de mai sus este dată în figura 8, unde limitarea
numărului de biţi se face după însumarea rezultatelor multiplicărilor. Aceasta
presupune utilizarea unor sumatoare lucrând cu un număr mai mare de biţi (în
precizie dublă), dar numărul surselor de zgomot scade.

b0
Q Q
x(n ) y (n )

z −1
− a1 b1

z −1
− a2 b2

e0 e1 e2
x(n ) b0 y (n )

− a1 z −1 b1

− a2 z −1 b2

Fig. 8

Dispersia totală a zgomotului la ieşire este:

M
σ o2 = ∑ σ mo
2
29
m=0
unde suma este efectuată pentru toate sursele de erori din circuit şi
2 = σ 2 H (z ) 2
σ mo 30
m mo 2
în care

9
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

- σ m2 este varianţa corespunzătoare sursei de zgomot din nodul m:


2−2 Bm
σ m2
= , dacă reducerea formatului se face la Bm + 1 biţi;
12
2
- σ mo este varianţa zgomotului de la ieşire generat de sursa de zgomot din
nodul m;
- H mo (z ) -este funcţia de transfer din nodul m la ieşire;

7.5.2 Sisteme ce folosesc formate cu virgulă mobilă


În cazul când se lucrează în virgulă mobilă vor rezulta erori şi după operaţiile
de adunare, ca urmare a aducerii la acelaşi exponent. Mantisa este un număr întreg,
reprezentat în virgulă fixă cu B+1 biţi (inclusiv bitul de semn). Eroarea apare evident
la mantisă, deci
 ∆M 
Q{x} = 2 c ( M + ∆M ) = 2 c M 1 +  = x(1 + ε ) 31
 M 
În cazul rotunjirii, − 2 −(B +1) < ∆M ≤ 2 − (B +1) , aşa încât eroarea este

− 2 c 2 −(B +1) < Q(x ) − x = 2 c ∆M ≤ 2 c 2 − (B +1)


32
− 2 c 2 −(B +1) < εx ≤ 2 c 2 −(B +1)
Dar 0,5≤M<1, aşa încât 2 c −1 ≤ x < 2 c şi rămâne
− 2−B < ε ≤ 2−B 33
La fel se găseşte în cazul trunchierii
− 2 −(B −1) < ε ≤ 0 pentru x ≥ 0
34
0 ≤ ε < 2 −(B −1) pentru x < 0
Se arata însă ca eroarea nu mai este uniform distribuită în acest interval. Se
consideră o valoare aproximativă pentru varianţă
2− 2B
σ ε2 = 35
6
Faptul că de această dată erorile au un caracter multiplicativ ( sunt de tipul
erori de proporţionalitate, spre deosebire de cazul utilizării reprezentării în virgulă
fixă, unde erau constante, independente de semnalul de intrare ) complică analiza.
Un rezultat aproximativ se obţine dacă se reţin numai termenii aditivi,
neglijând efectele reciproce ale erorilor din diferite puncte ale schemei. Să
presupunem că semnalul x trece prin n noduri afectate de erori. El este modificat
conform expresiei din membrul drept al relaţiei de mai jos:
x(1 + ε1 )(1 + ε 2 )...(1 + ε n ) ≅ x(1 + ε1 + ε 2 + ... + ε n ) 36
Aproximarea din membrul drept presupune neglijarea interacţiunii erorilor.
Vor trebui deci folosite modelele din figura 9 pentru simularea erorilor
introduse prin limitarea numărului de biţi la înmulţire şi adunare.

10
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

ε i (n )xi (n )
k xi (n )

ε i (n )xi (n ) Fig.9
xi (n )

Vom admite că xi (n ) şi ε i (n ) sunt două procese aleatoare independente. Ca urmare,


varianţa corespunzătoare sursei respective de zgomot este
{ } {
σ i2 = E (ε i (n )xi (n ))2 = E ε i2 (n ) E xi2 (n ) }{ 37 }
Dar
{ }
E xi2 (n ) =
1
2πj Γ ∫ ( )
H in ,i (z )H in,i z −1 Puu (z )z −1dz 38

unde
- H in,i (z ) este funcţia de transfer de la intrare la nodul i;
- Puu (z ) este densitatea spectrală de putere a semnalului de intrare u (n ) ;
Vom admite că u (n ) are o distribuţie spectrală uniformă cu varianţa σ u2 , aşa
încât
{ }
E xi2 (n ) = σ u2
1

2πj Γ
( )
H in,i (z )H in,i z −1 z −1dz = σ u2 H in ,i (z )
2
2
39

În consecinţă
σ i2 = σ ε2i σ u2 H in ,i (z )
2
40
2
Într-o evaluare estimativă, admiţând că eroarea din puctul i ar avea tot o distribuţie
spectrală uniformă, contribuţia acestei surse în zgomotul de cuantizare la ieşire va fi:
σ oi2 = σ i2 H i ,o (z ) = σ ε2i σ u2 H in,i (z ) H i ,o (z )
2 2 2
41
2 2 2
unde H i,o (z ) este funcţia de transfer de la nodul i la nodul de ieşire notat cu o.
Zgomotul total la ieşire va rezulta însumând contribuţiile tuturor surselor:

σ o2 = ∑ σ oi2 42
i
Vom evalua raportul semnal/zgomot la ieşirea sistemului. Puterea semnalului
la ieşire este
= σ u2 H (z ) 2
2 2
σ ou 43
deci
H (z ) 2
2 2
σ ou
= 44
σ o2 H in ,i (z ) H i , o (z )
2 2
∑ σ ε2i
2 2
i

11
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Se constata ca raportul semnal/zgomot nu depinde de puterea semnalului de


intrare. Lucrul acesta era de aşteptat având în vedere că puterea zgomotului este
proporţională cu semnalul când se lucrează cu virgulă mobilă. Situaţia era diferita în
cazul utilizării formatului virgulă fixă. În acel caz, puterea zgomotului de cuantizare
era constantă, aşa încât raportul semnal/zgomot de cuantizare era proporţional cu
puterea semnalului, consecinţa fiind un raport semnal/zgomot foarte mic la semnal
mic.

7.6. Problema depăşirii capacităţii registrelor

7.6.1 Aspecte generale


In cazul reprezentării numerelor în formate cu virgulă fixă apare o depăşire
dacă rezultatul unei operaţii aritmetice este de modul supraunitar. Acest lucru este
posibil după operaţiile de însumare şi de înmulţire cu o constantă de modul
supraunitar. Sa luăm ca exemplu cazul unei reprezentări în complement faţă de doi,
pe 3+1 biţi. Fie adunarea numerelor
x1 = (0,1,0,0 ) = 0,50
x 2 = (0,1,1,0 ) = 0,75
s = (1,0,1,0 ) = −0,75
s este suma obţinută adunând cele două cantităţi în complement faţă de doi.
Constatăm că rezultatul este mai mic cu 2 decât cel corect (x1 + x 2 = 1,25). Eroarea
apare deoarece rezultatul corect depăşeşte formatul de reprezentare în complement
faţă de doi. Daca notam cu x = x1 + x 2 valoarea corectă, operaţia efectuată de
sumatorul nostru poate fi reprezentata prin funcţia
 x, x ∈ [− 1,1)

f (x ) =  x − 2 x ∈ [1,2 )
 x + 2 x ∈ [− 2,−1)

Caracteristica sumatorului în complement faţă de 2, (figura 10.a) devine
puternic neliniară la semnal mare, conducând la denaturarea totală a rezultatului.
Uneori se foloseşte aritmetica cu saturaţie, cu caracteristica f (x ) reprezentată în
figura 10.b. Aceasta introduce de asemenea o neliniaritate, dar ea este mai naturală decât
în cazul precedent. În acest ultim caz nu mai funcţionează însa regula ce afirma ca
adunând mai multe numere a căror suma e de modul subunitar, rezultatul este corect,
indiferent de ordinea de însumare, chiar daca apar depăşiri în etape intermediare de
calcul.
Analiza posibilitatii depăşirilor comporta două aspecte:
-analiza funcţiei de transfer, H (z ) şi, eventual, scalarea acesteia astfel încât să
se elimine sau să se reducă suficient de mult probabilitatea ca semnalul de ieşire să
fie de modul supraunitar (scalarea funcţiei de transfer).
-analiza posibilitatii depăşirilor (analiza gamei dinamice) în toate nodurile
reţelei, conducând, dacă este necesar, la o scalare a semnalului, compensată în final,
astfel încât sa nu afecteze realizarea funcţiei de transfer impuse.
Există mai multe reguli de scalare.

12
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

f (x )

-2 -1 0 1 2 x

a Fig. 10
f (x )

-2 -1 0 1 2 x

7.6.2 Scalare după regula L1


- Analiza funcţiei de transfer.
Se presupune că x(n ) ≤ 1 şi se pune condiţia ca semnalul de ieşire să fie de
asemenea de modul subunitar, y (n ) ≤ 1 . Dar

y (n ) = ∑ h(k )x(n − k ) 45
k =0
∞ ∞
y (n ) ≤ ∑ h(k ) x(n − k ) ≤ ∑ h(k ) 46
k =0 k =0
Vom nota cu k 0 majorantul lui y (n ) rezultat din relaţia de mai sus,

k0 = ∑ h(k ) 47
k =0

Daca k 0 ≤ 1 , depăşirea este, evident, exclusă. Daca k 0 > 1 , se poate lua


1
s0 ≤ drept coeficient de scalare şi se va realiza de fapt funcţia scalată:
k0
H s (z ) = s 0 H ( z ) 48
- Scalarea semnalului.
În continuare se analizează toate nodurile în care ar putea exista depăşiri
(ieşirile sumatoarelor, ieşirile înmulţitoarelor cu constante de modul supraunitar). Fie
m un asemenea nod. Semnalul în acest nod este

13
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină


y m (n ) = ∑ hin,m (k )x(n − k ) 49
k =0
unde hin ,m (n ) = Z −1 {H in ,m (z )}, iar H in,m (z ) reprezintă funcţia de transfer de la nodul
de intrare la nodul m. Se impune ca semnalul să îndeplinească condiţia:
y m (n ) ≤ 1 50
Pentru aceasta, procedând la fel ca mai înainte, se evaluează

km = ∑ hin,m (k ) 51
k =0
Daca km≤1, nu exista posibilitatea depăşirii în nodul m. Daca însă k m > 1 , se
calculează
1
sm = 52
km
Se face acest calcul pentru toate nodurile m în care ar putea apărea depăşiri şi
se alege
s ≤ min{s1 , s 2 , ! , s M } 53

Exemplu.
Sa considerăm funcţia de transfer de ordinul 2
b + b z −1 + b2 z −2 Y (z )
H (z ) = 0 1 −1 = 54
1 + a1 z + a 2 z −2 X (z )
Să presupunem H (z ) realizat în forma directă 2 (fig.11). Din secţiunea din
stânga (recursivă) vor trebui analizate ieşirile sumatoarelor (3,4) şi ieşirile
multiplicatoarelor (1,2), numai dacă a1, a2 sunt de modul supraunitar.

s b0 1 s
[4] [5]
x(n ) y (n )

z −1
[3] [8]
[1] − a1 b1 [6]

z −1
− a2 b2 [7]
[2]

Fig.11.
Pentru zona din dreapta (nerecursiva) nu este necesar să se facă o analiză
deoarece, în baza proprietăţii amintite a adunării în complement faţă de 2, dacă

14
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

H (z )a fost scalat, rezultatul va fi corect, chiar dacă apar depăşiri în unele etape
intermediare de calcul.
Se introduce coeficientul de scalare s, care se ia de obicei de forma 2-m, spre a
nu fi necesare circuite de înmulţire suplimentare. La ieşire, se compensează scalarea
prin înmulţire cu 1/s, astfel încât funcţia de transfer să nu se schimbe.
Această regulă exclude posibilitatea depăşirilor, dar este uneori o regulă prea
dură, conducând la o valoare prea mică pentru s.

7.6.3 Scalare după regula L ∞


Pentru scalarea funcţiei de transfer se impune:

ω
( )
max H s e jω ≤ 1 55
Aceasta înseamnă ca filtrul nu trebuie să amplifice la nici o frecvenţă. Ca
urmare se calculează
k 0′ = max H e jω
ω
( ) 56
Dacă k 0′ ≤ 1 , nu este necesară scalarea funcţiei de transfer.
1
Dacă k 0′ > 1 , se poate lua s 0′ ≤ .
k 0′
După ce a fost scalată funcţia de transfer, urmează scalarea semnalului. În
acest scop se calculează, pentru toate nodurile în care ar putea rezulta depăşiri

ω
( )
k m′ = max H in, m e jω 57
Dacă k m′ ≤ 1 se decide că nu poate exista depăşire în nodul m.
1
Dacă k m′ > 1 , se notează s m ′ = şi se ia drept coeficient de scalare
k m′
s ′ = min{s1′ ,! , s ′M } 58
În minimizarea de mai sus se au în vedere toate nodurile în care, după evaluarea
parametrilor k m′ , rezultă posibilitatea depăşirii.
Prin aceasta metodă se exclude posibilitatea depăşirii în regim permanent
sinusoidal, indiferent de frecvenţă. Nu se garantează însă în general absenţa
depăşirilor pentru alte tipuri de semnale. (de exemplu în cazul răspunsului la impuls).
Regula aceasta este deci mai optimistă decât prima, conducând la valori mai mari
pentru s.

7.6.4 Scalare după regula L 2


O posibilitate de a defini un majorant pentru semnalul de ieşire porneşte de la
următoarea inegalitate:
2
 ∞   ∞ 2 ∞ 
y (n ) =  ∑ h(k )x(n − k ) ≤  ∑ h (k ) ∑ x 2 (n − k ) =

 k =−∞   k =−∞ k = −∞ 
59
12
 ∞ 2 ∞ 
=  ∑ h (k ) ∑ x 2 (k )

 k =−∞ k = −∞ 

15
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Vom admite ca energia semnalului de intrare este mărginită:



∑ x 2 (k ) ≤ 1 60
k = −∞
şi va rezulta că y (n ) ≤ 1 , dacă

∑ h 2 (k ) ≤ 1 61
k = −∞
Vom introduce şi aici un coeficient definit prin norma L2 a secvenţei h

(k 0′′ )2 = H
2
2
= ∑ h 2 (k ) 62
k = −∞
În baza teoremei lui Parseval, norma poate fi calculată în planul Z sau în domeniul
frecvenţă prin
1 π
2 2 1
2πj Γ
−1 −1
2π −π
( )
(k 0′′ ) = H 2 = ∫ H (z )H z z dz = ∫ H e jω dω ,
2
( )
63
{
Γ = z∈C z =1 }
Prin urmare, pentru scalarea funcţiei de transfer, se calculează k 0′′ cu relaţia de
mai sus şi dacă k 0′′ ≤ 1 nu este necesara scalarea. Dacă k 0′′ > 1 se scalează funcţia de
1
transfer cu s 0′′ ≤ .
k 0′′
Pentru scalarea semnalelor se evaluează
(k m′′ )2
2
= H in,m 64
2
1
′′ =
şi dacă k m′′ > 1 se ia s m . În final se determină coeficientul de scalare al
k m′′
semnalului
s ′′ = min{s1′′,! , s ′M′ } 65
Notând
H ∞
= max H e jω
ω
( ) 66
se poate arata că în general
H ∞
≥ H 2
67
aşa încât ultima scalare va fi mai "optimista" decât scalarea L∞, conducând deci la
valori mai mari pentru s. Ea garantează imposibilitatea depăşirilor numai pentru
semnale de energie subunitară, deci pentru o clasă mai restrânsa decât aceea a
semnalelor de modul subunitar.

Generalizare
Se pot generaliza metodele de mai sus, în sensul normei Lp. Se defineşte
definind această normă prin
2π 1 p

∫ H (e )
 1 jω p 
H = dω  68
 2π
p
0 

16
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

şi se are în vedere inegalitatea


1 1
y (n ) ≤ X p
H
q
+ = 1, p, q ≥ 1
pentru 69
p q
Pentru structurile nerecursive, rezolvarea problemei depăşirilor se realizează
prin scalarea corectă a funcţiei de transfer, ceea ce garantează corectitudinea
rezultatului.

7.7. Interacţiunea dintre gama dinamică (scalare) şi


zgomotul de cuantizare

Se poate uşor constata că pentru toate "sursele de zgomot" ce simulează erorile


datorate aritmeticii finite, funcţiile de transfer între punctele unde ele sunt aplicate şi
ieşire, H m,o (z ) , se înmulţesc cu 1/s>1 (vezi de exemplu figura 11), ca urmare a
compensării scalării. Ca urmare, rezultă o creştere a puterii zgomotului de 1 s 2 ori, în
timp ce semnalul rămâne nemodificat. Are deci loc o micşorare de 1/s2 ori a
raportului semnal/zgomot (exprimat în puteri). În consecinţă, cu cât o regulă de
scalare este mai dură, conducând la un s mai mic, se reduce mai mult probabilitatea
depăşirii , dar, pe de altă parte, se reduce şi raportul semnal/zgomot de cuantizare.
Prezintă de aceea interes găsirea unor structuri caracterizate printr-un zgomot
de cuantizare minim, în condiţii de scalare precizate.
Se arată că, în general, utilizarea unor structuri în forma directa de ordin mare
nu conduce la rezultate satisfăcătoare din acest punct de vedere, astfel încât sunt de
preferat structuri în cascada sau în paralel, realizate cu filtre de ordinul 2.
Să analizăm ca exemplu, un filtru realizat în cascadă, pentru fiecare celulă de
ordinul doi utilizându-se FD2 (forma directa 2). Fiecare celulă de ordinul 2 va trebui
sa fie scalată (figura 12). Pentru determinarea factorilor de scalare să presupunem că
punctul cel mai expus depăşirilor este nodul de după primul sumator din linia
recursivă (stânga-sus).
Pentru celula k, funcţia de transfer (făcând abstracţie de scalări, înaintea
introducerii lor) de la intrare până în acest punct este
k −1
1
Fk (z ) = ∏ H l (z ) 70
1 + a k ,1 z −1 + a k , 2 z −2 l =1
unde H l (z ) este funcţia de transfer a celulei l. Presupunând că se utilizează o regulă
de scalare L p , coeficientul de scalare al celulei k este
−1
s k = Fk p
71

Pentru calculul zgomotului este necesară funcţia de transfer de la nodul k la ieşire,


Gk′ (z ) :
M
1
Gk′ (z ) = ∏ H l (z ) = Fk p
G k (z ) 72
sk l =k

17
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

e1 (n ) e2 (n ) eM (n ) e 0 (n )

s1 b1, 0 s 2 s1 b2, 0 s3 s 2 b1, 0 s M


Q Q Q Q

z −1 z −1 z −1
− a1,1 b1,1 s 2 s1 − a 2,1 b2,1 s3 s 2 − a M ,1 bM ,1 s M

z −1 z −1 z −1

− a1, 2 b1, 2 s 2 s1 − a 2, 2 b2, 2 s3 s 2 − aM ,2 bM , 2 s M

Fig.12.

18
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

unde s-a notat


M
G k (z ) = ∏ H l (z ) 73
l =k
După cum am văzut, pentru a evalua puterea medie a zgomotului la ieşire,
datorat limitării numărului de biţi, se introduc surse de zgomot ek (n ) în nodurile
respective. Presupunând ca rotunjirile se efectuează peste tot la acelaşi număr de biţi,
dispersia fiecărei surse de zgomot este aceiaşi, σ k2 = σ e2 = const., k = 1,!, M . Se
obţine la ieşire:
 M
2
σ o2 = σ e2 1 + ∑ Gk′ (z ) 2  74
 k =1 
sau
 M
2
σ o2 = σ e2 1 + ∑ Fk p Gk 2 
2
75
 k =1 
După cum a rezultat din paragraful precedent, scalarea este propriu-zis
2 1
necesară numai pentru acele celule pentru care factorii Fk p = 2 sunt supraunitari.
sk
Pentru aceste cazuri se constata şi aici efectul negativ al scalării, în sensul creşterii lui
σ o2 , în timp ce puterea semnalului rămâne neschimbata. Dacă pentru o celula
2
F p
≤ 1 , rezultă că nu este necesară o scalare pentru celula respectivă, ceea ce ar
corespunde unui factor de scalare unitar, fără efect asupra zgomotului de cuantizare.
1
Totuşi, o scalare cu s k = > 1 , care de această dată va amplifica semnalul, va
Fk p
duce la o mărire a raportului semnal/zgomot de cuantizare printr-o utilizare raţională
a gamei dinamice a filtrului. Deci, în general, scalarea poate fi privita nu numai ca un
procedeu de reducere a posibilităţii de depăşire, ci şi de adaptare a nivelului
semnalului de intrare la gama dinamică a filtrului.
În cazul realizării în cascadă se pune problema cum ar trebui ordonate aceste
secţiuni şi cum este mai bine să se facă grupările de poli-zerouri în constituirea
funcţiilor H l (z ) , deci în factorizarea lui H (z ), care, evident nu este unică.
Se defineşte un factor de vârf pentru celula l
Hl ∞
ρl = 76
Hl 2
Se arată că o grupare optimă este aceea la care ρ k sunt minimizaţi. Aceasta
presupune factori de scalare maximi dacă se utilizează regula de scalare L∞ , pentru o
amplificare a zgomotului dată. Intuitiv, minimizarea factorilor de vârf se poate realiza
grupând de fiecare dată o pereche de poli cu perechea de nuluri cea mai apropiată. În
acest fel, tendinţa de creştere a caracteristicii amplitudine-frecvenţă pentru celula
respectiva, datorată polilor, este parţial compensată de scăderea datorată nulurilor, aşa

19
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

încât raportul ρ k nu poate lua valori foarte mari. Procesul de grupare va începe cu
polii cei mai apropiaţi de cercul de raza unitate (figura 14), ei fiind cei ce pot conduce
la vărfuri importante ale caracteristicii amplitudine-frecvenţă.
În al doilea rând, este normal ca pentru obţinerea unui zgomot cât mai mic,
celulele sa fie ordonate în sens crescător al lui ρ k (cea mai puţin selectivă în stânga,
cea mai selectivă în dreapta), ca în figura 13.

H1 H2 HM

( )
H 1 e jω ( )
H 2 e jω ( )
H M e jω

0 π 0 π 0 π

Fig.13.

În felul acesta, celula cea mai selectivă filtrează zgomotele provenite de la


toate filtrele, atenuându-le.

Im{z}

Re{z}

Fig. 14

7.8 Efecte ale cuantizarii coeficienţilor.


Senzitivitatea la variaţia coeficienţilor.

Într-o realizare efectivă, coeficienţii filtrului vor trebui reprezentaţi cu un


număr limitat de biţi. În consecinţă, ei pot avea valori diferite faţă de cele obţinute
prin proiectare. Ne propunem să analizăm unele implicaţii ale acestui fapt.

20
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

7.8.1 Cazul filtrelor RII


Modificarea coeficienţilor filtrului va conduce la o modificare a poziţiei
polilor şi zerourilor şi, în consecinţa, a funcţiei de transfer
M
∑ bk z −k
H (z ) = k =0
N
77
1 + ∑ ak z −k

k =1
Să presupunem că filtrul este realizat în forma directă. Prin cuantizare,
coeficienţii devin:
aˆ k = a k + ∆ak , bˆk = bk + ∆bk 78
Fie zi polii lui H (z ). Numitorul lui H (z ) poate fi scris

( )
N N
A(z ) = 1 + ∑ ak z −k = ∏ 1 − z k z −1 79
k =1 k =1
Funcţia de transfer cu coeficienţi cuantizati
M
∑ bˆk z −k
Hˆ (z ) = k =0
N
80
1 + ∑ aˆ k z −k

k =1
are polii zi + ∆zi , unde
N ∂zi
∆zi = ∑ ∆a j 81
j =1 ∂a j
Dar
 ∂A( z )  ∂zi  ∂A( z ) 
  ⋅ = 82
 ∂z  ∂ 
 i z = z a j  ∂a j  z = z
i i
∂A(z )
{( ) }
N N
= −∏ 1 − z k zi−1 zi−1 = − z i− N∏ (zi − z k ) 83
∂zi z = z k =1 k =1
i
k ≠i k ≠i

∂A(z )
= zi− j 84
∂a j
z = zi
aşa încât se obţine senzitivitatea polului zi la variaţia coeficienţilor a j
∂zi zi− j ziN − j
=− =−N 85
∂a j N
z i− N ∏ (z i − z k ) ∏ (z i − z k )
k =1 k =1
k ≠i k ≠i

Un calcul absolut similar se poate face pentru exprimarea senzitivităţii


zerourilor la variaţiile coeficienţilor bk..

21
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Evident, existenţa unor poli apropiaţi (concentrări de poli) va conduce la o


senzitivitate ridicată. Termenii de la numitor fiind cel mai adesea de modul subunitar,
senzitivitatea creşte odată cu creşterea ordinului filtrului (valoarea maximă pentru
zi − z k este 2 când zI şi zk sunt diametral opuşi şi apropiaţi de cercul unitar).
Rezultă ca se vor obţine senzitivităţi mai mici folosind structuri paralel sau
cascadă, în locul unei structuri directe de ordinul N.
Chiar şi în cazul unui filtru de ordin 2, alegerea unei anumite structuri a
filtrului poate influenţa senzitivitatea.
De exemplu, sa considerăm doua realizări pentru
1
H (z ) = 86
1 − 2r cosθ z −1 + r 2 z −2
având polii z1, 2 = re ± jθ .
În forma directă, rezultă structura din figura 15.

x(n ) y (n )
−1
z
2r cosθ
Fig. 15
z −1
− r2

Ca urmare a cuantizarii, coeficienţii − r 2 şi 2r cosθ pot lua un set finit de


valori. În consecinţă, modulul r şi partea reală a polilor au aceiaşi proprietate.
Valorile posibile pentru poli se obţin la intersecţiile cercurilor de r=constant pentru
toate valorile posibile ale lui r şi r cosθ = constant (figura 16).

Im z
x(n ) y (n )
1

z −1 z −1
r cosθ r cosθ

− r sin θ r sin θ
Re z
1

Fig. 16 Fig. 17

Aceiaşi funcţie de transfer se poate obţine folosind structura din figura 17.

22
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Im z

Fig. 18

Re z
1

Valorile cuantizate în acest caz sunt însă m1 = r cosθ şi m2 = r sin θ , aşa încât
reţeaua ce determină poziţiile posibile ale polilor este compusă din drepte, rezultând
o dispunere mai uniforma (figura 18).
În plus, dacă se calculează senzitivitatea polilor, în primul caz parametrii
cuantizati sunt

m1 = 2r cosθ
87
m2 = − r 2
şi avem:
∆m1 = 2 cosθ∆r − 2r sin θ∆θ
88
∆m2 = −2r∆r
de unde
∆r ∆r 1
= 0, =−
∆m1 ∆m2 2r
89
∆θ 1 ∆θ 1 ∆r 1
=− , = =− 2
∆m1 2r sin θ ∆m2 rtgθ ∆m2 2r tgθ
În al doilea caz,
∆m1 = cosθ ∆r − r sin θ ∆θ
∆m2 = sin θ ∆r + r cosθ ∆θ
1 ∆r ∆r
∆r = (r cosθ ∆m1 + r sin θ ∆m2 ) → = cosθ , = sin θ 90
r ∆m1 ∆m2
1 ∆θ sin θ ∆θ cosθ
∆θ = (cosθ ∆m2 − sin θ ∆m1 ) → =− , =−
r ∆m1 r ∆m2 r
Valorile lui ∆θ ∆m1 sunt mai mici în al doilea caz, mai ales în situaţiile ce
prezintă interes θ = 0 sau θ = π şi r apropiat de 1.

23
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

În general, dacă ne interesează senzitivitatea caracteristicii amplitudine-


( )
frecvenţă H e jω la modificarea unor parametri ki ce pot fi coeficienţii filtrului,
putem calcula variaţia
 ∂ H e jω  ( )
( )
r
∆H e = ∑
jω ∆ki 91
i =1  ∂k i 
 
Dacă admitem că erorile sunt independente şi au dispersii egale σ k , se poate
evalua o dispersie a caracteristicii amplitudine-frecvenţă
( )
 ∂ H e jω 
2

( )
r
σ  jω  = ∑ 
2  ο k2 = S 2 e jω ο k2 92
He


 i =1  ∂k i 
 
2 jω
unde S e ( ) poate fi utilizat pentru a caracteriza structura respectivă din punct de
vedere al senzitivităţii caracteristicii amplitudine-frecvenţă la variaţia parametrilor ki.

7.8.2 Cazul filtrelor RFI


Sezitivitatea zerourilor la variaţia coeficienţilor se poate studia la fel ca
senzitivitaea polilor filtrului RII, prezentată în paragreful precedent.
Se poate uşor evalua senzitivitatea funcţiei de transfer la variaţia
coeficienţilor. Notând funcţia de transfer nominală cu
( )
N −1
H e jω = ∑ h(n )e − jnω 93
n =0
cea efectiv realizata este
( )
N −1
Hˆ e jω = ∑ hˆ(n )e − jnω 94
n =0
rezultă o funcţie eroare
( ) ( ) ( )
N −1
Ee jω
= Hˆ e jω − H e jω = ∑ ε (n )e − jnω 95
n =0
unde
ε (n ) = hˆ(n ) − h(n ) 96
Dacă variaţia coeficienţilor este efectul unei rotunjiri,
 ∆ ∆
ε (n )∈  − ,  97
 2 2
şi deci
( ) ≤ ∑ ε (n ) ≤ N ∆2
N −1

Ee 98
n =0
Proprietăţi asigurate prin structură (neafectate de variaţia coeficienţilor)
Există cazuri în care prin alegerea unei anumite structuri sunt asigurate
anumite proprietăţi, indiferent de variaţia coeficienţilor. Vom da două exemple.
Zerouri situate ce cercul unitar. După cum s-a văzut, acestea asigură rejecţia
totală a unor frecvenţe. Dacă filtrul se realizează în cascadă, atunci zerourile de pe

24
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

cercul unitar, rămân pe acest cerc. Într-adevăr, ele corespund unor factori de forma
1 + az −1 + z −2 , în care poate fi afectat de erori numai termenul din mijloc, a, dar
oricum, zi = 1 . În consecinţă, zerourile rămân pe cerc, se poate modifica doar
frecvenţa rejecţiei.

x(n ) z −1 z −1 z −1 z −1

z −1 z −1 z −1 z −1

h(0 ) h(1) h(2) h(P − 1) h(P )

y(n )
Fig. 19

x(n ) z −1 z −1 z −1 z −1

z −1

z −1 z −1 z −1 z −1

h(0 ) h(1) h(2) h(P − 2) h(P − 1)

y(n )
Fig. 20

Filtre RFI cu fază liniară.


Se pune problema realizării unor structuri care să asigure păstrarea proprietăţii de
fază liniară la variaţia (cuantizarea) coeficienţilor multiplicatoarelor. Aceasta
presupune existenţa relaţiilor de simetrie sau antisimetrie a coeficienţilor funcţiei de
transfer. Vom considera cazul filttrelor cu funcţie de pondere simetrică (tipurile 1 şi
2). Pentru filtrele de tipul 1, caracterizate printr-o lungime impară, N=2P+1, condiţia
de simetrie h(n ) = h(2 P − n ) este automat realizată de structura din figura 19. În
cazul filtrelor de tipul 2, având lungime pară, N=2P, condiţia de simetrie
h(n ) = h(2 P − 1 − n ) este automat îndeplinită de filtrele cu structura din figura 20.

25
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Filtrele acestea sunt "structural cu fază liniară", adică au faza liniară indiferent
de valorile coeficienţilor înmulţitoarelor. În plus, se realizează şi o economie de
înmulţitoare (P+1 în loc de 2P+1 în primul caz, P în loc de 2P în al doilea ).

7.9 Oscilaţii parazite pentru semnal de intrare nul


(cicluri limită)

Dacă polii filtrului numeric se află în interiorul cercului │z│=1, filtrul este
stabil, ceea ce înseamnă că indiferent de condiţiile iniţiale, daca x(n ) = 0 pentru n≥0,
y (n ) trebuie să tindă asimptotic către 0.
Aşa ar sta lucrurile dacă toate operaţiile s-ar efectua exact. Datorită numărului
finit de biţi, există un anumit grad de neliniaritate al circuitului, care poate duce la
apariţia unor oscilaţii neamortizate în timp (cicluri limită).
Sa consideram filtrul cu schema din figura 21, având
1 z
H (z ) = = 99
1 − 0,5 z −1 z − 0,5
cu polul z1 = 0,5, z1 < 1

x(n ) y (n )
z −1
Fig. 21
0,5
Qr

Ecuaţia cu diferenţe finite corespunzătoare acestei funcţii de transfer este


y[n] = x[n] + 0,5 y[n − 1] 100
Să presupunem că la momentul iniţial y (0) = 0,5 şi că x(n ) = 0 pentru n≥0.
Evident, dacă s-ar efectua exact operaţiile aritmetice, ar rezulta succesiunea de
valori la ieşire
y (0) = 0,5 , y (1) = 0,25 , y (2 ) = 0,125 , y (3) = 0,0625 ,!, y (n ) → ∞ pentru n → ∞
Să presupunem că se lucrează cu B+1=4 biţi cu rotunjire, deci:
y (n ) = x(n ) + Q r {0,5 y (n − 1)} 101

aşa încât
y (0) = (0100 )
y (1) = (0010 )
y (2) = (0001)
y (3) = Q r (00001) = (0001)
y (4) = Q r (00001) = (0001)

26
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

deci y(n)=(0001)=0,125 pentru n≥2 (figura 22).


y (n )
0,5

0,25 Fig. 22
0,125

0 1 2 3 4 5 n
Este uşor de verificat ca dacă s-ar lucra cu B+1=5 biţi, s-ar obţine
y (n ) = 0,0625 pentru n≥3.
În cazul de faţă, semnalul rămâne constant (oscilaţii de frecventa 0). În alte
cazuri apar oscilaţii de diferite frecvenţe.
Amplitudinea acestor oscilaţii poate fi făcută oricât de mică prin mărirea
numărului de biţi. Se poate deci pune problema determinării numărului de biţi
necesari, astfel încât amplitudinea oscilaţiilor să nu depăşească un nivel impus.
Modelul de analiză ce asimila erorile de rotunjire (trunchiere) cu un zgomot
alb nu mai corespunde pentru că, evident, eşantioanele erorii sunt puternic corelate
între ele.
Pe de altă parte, un calcul exact în cazul general al amplitudinii acestor
oscilaţii este greu de făcut. De aceea se poate recurge la căutarea unor majoranţi.
Să presupunem că în circuit există M noduri unde au loc trunchieri (rotunjiri),
deci puncte unde se introduc erori. Vom nota cu em (n ) eroarea corespunzătoare
trunchierii (rotunjirii) din nodul m, asimilată cu o sursă perturbatoare (de zgomot), şi
cu H m,o (z ) funcţia de transfer din acest punct la ieşirea o a filtrului.
hm,o (n ) = Z −1 {H m,o (z )} 102
Răspunsul filtrului la toate sursele de zgomot, în cazul când semnalul de intrare
este nul, rezultă prin superpoziţie:
M ∞
y (n ) = ∑ ∑ hm,o (k )em (n − k ) 103
m =1k = 0
Vom căuta o limită superioară pentru y (n )
M ∞ M ∞
y (n ) = ∑ ∑ hm,o (k )em (n − k ) ≤ ∑∑ hm,o (k ) em (n − k ) 104
m =1k = 0 m =1k = 0
Dacă limitarea numărului de biţi din nodul m se face prin rotunjire la Bm+1
biţi, atunci :
2 − Bm
em (n ) ≤ = 2 −(Bm +1) 105
2
iar dacă se face prin trunchiere
em (n ) ≤ 2 − Bm 106

27
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Vom nota cu emMax aceasta limita superioara a secvenţei em (n ) , dată de


relaţiile de mai sus; rezultă:
M ∞
y (n ) ≤ ∑ emMax ∑ hm,0 (k ) 107
m=1 k =0
Aplicaţia 1
Pentru filtrul analizat mai înainte, având graful din figura 23:

x(n ) y (n )
Fig. 23
−1
z

e1 (n ) 0,5

1
H 1,o (z ) = = H (z ) 108
1 − 0,5 z −1
−1 
z  1 zn
h1,o (n ) = Z {H 1,o (z )}= Z 
−1
= ∫ d z = 0,5 n 109
 z − 0,5  2πj C z − 0,5

∞ ∞
1
∑ h1,o (k ) = ∑ 0,5k =
1 − 0,5
=2 110
k =0 k =0

y (n ) ≤ 2 −4 2 = 0,125 111

Aplicaţia 2
Să găsim amplitudinea maximă a oscilaţiilor la ieşire pentru semnal de intrare
nul în cazul filtrului din figura 24.

z −1
x(n ) y (n )
−1
Q z
2r cosθ
e1 (n ) 2r cosθ
−1 z −1
z

Q e2 (n ) − r2
− r2
Fig.24

28
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

H 1,o (z ) = H 2,o (z ) = H (z ) 112


1 z2
H (z ) = = 113
1 − 2r cosθ z −1 + r 2 z −2 (z − z1 )(z − z 2 )
z1, 2 = re ± jθ 114
Filtrul este stabil dacă r<1.
1 z n+1
h(n ) = Z −1 {H (z )} =
2πj C∫ z − re jθ z − re − jθ
dz =
( )( ) 115
r n +1e j (n +1)θ r n+1e − j (n+1)θ
=
(
r e j θ − e − jθ ) + r (e − jθ
− e jθ )
deci
rn
h(n ) = sin (n + 1)θ 116
sin θ
h1,o (n ) = h2,o (n ) = h(n ) 117
aşa încât
e1 max = e2 max = 2− (B +1) 118

rn 1 ∞
y (n ) ≤ 2 × 2 −(B +1) ∑ sin (n + 1)θ ≤ 2 − B ∑rn 119
n =0 sin θ sin θ n =0
Rezultă
1
y (n ) ≤ 2 − B 120
(1 − r )sin θ
Se observă că această limită superioară este cu atât mai mare cu cât r este mai
apropiat de 1 (poli apropiaţi de cercul unitate). Valoarea mare a limitei în cazul când
θ este apropiat de 0 sau π se explica mai curând prin majorarea la valoarea 1 a
sinusurilor de la numitor (care în acest caz sunt 0).
Limita astfel calculată conduce de obicei la o valoare foarte pesimistă. Există
multe cazuri în care asemenea oscilaţii nu apar de loc, dar limita aceasta va avea
oricum o valoare strict pozitivă.
Pot apărea oscilaţii şi ca urmare a unor depăşiri, când în registrele filtrului apar
valori anormale pentru o comportare liniară.
Exista structuri ce exclud apariţia acestor oscilaţii.
Ele nu pot apărea în sisteme nerecursive, aşa încât un calcul de felul celui de
mai sus poate fi efectuat în aceste cazuri doar pentru a avea o evaluare a zgomotului
de cuantizare maxim la ieşire.

29
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Probleme.

1. Fie filtrul din figura 25.

x(n ) y (n )

H0
z −1

r = 0,8 1

Fig. 25

a. Determinaţi valoarea maximă a lui H0, aşa încât H(z) să fie scalat în sensul
L1.
b. Analizaţi problema scalarii semnalului conform aceleiaşi reguli, dacă pentru
H0 s-a luat valoarea de la punctul a.

2. Efectuaţi scalarea semnalelor pentru schema din figura 25 în sensul regulii


L∞. Se va lua H0=0,5.

3. Fie filtrul cu schema din figura 26.

Q
H0
z −1

Q
r

Fig. 26

Q reprezintă o rotunjire la B+1=8 biţi; convertoarele analog-numerice şi


numeric-analoge lucrează tot cu B'+1=8 biţi, H0=2, r=0,8.
Se cere puterea zgomotului datorat numărului finit de biţi, evaluat la ieşirea
filtrului.

30
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

4. Aceleaşi chestiuni ca în problema 3, dacă operaţia de rotunjire se efectuează


pe B+1=10 biţi, iar cele două convertoare de la intrare ai ieşire lucrează pe B'+1=8
biţi.

5. Fie filtrul din figura 26, în care însă nu se mai fac reduceri ale numerelor de
biţi imediat după înmulţire, ci numai după sumator, la B'+1=10 biţi. Convertoarele
lucrează cu B+1=8 biţi. Evaluaţi puterea zgomotului la ieşirea filtrului.

6. Fie filtrul cu schema din figura 25, cu H0=0,5. în plus, pentru evitarea
depăşirilor se face o scalare a semnalului cu s=1/4, compensată în final.
Convertoarele de la intrare si ieşire lucrează cu B'+1=8 biţi. Circuitele de înmulţire cu
sH0 si r sunt urmate de rotunjiri la B+1 biţi. B este astfel ales încât zgomotul datorat
operaţiilor aritmetice sa nu depăşească zgomotul generat de limitarea numerelor de
biţi la convertoare. Precizaţi cât este B.

7. Se considera filtrul cu schema din figura 27.

x(n ) y (n )
H0
z −1
2r cosθ −2

z −1
− r2

Fig.27.

a. Să se determine H(z) şi mulţimile în care pot lua valori r ai θ, astfel încât


filtrul să fie stabil.
b. Se presupune ca H0 este astfel ales încât funcţia de transfer este scalata după
regula L1. Efectuaţi scalarea semnalelor după aceiaşi regula. Se dau H0=0,4, r=0,8,
cosθ=0,8.

8. Sa se efectueze operaţiile de scalare a filtrului din problema 7 în sensul L∞,


utilizând mediul MATLAB.

9. La schema filtrului din figura 27 se adaugă o scalare a semnalului cu un


factor s, compensata în final. După înmulţitoarele cu sH0, -r2, 2rcosθ, se efectuează

31
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

rotunjiri. Convertoarele A/D ai D/A de la intrare şi ieşire lucrează cu B+1=8 biţi, iar
operaţiile aritmetice se efectuează pe B'+1=10 biţi.
Calculaţi varianţa zgomotului de cuantizare la ieşirea filtrului.
De ce s-a recurs la mărirea numărului de biţi în efectuarea operaţiilor
aritmetice? Ce efect are scalarea asupra puterii medii a zgomotului de cuantizare?
Cum se modifica rezultatele dacă sumatoarele pot lucra cu precizie dublă, aşa
încât rotunjirile se efectuează numai după sumatoarele din linia de sus a schemei?

10. Se considera funcţia de transfer:


0 ,179035-0,102306 z − 1+0 ,255769 z − 2 -0 ,102306 z − 3+0,179035 z − 4
H ( z )=
1-1,760579 z − 1+1,534405 z − 2 -0 ,844378 z − 3+0 ,318264 z − 4
a. Scalaţi funcţia H(z) în sensul L∞. Vom nota funcţia de transfer scalata Hs(z).
b. Desenaţi o schemă a filtrului H(z) în forma directă. Scrieţi ecuaţiile cu
diferenţe finite corespunzătoare.
c. Descompuneţi Hs(z) ca produs de două funcţii raţionale de grad 2:
H s ( z) = H ( z)H ( z)
1 2
Descompunerea nu este unică. Selectaţi varianta optimă şi desenaţi structura în
cascadă corespunzătoare;
d. Scalaţi structura obţinuta în sensul L∞.
Indicaţie. Problema se va rezolva utilizând MATLAB.

11. Fie filtrul cu schema din figura 28.

x(n ) y (n )

H0
z −1 z −1

Q Q
r1 r2

Fig.28.

Determinaţi H0 aşa încât funcţia de transfer sa fie scalată în sensul L1.


Analizaţi apoi scalarea semnelor, în sensul L1.
Aplicaţie numerica: r1=0,8, r2=0,5.

12. Pentru filtrul cu schema din figura 28, determinaţi valoarea medie şi
varianţa zgomotului de cuantizare. Blocurile notate cu Q reprezintă trunchieri la
B+1=8 biţi. Convertoarele de la intrare si ieşire lucrează tot cu B+1 biţi.

13. Fie filtrul cu structura din figura 29.

32
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină

Blocurile notate cu Q reprezintă rotunjiri la B+1=10 biţi. Evaluaţi puterea zgomotului


la ieşire datorat acestor limitări ale numerelor de biţi. Se presupune |k|<1.

x(n )

Q
k z −1
Q
−k

y (n )

Fig.29.

Aplicaţie: k=0,8. Cum depinde zgomotul de k?

14. Scrieţi o funcţie MATLAB care sa sintetizeze, în mod optim, un filtru dat
prin:
B( z )
H ( z )=
A( z )
în forma cascadă.
Indicaţie. Folosiţi funcţia zp2sos.

33
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

8. SISTEME MULTIRATĂ

8.1 Introducere

În multe aplicaţii practice privind prelucrarea şi transmiterea


numerică a semnalelor apare necesitatea modificării (conversiei) frecvenţei de
eşantionare. Vom denumi "sisteme multirată" acele sisteme de prelucrare
numerică a semnalelor în care se lucrează cu mai multe frecvenţe de
eşantionare.
Conversia frecvenţei de eşantionare poate fi realizată în principiu pe două
căi:
-trecerea semnalului discret printr-un convertor numeric-analog, iar după o
eventuală filtrare, reeşantionarea cu noua frecvenţă de eşantionare şi conversia
analog-numerică;
-modificarea frecvenţei de eşantionare operând numai asupra semnalelor
discrete în timp.
Prima metodă are avantajul că permite conversia în orice raport a
frecvenţei, dar şi dezavantajul apariţiei unor distorsiuni ce apar la reconstituirea
semnalului analogic în urma conversiei numeric-analogice, precum şi al
introducerii unor erori de cuantizare suplimentare la conversia analog-numerică.
În cele ce urmează ne vom ocupa numai de al doilea procedeu. Notând cu
Tx=1/Fx şi Ty=1/Fy perioadele de eşantionare la intrarea, respectiv la ieşirea
sistemului, vom avea în vedere următoarele situaţii:
-reducerea frecvenţei de eşantionare (decimare),
1
T y = MTx , Fy = Fx , M ∈ N (1)
M

-mărirea frecvenţei de eşantionare (interpolare),

1
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

1
Ty = Tx , Fy = LFx , L ∈ N (2)
L
-modificarea fracţionară a frecvenţei de eşantionare
M L
Ty = Tx , F y = Fx , M, L ∈ N (3)
L M

8.2 Reducerea frecvenţei de eşantionare (decimare)


Decimarea reprezintă procesul reducere a ratei de eşantionare conform
relaţiilor:
1
T y = MTx , Fy = Fx , M ∈ N . (4)
M
Vom defini pentru început un operator de reducere a frecvenţei de eşantionare, pe
care-l vom numi decimator elementar, prin relaţia:
y (n ) = x(nM ) (5)

x (n ) y (n )

M
Tx T y = MTx

Fig. 1
Pentru acesta vom utiliza notaţia simbolică din figura 1.
Caracterizarea în domeniul timp a decimatorului elementar este ilustrată
în figura 2, pentru o secvenţă x(n ) dată şi M=3.
x(n ) y (n )

n n

0 1 2 3 4 5 6 7 8 9 10 11 0 1 2 3 4

Fig. 2

2
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Să găsim relaţia dintre spectrele celor două semnale.


Reeşantionarea unui semnal discret în timp
Vom considera mai întâi un semnal v(n ) , având aceiaşi frecvenţă de

 x(n ), n = mM
eşantionare ca şi x(n ) , definit prin relaţia: v(n ) = 
0, in rest
El este reprezentat în figura 3a.
Se poate considera că v(n ) provine din înmulţirea secvenţei x(n ) cu
secvenţa "delta periodic":
v(n ) = x(n )δ M (n ) (6)
unde

δ M (n ) = ∑ δ (n − mM ) (7)
m = −∞

este reprezentat în figura 3b, pentru M=3.

v(n ) δ 3 (n )

a). b).

n n

0 3 6 9 12 0 3 6 9 12

Fig. 3
Semnalul v(n ) poate fi privit ca provenind din x(n ) printr-un proces de
reeşantionare, cu o perioadă T y = MTx .

Semnalul periodic δ M (n ) se poate reprezenta cu ajutorul seriei Fourier


discrete:
M −1 2π
1 ~ −j
δ M (n ) = ∑ T (k )WM−nk , WM = e M (8)
M k =0

unde

3
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

M −1 M −1 ∞
~
T (k ) = ∑ δ M (n )WMnk = ∑ ∑ δ (n − mM )WMnk = 1 , k=0,1, …, M-1 (9)
n =0 n = 0 m = −∞

Deci
N −1
1
δ M (n ) = ∑WM−nk (10)
M k =0

Utilizând această exprimare a secvenţei "delta periodic" (sau "pieptene")


se obţine:
M −1
1
v(n ) = ∑ x(n )WM−nk (11)
M k =0

Transformata Z a acestui semnal este


∞ ∞ M −1 M −1 ∞
1 1
V (z ) = ∑ v(n )z −n = ∑ M ∑ x(n )WM−nk z −n = ∑ ∑ x(n )WM−nk z −n (12)
n = −∞ n = −∞ k =0 M k =0 n = −∞

sau

∑ X (WMk z )
M −1
1
V (z ) = (13)
M k =0

Trecând pe cercul de rază unitate, rezultă transformata Fourier

M −1  j  ω x − 2π k  
1  M 
V (e jω x
)=
M
∑ X e 
  (14)
k =0
 
unde ωx=ΩTx, având în vedere că v(n) este eşantionat cu frecvenţa Fx.
Se constată că spectrul semnalului x(n), reeşantionat cu δM(n), v(n), se
obţine prin repetarea la intervale de 2π/M a spectrului secvenţei iniţiale x(n).
Ne interesează proprietăţile spectrale ale semnalului y(n). Să observăm
că v(n) şi y(n) au aceleaşi eşantioane nenule, dar diferă frecvenţa de
eşantionare:
y (n ) = v(nM ) (15)
Caracterizarea în domeniul transformatelor Z.
Transformata Z a secvenţei de iesire y(n) este

4
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

∞ ∞ ∞ −
n  1 
Y ( z) = ∑ y(n )z −n
= ∑ v(nM )z −n
= ∑ v(n )z M =VzM 
 
n = −∞ n = −∞ n = −∞  
(16)
unde
V ( z ) = Z{v(n )} (17)
deci

1 M −1  1 
 
Y ( z) =
M
∑ X  wM z
k M

(18)
k =0  

Caracterizarea în domeniul frecvenţă.


Pe cercul de rază unitate,
jω y jΩT y
z=e =e (19)
se găseste:
 j  Ω T y − k 2π  
Ye ( jΩT y
)= Y (e ) jω y
=
1

  M M  
M −1
X e 
M k =0 
 (20)

 
sau

Ye ( ) jω y
=
1
M
M −1  j (ω y − 2 kπ ) 1
∑ X  e
k =0 
M



(21)

sau

)
 j  ΩTx − k 2π  
Ye ( jΩT y
=
1
M
M −1

∑ X  e 
k =0
M 
 = V e (
jΩTx
) (22)
 
În figura 4 sunt reprezentate spectrele în frecvenţe nenormate, iar în figura
5 în frecvenţe normate, având în vedere frecvenţa de eşantionare corespunzătoare
fiecărui semnal. S-a luat M=3.

5
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

(
X e jΩTx )

ΩM π 2π Ω
Tx Tx
Ye( jΩT y
) = V (e )
jΩT x

1 2π 2 2π 2π Ω
M Tx M Tx Tx

Fig. 4

( )
X e jω x

ω Mx π 2π ω x = ΩTx

( )
V e jω x

2π π 2π 2π
2 ω x = ΩTx
Ye( )jω y M M

ω My π 2π − ω My 2π ω y = ΩT y

Fig.5
Observaţii
• În frecvenţe nenormate, spectrele lui v(n) şi y(n) coincid, ceea ce era de
altfel de aşteptat, având în vedere că cele două secvenţe conţin aceleaşi
eşantioane nenule.
• În spectrele lui v(n) şi y(n) apar în plus faţă de x(n) termenii pentru
k=1,2,...,M-1.

6
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

• În frecvenţe normate apar diferenţe între spectrele lui v(n) şi y(n) ca


urmare a frecvenţelor diferite de normare. Programele uzuale reprezintă spectrele
de obicei în frecvenţe unghiulare normate, între -π şi π. În consecinţă, în spectrul
lui v(n) se vor putea observa termenii suplimentari, în timp ce în spectrul lui y(n)
se constată doar o lărgire de M ori.
O problemă interesantă este aceea a posibilitaţii refacerii semnalului
analogic iniţial x(t) din semnalul y(n).
Prin eliminarea unui număr de eşantioane poate avea loc o pierdere de
informaţie. Aceasta este efectivă dacă nu mai este posibilă refacerea semnalului
analogic iniţial din y(n). Lucrul acesta se întâmplă dacă se suprapun zonele
spectrale corespunzătoare lui k=0 şi k=1, caz în care rezultă un fenomen de aliere.
Evident, pentru a nu apărea un asemenea fenomen, este necesar ca
ω M y ≤ 2π − ω M y (23)

(vezi figura 5), unde


ω M y = Ω M Ty (24)

iar ωM reprezintă frecvenţa maximă din spectrul semnalului analogic.


Rezultă
π 1 π
ωM y ≤ π ; ΩM ≤ = (25)
T y M Tx

deci semnalul trebuie să îndeplinească şi condiţiile teoremei eşantionării pentru


noua frecvenţă de eşantionare .
Pentru a avea garanţia că reducerea ratei de eşantionare nu conduce la
un fenomen de aliere, decimatorul elementar va fi precedat de un filtru cu
frecvenţa de tăiere
π π π
Ωc = = ; ω cx = . (26)
T y MTx M

Un circuit complet de decimare va avea deci schema din figura 6, în care


este reprezentată şi caracteristica de frecvenţă a filtrului.

7
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

(
H e jω x )
x(n ) w(n ) y (n )
FTJ ↓M
π π
− ωx
Tx Tx Ty M M

Fig.6
Relaţiile intrare/ieşire pentru schema din figura 6 sunt:

w(n ) = ∑ x(k )h(n − k ) (27)
k = −∞


y (n ) = w(Mn ) = ∑ x(k )h(Mn − k ) (28)
k = −∞

Operatorul de decimare nu este invariant în timp, deoarece, pentru o


secvenţă de x(n), există M posibilităţi de calcul a ieşirii; întârzierea secvenţei de
intrare cu un tact nu conduce la întârzierea cu un tact a secvenţei de ieşire. El este
totuşi un operator liniar.

4.3 Mărirea frecvenţei de eşantionare (interpolare)


Operatorul elementar de interpolare.
Vom defini mai întâi un operator de mărire a ratei de eşantionare prin
introducerea de eşantioane nule, pe care îl vom numi interpolator elementar,
 n
 x L , n = kL, k ∈ Ν
y (n) =  0, i n rest
(29)



Reprezentarea simbolică a acestui operator este dată în figura 7, iar în figura 8


este exemplificată acţiunea sa pentru L=3 şi o formă particulară de semnal.

8
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

x (n ) y (n )

L
1
Tx Ty = Tx
L

Fig. 7

x (n ) y (n )

n n

Fig. 8

Spectrul semnalului y(n)


Transformata Z a secvenţei y(n) este:
∞ ∞ ∞
 n  −n
Y ( z) = ∑ y (n) ⋅ z − n = ∑ x ⋅ z = ∑ x(k ) ⋅ z − k ⋅ L = X ( z L ) (30)
x = −∞ n = k ⋅L  L  k = −∞
k = −∞

În domeniul frecvenţă,
 jω   jLω  jω
Y  e y  = X  e y  = X  e x 
     
(31)
 jΩ T
y
 = X  e
jΩ T 
Ye x

   
Cum era de aşteptat, cele două secvenţe, având aceleaşi eşantioane nenule,
au acelaşi spectru (figura 9).

9
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

(
X e jΩ T x )

ΩM 2π 4π 6π Ω
Tx Tx Tx
Ye ( j ΩT y
)

1 π 1 2π 2 2π 2π Ω
L Ty L Ty L Ty Ty

Fig. 9

În figura 10 sunt reprezentate aceleaşi spectre, dar în frecvenţe normate.


Ca urmare a normărilor la frecvenţe diferite, spectrele nu mai coincid.

(
X e jω x )

ω Mx 2π 4π 6π ωx

Ye( ) jω y

2π 2π 2π 4π 6π ωy
2
L L

Fig. 10

Se constată o comprimare a spectrului ca urmare a trecerii prin sistem. În


banda de bază a semnalului de ieşire apar L-1 termeni spectrali suplimentari,
2π 2π 2π
centraţi pe frecvenţele ,2 , L , (L − 1) .
L L L
Aceştia poartă numele de spectre imagine.

10
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Spre deosebire de cazul decimării, nu pot apare fenomene de aliere, dacă


eşantionarea iniţială a fost făcută corect.
Structura completă a circuitului de interpolare
Interpolarea cu zerouri, realizată de operatorul prezentat până aici, nu
prezintă însă un interes practic deosebit. Ar fi de dorit ca eşantioanele x(1), x(2),..,
x(L-1) să fie refăcute la valorile corecte xa (T y ), xa (2T y ),..., xa (( L − 1)T y ) . Cu alte

cuvinte, am dori să refacem toate eşantioanele semnalului analogic xa (t ) ,


eşantionat cu perioada Ty.
Acestea corespund unui spectru periodic, cu perioada 2π/Ty, obţinut din
spectrele din figura 9 prin eliminarea termenilor centraţi pe
2π 2π 2π
,2 , L , (L − 1) (32)
LT y LT y LT y

Dar un asemenea spectru poate fi simplu obţinut cu ajutorul unui filtru


trece jos care să elimine spectrele imagine. Caracteristica filtrului este
reprezentată punctat în figura 9.
Rezultă că schema completă a interpolatorului este cea din figura 11a, iar
în figura 11b este dată caracteristica amplitudine-frecvenţă a filtrului.

( )
He
jω y

G
x (n ) w(n ) y (n )
↑L FTJ
π π
Tx Ty Ty − ωy
( )
He
jω y L L

a) b)
Fig. 11
Relaţia intrare-ieşire se poate exprima prin:
∞ ∞ ∞
k
y (n ) = ∑ w(k ) ⋅ h(n − k ) = ∑ x   ⋅ h (n − k ) = ∑ x (r ) ⋅ h (n − rL ) (33)
k = −∞ k = rL L r = −∞
r = −∞

11
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

O altă exprimare a acestei relaţii se poate obţine pornind de la schimbarea


de variabilă
n
r =   −l (34)
L
unde prin a  s-a notat partea întreagă a lui a.
Se observă că
n
n − rL = n −   L + lL = n L
+ lL (35)
L
unde
n
n L
= n ⋅ mod L = n −   L (36)
 L
Rămâne

y (n ) = ∑ h (lL + ) n 
n L
x   − l (37)
l = −∞  
L 
(
Dar hn (l ) = h lL + n L
) reprezintă răpunsul la impuls al unui filtru

variabil periodic în timp, cu perioada L. Deci



n 
y (n ) = ∑ hn (l )x    − l  (38)
l = −∞   L 
Calculul câştigului G al filtrului de interpolare
Vom determina câştigul impunând ca x(n ) = y (nL ) la un moment de timp
arbitrar ales. Luând, de exemplu, n=0,
π
Tx

∫ X (e )dω
π
1 Tx
x (0 ) = jω x
x = ∫ X (e
jΩT x
)dΩ (39)
2π −π
2π π

Tx

∫ H (e )⋅W (e )dω
π
1
y (0) =
jω y jω y
y (40)
2π −π

După cum s-a arătat,


jω y
W (e ) = X ( e jω x ) (41)
aşa încât

12
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

 π π
He ( ) = H (e
jω y jΩT y
) G ,
=
for −
T
x
≤Ω≤
T
x (42)
 0, otherwise
şi
π
Tx
Ty
y (0) = ∫ GX (e
jΩT x
)dΩ (43)
2π π

Tx

Rezultă
Tx = GT y (44)

Tx
G= =L (45)
Ty

4.4 Modificarea fracţionară a ratei de eşantionare


Să presupunem că dorim să modificăm frecvenţa de eşantionare într-un
raport raţional
Fy L
= , L, M ∈ N (46)
Fx M
În principiu, lucrul acesta este posibil, utilizând un cicuit de interpolare,
urmat de unul de decimare (figura 12).
Filtrul interpolatorului va trebui să aibă câştigul L în banda de trecere şi
frecvenţa limită a benzii de trecere π/Tx (în frecvenţe nenormate) sau π/L în
frecvenţe normate.
Pentru ca prin decimare să nu rezulte aliere, trebuie ca spectrul secvenţei
v (n ) să fie cuprins în intervalul
π π
− ≤Ω≤ (47)
Ty Ty

13
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

x (n ) v' (n ) v ′′(n ) v (n ) y (n )

↑L H I ( e jωv ) H D ( e jω v ) ↓M

Tx M
Tx Tv = Tv Tv T y = MTv = Tx
L L

Fig.12
Ca urmare, filtrul decimatorului va avea banda de trecere rezultând din
relaţia de mai sus, sau lucrând în frecvenţe normate
π π
ω tvD = sau ΩtD = (48)
M Ty

S-a aratat deja ca filtrul de interpolare are banda de trecere:


π π
ω tvI = sau ΩtI = (49)
L Tx

x (n ) v' (n ) v ' ' (n ) y (n )

↑L H ( e jω v ) ↓M
Tx T M
Tv = x Tv T y = MTv = Tx
L L

Fig. 13
Cele două filtre, lucrând cu frecvenţa de tact Fv, vor putea fi înlocuite cu
unul singur (figura 13), a cărui bandă de trecere va îndeplini relaţia:
π π
ω tv = min ,  (50)
M L

sau în frecvenţe nenormate :


π π 
Ωt = min ,  (51)
 Tx T y 
 

14
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Se poate pune problema dacă prin aceste operaţii are loc sau nu o
pierdere de informaţie, deci dacă din semnalul discret obţinut mai poate fi
refăcut complet semnalul analogic iniţial.
Să presupunem că semnalul analogic este de spectru limitat la frecvenţa
ΩM şi eşantionarea initială a fost corect făcută:
π
ΩM ≤ (52)
Tx
Prin alegerea corectă a filtrului, fenomenele de aliere sunt excluse.
Rămâne doar condiţia ca filtrul să nu distorsioneze semnalul util. Pentru aceasta
este necesar ca:
π π 
Ω M ≤ min ,  (53)
 Tx T y 
 

Apar două cazuri.


• mărire fractionară a ratei de eşantionare
Ty M Fy
Tx > T y sau = < 1 sau >1 (54)
Tx L Fx

π
în care caz Ω c = şi condiţia de mai sus este îndeplinită dacă semnalul a fost
Tx
iniţial corect eşantionat.
• reducere fractionară a ratei de eşantionare
Ty M Fy
Tx < T y or = > 1 sau <1 (55)
Tx L Fx

π
În acest caz, Ω c = şi condiţia de mai sus revine la
Ty

π π L
ΩM ≤ = (56)
T y Tx M

deci se poate realiza o reducere cu un raport

15
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

M π
≤ (57)
L Ω M Tx

Relaţia intrare-ieşire (figura 13).


 n
x n = mL
v (n ) =   L 
' ,
(58)
 0, in rest
∞ ∞ ∞
k
v '' (n ) = ∑ v ' (k )h(n − k ) = ∑  x h (n − k ) = ∑ x(m )h(n − mL ) (59)
k = −∞ k = mL  L  m = −∞
m = −∞


y (n ) = v' ' (nM ) = ∑ x(m )h(nM − mL ) (60)
m = −∞

O altă expresie se poate obţine pornind de la schimbarea de variabilă


 nM 
m= −l (61)
 L 

  nM     nM  
y (n ) = ∑ x   − l h nM −   L + lL  (62)
l = −∞   L     L  

Dar
 nM 
nM −  L = nM = nM mod L (63)
 L  L

deci

y (n ) = ∑
  nM  
x  (
 − l h lL + nM L
) (64)
l = −∞   L 
Relaţia de mai sus reprezintă însă răspunsul la x(n) al unui filtru variabil
periodic în timp, având funcţia de pondere
(
hn (l ) = h lL + nM L
) (65)

Spectrul secvenţei de ieşire


Vom putea scrie succesiv
V ' (e jωv ) = X (e jω x ) = X (e jLωv ) (66)

16
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

 jLω π π
jω v jω v jω v  LX (e v ) , ω v ≤ min  , 
V ' ' (e ) = V (e ) H (e )= M L
 0, in restul intervalului ω v ≤ π

(67)

jω y 1 M −1  j (ω y − 2 kπ ) 1 
Y (e )=
M
∑ V ' '  e M 

(68)
k =0  
Cum însă filtrul previne fenomenul de aliere, rămâne în banda de bază
L L
j ωy  M 
jω y  X (e M ), ω y ≤ min π , π 
Y (e ) =  M  L  (69)
 0, in restul intervalului ω ≤ π
 y

Aplicaţie
Să presupunem că un semnal analogic de bandă limitată, cu frecvenţa
limită superioară ΩM, este eşantionat cu o perioadă Tx,
2 π
Tx = ; Fx = 3FM (70)
3 ΩM

El este deci eşantionat cu o frecvenţă mai mare decât frecvenţa limită


impusă de teorema eşantionării. Dorim să transmitem acest semnal printr-un
sistem de comunicaţii. Este indicat să se folosească o frecvenţă de eşantionare
cât mai mică pentru a utiliza raţional canalul de comunicaţii. Va trebui deci
trecut la frecvenţa de eşantionare minimă
π 3
Ty = = Tx (71)
ΩM 2

x (n ) v' (n ) v ' ' (n ) y (n )

↑2 H ( e jωv ) ↓3
Tx Tx 3
Tv = Tv T y = 3Tv = Tx
2 2
Fig. 14

17
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Schema va fi cea din figura 14. Spectrele respective sunt date în figura
15.Filtrul trebuie să elimine spectrele imagine, fără a deteriora spectrul util.
Rezultă că el trebuie să aibă o caracteristică de frecvenţă constantă în domeniul
π
ω v ≤ ω Mv , ω M v =
3
şi nulă în domeniul
π − ω Mv ≤ ω v ≤ π
Rezultă că filtrul poate avea o bandă de tranziţie nenulă, aşa cum rezultă
din desen, ceea ce facilitează realizarea lui. Se poate constata că spectrul obţinut
în final "umple" toată banda de bază [-π,π].

ωx
X (e j )

ωM x ωx
ωv
V ′( e j )

H (e j
ωv
) ωv

ωv
V ′′( e j ) ωv

jω y ωv
Y (e )

π 2π ωy

Fig.15

18
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

4.5 Echivalenţe în circuitele de decimare şi interpolare


A. Inversarea poziţiei unui decimator cu un filtru liniar. Fie circuitele
din figura 16.

x(n ) v(n ) y (n) x(n ) H  z M  u (n ) y (n)


↓M H (z )   ↓M
 

Tx T y = MTx Ty Tx Tx T y = MTx

a b
Fig. 16
Să demonstrăm că sunt echivalente. Pentru circuitul din figura a) putem
scrie:
v(n ) = x(nM ) (72)

∞ ∞
y (n ) = ∑ v(k )h(n − k ) = ∑ x(kM )h(n − k ) (73)
k ≡ −∞ k ≡ −∞

1
În această schemă, filtrul lucrează pe frecvenţa mică F y = Fx . În schema
M
din figura 16b, filtrul lucrează la frecvenţa mare, Fx şi, având în vedere relaţiile
stabilite la interpolare, functia sa de pondere, h ′(n ) , se obţine din funcţia de
pondere h ′(n ) a filtrului H ( z ) , prin:

 n
h , n = mM
h ′(n ) =   M  (74)
 0 in rest

Concret, filtrul având H z M ( ) se obţine din filtrul cu funcţia de transfer H (z ) ,


înlocuind fiecare circuit de întârziere cu M asemenea circuite conectate în
cascadă.
∞ ∞ ∞
 k 
u (n ) = ∑ h'(k )x(n − k ) = ∑ h .x(n − k ) = ∑ h(m )x(n − mM )
k = −∞ k = mM  M  m = −∞
m = −∞ (75)

y (n ) = u (nM ) = ∑ h(m ) (x(n-m)M )
m =-∞

Făcând schimbarea de variabilă k=n-m, rezultă

19
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina


y (n ) = ∑ x (kM )h(n − k ) (76)
k = −∞

Se obţine deci aceeaşi relaţie intrare-ieşire în ambele cazuri.

B. Inversarea poziţiei unui interpolator cu un filtru liniar. Fie circuitele


din figura 17.

x(n ) v(n ) y(n ) x(n ) u (n ) y (n )


H (z ) ↑L ↑L H (z L )
Tx Tx 1 Tx 1 Ty
T y = Tx T y = Tx
L L

a b
Fig. 17
Să demonstrăm că şi aceste circuite sunt echivalente. Pentru circuitul din figura
17a:

v(n ) = ∑ x(k )h(n − k )
k = −∞

 n (77)
v , n = mL
y(n ) =   L 
0 , in rest

aşa încât
 ∞ n 
 ∑ x(k )h − k  , n = mL
y (n ) = k =-∞ L  (78)
 0 , in rest

Pentru circuitul din figura 17b,
 n
 x  , n = mL
u (n ) =   L  (79)
 0 , in rest

Funcţia de pondere a filtrului cu funcţia de transfer H z L este ( )

20
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

 n
h  , n = mL
h' (n ) =   L  (80)
 0 , in rest

aşa incât se obţine
∞ ∞
k
y (n ) = ∑ u (k )h' (n − k ) = ∑ x h' (n − k ) =
k = −∞ k = mL  L 
k = −∞

 ∞ (81)
n 

 ∑ x(m )h − m  , n = rL
= ∑ x(m )h' (n − mL ) = m = −∞ L 
m = −∞ 0 , in rest

-aceiaşi relaţie intrare-ieşire ca în cazul a.

C. Inversarea poziţiei unui decimator cu un interpolator. Să stabilim în


ce condiţii structurile din figura 18 sunt echivalente. În general, cele două
sisteme nu sunt identice, aşa cum se poate uşor verifica pentru L=M.

x(n ) v(n ) y(n ) x (n ) v(n ) y(n )


↑L ↓M ↓M ↑L
Tx M Tx Tv = MTx M
1 Tv = Tx
Tv = Tx Tv = Tx
L L L
a) b)
Fig. 18
Pentru configuraţia a):
( )
V ( z) = X z L
1 M −1 1
1 M −1  L  (82)
Y ( z) =
M
∑ m M
V (WM z )=
M
∑ X WM z M
mL 

m =0 m =0  
Pentru configuraţia b):
M −1 1
1
V ( z) =
M
∑ m M
X (WM z )
m =0
(83)
M −1 L
1
Y ( z) = V ( z L ) =
M
∑ m M
X (WM z )
m =0

21
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Cele două expresii obţinute pentru Y(z) nu sunt identice. Ele coincid totuşi dacă
mulţimile
{W m
[
M , m ∈ 0, M − 1 ]} (84)
{W mL
M , m ∈ 0, M − 1 [ ]}
conţin aceleaşi elemente.
{ }
In general, mulţimea WMm , m ∈ Z conţine un număr de M elemente

distincte, ce se obţin pentru m=0,1,...,M-1, deoarece WMm este o funcţie periodică

{ [
de m, cu perioada M. Mulţimea WMmL , m ∈ 0, M − 1 va trebui să aibă tot M]}
elemente distincte, adică
WMkL ≠ WMmL sau WM( k − m ) L ≠ 1 (85)

[ ]
pentru orice pereche k,m ∈ 0.M-1 , k ≠ m . Aceasta implică
(k − m) L ≠ pM (86)
deci L şi M trebuie să fie relativ prime.
Prin urmare, poziţiile celor două blocuri din figura 18 se pot inversa dacă
şi numai dacă M şi L sunt relativ prime.

4.6 Realizări eficiente pentru filtrele de decimare şi interpolare.Filtre


polifazice
Să considerăm pentru început cazul unui decimator, utilizând un filtru RFI
(figura 19), caracterizat prin ecuaţiile:
N −1
v(n ) = ∑ h(k )x(n − k )
k =0 (87)
N −1
y (n ) = v(nM ) = ∑ h(k )x(nM − k )
k =0

22
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

x(n )
z −1 z −1 z −1
Tx
h(0) h(1) h( N − 1)
v(n ) y (n )
↓M
Tx Ty

Fig. 19
Pentru a obţine un eşantion la iesire, într-un interval de timp Ty vor fi
efectuate un număr de NM înmulţiri şi (N-1)M adunări. O mare parte din
rezultatele acestor operaţii sunt însă neutilizate în final, datorită decimării, aşa
încât eficienţa schemei este redusă. Numărul de operaţii pe tact se poate reduce
efectuând decimări imediat după circuitele de întârziere (figura 20).

x(n ) x(n − 1) x(n − N + 1)


−1
z z −1 z −1
Tx

↓M ↓M ↓M

x(nM ) x(nM − 1) x(nM − N + 1)

h(0) h(1) h( N − 1)
y (n )

Ty

Fig.20
Pentru această schemă vor fi necesare N înmulţiri şi N-1 adunări pentru un
eşantion la ieşire. Să analizăm acum un interpolator, pentru care filtrul poate fi
realizat în oricare din variantele din figura 21 (forma directă şi forma transpusă).

23
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

x(n ) v(n )
↑L z −1 z −1 z −1
Tx Ty
h(0) h(1) h( N − 1)
y (n )

Ty

x(n ) v(n )
↑L
Tx Ty
h( N − 1) h( N − 2 ) h(0)
y (n )
−1 −1
z z z −1
Ty

Fig.21

x(n )

Tx
h( N − 1) h( N − 2 ) h(0)

↑L ↑L ↑L

y (n )
−1 −1 −1
z z z
Ty

Fig.22
Se observă în oricare din cele două variante că, pe durata unui tact Tx, se
vor efectua un număr de LN înmulţiri şi L(N-1) adunări. Din aceste operaţii, o

24
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

mare parte au un operand nul. Va fi deci de preferat ca interpolările să se facă


după efectuarea înmulţirilor (figura 22).
Vom arăta în continuare că filtrul de ordin N-1 se poate înlocui cu un set
de filtre de ordine inferioare.
Să reluăm cazul decimatorului. Să presupunem că N este multiplu de M şi
vom putea scrie:

N −1
H (z ) = ∑ h(k )z −k (88)
k =0

N N
−1 −1
M M −1 M −1 M
H (z ) = ∑ ∑ h(lM + p )z −(lM + p ) = ∑ z − p ∑ h(lM + p )z −lM (89)
l =0 p =0 p =0 l =0

în care s-a utilizat exprimarea:


N
k = lM + p, p = 0,L, M − 1, l = 0,L, −1 (90)
M
pentru indicele de însumare.
Notând
N N
−1 −1
M M
E p (z ) = ∑ h(lM + p )z −l = ∑ e p (l )z −l (91)
l =0 l =0
e p (n ) = h(nM + p ), p = 0,L, M − 1
rezultă

∑ z − p E p (z M )
M −1
H (z ) = (92)
p =0

x(n )
z −1 z −1 z −1
Tx
( )
E0 z M ( )
E1 z M ( )
E M −1 z M
y (n )
↓M
Ty

Fig.23

25
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Cu această observaţie, structura din figura 19 se poate înlocui prin schema


din figura 23, sau, ţinând seama de echivalenţele demonstrate în paragraful
precedent, cu aceea din figura 24.

x(n ) x(n − 1) x(n − M + 1)


−1 −1 −1
z z z
Tx
↓M ↓M ↓M

x(nM ) x(nM − 1) x(nM − M + 1)

E0 ( z ) E1 ( z ) E M −1 ( z )

y (n )

Ty

Fig.24
Ep(z), pentru p=0,...,M-1 formează un banc de filtre, numite filtre polifazice.
Ordinul fiecăruia dintre acestea este N/M. Aceste filtre lucrează la frecvenţa mică:
Fy=Fx/M. Filtrul E p ( z ) poate fi considerat versiunea decimată cu factorul M a

filtrului având funcţia de pondere h(n + p ) . Dacă H ( z ) este un filtru trece jos, cu
π
frecvenţa de tăiere , filtrele E p ( z ) vor avea în consecinţă o frecvenţă de tăiere
M
de M ori mai mare, deci π şi prin urmare sunt toate de tip trece tot. Ele se
diferenţiază numai prin caracteristicile de fază, de unde le vine şi denumirea.
In principiu, E p ( z ) depind deci şi de M. Cum însă de obicei M este fix, s-

a evitat complicarea notării prin introducerea unui indice suplimentar.


Operaţiile de întârziere-decimare din structura filtrului din figura 24 sunt
echivalente cu un comutator care comută pe rând filtrele cu un tact Tx (figura 25).
O altă variantă de descompunere a filtrului H(z) în filtre polifazice se
obţine făcând în relaţia (92) schimbarea de indice de însumare
N
k = lM + M − 1 − p, p = 0, L , M − 1, l = 0, L , −1 (93)
M

26
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

x(n )

x(nM ) x(nM − 1) x(nM − M + 1)

E0 ( z ) E1 ( z ) E M −1 ( z )
y (n )

Fig.25
N
−1
M M −1
H (z ) = ∑ ∑ h(lM + M − 1 − p )z −(lM + M −1− p ) =
l =0 p =0
N
(94)
−1
M −1 M
= ∑ z −(M −1− p ) ∑ h(lM + M − 1 − p )z −lM
p =0 p =0

sau

∑ z −(M −1− p ) R p (z M )
M −1
H (z ) = (95)
p =0

unde s-a notat


N
−1
M
R p (z ) = ∑ h(lM + M − 1 − p )z −l = E M −1− p ( z ) (96)
l =0

Filtrele cu funcţia de transfer E p ( z ) vor fi numite filtre polifazice de tipul

1, iar cele cu funcţia de transfer R p ( z ) , filtre polifazice de tipul 2.

Să revenim asupra circuitului de interpolare din figura 21. Filtrul H(z) se


va putea înlocui cu un banc de filtre polifazice de tip 2, conform schemei 26, sau
de tip 1, ca în figura 27. Se poate obţine o structură mai eficientă, inversând
ordinea interpolatorului cu a filtrelor şi aplicând relaţiile de echivalenţă. De
exemplu, pornind de la schema din figura 27, rezultă aceea din figura 28, în care
filtrele E p ( z ) lucrează la frecvenţa mică Tx.

27
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

x(n ) v(n )
↑L
Tx Ty

( )
R0 z L ( )
R1 z L ( )
RL−1 z L

y (n )
−1 −1 −1
z z z
Ty
Fig.26

x(n ) v(n )
↑L
Tx Ty

( )
E L−1 z L E L−2 z L( ) ( )
E0 z L

y (n )
−1 −1 −1
z z z
Ty

Fig. 27

x(n )

Tx
E L −1 ( z ) E L − 2 (z ) E0 ( z )

↑L ↑L ↑L

y (n )
−1 −1 −1
z z z
Ty

Fig.28

28
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina

Şi în această schemă grupul de interpolatoare şi circuite de întârziere poate


fi înlocuit cu un comutator (figura 29), care comută cu perioada Ty.

x (n )
E L −1 (z ) E L − 2 (z ) E0 ( z )

y (n )

Fig. 29
. Practic acest comutator se realizează cu un circuit multiplexor cu liniile
de adresă conectate la ieşirile unui numărător modulo L.

29
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

9. APLICAŢII ALE CIRCUITELOR MULTIRATĂ

9.1 Discretizarea şi reconstituirea semnalului în sistemele audio numerice

Aceste sisteme au căpătat o importanţă deosebită în prelucrarea,


înregistrarea şi redarea semnalelor audio. Vom considera că banda utilă a
semnalului audio este FM=24 kHz (pentru sistemele de înaltă fidelitate- Fig. 1a).
Ar rezulta, conform teoremei eşantionării, o frecvenţă de eşantioane
minimă Fs=2FM=48 kHz. Eşantionarea şi conversia analog/numerică vor fi
precedate de un filtru trece-jos care trebuie să elimine pericolul alierii cu
zgomotul din afara benzii utile. În final, pentru refacerea semnalului analogic,
convertorul numeric/analog va fi urmat de un filtru de reconstruire.
Filtrul analogic antialiere ar trebui să aibă un câştig constant în banda utilă
a semnalului şi o bandă de tranziţie foarte îngustă, pentru a elimina
componentele spectrale nedorite (figura 1b).

X a ( jΩ )
a)
F
24KHz

H a ( jΩ )
b)
F
FM
H a ( jΩ )
c)
F
Ft Fb

Fig.1

1
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Filtrele eliptice ce pot realiza aceste condiţii au însă o caracteristică de fază


foarte neliniară în apropierea frcvenţei de tăiere. Aceasta este un dezavantaj
major pentru sistemele de înaltă fidelitate.
Problema se poate rezolva utilizând iniţial o frecvenţă de eşantionare mai
mare, de exemplu Fs=4FM=96KHz.
In acest caz, frecvenţa limită superioară a benzii de trecere a filtrului va trebui să
fie:
Ft ≥ FM = 24kHz (1)
iar frecvenţa limită inferioară a benzii de oprire,
1
Fb ≤ Fc , Fc = Fs = 48kHz (2)
2
Rezultă o bandă de tranziţie (figura 1c)
Fb − Ft = 24kHz (3)
şi va fi posibilă utilizarea unui filtru Bessel (cu liniaritate maximă a caracteristicii
de fază). În continuare, este neraţional să se utilizeze o frecvenţă de eşantionare
mai mare decât este necesar, aşa încât se va opera o decimare cu M=2. Pentru a
nu apărea aliere la decimare, după conversie se va face o filtrare cu un filtru
numeric cu fază liniară (figura 2).
După efectuarea prelucrărilor, pentru refacerea semnalului analogic este
necesar un filtru analogic ce trebuie să satisfacă nişte condiţii asemănătoare cu
filtrul antialiere. Din aceleaşi motive ca mai înainte, va fi necesar să se treacă la o
frecvenţă mai mare, de exemplu prin interpolare cu doi.

H a ( jΩ ) E/M CAN H (z ) ↓M
Prelucrare, stocare,
Fs = 2 MFM
Transmitere

H a ( jΩ ) CNA H (z ) ↑M

Fig. 2

2
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Un filtru digital cu fază liniară, identic cu cel din lanţul de conversie


analog/numeric, va fi introdus pentru a elimina spectrele imagine rezultate după
interpolatorul elementar.
Uneori, pentru a facilita şi mai mult realizarea filtrelor analogice, se poate
utiliza o frecvenţă de eşantionare Fs şi mai mare, de exemplu Fs=8FM=192 KHz,
sau în general, Fs=2MFM.. Blocurile din schema din fig.2 se găsesc frecvent în
formă integrată sub denumirea de CODEC (CODer-DECoder).

9.2. Utilizarea supraeşantionării pentru îmbunătăţirea raportului


semnal/zgomot de cuantizare

După cum s-a văzut, prin procesul de cuantizare la un număr finit B+1 de
biţi apare o eroare ce poate fi asimilată, în scopul evaluării, cu un zgomot alb cu
densitatea spectrală de putere

jΩ σ c2 2 −2 B  F F 
Pci (e )= = , F ∈ − s , s  (4)
Fs 12 Fs  2 2

( )
Pci e jΩ

( )
Pci′ e jΩ

Fs′ Fs Fs Fs′
− −
2 2 2 2
Fig. 3
Pentru a putea face o evaluare vom presupune că semnalul util are o
Fs
varianţă σ xi2 şi o densitate de putere constantă în banda [− FM , FM ], FM = :
2

3
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

( )
Pxi e jΩ =
σ xi2
2 FM
, F ∈ [− Fm , FM ] (5)

Deci, raportul semnal/zgomot de cuantizare este:

S σ xi2 12 3
= 2 = − 2 B σ xi2 = − 2( B +1) σ xi2 (6)
Nc σ c 2 2
Să presupunem că se utilizează o supraeşantionare cu Fs'=2MFM, iar apoi
semnalul digitizat este filtrat cu filtrul H(z), având o lărgime a benzii de trecere
egală cu Fs/2=FM. Această filtrare lasă practic nemodificat semnalul util. Puterea
2
semnalului la ieşire este deci în continuare σ xo = σ xi2 .
Densitatea spectrală de putere a zgomotului de cuantizare în această
situaţie va fi:

( )
Pci′ e jΩ =
σ ci2 Fs
=
Fs′ Fs′
( )
Pci e jΩ =
1
M
Pci e jΩ ( ) (7)

Evident, aceiaşi putere fiind repartizată într-o bandă mai largă, densitatea
spectrală de putere este de M ori mai mică. Acest lucru este sugerat şi de figura 3.
La ieşirea filtrului va rezulta o putere a zgomotului de cuantizare:
FM
σ ci2 2F 1

2
σ co = dF = M σ ci2 = σ ci2 (8)
− FM Fs′ Fs′ M

Raportul semnal/zgomot de cuantizare este deci:


′ 2
 S  σ xo  S 
  = = M   (9)
 Nc  1 2  Nc 
σ ci
M
Se constată deci o îmbunătăţire de M ori a acestui raport.
Această înbunătăţire poate fi valorificată printr-o ameliorare a rezoluţiei.
Într-adevăr, între raportul semnal/zgomot şi numărul de biţi există relaţia:
 S  σ x2 σ x2
  = 10 lg 2 = 10 lg −2( B +1) = 20 lg σ x + 20(B + 1) lg 2 + 10 lg 3 =
 N c  dB σc 2 (10)
3
= 20 lg σ x + 6,02( B + 1) + 4,77

4
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Aceasta arată că pentru fiecare bit suplimentar se câştigă 6dB în raportul


semnal/zgomot. Dacă printr-o prelucrare ce urmează conversiei se înbunătăţeşte
acest raport, se poate mări şi formatul de reprezentare a numerelor, deci rezoluţia,
până la limita dată de relaţia de mai sus. O mărire mai pronunţată ar conduce la
crearea unor biţi ce s-ar afla sub nivelul zgomotului (deci ar fi inutilă). Creşterea
numărului de biţi devine efectivă prin alegerea corespunzătoare a formatelor de
reprezentare a numerelor în operaţia de filtrare.
O supraeşantionare cu M=4 are deci drept efect o îmbunătăţire a raportului
semnal/zgomot cu 6dB, echivalent cu o ameliorare a rezoluţiei cu 1 bit.
Observaţia de mai sus conduce la ideea posibilitaţii înlocuirii unui
convertor de rezoluţie mare, dar de viteză mică, cu un convertor cu rezoluţie
mică, dar de viteză mare.

9.3. Convertoare sigma-delta


Îmbunătăţirea rezoluţiei prin supraeşantionare, prezentată în paragraful
anterior, poate fi şi mai pronunţată dacă se realizează o altă distribuţie spectrală a
zgomotului (mai mică în banda semnalului util, -FM,FM, şi mai mare în exteriorul
ei). Lucrul acesta presupune o "filtrare a erorii" sau "formare a spectrului erorii"
(error spectrum shaping). Filtrarea aceasta nu trebuie însă să afecteze semnalul.
Convertorul sigma-delta valorifică ideea expusă mai sus (figura 4).

xa (t ) u a (t ) u (n ) v(n ) y (n )
Ts Q FTJ ↓M
Ts

CAN

Fig.4
Sistemul constă într-un modulator sigma-delta, urmat de un decimator.
Modulatorul este constituit din:
-un circuit de eşantionare, cu o frecvenţă de eşantionare mult mai mare
decât frecvenţa Nyquist,

5
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

1
FS = = 2 MFM (11)
TS

Q (x )

a.

e(n )
x(n ) u (n ) v(n ) y (n )
−1 FTJ
z ↓M

b.
Fig.5

-un integrator analogic în timp discret, realizat utilizând tehnici specifice


filtrelor cu capacităţi comutate;
-un circuit de cuantizare de un bit (comparator);
-un convertor numeric/analogic. Caracteristica globală a grupului
cuantizor-CNA este dată în figura 5a.
-un circuit de scădere.
În figura 5b, este dată o schemă echivalentă în timp discret, în care
cuantizorul este înlocuit cu o sursă de erori.
Integratorul poate fi descris prin:

6
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

v(n ) = u (n − 1) + v(n − 1) (12)

deci, în transformate Z,
V ( z ) = z −1V ( z ) + z −1U ( z )
z −1 1 (13)
V ( z) = U ( z ) = U ( z ).
1 − z −1 z −1
Ieşirea convertorului este:
y (n ) = v(n ) + e(n )
(14)
u (n ) = x(n ) − y (n )
Trecând la transformate Z, se obţine sistemul:
Y ( z ) = V ( z ) + E ( z )
 −1 −1
V ( z ) = z U ( z ) + z V ( z ) (15)
U ( z ) = X ( z ) − Y ( z )

din care, eliminând U(z) şi V(z), rămâne:
Y ( z ) = X ( z ) z −1 + E ( z )(1 − z −1 ) (16)
sau
y (n ) = x(n − 1) + e(n ) − e(n − 1). (17)
Se mai poate scrie:
Y ( z ) = H x ( z ) X ( z ) + H e ( z ) E ( z ). (18)
unde s-au introdus funcţiile de transfer pentru semnalul util şi pentru eroare
H x ( z ) = z −1 , H e ( z ) = 1 − z −1 (19)
În domeniul frecvenţă

( )
H x e jω = e − jω ⇒ H x e jω = 1( ) (20)

ω
jω − jω
−j ω
H e (e ) = 1 − e =e 2 (2 j sin )
2 (21)
1
| H e (e jω ) |= 2 | sin ω | .
2
Se constată că modulatorul sigma-delta are drept efect o modificare a
spectrului erorii, în timp ce spectrul semnalului nu este afectat (are loc doar o
întârziere de un tact). În figura 6 sunt reprezentate cele două caracteristici de

7
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

frecvenţă. Se poate observa o concentare a spectrului erorii către frecvenţe


mari, ceea ce va face ca efectul filtrului trece jos să fie mai eficient în reducerea
zgomotului.

( )
H e e jω
2
( )
H x e jω
1
ω
π π
M

Fig.6

Fs
Filtrul trece-jos al decimatorului are o frecvenţă de tăiere Fc = FM = , deci
2M
va rămâne la ieşire numai contribuţia zgomotului situată în stânga dreptei
π
ω= .
M
din figura 6.
Să evaluăm în aceste condiţii puterea zgomotului la ieşire.
FM FM
σ ci2 4σ 2  F 
2
σ co = ∫ | H (e jω ) | 2 dF = ci ∫sin 2  π dF (22)
− FM
FS FS − FM  FS 

Admiţând că:
FM 1
= << 1 (23)
FS 2 M
se poate aproxima:

8
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

FM 2 3
4σ 2  F  4π 2σ ci2 2 FM3 2 π  2 FM
2
 π2 1
∫  F 
2
σ co = ci  π  dF = 2
= σ ci   = σ ci2 3
.
FS − FM  S  F S 3 FS
3  FS  3 M

(24)
Cum
2
σ xo = σ xi2 , (25)
raportul semnal / zgomot la ieşire este
'
 S  π 2 
  = 10 lg σ xi2 − 10 lg σ ci2 − 10 lg  + 30 lg M . (26)
 3 
 NC  dB  
Se constată că o dublare a frecvenţei de eşantionare conduce la o
creştere de 9dB a raportului, echivalentă cu o ameliorare a rezoluţiei cu 1.5 biţi.
Evident, în ecuaţia de mai sus, σ ei2 corespunde unei cuantizări de un bit, deci
1
σ ci2 =
12
Aplicaţie.
Pentru un convertor audio, cu FM=20KHz, la calitatea necesară
tehnicilor CD, este necesară o rezoluţie de B+1=17 biţi. Să calculăm frecvenţa
de eşantionare Fs, necesară pentru un convertor sigma-delta.
Exprimăm mai întâi raportul semnal/zgomot necesar pentru convertorul
cerut:
 S  2 −2( B +1)
  = 20lgσ xi − 20lgσ co = 20lgσ xi − 10 lg =
 Nc  dB ,nec 3 (27)
= 20lgσ xi + 20(B + 1)lg2 + 10lg3
'
 S 
Notând cu   raportul semnal/zgomot de cuantizare oferit de un
 Nc  dB
convertor sigma-delta, trebuie ca
'
 S   S 
  ≤   (28)
 N c  dB ,req  N c  dB
deci

9
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

π 2 
20lgσ xi + 20(B + 1)lg2 + 10lg3 ≤ 20lgσ xi + 10lg12 - 10lg  + 30lgM

 3 
(29)
Rezultă M≥2419, deci Fs≥96,78MHz.
Un convertor analog numeric de 1 bit ( sau un comparator ), lucrând
la această frecvenţă, poate fi în prezent realizat în tehnologie CMOS. Mai
dificil de realizat la această frecvenţă este integratorul.
Modulatorul sigma-delta prezentat până acum era un modulator de
ordinul 1, în sensul că funcţia de transfer aferentă erorii He(z), era de ordinul 1.
Se poate utiliza un modulator sigma-delta de ordinul 2, cu schema din figura 7.

xa (t ) u a (t ) u1 (n ) v1 (n ) u 2 (n ) v2 (n ) y (n )
Ts Q
Ts
Ts

CNA

Fig. 7

e(n )
x(n ) u1 (n ) v1 (n ) u 2 (n ) v 2 (n )
z −1
y (n )
−1
z

Fig. 8
În figura 8 este dată schema echivalentă în timp discret. Ecuaţiile ce
caracterizează noua structură sunt:

10
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

U1 ( z ) = X ( z ) − Y ( z )
1
V1 ( z ) = U1 ( z ) (30)
1 − z −1
U 2 ( z ) = V1 ( z ) − Y ( z )

z −1
V2 ( z) = U 2 ( z)
1 − z −1
Y ( z ) = V2 ( z ) + E ( z ) (31)
Y ( z ) = z −1 X ( z ) + (1 − z −1 ) 2 E ( z ) = H x ( z ) X ( z ) + H e ( z ) E ( z )
unde
H x ( z ) = z −1
(32)
H e ( z ) = (1 − z −1 ) 2 .
Evident, şi în acest caz
2
σ xo = σ xi2 (33)
dar
FM FM
σ ei2 24 σ ci2 σ ei2 ω
2
σ co = ∫ | 1 − e − jω |4 dF = ∫ sin 4 dF =
− FM
FS Fs − FM
FS 2
FM FM 4 5
24 σ ci2 σ ei2 4 F 2 4 σ ci2  F  2 π  2 FM 
4
=
Fs ∫ F sin π F dF ≅ F ∫ π F  dF = σ ci 5  F  .
− FM S  s S − FM  S   S 
(34)
Raportul semnal/zgomot de cuantizare la ieşire este
'
 S  π 4 
  = 10 lg σ xi2 − 10 lg σ ei2 − 10 lg  + 50 lg M . (35)
 5 
 ZC  dB  
O dublare a frecvenţei de eşantionare conduce la o creştere cu 15 dB a
raportului S/Zc, deci la o ameliorare a rezoluţiei cu 2,5 biţi. Revenind la
exemplul de mai înainte, pentru realizarea convertorului este necesar:
M ≥ 152,9
şi
F s ≥ 6,12 MHz
cerinţe realizabile în momentul de faţă.

11
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Există, desigur, şi posibilitatea utilizării unor modulatoare sigma-delta


de ordin mai mare, având drept rezultat reducerea frecvenţei Fs pentru aceeaşi
rezoluţie. De asemenea, în locul ansamblului circuit de cuantizare - CNA de 1
bit se pot utiliza dispozitive care să lucreze pe 2÷4 biţi.

Aplicaţie
Să găsim factorul de supraeşantionare minim M şi frecvenţa de
eşantionare minimă, pentru un convertor sigma-delta, de ordinul 2 utilizând o
cuantizare internă de B'+1=4biţi, care să realizeze performanţele din exemplul
considerat mai înainte.
În acest caz, raportul semnal/zgomot de cuantizare oferit de convertor este

 S  4
  = 10 lg σ 2x i + 20( B ′ + 1) lg 2 + 10 lg 3 - 10 lg π + 50 lg M (36)
 Zc  5

aşa încât
10 lg σ 2xi + 20( B + 1) lg 2 + 10 lg 3 ≤
π4 (37)
10 lg σ 2xi + 20( B ′ + 1) lg 2 + 10 lg 3 - 10 lg + 50 lg M
5
1  4
lg M ≥  20( B-B ′) lg 2 + 10 lg π  (38)
50  5 

M ≥ 66,57
F s ≥ 2,662 MHz
În realizarea practică va trebui însă să se ţină seama şi de o serie de
imperfecţiuni ce pot să apară, ca :
-integratorul modulatorului poate avea un câştig diferit de 1, şi o
anumită "scurgere" de semnal (memorarea pe durata unui tact se realizează
într-un condensator, care poate să sufere o oarecare descărcare pe durata
respectivă), aşa încât:

12
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

v(n ) = gu (n − 1) + αv(n − 1)
gz −1 (39)
V ( z) = U ( z)
1 − αz −1
-CNA poate avea un factor de conversie d≠1,
u (n ) = x(n ) − dy (n )
(40)
U ( z ) = X ( z ) − dY ( z );
Completând aceste ecuaţii cu
Y ( z) = V ( z) + E ( z) (41)
rezultă
Y ( z) = H x ( z) X ( z) + H e ( z)E ( z) (42)
unde
gz −1
H x ( z) =
1 + ( gd − α ) z −1
(43)
1 − αz −1
H e ( z) = ;
1 + ( gd − α ) z −1
Se observă că nulul lui He(z), care mai înainte era la z=1, conducând la o
rejecţie totală a componentei continue, se deplasează la z=α, având drept efect
final o degradare a atenuării zgomotului.
-cuantizatorul poate avea o tensiune de decalaj.
1, v(n ) − V p ≥ 0
y[n] =  ; (44)
− 1, v(n ) − V p < 0

Această eroare poate fi luată în considerare introducând o valoare medie


Vp la eroarea e(n ) .
-Datorită caracterului nelinear al schemei, este posibilă apariţia unor
oscilaţii (cicluri limită), chiar în situaţia în care modelul liniar îndeplineşte
condiţiile de stabilitate.
Performanţele acestor convertoare au dus la realizarea lor VLSI în
producţie de serie, în special pentru aplicaţii în comunicaţii, ca de exemplu:
-CAN de 13 biţi, FM=4KHz (pentru semnal vocal)
-CAN de 16-18 biţi, FM=24KHz (pentru semnal audio, înaltă fidelitate)

13
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

9.4 Eşantionarea semnalelor de bandă îngustă (semnale modulate).

Vom utiliza noţiunea de semnal de bandă îngustă pentru un semnal


având un spectru cu lărgimea de bandă B, centrat pe o frecvenţă F0, limitat
inferior şi superior de frecvenţele F1, F2 ( figura 9).

F1 + F2
F0 = , B = F2 - F1
2

X a ( jΩ )

F
− F2 − F0 − F1 F1 F0 F2

Fig. 9

O categorie importantă de semnale de bandă largă o constituie semnalele


modulate. Dacă semnalul modulator are spectrul cuprins în banda [− FM , FM ] ,
iar frecvenţa purtătoare este F0 , prin modulare se obţine un spectru de tipul
prezentat în Fig. 8. Frecvent, F0 >> B . Aplicând în mod direct teorema
eşantionării, ar rezulta că frecvenţa de eşantionare trebuie să satisfacă relaţia:
 B
Fs ≥ 2 F2 = 2 F0 +  (45)
 2
Vom arăta în cele ce urmează că frecvenţa de eşantionare poate fi mult
redusă, la valoarea Fs = 2 B , în anumite condiţii, fără a se produce fenomenul
de aliere. Semnalul de bandă îngustă poate fi reprezentat prin:
xa (t ) = A(t ) cos(2πF0 t + φ (t )) = u I (t ) cos 2πF0 t - u Q (t )sin 2πF0 t
u I (t ) = A(t ) cos φ (t ) (46)
u Q (t ) = A(t )sin φ (t )

14
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

B B
Să observăm că F2 − F0 = F0 − F1 = şi să presupunem că F0 + este
2 2
multiplu de B:
B
F2 = F0 + = kB (47)
2
sau, altfel spus, că frecvenţa centrală este de forma
B
F0 = (2k − 1) (48)
2

Vom eşantiona semnalul cu frecvenţa 2B=1/T:

x a (nT ) = u I (nT ) cos 2πF0 nT - u Q (nT )sin 2πF0 nT =


 1  1 (49)
= u I (nT ) cos nπ  k -  - u Q (nT )sin nπ  k - 
 2  2

Pentru n par, adică n=2m,


xa (2mT ) = xa (mT1 ) = u I (mT1 ) cos(2k - 1)mπ = (- 1)m u I (mT1 ) (50)

unde T1=2T=1/B.
Pentru n impar, n=2m-1, în mod asemănător se obţine:
 T   T 
xa ((2m − 1)T ) = xa  mT1 − 1  = uQ  mT1 − 1  (− 1)m+k+1 (51)
 2  2

Semnalele de joasă frecvenţă uI(t) şi uQ(t) au lărgimea de bandă B/2 şi


aplicând teorema eşantionării pentru ele,
∞ π 
u I (t ) = ∑ u I (mT1 ) sin c (t − mT1 )
m = −∞  T1 
(52)

 T  π  T 
u Q (t ) = ∑ u Q  mT1 − 1  sin c  t − mT1 + 1  
m = −∞  2  T1  2 

din care se poate reconstitui xa(t):

15
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

xa (t ) = u I (t ) cos 2πF0 t - uQ (t )sin 2πF0 t =



 π 
= ∑ (− 1)m xa (2mT )sinc 2T (t - 2mT )  cos 2πF0t + (53)
m=−∞ 

π  
+ (-1)m+k xa ((2m - 1)T )sinc (t - 2mT + T )  sin 2πF0 t 
 2T  

Dar
(− 1)m cos 2πF0t = cos 2πF0 (t - 2mT )
(54)
(− 1)m+ k sin 2πF0t = cos 2πF0 (t - 2mT + T )

aşa încât

π 
xa (t ) = ∑ xa (mT ) sinc  (t-mT ) cos[2πF0 (t-mT )] (55)
m=−∞  2T 

Relaţia de mai sus este o formă a teoremei eşantionării pentru semnale de tip
trece bandă. Ea pune în evidenţă posibilitatea reconstituirii perfecte a semnalui
1
analgic dacă se cunosc eşantioanele luate cu o perioadă T = şi frecvenţa
2B
centrală F0 . Dacă nu este îndeplinită condiţia

B B
F0 + = kB → F0 = (2k - 1) (56)
2 2
se recurge la o "mărire" a benzii la o
valoare B', care să satisfacă o relaţie de tipul celei de mai sus.
Exemplu
Să considerăm cazul când
5
k = 3 → F0 = B, Fs = 2 B (57)
2
Spectrul semnalului eşantionat X e jΩT ( ) se obţine prin preiodizarea
spectrului semnalului analogic X a ( jΩ ) cu rerioada Ω s

1 ∞
X (e jΩT ) = ∑ X a ( j (Ω + kΩ s )) (58)
T k =−∞

16
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

X a ( jΩ )

-3B -2B -B B 2B F0 3B F
X (e jΩT )

-3B -2B -B B 2B F0 3B F

H a ( jΩ )

-3B -2B -B B 2B F0 3B F
Fig. 10

Constatăm (figura 10) că în spectrul semnalului eşantionat nu apare


fenomen de aliere, aşa încât spectrul semnalului analogic iniţial poate fi perfect
reconstituit cu ajutorul unui filtru trece-bandă centrat pe frecvenţa F0 şi cu
banda B.

9.5 Translaţia în frecvenţă a semnalelor de bandă îngustă


Să presupunem că un semnal de bandă ingustă, care satisface o relaţie de
tipul
B
F0 = (2k − 1) (59)
2
este eşantionat cu o frecvenţă mai mare decât cea găsită în paragraful
precedent,
Fs = Fx = 2MB (60)
aşa încât să fie îndeplinite condiţiile teoremei eşantionării în forma ei propriu-
zisă, adică
B kF 1
F0 + = kB = x < Fs (61)
2 2M 2

17
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

ceea ce implică k < M . Vom arăta că utilizând schema din figura 11 se poate
realiza o translatare a spectrului cu o frecvenţă multiplu de B.

x(n ) v(n ) u (n ) y (n )
↓M ↑M FTB

Tx Tv = MTx Tx

Fig. 11
Vom exemplifica pentru cazul M=4, k=3, pentru care
 B k −1 1  B k 3 2 M + 1 2.5
f1x =  F0 − Tx = = ; f 2 x =  F0 + Tx = = : f0x = =
 2 2M 4  2 2M 8 4M 8
(62)
Conform celor arătate in peregraful precedent, se poate realiza decimarea cu un
factor M făra a rezulta aliere spectrală. Spectrele semnalelor sunt reprezentate
în figura 12.
(
X e jω x )

(
V e jω v ) 2/8 3/8 1/2 f
x

2/8 3/8 1/2 f


( )
v
U e jω x

(
H e jω x ) 1/4 fx

1/8 1/4 1/2 f x


(
Y e jω x )

1/8 1/4 1/2 fx


Fig. 12

18
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Evident, printr-o decimare cu M=4, se obţine spectrul V(ejωv), care


"umple" toată axa frecvenţelor, fără a exista totuşi suprapuneri.
Dacă după decimare se face o interpolare cu acelaşi factor M=4, se
obţine spectrul "îmbogăţit" U e jω x ( ) . Printr-o filtrare trece-bandă convenabil
aleasă, se poate selecta oricare din cele 4 "imagini". În exemplul considerat, s-a
ales spectrul cuprins între frecvenţele normate 1/8 şi 1/4. În acest fel s-a realizat
2,5 1,5
o translaţie a spectrului iniţial, de pe frecvenţa centrală f 0 x = pe f 0 x = .
8 8

9.6 Realizarea bancurilor de filtre


În funcţie de destinaţia lor, distingem două categorii de bancuri de filtre:
- bancuri de analiză, care urmăresc descompunerea semnalului într-un
număr N de semnale cu spectre ocupând subbenzi de frecvenţă ale spectrului
iniţial (figura 13);
- bancuri de sinteză, care combină un număr N de semnale pentru a
genera un semnal sintetizat (figura 13)

x0 (n ) y 0 (n )
x (n )
H 0 (z ) G0 (z )

x1 (n ) y1 (n )
H1 (z ) G1 (z )

x N −1 (n ) y N −1 (n )
H N −1 ( z ) G N −1 ( z )
y (n )

Fig. 13 Fig. 14

19
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Vom spune că un banc de filtre este uniform dacă orice filtru



H k ( z ), k = 1,K, N − 1 se obţine prin translatarea în frecvenţă, cu k , a
N
caracteristicii filtrului H 0 ( z ) (figura 15), deci


H k (e jω ) = H 0 (e j ( ω−ωk ) ) ; ωk = k (63)
N
sau, în transformate Z,

−j
H k ( z) = H 0 (W Nk z ) ; WN = e N , k=0,1,...,N-1 (64)

Hk-1 Hk Hk+1

ω
Fig. 15

Funcţiile de pondere corespunzătoare vor fi


hk (n ) = h0 (n )e jnωk , k = 0,K, N − 1

v0 (n ) x0 (n )
x (n )
H 0 (z ) ↓M

v1 (n ) x1 (n )
H1 (z ) ↓M

v N −1 (n ) x N −1 (n )
H N −1 ( z ) ↓M

Fig. 16
Semnalele de la ieşirile filtrelor sunt de bandă îngustă, aşa încât, după
cum s-a arătat, este posibilă o decimare cu un factor M≤N. În cazul când M=N,

20
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

se spune că avem o "eşantionare completă". În consecinţă, bancul de analiză


capătă forma din figura 16. În cele ce urmează vom deduce unele structuri
echivalente, pentru bancuri uniforme cu eşantionare completă. Cu notaţiile din
schema 16, pentru M=N,

vk (n ) = ∑ x(m )hk (n − m ) = ∑ x(m )h0 (n − m )e jωk ( n−m ) , ωk = k
m m N
(65)
iar după decimare

j k ( nN − m )
xk (n ) = vk (nN ) = ∑ x(m )h0 (nN − m )e N =
m (66)
= ∑ x(m )h0 (nN − m )e − jmωk
m

Această relaţie sugerează o altă variantă de realizare a bancului de analiză (Fig.


17). Multiplicarea cu e − jmωk are drept efect o translatare în frecvenţă, prin
care componentele spectrale aflate în jurul frecvenţei mω k sunt aduse în jurul
frecvenţei 0. În locul filtrelor centrate pe frecvenţele mω k se va utiliza un
singur tip de filtru trece jos, h0 (n ) .

e − jω 0 n

v0 (n ) x0 (n )
h0 (n ) ↓ Ν

e − jω1n
v1 (n ) x1 (n )
x (n )
h0 (n ) ↓ Ν

e − jω N −1n
v N −1 (n ) x N −1 (n )
h0 (n ) ↓ Ν

Fig. 17

21
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

O realizare eficientă se poate obţine făcând apel la descompunerea


polifazică de tipul 1:

N −1
H 0 ( z) = ∑ z −l El ( z N )
l =0
(67)
N −1 N −1
H k ( z) = H 0 ( zWNk ) = ∑ W N−kl z −l El ( z N WNkN ) = ∑ WN−kl z −l El ( z N )
l =0 l =0

Îeşirile fltrelor sunt date de


N −1
Vk ( z ) = H k ( z ) X ( z ) = ∑ z −l X ( z ) El ( z N )WN−kl (68)
l =0

Vom nota
U l ( z ) = z −l X ( z )El z N( ) (69)
aşa încît
N −1
vk (n ) = ∑ ul (n )WN−kl = N ⋅ TFD -1{ul (n )}(k ) (70)
l =0

unde ul (n ) este răspunsul filtrului El z N ( ) la secvenţa x(n − l ) . Rezultă


structura din figura 18.

x (n ) u 0 (n ) v 0 (n ) x 0 (n )
N
E0(z ) ↓N

z-1 u1 (n ) Nx
v1 (n ) x1 (n )
x(n −1) N
E1(z ) ↓N
-1
z
TFD-1

z-1 u N −1 (n ) v N −1 (n ) x N −1 (n )
N
EN-1(z ) ↓N
x(n − N + 1)

Fig. 18
Filtrele din aceasta schemă funcţionează la frecvenţa de eşantionare iniţială. Ca
urmare, eficienţa schemei poate fi îmbunătăţită, prin plasarea decimatoarelor,

22
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

înaintea filtrelor, avându-se în vedere şi relaţiile de echvalenţă. Se obţine astfel


structura din figura 19.

x (n ) x 0 (n )
↓N E0(z)

z-1 Nx
x1 (n )
↓N E1(z)
-1
z
TFD-1

z-1 x N −1 (n )
↓N EN-1(z)

Fig. 19

Eficienţa ridicată a acestei scheme este dată pe de o parte de descompunerea


polifazică şi decimarea ce precede filtrarea şi pe de altă parte de posibilitatea
utilizării unor algoritmi rapizi pentru TFD. În fine, după cum s-a mai văzut,
structura formată din circuitele de întârziere şi decimare se poate înlocui cu un
comutator cu N poziţii.

x 0 (n )
E0(z)

Nx
x1 (n )
x (n ) E1(z)

TFD-1

x N −1 (n )
EN-1(z)

Fig. 20

23
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

În cazul filtrelor de sinteză, dacă acestea preiau semnalele y k (n )


decimate, vor fi necesare operaţii de interpolare pentru a permite realizarea
semnalului y (n ) (Fig. 21).

y 0 (n ) v0 (n )
↑M G0 (z )

y1 (n ) v1 (n )
↑M G1 (z )

y N −1 (n ) v N −1 (n )

↑M G N −1 ( z )
y (n )
Fig. 21
Ca şi în cazul bancului de analiză, se poate utiliza un singur tip de filtru trece-
jos cu funcţia de pondere g 0 (n ) , urmat de multiplicatoare ce realizează
translaţia în frecvenţă în sens invers, adică de la frecvenţa 0 la frecvenţele
ω k (figura 22). Evident, vom avea în vedere tot cazul unui banc uniform cu
eşantionare completă, M=N.
e jω 0 n
y0 (n )
↑N g0(n)

e jω1n
y1 (n )
↑N g0(n)

e jω N −1n y (n )
y N −1 (n ) ↑N g0(n)

Fig.22

24
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Se poate arăta, parcurgând etape similare ca în cazul bancului de analiză,


că o realizare utilizând filtre polifazice şi un transformator Fourier este şi în
acest caz posibilă (figura 23).

y0 (n)
E0(z)

Nx
y1 (n )
E1(z)

TFD-1 y(n)

y N −1 (n ) EN-1(z)

Fig. 23

9.7 Codarea pe subbenzi a semnalelor vocale.


O problemă foarte importantă în comunicaţii este aceea a unei
reprezentări cât mai eficiente în formă digitală a semnalelor, în vederea
transmiterii sau înregistrării.

X(e )

π/2 π ω
jω jω
H0(e ) H1(e )

jω π/2 π ω
X0(e

X1(e )
π/2 π ω
Fig. 24

25
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Să considerăm ca exemplu, cazul unui semnal vocal, având un spectru ca acela


din figura 24. Să presupunem că se utilizează o conversie A/N pe 8 biţi şi că
semnalul poate fi eşantionat cu fs=8KHz. Rezultă că e necesară o transmisie cu
64 Kbit/sec.
O transmisie mai eficientă se poate realiza pornind de la observaţia că
cea mai mare parte a puterii semnalului este concentrată în domeniul de
frecvenţă (0,π/2). Ca urmare, se va diviza domeniul de frcevenţă în două, cu
ajutorul filtrelor:

( )  F 
- H 0 e jω de tip trece jos, cu banda de trecere cuprinsă între  0 ≤ F ≤ x  ;
4 

( ) F F 
- H 1 e jω de tip trece sus, cu banda de trecere cuprinsă între  x ≤ F ≤ x  .
 4 2 

( ) ( )
Rezultă semnalele cu spectrele X 0 e jω şi X 1 e jω . Având în vedere reducerea
la jumătate a benzii ocupate de cele două semnale, fiecare din ele va putea fi
decimat cu 2. Pentru transmiterea lui x0(n) se vor utiliza în continuare 8 biţi.
Deoarece energia conţinută în al doilea semnal, reprezintă mai puţin de
jumătate din aceea a semnalului iniţial, se vor putea utiliza doar 4 biţi.
Rezultă în total 4•8+4•4=48Kbit/sec, deci o reducere în raportul 3/4. Semnalul
x0(n) poate fi şi el în continuare împărţit în două subbenzi şi aşa mai departe.
Ca exemplu, în figura 25 este dată schema bloc a unui codor cu 4
subbenzi.
La recepţie, după operaţiile de decodare, vor fi efectuate operaţii de
interpolare în vederea refacerii semnalului iniţial (figura 26). Se vede că unele
circuite de interpolare conţin filtre trece sus, pentru a aduce, prin selectarea
corespunzătoare a spectrelor imagine, spectrul în banda de frecvenţă iniţială.
Fiecare din filtre este de tipul "semibandă", toate filtrele trece jos
putând fi indentice şi de asemenea, toate filtrele trece sus.

26
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

FTJ ↓2 codare
FTJ ↓2 d
FTS ↓2 codare
FTJ ↓2 c
FTS ↓2 codare
b

FTS ↓2 codare
a

d c b a
π π π
π ω
8 4 2

Fig. 25

d
Decod ↑2 FTJ
↑2
c
Decod ↑2 FTS FTJ

↑2
b
Decod ↑2 FTS
FTJ

a
Decod ↑2 FTS

Fig. 26

Proiectarea filtrului semibandă este esenţială pentru obţinerea unei codări


corecte. Evident, nişte filtre având o bandă de tranziţie nulă (fgura 27a) nu sunt

27
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

realizabile, aşa încât se recurge la aşa numitele filtre oglindă în cuadratură


(quadrature mirror filter-QMF). (figura 27b).

( )
H 0 e jω ( )
H 1 e jω ( )
H 0 e jω ( )
H 1 e jω

ω ω
π π π π
2 2
a b
Fig. 27
În esenţă, sinteza lor trebuie să urmărească eliminarea apariţiei unor fenomene
de aliere şi a unor distorsiuni liniare. Teoria sinezei bancurilor de filtre cu
reconstrucţie perfectă ocupă un loc important în literatura de specialitate.

9.8 Transmultiplexoare
Transmultiplexoarele sunt dispozitive care fac trecerea de la semnalele
multiplexate cu diviziune în timp (TDM- time division multiplex) la semnale
multiplexate cu diviziune în frecvenţă (FDM- freqency division multiplex) sau
invers.
Să considerăm cazul unei transmisiuni telefonice BLU, în care fiecărui
canal i se alocă o bandă de 4kHz. Un grup este format din 12 canale, ocupând
deci o bandă de 48kHz .
Pentru a exemplifica modul de lucru, vom presupune că în semnalul
FDM cele 12 canale sunt aşezate în banda de frecvenţe 0-48 kHz (figura 28).
Să considerăm mai întâi cazul conversiei FDM-TDM.

28
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

300 3300 F(Hz)


a Fig. 28
0 1 2 11

F1 F2 F11
4kHz 8kHz 44kHz
b

Semnalul FDM va fi eşantionat cu rata Nyquist de 96kHz şi aplicat


convertorului analog-numeric. În continuare, fiecare din cele 12 semnale este
demodulat (adus în banda de bază). Demodularea este una de produs, aşa încât
ficare demodulator necesită un semnal de frecvenţa purtătoarei. Prin
demodulare se obţine, pentru fiecare canal, un semnal de joasă frecvenţă cu
banda de 4kHz, aşa încât este suficientă o frecvenţă de eşantionare de 8kHz.
Rezultă deci posibilitatea unei decimări cu 12 (figura 29). În fine, un comutator
ce lucrează cu o perioadă de comutare de 96kHz, selectează pe rând cele 12
semnale.
Demodulatorul BLU va conţine circuite de produs pentru a realiza
translaţia de frecvenţă şi filtre trece-jos.
În cazul conversiei TDM-FDM se demultiplexează mai întâi cele 12
semnale, utilizând un comutator cu frecvenţa de comutare de 96kHz. Apoi,
fiecare din semnale este interpolat, cu factorul 12 şi aplicat unui modulator
BLU (figura 30).

29
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina

Demodulator
BLU ↓ 12
F0
Demodulator
BLU ↓ 12
CAN
Fs = 96kHz F1
TDM
FDM

Demodulator
BLU ↓ 12
F11

Fig. 29

Modulator

↑ 12 BLU

F0
Modulator

↑ 12 BLU
CNA
F1 Fs = 96kHz FDM
TDM

Modulator

↑ 12 BLU

F11
Fig. 30

30
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

10. ALGORITMI RAPIZI PENTRU EFECTUAREA CONVOLUŢIEI


ŞI A TRANSFORMATEI FOURIER DISCRETE

Operaţiile de convoluţie şi transformata Fourier discretă (TFD) ocupă un loc


important în prelucrarea numerică a semnalelor. Din păcate ele implică un volum
relativ mare de calcule, ceea ce ridică mari probleme, mai ales în cazul realizării
acestor operaţii în timp real. De aceea, eforturi importante au fost orientate în direcţia
găsirii unor algoritmi rapizi de efectuare a operaţiilor respective.

10.1 Algoritmi pentru calculul convoluţiilor

10.1.1 Reprezentări pentru convoluţia liniară

Fiind date secvenţele x(n ) şi h(n ) , convoluţia lor liniară se defineşte prin

y(n) = x(n) ∗ h(n) = (x ∗ h)(n) = ∑ x(m)h(n − m) (1)
m=−∞

Să considerăm cazul când cele două secvenţe sunt de suporturi finite:


supp x(n ) = 0, N − 1, supp h(n ) = 0, M − 1 (2)
unde s-a notat
0, K = {0,1, , K} (3)
Pentru această situaţie, să facem o evaluare mai precisă a limitelor de însumare.
În acest caz, suportul lui h(n-m) evaluat după m, pentru un n dat, este
supp h(n − m ) = n − M + 1, n. (4)
Vom presupune N≥M. Evident
⎧ n<0
y (n ) = 0 pentru ⎨ (5)
⎩n − M + 1 > N − 1 ⇔ n > M + N − 2

1
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

deci
supp y (n ) = 0, M + N − 2 (6)
şi
k2
y (n ) = ∑ x(m)h(n − m) (7)
m = k1

unde rămân de precizat cele două limite de însumare. Apar cazurile:


a) n ≥ 0, n − M + 1 ≤ 0, deci n = 0, M − 1 . În acest caz, k1 = 0, k 2 = n .

b) n − M + 1 ≥ 0, n ≤ N − 1, deci n = M − 1, N − 1 În acest caz, k1 = n − M + 1, k 2 = n .

c) n − M + 1 ≥ N − 1, n ≥ N − 1, deci n = N − 1, N + M − 2 În acest caz,


k1 = n − M + 1, k 2 = N − 1 .

Se constată că limita superioară este n, pentru n≤N-1 şi N-1 pentru n≥N-1, deci
în general este min (n, N-1). Limita inferioară este 0 pentru n≤M-1 şi n-M+1 în rest,
deci în general este max (n-M+1, 0), astfel încât:
min ( n , N −1)
y (n ) = ∑ x(m)h(n − m) (8)
m = max ( n − M +1, 0 )

Complexitatea aritmetică

Să facem o evaluare a numărului de operaţii, presupunând cele două secvenţe


reale.
În cazul a), definit pentru n=0,...,M-2 (situaţiile n=M-1 şi n=N-1 vor fi incluse
în b), numărul de termeni ai sumei este n+1, deci sunt necesare n+1 înmulţiri şi n
adunări pentru un n dat. În total, vor fi necesare 1+2+...+(M-1)=(M-1)M/2 înmulţiri şi
0+1+...+(M-2)=(M-2)(M-1)/2 adunări.
În cazul b), n=M-1,...,N-1, numărul de termeni ai sumei este n-(n-M+1)+1=M,
deci vor fi necesare în total M(N-M+1) înmulţiri şi (M-1)(N-M+1) adunări.
În cazul c), n=N,...,N+M-2, numărul de termeni este N-1-(n-M+1)+1=N+M-n-1.
Vor fi deci necesare 1+2+...+(M-1)=M(M-1)/2 înmulţiri şi 0+1+...+(M-2)=(M-2)(M-
1)/2 adunări.

2
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Rezultă în total NM înmulţiri şi (N-1)(M-1) adunări. Totuşi, pentru uşurinţa


scrierii, deseori vom folosi expresii simplificate ca
N −1
y (n ) = ∑ x(m )h(n − m ) (9)
m =0

în care numărul de înmulţiri este N(N+M-1), o parte din ele fiind însă banale (al doilea
operand nul), iar numărul de adunări este (N-1)(N+M-1).
Reprezentare matriceală
⎡ y (0 ) ⎤ ⎡ h(0 ) 0 0 0 ⎤
⎢ y (1) ⎥ ⎢ ⎥
⎢ ⎥ ⎢ h(1) h(0) 0 0 ⎥ ⎡ x(0) ⎤
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ ⎥ ⎢ ⎥ x(1) ⎥
⎢ y (M − 1) ⎥ = ⎢h(M − 1) h(M − 2) h(M − 3) 0 ⎥⎢
⎢ ⎥
(10)
⎢ y (M ) ⎥ ⎢ 0 h(M − 1) h(M − 2 ) 0 ⎥⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎣ x( N − 1)⎦
⎢ ⎥ ⎢ ⎥
⎢ y ( N + M − 2 )⎥ ⎢ 0 0 0 h(M − 1)⎥⎦
⎣ ⎦ ⎣
sau
y = Hx (11)

y = [ y (0), y (1), , y ( N + M − 2)] , x = [x(0), x(1), , x( N − 1)] ,


T T
unde iar matricea
transformării H este o matrice Toeplitz dreptunghiulară.
Reprezentare polinomială

Să definim polinoamele:
N −1 M −1
X (z ) = ∑ x(n )z n
H (z ) = ∑ h(n )z n (12)
n=0 n=0
Produsul celor două polinoame este
N + M −2
Y ( z ) = X ( z )H ( z ) = ∑ y(n)z n
(13)
n =0

unde evident y (n ) = ∑ x(m )h(n − m ) .


m

3
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Exemplu
Fie secvenţele x(n ) = {x0 , x1 , x 2 }, h(n ) = {h0 , h1 , h2 } Convoluţia liniară a
secvenţelor este
y (n ) = {x0 , x1 , x 2 }∗ {h0 , h1 , h2 } =
= {x0 h0 , x 0 h1 + x1 h0 , x 0 h2 + x1 h1 + x 2 h0 , x1 h2 + x 2 h1 , x 2 h2 }

sau exprimată matriceal


⎡ h0 0 0⎤
⎢h h0 0 ⎥⎥ ⎡ x 0 ⎤
⎢ 1
y = ⎢ h2 h1 h0 ⎥ ⎢⎢ x1 ⎥⎥
⎢ ⎥
⎢0 h2 h1 ⎥ ⎢⎣ x 2 ⎥⎦
⎢⎣ 0 0 h2 ⎥⎦

10.1.2 Reprezentări pentru convoluţia ciclică

Fie două secvenţe finite având acelaşi suport: supp x (n ) = supp h (n ) = 0, N − 1 .


Se defineşte convoluţia ciclică (sau circulară):

( )
N −1
y c (n ) = x(n ) ⊗ h(n ) = ( x ⊗ h )(n ) = ∑ x(m )h n − m N
(14)
m =0

unde s-a notat n − m N


= (n − m ) mod N

Reprezentare matriceală
⎡ yc (0 ) ⎤ ⎡ h(0 ) h(N − 1) h( N − 2 ) h(1) ⎤ ⎡ x(0 ) ⎤
⎢ y (1) ⎥ ⎢ h(1) h(0 ) h( N − 1) h(2 )⎥⎥ ⎢⎢ x(1) ⎥⎥
⎢ c ⎥=⎢ (15)
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥
⎣ yc ( N − 1)⎦ ⎣h(N − 1) h( N − 2 ) h( N − 3) h(0 )⎦ ⎣ x( N − 1)⎦

sau
yc = Hcx (16)

4
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

y c = [ y c (0 ), y c (1), , y c ( N − 1)] , x = [x(0 ), x(1), , x( N − 1)] ,


T T
unde iar matricea
transformării, H c este o matrice Toeplitz pătrată.
Evident numărul de înmulţiri este N2, iar numărul de adunări N(N-1).
Revenind la exemplul de mai înainte, convoluţia ciclică a secvenţelor este
⎡h0 h2 h1 ⎤ ⎡ x0 ⎤
y c = ⎢⎢ h1 h0 h2 ⎥⎥ ⎢⎢ x1 ⎥⎥ (17)
⎣⎢h2 h1 h0 ⎦⎥ ⎣⎢ x 2 ⎦⎥

Se observă că matricea Hc se obţine din matricea H, prin adunarea la liniile 1,2 a


liniilor 4,5, deci a liniilor ale căror numere de ordine, exprimate modulo 3, sunt tot 1
şi 2.

Reprezentare polinomială

Este şi în acest caz posibilă, dar trebuie avut în vedere că indicii n şi m trebuie
evaluaţi modulo N. Aceasta este echivalent cu evaluarea produsului de polinoame
X(z)H(z) modulo zN-1, deci:
Yc ( z ) = X ( z )H ( z ) mod(z N − 1) (18)
(Se face produsul normal, după care se "reduc" gradele, ţinând seama că zN=1). În
exemplul considerat:

( )(
Yc ( z ) = x0 + x1 z + x2 z 2 h0 + h1 z + h2 z 2 mod z 3 − 1 = ) ( )
(
= x0 h0 + ( x0 h1 + x1h0 )z + ( x0 h2 + x1h1 + x2 h0 )z 2 + ( x1h2 + x2 h1 )z 3 + x2 h2 z 4 mod z 3 ) (
= ( x0 h0 + x1h2 + x2 h1 ) + ( x0 h1 + x1h0 + x2 h2 )z + ( x0 h2 + x1h1 + x2 h0 )z 2

10.1.3 Realizarea convoluţiei liniare cu ajutorul convoluţiei ciclice

5
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Existenţa unor algoritmi eficienţi pentru calculul convoluţiei ciclice, ridică


problema găsirii unor metode de calcul a covoluţiei liniare pornind de la convoluţia
ciclică. Fie secvenţele x(n ), h(n ) , cu suporturile 0, N − 1 şi respectiv 0, M − 1 . Se
prelungesc secvenţele x(n ), h(n ) cu zerouri până la lungimea L=N+M-1, rezultând
secvenţele x ′(n ), h′(n ) (figura 1).

Fig. 1
Să arătăm că în acest caz convoluţia liniară a secvenţelor iniţiale
y (n ) = x(n ) ∗ h(n ) (19)
şi convoluţia ciclică a secvenţelor prelungite
y c′ (n ) = x ′(n ) ⊗ h′(n ) (20)
coincid:
y (n ) = y c′ (n ), pentru n ∈ 0, L − 1 (21)
Demonstraţie
Cele două convoluţii se scriu
N −1
y (n ) = ∑ x(m )h(n − m ) n ∈ 0, L − 1 (22)
m =0

( ) = ∑ x(m)h′( n − m )
L −1 N −1
y c′ (n ) = ∑ x ′(m )h ′ n − m L L
n ∈ 0, L − 1 (23)
m =0 m =0

Rămâne de demonstrat că
(
h(n − m ) = h ′ n − m L
), pentru m ∈ 0, N − 1, n ∈ 0, L − 1 (24)

6
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Egalitatea este evidentă pentru 0≤n-m≤L-1, iar situaţia n-m>L-1 nu interesează.


Evident, această relaţie e satisfăcută pentru n≥N-1 (n-m≥0). Rămâne de studiat cazul
n<N-1, pentru care

∑ x(m)h′( n − m ) =
n N −1
y c′ (n ) = ∑ x(m )h(n − m ) + L
m =0 m = n +1
(25)
∑ x(m)h′( n − m )
N −1
= y (n ) + L
m = n +1

În ultima sumă argumentul lui h' variază între limitele: n-m = n-N+1≤ 0; ⇒ <n-m>L
= L+n-N+1 = M+n, iar acesta ia valori între - N+M-2=L-1 pentru n=N-2 şi M, pentru
n=0 şi n-m = -1 ⇒ <n-m>L = L-1.
Deci M≤<n-m>L ≤L-1, cazuri în care h'[<n-m>L]=0 şi rămâne:
n
y c′ (n ) = ∑ x(m )h(n − m ) = y (n ) (26)
m =0

10.1.4 Calculul convoluţiei prin secţionare

În multe situaţii x(n ) , semnalul ce trebuie filtrat de un filtru h(n ) , reprezintă o


secvenţă de lungime mult mai mare decât h(n ) (N»M).În aceste situaţii este mai
convenabil să se secţioneze semnalul x(n ) în pachete, iar acestea să fie prelucrate
separat, utilizând convoluţii ciclice.

Metoda suprapunere-însumare

Să presupunem că x(n ) are o lungime nedefinită. Se segmentează în secvenţe x k (n ) de


lungime P, nesuprapuse (figura 2) cu suporturile:
supp x k (n ) = kP, (k + 1)P − 1 (27)
aşa încât

x(n ) = ∑ x k (n ) (28)
k =0

7
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

sau
⎧ x(n ), n ∈ kP, (k + 1)P − 1
x k (n ) = ⎨ (29)
⎩ 0, in rest

Vom presupune supp h(n ) = 0, M − 1 şi


∞ ∞ ∞
y (n ) = ∑ h(m )x(n − m ) = ∑ h(m )∑ x k (n − m ) =
m =0 m =0 k =0
∞ ∞ ∞
(30)
= ∑ ∑ h(m )x k (n − m ) = ∑ y k (n )
k =0 m =0 k =0

unde y k (n ) = h(n ) ∗ x k (n ) .
Pentru a putea utiliza convoluţia ciclică , se prelungesc x k (n ) şi h(n ) până la lungimea
L=P+M-1. Suportul rezultatului fiecărei convoluţii parţiale este:
supp y k (n ) = kP, kP + L − 1 (31)

Fig. 2 Fig. 3

Evident, vor exista intervale în care rezultatele parţiale y k (n ) se suprapun.

Metoda suprapunere-salvare (memorare)

Să demonstrăm mai întâi următoarea lemă:

8
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fie secvenţele
h(n ), supp h(n ) = 0, M − 1, x(n ), supp x(n ) = 0, P − 1 (32)
şi h′(n ) secvenţa obţinută prin prelungirea cu zerouri , până la P-1, a secvenţei h(n )
(fig. 3),
y (n ) = h(n ) ∗ x(n ), y c (n ) = h ′(n ) ⊗ x(n ) n ∈ 0, P − 1 (33)
Cele două convoluţii coincid,
y (n ) = y c (n ) pentru n ∈ M − 1, P − 1 (34)
Demonstraţie

( ) = ∑ h(m)x( n − m )
P −1 M −1
y c (n ) = ∑ h ′(m )x n − m P P
(35)
m =0 m =0

Evident pentru n≥M-1, n-m≥0 şi de asemenea pentru n≤P-1, n - m≤P-1, deci <n-
m>P=n-m, astfel încât:
M −1
y c (n ) = ∑ h(m)x(n − m) = y(n) (36)
m =0

Primele M-1 eşantioane ale lui y c (n ) nu coincid însă cu y (n ) . Numărul de eşantioane


corecte este L=P-(M-1)=P-M+1, deci P=M+L-1. Folosind lema precedentă rezultă
următorul algoritm:
- Se secţionează x(n ) în segmente ce se suprapun parţial pe o lungime de M
eşantioane (fig.4);

9
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 4
⎧ x(n ), n = kL,…, kL + P − 1
x k (n ) = ⎨ k = 0,1, … (37)
⎩ 0, in rest

Se efectuează convoluţiile ciclice y ck (n ) = (h ′ ⊗ x k )(n ) , care conform lemei dau


valori corecte ale convoluţiei în intervalele
M − 1, P − 1, P, P + L − 1, P + L, P + 2 L − 1, …

Deci de fiecare dată, din cele P valori rezultate, se elimină primele M-1 şi se reţin
ultimele L.
- Se concatenează aceste grupuri de câte L eşantioane.

10.1.5 Algoritm rapid de realizare a convoluţiei ciclice utilizând


Transformata Fourier Discretă (TFD)

Să presupunem că dorim să realizăm convoluţia ciclică y c (n ) a secvenţelor x(n ) şi


h(n ) , cu suport de lungime N. Vom nota cu X (k ) = TFD{x(n )}, H (k ) = TFD{h(n )} ,

Yc (k ) = TFD{y c (n )} transformatele Fourier discrete ale semnalelor respective. În baza

teoremei convoluţiei, există corespondenţa


y c (n ) = ( x ⊗ h )(n ), n ∈ 0, N − 1 ⇔ Yc (k ) = X (k )H (k ), k ∈ 0, N − 1 (38)

10
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

În consecinţă, se vor parcurge următoarele etape:


1. Se calculează transformatele celor două semnale, X (k ) = TFD{x(n )} şi

H (k ) = TFD{h(n )} .

2. Se efectuează produsele Yc (k ) = X (k )H (k ), k ∈ 0, N − 1 .
3. Se calculează convoluţia ciclică prin transformata Fourier discretă inversă
y c (n ) = TFD −1 {Yc (k )}(n ), n = 0,1,…, N − 1 .

Eficienţa algoritmului rezultă ca urmare a existenţei unor algoritmi rapizi pentru


calculul transformatelor Fourier. După cum vom vedea, cel mai simplu asemenea
algoritm, aplicabil dacă N e de forma 2m, presupune efectuarea a 2Nlog2N înmulţiri
reale şi 3Nlog2N adunări reale pentru calculul complet al unei transformate. Vor fi
deci necesare:
- 4Nlog2N înmulţiri şi 6Nlog2N adunări reale pentru realizarea transformatelor
Fourier directe în etapa 1;
- N înmulţiri complexe, deci 4N înmulţiri şi 2N adunări reale pentru realizarea
produselor în etapa 2;
- 2Nlog2N înmulţiri şi 3Nlog2N adunări pentru calculul transformatei inverse în
etapa 3.
Rezultă în total N(6log2N+4) înmulţiri reale şi N(9log2N+2) adunări reale.
Reamintim că pentru efectuarea directă a convoluţiei erau necesare N2 înmulţiri
reale şi N(N-1) adunări reale. De exemplu pentru N=1024=210 rezultă:
- utilizând acest algoritm: 64⋅1024 înmulţiri şi 92⋅1024 adunări;
- direct: 220=1024⋅1024 înmulţiri şi ≈220 adunări.

10.1.6 Algoritmul Winograd pentru realizarea convoluţiei ciclice

Este un algoritm foarte eficient pentru efectuarea convoluţiei ciclice a secvenţelor


scurte. Vom utiliza reprezentarea polinomială
( )
Y ( z ) = X ( z )H ( z ) mod z N − 1 (39)

11
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Se utilizează teorema chineză a resturilor aplicată pe inelul polinoamelor cu


coeficienţi raţionali Q(X) . Polinomul zN-1 se poate descompune în divizori
ireductibili,
z N − 1 = ∏ C d (z ) (40)
d |N

produsul fiind efectuat pentru toţi divizorii d ai lui N, incluzând 1 şi N; zN-1 are deci
atâţia divizori, câţi divizori are N, incluzând 1 şi N (număr pe care-l vom nota cu
D(N)).
Cd reprezintă polinomul ciclotomic de ordin d, dat de relaţia

∏ (z − W ),
−j
C d (z ) = d
i
Wd = e d
(41)
(i , d )=1, i ≤ d

Produsul se face deci pentru i relativ prim faţă de d. O proprietate foarte utilă a
polinoamelor ciclotomice este că până la ordinul 105, au numai coeficienţi ±1 şi 0.
În baza teoremei chineze a resturilor, polinoamele H(z), X(z), Y(z) se pot fiecare
descompune în mod unic în resturi modulo Ci(z);
X i ( z ) ≡ X ( z ) mod C i ( z ), pentru ∀i | N
H i ( z ) ≡ H ( z ) mod C i ( z ), pentru ∀i | N (42)
Yi ( z ) ≡ X i ( z )H i ( z ) mod C i (z ), pentru ∀i | N

În plus, Y(z) se poate reface din Yi prin :


Y (z ) = ∑ Yi ( z )S i (z ) mod z N − 1 ( ) (43)
i| N

unde
⎧0, ∀i ≠ j
S i ( z ) mod C j (z ) ≡ ⎨ (44)
⎩1, i = j
Pentru ca prima din cele două relaţii să fie îndeplinită, Si(z) vor fi de forma:
S i (z ) = P(z ) ∏ C (z ) j (45)
j| N , j ≠ i

aşa încât evident, S i (z ) mod C j (z ) ≡ 0, ∀j ≠ i | N , în care polinomul P(z) trebuie

determinat din a doua condiţie,


⎧ ⎫
⎨ P( z ) ∏ C j ( z ) ⎬ mod C i ( z ) ≡ 1 (46)
⎩ j| N , j ≠i ⎭

12
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Nu vom insista asupra determinării acestor polinoame. În general Si(z) pot fi găsite
tabelate pentru diverşi N. Utilizând această metodă, Winograd a arătat că numărul
minim de multiplicări necesare pentru a realiza o convoluţie ciclică de ordinul N este
2N-D(N).

Exemplu

Să considerăm convoluţia ciclică:


{x0 , x1 , x 2 , x3 } ⊗ {h0 , h1 , h2 , h3 } (47)
deci în reprezentarea polinomială
(
Y ( z ) ≡ X ( z )H ( z ) mod z 4 − 1 ) (48)
unde
X (z ) = x0 + x1 z + x 2 z 2 + x3 z 3 , H ( z ) = h0 + h1 z + h2 z 2 + h3 z 3 (49)
Dar
z 4 − 1 = C1 ( z )C 2 (z )C 4 ( z ) (50)
unde
C1 ( z ) = z − W11 = z − 1
C 2 (z ) = z − W21 = z + 1 (51)
( )( )
C 4 ( z ) = z − W41 z − W43 = z 2 + 1

Se calculează
X 1 ( z ) ≡ X ( z ) mod C1 ( z ) ≡ X (1) = x0 + x1 + x 2 + x3
X 2 ( z ) ≡ X ( z ) mod C 2 ( z ) ≡ X (− 1) = x0 − x1 + x 2 − x3 (52)
X 4 ( z ) ≡ X ( z ) mod C 4 (z ) ≡ X ( z ) z 2 = −1 = (x 0 − x 2 ) + ( x1 − x3 )z

În mod asemănător se găsesc elementele descompunerii lui H(z) deci calculăm


produsele:

13
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Y1 ( z ) ≡ X 1 ( z )H 1 (z ) mod C1 ( z ) = m1
Y2 ( z ) ≡ X 2 ( z )H 2 (z ) mod C 2 (z ) = m2
Y4 (z ) ≡ X 4 ( z )H 4 ( z ) mod C 4 ( z ) ≡ {[( x0 − x 2 ) + ( x1 − x3 )z ][(h0 − h2 ) + (h1 − h3 )z ]}mod C 4 ( z ) ≡
≡ ( x0 − x 2 )(h0 − h2 ) − ( x1 − x3 )(h1 − h3 ) + z[(x 0 − x 2 )(h1 − h3 ) + ( x1 − x3 )(h0 − h2 )] =
= (m3 − m4 ) + (m5 − m3 − m4 )z

(53)
unde s-au notat
m1 = ( x0 + x1 + x 2 + x3 )(h0 + h1 + h2 + h3 )
m2 = ( x 0 − x1 + x 2 − x3 )(h0 − h1 + h2 − h3 )
m3 = ( x0 − x 2 )(h0 − h2 ) (54)
m4 = ( x1 − x3 )(h1 − h3 )
m5 = [( x0 − x 2 ) + ( x1 − x3 )][(h0 − h2 ) + (h1 − h3 )]

Pentru a face descompunerea au fost deci necesare 5 înmulţiri, ceea ce coincide cu


2N-K=2⋅4-D(4)=8-3=5. Pentru N=4,

S1 ( z ) =
1 3
4
(
z + z2 + z +1 )
1
(
S 2 (z ) = − z 3 + z 2 − z + 1
4
) (55)
1
(
S 4 (z ) = − z 2 − 1
2
)
(se poate uşor verifica).
( )
Y ( z ) ≡ {S1 (z )Y1 ( z ) + S 2 (z )Y2 ( z ) + S 4 (z )Y4 ( z )}mod z 4 − 1 (56)
Efectuând calculele se găsesc
m1 + m2 m3 − m4 m1 − m2 m5 − m3 − m4
y0 = + , y1 = + ,
4 2 4 2 (57)
m + m 2 m3 − m 4 m − m 2 m5 − m 3 − m 4
y2 = 1 − , y3 = 1 − ,
4 2 4 2
Algoritmul presupune deci efectuarea a 5 înmulţiri şi 23 adunări, dintre care 14 în
etapa de descompunere şi 9 în aceea de reconstrucţie. Dacă H1(z), H2(z), H4(z) sunt
date, iar combinaţiile respective precalculate, numărul de adunări se reduce la 16.
Operaţiile de împărţire cu 2 şi cu 4 din formula precedentă s-au presupus incluse în
calculele efectuate asupra termenilor h0,...h3. Evident, modul de organizare a

14
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

operaţiilor nu este unic. Printr-o organizare judicioasă se poate minimiza numărul de


adunări. Uneori se reprezintă acest algoritm sub o formă matriceală:
⎡ y (0 ) ⎤ ⎛ ⎡ x(0 ) ⎤ ⎡ h(0 ) ⎤ ⎞
⎢ y (1) ⎥ ⎜ ⎢ x(1) ⎥ ⎢ h(1) ⎥ ⎟
⎢ ⎜
⎥ = A B⎢ ⎥ C⎢ ⎥⎟
⎜ (58)
⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎟
⎢ ⎥ ⎜ ⎥ ⎟⎟
y ( N − ) ⎜ ⎢ x( N − 1)⎥ ⎢
h ( N − 1)
⎣ ⎦ ⎝ ⎣ ⎦ ⎣ ⎦⎠
unde B şi C sunt matricele ce efectuează descompunerile modulo Ci(z),
A este matricea ce efectuează reconstrucţia iar reprezintă produsul element cu
element a doi vectori.
În exemplul de mai înainte
⎛ ⎡1 1 1 1⎤ ⎡1 1 1 1⎤ ⎞
⎡ y0 ⎤ ⎡1 1 2 − 2 0 ⎤⎜ ⎢ ⎥ ⎡ x0 ⎤ ⎢ ⎥ ⎡h0 ⎤ ⎟
⎢y ⎥ ⎢ ⎥⎜ ⎢1 − 1 1 − 1⎥ ⎢ ⎥ ⎢1 − 1 1 − 1⎥ ⎢ ⎥ ⎟
⎢ 1 ⎥ = 1 ⎢1 − 1 − 2 − 2 2 ⎥⎜ ⎢1 0 − 1 0 ⎥ ⎢ x1 ⎥ ⎢1 0 − 1 0 ⎥ ⎢ h1 ⎥ ⎟
⎢ y 2 ⎥ 4 ⎢1 1 − 2 2 0 ⎥⎜ ⎢ ⎥ ⎢ x2 ⎥ ⎢ ⎥ ⎢h2 ⎥ ⎟
⎢ ⎥ ⎢ ⎥ ⎜ ⎢0 1 0 − 1⎥ ⎢ ⎥ ⎢0 1 0 − 1⎥ ⎢ ⎥ ⎟
⎣ y3 ⎦ ⎣1 − 1 2 2 − 2⎦ ⎜ ⎣ x3 ⎦ ⎢1 1 ⎣ h3 ⎦ ⎟
⎝ ⎢⎣1 1 − 1 − 1⎥⎦ ⎣ − 1 − 1⎥⎦ ⎠
(59)
Se poate, în plus, arăta că ecuaţia de mai înainte mai poate fi scrisă:
⎡ y (0 ) ⎤ ⎛ ⎡ x(0 ) ⎤ ⎡ h(0 ) ⎤ ⎞
⎢ y (1) ⎥ ⎜ ⎢ ⎥ ⎢ h(1) ⎥ ⎟
⎢ ⎜
⎥ = RCT B ⎢ x (1) ⎥ AT R⎢ ⎥⎟
⎜ (60)
⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎟
⎢ ⎥ ⎜ ⎥ ⎟⎟
y ( N − ) ⎜ ⎢ x( N − 1)⎥ ⎢
h ( N − 1)
⎣ ⎦ ⎝ ⎣ ⎦ ⎣ ⎦⎠
unde R este o matrice de permutare,
⎡0 0 0 1⎤
⎢0 0 1 0⎥⎥

R=⎢ ⎥ (61)
⎢ ⎥
⎢0 1 0 0⎥
⎢⎣1 0 0 0⎥⎦

Prin înmulţirea unei matrice P la stânga cu R se inversează liniile între ele, iar prin
înmulţire la dreapta, se inversează coloanele. Rezultă că permutând matricele A şi C,
se poate inversa poziţia lor în relaţia de mai sus. Aceasta este important, pentru că de
regulă matricea de reconstrucţie A are o structură mai complexă decât B şi C. Fiind

15
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

plasată în interior, ea acţionează asupra lui H, deci rezultatele acestei operaţii pot fi
recalculate.
Revenind la exemplul de mai înainte, pentru:
⎡0 0 0 1⎤
⎢ ⎥
0 0 1 0⎥
R=⎢ (62)
⎢0 1 0 0 ⎥⎥

⎢⎣ 1 0 0 0 ⎦⎥

se obţine:
⎛ ⎡1 1 1 1⎤ ⎡1 1 1 1 ⎤ ⎞
⎡ y 0 ⎤ ⎡1 − 1 0 − 1 − 1⎤⎜ ⎢ ⎥ ⎡ x0 ⎤ ⎢ ⎥ ⎡ h0 ⎤ ⎟
⎢ y ⎥ ⎢1 1 − 1 0 − 1⎥⎜ ⎢1 − 1 1 − 1⎥ ⎢ x ⎥ ⎢ − 1 1 − 1 1 ⎥⎢h ⎥ ⎟
⎢ 1⎥ = ⎢ ⎥ ⎜ ⎢1 0 − 1 0 ⎥ ⎢ 1 ⎥ 1 ⎢ 2 − 2 − 2 2 ⎥ ⎢ 1 ⎥ ⎟
⎢ y 2 ⎥ ⎢1 − 1 0 1 1 ⎥⎜ ⎢ ⎥ ⎢ x2 ⎥ 4 ⎢ ⎥ ⎢ h2 ⎥ ⎟
⎢ ⎥ ⎢ ⎥ ⎜ 0 1 0 − 1 ⎢ ⎥ 2 2 − 2 − 2 ⎥ ⎢h ⎥ ⎟
⎣ y 3 ⎦ ⎣1 1 1 0 1 ⎦⎜ ⎢ ⎥ x
⎣ 3⎦

3 ⎟
⎝ ⎢⎣1 1 − 1 − 1⎥⎦ ⎢⎣− 2 0 2 0 ⎥⎦ ⎣ ⎦ ⎠

(63)

Algoritmii aceştia sunt foarte eficienţi pentru lungimi mici, dar numărul de adunări
creşte odată cu N.

16
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

10.2 Algoritmi pentru calculul transformatei Fourier discrete

Transformata Fourier discretă (TFD) este definită prin


N −1 2π
−j
X (k ) = ∑ x(n )W nk
N , k = 0,1, …, N − 1, WN = e N
(64)
n =0

sau, sub formă matriceală,


X = Wx (65)
unde
X = [X (0 ), X (1), … , X ( N − 1)]
T

x = [x(0 ), x(1), … , x( N − 1)]


T
(66)
⎡1 1 1 ⎤
⎢1 W 1 WN ( N −1) ⎥
W=⎢ N ⎥
⎢ ⎥
⎢ ( N −1) ( N −1)( N −1) ⎥
⎣1 W N WN ⎦
Pentru efectuarea unei transformate complete de ordinul N sunt necesare un număr de
N2 înmulţiri complexe şi N(N-1) adunări complexe. Dacă o înmulţire complexă se
efectuează în 4 înmulţiri şi două adunări reale, rezultă un număr de 4N2 înmulţiri reale
şi 2N2+2N(-N-1)=4N2-2N adunări reale. Complexitatea aritmetică este de forma
O(N2), deci creşte cu N2.
Având în vedere proprietăţile coeficienţilor WN,
( 2 k +1) N N
W kN
N = 1, W N 2
=W N
2
= e − jπ = −1, W Nnk = W Nn (67)
k

există algoritmi ce permit efectuarea TFD cu un număr mai mic de operaţii. De regulă
aceştia pornesc de la ideea descompunerii transformatei de ordin N în transformări de
ordine mai mici. De exemplu dacă N=N1⋅N2, se poate descompune transformarea de
ordin N în transformări de ordin N1 şi N2. Există posibilitatea ca N1 şi N2 să fie prime
între ele sau să aibă divizori comuni. Un caz important este acela în care N=RM, R
fiind numit bază. Algoritmii rezultaţi vor fi numiţi algoritmi bază R.

17
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Pentru a explica o largă categorie de algoritmi se poate porni de la


reprezentarea indicilor sub forma:
n ≡ K 1 n1 + K 2 n2 mod N
(68)
k ≡ K 3 k1 + K 4 k 2 mod N

De exemplu, în cazul algoritmilor în baza R sunt posibile următoarele moduri de


reprezentare a indicilor:
N
n = Rn1 + n 2 , n1 = 0,1,…, − 1, n 2 = 0,1,…, R − 1;
R (69)
N N
k = k1 + k 2 , k1 = 0,1,…, − 1, k 2 = 0,1,… , R − 1;
R R
care conduce la algoritmi cu decimare în timp şi
N N
n = n1 + n2 , n1 = 0,1, …, − 1, n 2 = 0,1, … , R − 1;
R R (70)
N
k = Rk1 + k 2 , k1 = 0,1, …, − 1, k 2 = 0,1,…, R − 1;
R
ce conduce la algoritmi cu decimare în frecvenţă.

10.2.1 Algoritmi în baza 2

Algoritmi cu decimare în timp

Algoritmii în baza 2 au fost introduşi de Cooley şi Tukey pentru N=2M, M∈N.


În acest caz indicii se vor scrie:
N
n = 2n1 + n 2 , n1 = 0,1, …, − 1, n2 = 0,1;
2 (71)
N N
k = k1 + k 2 , k1 = 0,1,… , − 1, k 2 = 0,1;
2 2
şi rezultă:
N
−1 ⎛ N ⎞
⎛ N ⎞ 2 ( 2 n1 + n2 )⎜ k1 + k 2 ⎟
1
X (k ) = X ⎜ k1 + k 2 ⎟ = ∑ ∑ x(2n1 + n2 )W N ⎝ 2 ⎠
=
⎝ 2 ⎠ n1 =0 n2 =0
N
(72)
−1
2 1
= ∑ ∑ x(2n
n1 = 0 n2 = 0
1 + n2 )W Nn1k1W Nn2 k1W2n2 k2
2

18
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

sau
N N
−1 −1
⎛ N ⎞ 2 2
X ⎜ k1 + k 2 ⎟ = ∑ x(2n1 )W Nn1k1 + W Nk1W2k 2 ∑ x(2n1 + 1)W Nn1k1 (73)
⎝ 2 ⎠ n1 =0 2 n1 = 0 2

Dar: W Nk W2k = W Nk (− 1)k aşa încât scriind separat pentru k2=0 şi k2=1:
1 2 1 2

N N
−1 −1
2 2
X (k1 ) = ∑ x(2n )W 1
n1k1
N + W Nk1 ∑ x(2n1 + 1)W Nn1k1 =
n1 = 0 2 n1 = 0 2 (74)
= TFD N {x(2n1 )} + W TFD N {x(2n1 + 1)} k1
N
2 2

N N
−1 −1
⎛ N⎞ 2 2
X ⎜ k1 + ⎟ = ∑ x(2n1 )W Nn1k1 − W Nk1 ∑ x(2n1 + 1)W Nn1k1 =
⎝ 2 ⎠ n1 =0 2 n1 = 0 2 (75)
= TFD N {x(2n1 )} − W TFD N {x(2n1 + 1)}
k1
N
2 2

Fiecare din sumele ce apar în cele două relaţii de mai sus reprezintă câte o TFD
în N/2 puncte, primele pentru secvenţa formată cu eşantioanele pare, a doua, cu
eşantioanele impare. Rezultă schema din fig. 5 .

x(2n1 ) TFD k1 X (k1 )


N/2
N 2 −1

x(2n1 + 1) TFD k1 X (k1 + N 2 )


N/2 -1
N 2 −1

Fig. 5 Graful obţinut după o primă decimare.

19
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 6 Structura fluturelui pentru decimare în timp.

Trecerea de la transformatele de ordin N/2 la transformata de ordin N se face


prin intermediul unor structuri de tip fluture (fig.6). Această structură este de fapt
constituită dintr-o înmulţire cu factorul WNk, de modul unitar (numit de aceea factor de
rotaţie) şi o transformată Fourier discretă de ordinul 2. Procedeul descris mai înainte
se va aplica în continuare transformatelor de ordinul N/2 şi aşa mai departe, până se
ajunge la transformate de ordinul doi. Se observă că prima din transformatele din
figura 5 are drept intrări semnalele x(2n1 ) , adică secvenţa de intrare, decimată cu doi,
iar cea de a doua, aceiaşi secvenţă, întârziată cu un tact şi apoi decimată cu 2. Din
această observaţie rezultă numele algoritmului, operaţiile de decimare menţionate mai
sus fiind efectuate la intrare, deci în domeniul timp.
Pentru exemplificare, în fig. 7 este dat graful unei transformate de ordinul
8 după prima operaţie de decimare.
x(0 ) k1=0 X (0 )
x(2 )
1
X (1)
TFD
x(4 ) 2 X (2 )
ordin
x(6 ) 3 X (3)
4

0
x(1) k1=0 W8 X (4 )
x(3)
1 W81 -1 X (5)
TFD -1
x(5) 2 W82 X (6 )
ordin -1
x(7 )
3
3 W 8 X (7 )
4 -1
Fig. 7 Graful transformatei pentru N=8 după prima decimare.

20
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

În continuare, aplicând acelaşi algoritm pentru transformatele de ordinul 4, se


obţine graful din fig. 8. În constituirea acestuia s-a ţinut seama că pentru ultimul etaj
coeficienţii de rotaţie sunt de forma W8k, pentru penultimul etaj, transformatele fiind
de ordinul 4, coeficienţii sunt de forma W4k=W82k etc.

x(0 ) X (0 )
x(4 ) X (1)
x(2 )
-1
X (2 )
0
W 8
-1
x(6 ) X (3)
2
W 8
-1 -1 W 0
x(1) 8
X (4 )
x(5) W 8
1 -1 X (5)
-1 -1
x(3)
2
X (6 )
0
W 8
W 8
-1 -1
x(7 )
3
X (7 )
2
W 8 W 8

-1 -1 -1
Fig. 8 Graful complet al transformatei pentru N=8.

Rezultă deci că pentru o transformată de ordin N=2M sunt necesare M etaje,


fiecare conţinând N/2 fluturi, deci în total sunt necesari N/2 log2 N fluturi.
Să facem o evaluare a complexităţii aritmetice. Un mod simplist dar acoperitor
de calcul pleacă de la ideea că în fiecare fluture există o înmulţire complexă şi două
adunări complexe. Înmulţirea complexă este de forma:
(x + jy )(cos θ + j sin θ ) = ( x cos− y sin θ ) + j ( x sin θ + y cos θ ) (76)
deci în principiu ar necesita 4 înmulţiri reale şi două adunări reale (algoritmul 4/2).
Altfel, se pot efectua succesiv următoarele operaţii:
A = ( x − y ) cos θ ; B = (cos− sin θ ) y; C = (sin θ + cos θ )x (77)
Partea reală a rezultatului este B+A, iar cea imaginară, C-A. θ fiind cunoscut,
expresiile (cos− sin θ ), (sin θ + cos θ ) , pot fi precalculate, aşa încât rămân în total de
efectuat 3 înmulţiri reale şi 3 adunări reale, x-y, B+A, C-A (algoritmul 3/3). Ar rezulta
atunci pentru un fluture un număr de 4 înmulţiri reale şi 6 adunări reale (în varianta
4/2) sau 3 înmulţiri reale şi 7 adunări reale (în varianta 3/3). Numerele totale de

21
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

înmulţiri reale (NMR) şi de adunări reale (NAR) pentru o transformată de ordin N vor
fi atunci:
NMR ( N ) = 2 N log 2 N
(78)
N A R ( N ) = 3N log 2 N

în varianta 4/2 şi
3
NMR ( N ) = N log 2 N
2 (79)
7
N A R ( N ) = N log 2 N
2
în varianta 3/3.
Se observă însă că unii din coeficienţii WNk au valori banale (1,-1, sau j), care
nu implică de fapt înmulţiri propriu-zise. Cu preţul unei complicări a programului de
calcul, se pot deselecta operaţiile banale. Să facem o evaluare a numerelor de operaţii
în cazul unei deselectări maxime a operaţiilor banale. Cei N/2 fluturi dintr-un etaj de
dimensiune N se vor clasifica în:
- fluturi complecşi, caracterizaţi prin numerele de operaţii reale deduse mai
înainte; numărul lor este (N/2)-4 într=un etaj;
- fluturi de tip k1=0, k1=N/4, când WNk este 1 sau -j, deci nu mai apare operaţia
de înmulţire, aşa încât rămân doar 4 adunări reale;
- fluturi de tip k1=N/8, k1=3N/8, când cosθ=-sinθ, şi fluturele se calculează mai
simplu, cu doar 2 înmulţiri reale şi 6 adunări reale.
Rezultă următoarele formule de recurenţă:
⎛N ⎞ ⎛N⎞ ⎛N⎞
NMR ( N ) = ⎜ − 4 ⎟4 + 2 ⋅ 2 + 2 NMR ⎜ ⎟ = 2 N − 12 + 2 NMR ⎜ ⎟
⎝2 ⎠ ⎝2⎠ ⎝ 2 ⎠ (80)
⎛ N ⎞ ⎛ ⎞
N ⎛N⎞
NAR ( N ) = ⎜ − 4 ⎟6 + 2 ⋅ 4 + 2 ⋅ 6 + +2 NAR ⎜ ⎟ = 3N − 4 + 2 NAR⎜ ⎟
⎝2 ⎠ ⎝2⎠ ⎝2⎠
în varianta 4/2, sau:
⎛N ⎞ ⎛N⎞ 3 ⎛N⎞
NMR ( N ) = ⎜ − 4 ⎟3 + 2 ⋅ 2 + 2 NMR ⎜ ⎟ = N − 8 + 2 NMR ⎜ ⎟
⎝2 ⎠ ⎝2⎠ 2 ⎝ 2 ⎠ (81)
⎛ N ⎞ ⎛ ⎞
N 7 ⎛N⎞
NAR ( N ) = ⎜ − 4 ⎟7 + 2 ⋅ 4 + 2 ⋅ 6 + 2 NAR⎜ ⎟ = N − 8 + 2 NAR⎜ ⎟
⎝2 ⎠ ⎝2⎠ 2 ⎝2⎠
în varianta 3/3. Ecuaţiile recursive de mai sus sunt de forma:

22
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

⎛N⎞
y ( N ) = AN + B + 2 y⎜ ⎟ (82)
⎝2⎠
sau
v(M ) − 2v(M − 1) = A2 M + B unde ( )
v(M ) = y 2 M (83)
Soluţia generală a ecuaţiei omogene se obţine rezolvând ecuaţia caracteristică,
λ-2=0, şi este
v ′(M ) = aλM = a 2 M (84)
Vom căuta o soluţie particulară a ecuaţiei cu parte dreaptă sub forma:
v ′′(M ) = cM 2 M + d (85)
Înlocuind în ecuaţii se obţin c=A, d=-B, deci soluţia generală a ecuaţiei
neomogene este:
v(M ) = v ′(M ) + v ′′(M ) = a 2 M + AM 2 M − B (86)
unde a se determină din condiţiile iniţiale.
Să luăm, de exemplu, drept punct de pornire graful corespunzător lui N=8.
Acesta are, în ambele variante, NMR(8)=4, NAR(8)=52. Utilizând formula dedusă
mai înainte pentru cele 4 ecuaţii recursive şi determinând a din aceste condiţii iniţiale,
rezultă:
- în varianta 4/2:
NMR ( N ) = 2 N log 2 N − 7 N + 12;
(87)
NAR ( N ) = 3N log 2 N − 3N + 4

- în varianta 3/3:
3
NMR ( N ) = N log 2 N − 5 N + 8;
2 (88)
7
NAR ( N ) = N log 2 N − 5 N + 8
2
Trebuie să subliniem însă faptul că relaţiile de mai sus presupun deselectarea
prin program a tuturor operaţiilor banale. Aceasta va conduce în mod evident la o
complicare a programului. Totodată aceste relaţii au valoare în măsura în care
funcţiile trigonometrice (coeficienţii de rotaţie) sunt precalculate. Sunt posibile câteva
variante:

23
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

a) Funcţiile trigonometrice sunt precalculate şi introduse într-un tabel; această


variantă conduce la viteza maximă, dar şi la mărirea memoriei ocupate şi este dificil
de aplicat dacă N nu este fix.
b) Funcţiile trigonometrice se calculează ori de câte ori sunt necesare; această
variantă conduce la programul cel mai simplu, ocupând memorie minimă. Timpul de
calcul al acestor funcţii este însă foarte mare în raport cu operaţiile de adunare şi
înmulţire, aşa încât programul va fi foarte lent.
c) Calculul recursiv al funcţiilor trigonometrice reprezintă o soluţie de
compromis în care se utilizează formule de tipul
sin (n + 1)θ = sin nθ cos θ + cos nθ sin θ
(89)
cos(n + 1)θ = cos nθ cos θ − sin nθ sin θ

Este necesară o iniţializare (evaluarea funcţiilor sinθ şi cosθ direct sau prin citire
dintr-un tabel).
Operaţiile efectuate într-un etaj nu necesită memorie suplimentară, rezultatele
putându-se plasa pe aceleaşi poziţii pe care s-au aflat datele de intrare (in-place).
Într-adevăr, operaţiile se pot efectua conform schemei:
bWk -» ACC, a - ACC -» b, a + (ACC) -» a,
ACC reprezentând acumulatorul procesorului.
Reprezentare Reprezentare binară cu Nr. de
Numărul
binară ordinea inversată a biţilor ordine
0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 4
2 0 1 0 0 1 0 2
3 0 1 1 1 1 0 6
4 1 0 0 0 0 1 1
5 1 0 1 1 0 1 5
6 1 1 0 0 1 1 3
7 1 1 1 1 1 1 7

24
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Se constată că datele de intrare nu se aplică în ordinea lor naturală ci într-o


ordine modificată, cunoscută sub numele de ordinea inversată a biţilor, denumire ce
se justifică privind tabelul de mai sus. Rezultatele se obţin în ordinea naturală.

Algoritmi cu decimare în frecvenţă

În acest caz se reprezintă indicii sub forma:


N N
n = n1 + n2 , n1 = 0,1,…, − 1, n2 = 0,1;
2 2 (90)
N
k = 2 k1 + k 2 , k1 = 0,1,…, − 1, k 2 = 0,1;
2
şi rezultă:
N
−1 ⎛ N ⎞
⎛ N ⎞ ⎜ n1 + n2 ⎟ (2 k1 + k 2 )
2 1
X (k ) = X (2k1 + k 2 ) = ∑ ∑ x⎜ n1 + n 2 ⎟W N⎝ 2 ⎠ =
n1 = 0 n2 = 0 ⎝ 2 ⎠
N
(91)
−1
2 1
⎛ N ⎞ n1k1 n1k2 n2 k2
= ∑ ∑ x⎜⎝ n
n1 = 0 n2 = 0
1 + n 2 ⎟W N W N W2
2 ⎠ 2

din care rezultă pentru k2=0 şi respectiv, k2=1:


N
−1
2 ⎛ ⎛ N ⎞ ⎞ n1k1 ⎧ ⎛ N ⎞⎫
X (2k1 ) = ∑ ⎜⎜⎝ x(n ) + x⎜⎝ n
1 1 + n2 ⎟ ⎟⎟W N = TFD N ⎨ x(n1 ) + x⎜ n1 + n2 ⎟⎬ (92)
n1 = 0 2 ⎠⎠ 2 2 ⎩ ⎝ 2 ⎠⎭
N
−1
2
⎛ N ⎞ ⎞ n1 n1k1

X (2k1 + 1) = ∑ ⎜⎜ x(n ) − x⎜⎝ n
n 2 ⎟ ⎟W N W N = +
2 ⎠ ⎟⎠
1 1
n1 = 0 ⎝ 2 (93)
⎧⎛ ⎛ N ⎞ ⎞ ⎫
= TFD N ⎨⎜⎜ x(n1 ) − x⎜ n1 + n2 ⎟ ⎟⎟W Nn1 ⎬
2 ⎩⎝ ⎝ 2 ⎠⎠ ⎭
Se constată iarăşi descompunerea transformatei de ordin N în două transformate de
ordin N/2 (fig. 9).
În continuare, fiecare din cele două grupuri de câte N/2 semnale ce constituie
intrările transformatoarelor în N/2 puncte se desparte în două, după acelaşi procedeu
(primele N/4 şi următoarele N/4). De exemplu, pentru N=8, se obţine graful din
fig. 10.

25
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

x(n1 ) n1 TFD X (k1 )

N/2
N 2 −1

x(n1 + N 2 ) n1 TFD X (2k1 + 1)


-1 W Nn1
N/2
N 2 −1

Fig. 9 Graful obţinut după o primă decimare în frecvenţă.

x(0 ) X (0 )
x(1) X (4 )
W80 -1
x(2 ) X (2 )
-1 W82
x(3) X (6 )
W80 -1 -1
x(4 ) X (1)
-1 W81
x(5) X (5)
-1 W82 W80 -1
x(6 ) X (3)
-1 W83 -1 W82
x(7 ) X (7 )
-1 -1 -1

Fig. 10 Graful transformatei pentru N=8.

Ca şi în cazul precedent, rezultă log2N etaje, în fiecare efectuându-se N/2 operaţii de


tip "fluture". Structura fluturelui este însă cea din fig. 11.
Evident complexitatea, exprimată prin numerele de înmulţiri reale şi de adunări reale,
este aceeaşi ca în algoritmul precedent. În acest caz eşantioanele semnalului se iau în
ordinea naturală, iar ale ieşirii, rezultă în ordinea inversă a biţilor.

26
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 11 Structura fluturelui pentru decimarea în frecvenţă.

10.2.2 Algoritmi în baza 4

Să presupunem că N=4M, deci se pot utiliza algoritmi în baza R=4. Există şi în


acest caz algoritmi cu decimare în timp şi algoritmi cu decimare în frecvenţă. Vom
prezenta în continuare numai algoritmul cu decimare în timp. Pornind de la acest caz
şi având în vedere şi cele arătate referitor la algoritmul în ba za doi cu decimare în
frecvenţă, cititorul va putea deduce fără dificultate structura algoritmului în baza 4 cu
decimare în frecvenţă.
Vom scrie indicii utilizând exprimarea specifică algoritmilor cu decimare în
timp:
N
n = 4n1 + n2 , n1 = 0,1,…, − 1, n2 = 0,1,2,3;
4 (94)
N N
k = k1 + k 2 , k1 = 0,1,…, − 1, k 2 = 0,1,2,3;
4 4

Rezultă
N
−1 ⎛ N ⎞
⎛ N ⎞ 4 3 ( 4 n1 + n2 )⎜ k1 + k 2 ⎟
X (k ) = X ⎜ k1 + k 2 ⎟ = ∑ ∑ x(4n1 + n2 )W N ⎝ 4 ⎠
=
⎝ 4 ⎠ n1 =0 n2 =0
N
(95)
−1
4 3
= ∑ ∑ x(4n
n1 = 0 n2 = 0
1 + n2 )W Nn1k1W Nn2 k1W4n2 k2
4

sau detaliind sumele după n2

27
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

N N
−1 −1
⎛ N ⎞ 4 4
X ⎜ k1 + k 2 ⎟ = ∑ x(4n1 )W Nn1k1 + W Nk1W4k 2 ∑ x(4n1 + 1)W Nn1k1 +
⎝ 4 ⎠ n1 =0 4 n1 = 0 4
N N
(96)
−1 −1
4 4
+ W N2 k1W42 k 2 ∑ x(4n1 + 2)W Nn1k1 + W N3k1W43k2 ∑ x(4n1 + 3)W Nn1k1
n1 = 0 4 n1 = 0 4

Fiecare dintre cele 4 sume reprezintă respectiv TFD de ordinul N/4 ale
secvenţei originale, întârziate cu un tact, cu două, cu trei tacte şi decimate cu factorul
R=4. Pentru evaluarea fiecăreia, se poate realiza o nouă decimare cu R, şi aşa mai
departe până se ajunge la TFD de ordinul R.
Rezultă graful din fig. 12. Încadrată punctat în centrul imaginii este structura
fluturelui pentru acest caz. El include înmulţirile cu coeficienţii de rotaţie
1, W Nk1 ,W N2 k1 , W N3k1 şi o TFD de ordin 4 (fig.13).

0
x(4n1) TFD
TFD 0
k 4
N/4 N/4-11

x(4n1+1) WNk1
TFD 0 k1
k k2=0 X(k )
N/4 N/4-11 TFD 1
1
X(k1+N/4)
4 2
3
X(k1+N/2)
x(4n1+2) WN2k1
TFD 0 X(k1+3N/4)
k
N/4 N/4-11
N/4-1
x(4n1+3) WN3k1 TFD
TFD 0
k 4
N/4 N/4-11

Fig. 12 Graful TFD în bază 4 cu decimare în timp.

28
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

X(k1) k2=0

WNk1 X(k1+N/4) k2=1


-j
-1
j
X(k1+N/2) k2=2
2k1
W N -1

-1 X(k1+3N/4) k2=3
j
WN3k1 -1
-j

Fig. 13 Structura fluturelui pentru decimarea în timp în bază 4.

Aceasta din urmă presupune, dacă este efectuată direct, un număr de 12 adunări
complexe, deci 24 adunări reale. Mai convenabil este ca ea să fie realizată folosind
unul din algoritmii prezentaţi mai înainte, ceea ce va conduce la numai 16 adunări
reale. În cazul unui fluture vom avea în general 3 înmulţiri complexe şi 16 adunări
reale, ceea ce înseamnă 12 înmulţiri reale şi 22 adunări reale în varianta 4/2 sau 9
înmulţiri reale şi 25 adunări reale în varianta 3/3. Dacă se doreşte minimizarea
numărului de operaţii prin deselectarea operaţiilor banale vor trebui identificaţi fluturii
cu structuri mai simple. Procedând la fel ca în cazul precedent, se obţin

3
NMR ( N ) = 3N log 4 N − 5 N + 8 =
N log 2 N − 5 N + 8;
2 (97)
11 3 8 11 3 8
NAR ( N ) = N log 4 N − N + = N log 2 N − N +
2 2 3 4 2 3
pentru varianta 4/2 şi
9 43 16 9 43 16
NMR ( N ) = N log 4 N − N+ = N log 2 N − N+ ;
4 12 3 8 12 3 (98)
25 43 16 25 43 16
NAR ( N ) = N log 4 N − N+ = N log 2 N − N+
4 12 3 8 12 3

29
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

pentru varianta 3/3.


În mod absolut asemănător se poate realiza şi un algoritm bază 4 cu decimare
în frecvenţă. Performanţele sunt practic identice, diferă doar ordinea intrărilor şi a
ieşirilor.

10.2.3 Algoritmi cu baze despicate (split-radix)

Aceşti algoritmi au fost introduşi de P. Duhamel şi H. Hollmann în anul 1984,


[5], fiind astfel printre cei mai noi existenţi în prezent. Se pot aplica în cazul când N
este o putere a lui 2 şi conduc la descompunerea transformatei de ordinul N într-o
transformată de ordinul N/2 şi două transformate de ordin N/4. Există asemenea
algoritmi atât cu decimare în timp cât şi cu decimare în frecvenţă.

Algoritmi cu decimare în timp

Vom utiliza aceeaşi reprezentare a indicilor ca şi în cazul algoritmului bază 4


cu decimare în timp
N
n = 4n1 + n2 , n1 = 0,1,… , − 1, n2 = 0,1,2,3;
4 (99)
N N
k = k1 + k 2 , k1 = 0,1,… , − 1, k 2 = 0,1,2,3;
4 4
aşa încât
N
−1
⎛ N ⎞ 4 3
X (k ) = X ⎜ k1 + k 2 ⎟ = ∑ ∑ x(4n1 + n 2 )W N(4 n1 + n2 )k =
⎝ 4 ⎠ n1 =0 n2 =0
N N
−1 −1
4 4
= ∑ x(4n )W
n1 = 0
1
n1k
N + W Nk ∑ x(4n1 + 1)W Nn1k +
n1 = 0
(100)
4 4
N N
−1 −1
4 4
+ W N2 k ∑ x(4n1 + 2 )W Nn1k + W N3k ∑ x(4n1 + 3)W Nn1k
n1 = 0 4 n1 = 0 4

Grupând primul cu al treilea termen al sumei se obţine

30
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

N
−1
⎛ N ⎞ 2
X (k ) = X ⎜ k1 + k 2 ⎟ = ∑ x(2n1 )W Nn1k +
⎝ 4 ⎠ n1 =0 2
N N
(101)
−1 −1
4 4
+ W Nk ∑ x(4n1 + 1)W Nn1k + W N3k ∑ x(4n1 + 3)W Nn1k
n1 = 0 4 n1 = 0 4

sau
⎛ N ⎞
X (k ) = X ⎜ k1 + k 2 ⎟ = TFD N {x(2n1 )}(k ) +
⎝ 4 ⎠ 2 (102)
+W k1
N (− j ) k2
TFD N {x(4n1 + 1)}(k ) + W 3 k1
N (− j ) 3k 2
TFD N {x(4n1 + 3)}(k )
4 4

relaţie ce pune în evidenţă descompunerea transformatei de ordinul N într-o


transformată de ordinul N/2 având ca intrări eşantioanele pare şi două transformate de
ordinul N/4. Trecerea se face prin intermediul unor structuri de tip L întors (fig. 14) pe
care pentru simplificare le vom numi tot fluturi.
Graful transformării pentru N=8 este dat în fig. 15. Se constată o structură a
grafului similară celei obţinute cu algoritmul bază doi cu decimare în timp, dar
transmitanţele diferă. Să evaluăm şi în acest caz complexitatea aritmetică. Se observă
că fluturii ce intervin într-un etaj de dimensiune N se pot clasifica în:

Fig. 14 Structura L întors.

31
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

⎧ N⎫
- fluturi complecşi, pentru k1 ∉ ⎨0,⎬ . Deoarece k1=0,..., N/4-1, numărul acestora este
⎩ 8⎭
N/4-2. Fiecare fluture conţine două multiplicări complexe şi 6 adunări complexe, ceea
ce înseamnă:
• 8 înmulţiri şi 16 adunări reale în varianta 4/2;
• 6 înmulţiri şi 18 adunări reale în varianta 3/3;
- un fluture de tipul k1=0, ce nu conţine multiplicări, având doar 12 adunări reale;
- un fluture de tipul k1=N/8, care se poate calcula cu un număr mai redus de operaţii
decât fluturele complex şi anume 4 multiplicări reale şi 16 adunări reale (ţinând seama
în efectuarea multiplicărilor complexe că sinθ=-cosθ).
Rezultă deci în total:
⎛N ⎞ ⎛N⎞ ⎛N⎞
NMR ( N ) = ⎜ − 2 ⎟8 + 4 + NMR ⎜ ⎟ + 2 NMR ⎜ ⎟ =
⎝4 ⎠ ⎝2⎠ ⎝4⎠
⎛N⎞ ⎛N⎞
= NMR ⎜ ⎟ + 2 NMR ⎜ ⎟ + 2 N − 12
⎝2⎠ ⎝4⎠ (103)
⎛N ⎞ ⎛N⎞ ⎛N⎞
NAR ( N ) = ⎜ − 2 ⎟16 + 12 + 16 + NAR ⎜ ⎟ + 2 NAR⎜ ⎟ =
⎝4 ⎠ ⎝2⎠ ⎝4⎠
⎛N⎞ ⎛N⎞
= NAR⎜ ⎟ + 2 NAR⎜ ⎟ + 4 N − 4
⎝2⎠ ⎝4⎠
în varianta 4/2, sau
⎛N⎞ ⎛N⎞ 3
NMR ( N ) = NMR ⎜ ⎟ + 2 NMR ⎜ ⎟ + N − 8
⎝2⎠ ⎝4⎠ 2 (104)
⎛N⎞ ⎛N⎞ 9
NAR ( N ) = NAR⎜ ⎟ + 2 NAR⎜ ⎟ + N − 8
⎝2⎠ ⎝4⎠ 2
în varianta 3/3. Ecuaţiile de mai sus sunt de forma
⎛N⎞ ⎛N⎞
y ( N ) − y⎜ ⎟ − 2 y⎜ ⎟ = AN + B (105)
⎝2⎠ ⎝4⎠
sau
v(M ) − v(M − 1) − 2v(M − 2) = A2 M + B, ( )
unde v(M ) = y 2 M (106)

32
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 15 Graful pentru algoritmul baze despicate, decimare în timp, N=8.

Ecuaţia caracteristică
λ2 − λ − 2 = 0 (107)
are soluţiile -1 şi 2, deci soluţia generală a ecuaţiei omogene este
v ′(M ) = α (− 1) + β 2 M
M
(108)
Vom căuta o soluţie particulară a ecuaţiei cu parte dreaptă de tipul
v ′′(M ) = cM 2 M + d (109)
Înlocuind în ecuaţie, rezultă
2 1
c= A, d = − B (110)
3 2
deci soluţia generală este de forma
2 1
v(M ) = α (− 1) + β 2 M +
M
AM 2 M − B (111)
3 2
unde α şi β se determină din condiţiile iniţiale. Pentru precizarea acestora se observă
că NMR(4)=0, NAR(4)=16, NMR(8)=4, NAR(8)=52. Se obţin:

4 38 2
NMR ( N ) = N log 2 N − N + 6 + (− 1) 2 ;
log N

3 9 9 (112)
8 16 2
NAR ( N ) = N log 2 N − N + 2 − (− 1) 2
log N

3 9 9
în varianta 4/2, iar în varianta 3/3:
NMR ( N ) = N log 2 N − 3N + 4;
(113)
NAR ( N ) = 3 N log 2 N − 3N + 4

33
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Aceste expresii conduc la concluzia că algoritmul bazelor despicate este cel mai
eficient cunoscut până în prezent pentru cazul când N=2M.

Algoritm cu decimare în frecvenţă

Vom reprezenta indicii k şi n utilizând formele specifice decimarării în


frecvenţă, cu R=2, pentru valorile pare ale lui k şi cu R=4 pentru valorile impare. Se
obţine un grup de trei relaţii exprimând
N
X (2k1 ), k1 = 0, …,
− 1,
2
N
X (4k1 + 1), k1 = 0,… , − 1, (114)
4
N
X (4k1 + 3), k1 = 0,… , − 1
4
N
−1
2 ⎛ ⎛ N ⎞ ⎞ n1k1
X (2k1 ) = ∑ ⎜⎜⎝ x(n ) + x⎜⎝ n + ⎟ ⎟W N
2 ⎠ ⎟⎠ 2
1 1
n1 = 0
N N
−1 ⎛ N ⎞ −1 N
4 3
⎛ N ⎞ ⎜ n1 + n2 ⎟ (4 k1 +1) 4 3 ⎛ N ⎞
X (4k1 + 1) = ∑ ∑ x⎜ n1 + n2 ⎟W N⎝ 4 ⎠
n2
= ∑ ∑ x⎜ n1 + n2 ⎟W Nn1k1W Nn1W N4
n1 = 0 n2 = 0 ⎝ 4 ⎠ n1 = 0 n2 = 0 ⎝ 4 ⎠ 4
N N
−1 ⎛ N ⎞ −1 3N
⎜ n1 + n2 ⎟ ( 4 k1 + 3 )
4 3
⎛ N ⎞ 4 3
⎛ N ⎞
X (4k1 + 3) = ∑ ∑ x⎜ n1 + n2 ⎟W
n2

N
4 ⎠
= ∑ ∑ x⎜ n1 + n2 ⎟W Nn1k1W N3n1W N 4
n1 = 0 n2 = 0 ⎝ 4 ⎠ n1 = 0 n2 = 0 ⎝ 4 ⎠ 4

(115)
Explicitând sumele după n2 din ultimele două relaţii, rezultă
N
−1
4 ⎛⎛ ⎛ N⎞ ⎛ ⎛ N⎞ ⎛ 3N ⎞ ⎞ ⎞ ⎞⎟ n1 n1k1
X (4k1 + 1) = ∑ ⎜⎜ ⎜⎜ x(n ) − x⎜⎝ n + ⎟− j ⎜⎜ x⎜ n1 + ⎟ − x⎜ n1 + n2 ⎟ ⎟⎟ ⎟⎟ W N W N
⎠ ⎠ ⎠ ⎟⎠
1 1
n1 = 0 ⎝⎝ 2⎠ ⎝ ⎝ 4 ⎠ ⎝ 4 4
N (116)
−1
4 ⎛⎛ ⎛ N⎞ ⎛ ⎛ N⎞ ⎛ 3 N ⎞ ⎞ ⎞ ⎞⎟ 3n1 n1k1
X (4k1 + 3) = ∑ ⎜⎜ ⎜⎜ x(n ) − x⎜⎝ n + ⎟+ j ⎜⎜ x⎜ n1 + ⎟ − x⎜ n1 + n2 ⎟ ⎟⎟ ⎟⎟ W N W N
⎠ ⎠ ⎠ ⎟⎠
1 1
n1 = 0 ⎝⎝ 2⎠ ⎝ ⎝ 4⎠ ⎝ 4 4

Prima relaţie defineşte o TFD de ordinul N/2, pentru secvenţa x[n1]+x[n1+N/2],


n1∈[0,N/2-1], iar celelalte două, două TFD de ordin N/4. Intrările pentru aceste TFD
se realizează cu schema din figura 16 - un fluture în L. Procesul se repetă pentru cele 3
transformate, până rămân numai transformate de ordinul 2.

34
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 16 Structura "L".

Complexitatea aritmetică se evaluează la fel ca în cazul precedent şi rezultatele sunt


identice.

10.2.4 Algoritmi cu baze mixte

Aceşti algoritmi pot fi folosiţi şi în cazul când N este un număr compus, fără a
fi o putere a lui 2, sau în general a unui număr natural R,
N = N1 N 2 N Q = N 1 N 2Q unde N 2Q = N 2 NQ

Transformata de ordinul N se poate descompune în N2Q transformate de ordinul


N1 şi N1 transformate de ordinul N2Q, apoi transformatele de ordinul N2Q se descompun
în transformate de ordine N2 şi N3Q şi aşa mai departe până se ajunge la transformate
de ordinul NQ.

Exemplu

Vom considera cazul unei transformate de ordinul N=3x5, pentru care vom
utiliza o exprimare a indicilor de tipul celei întâlnite în cazul algoritmilor cu decimare
în timp:
n = 3n1 + n2 , n1 ∈ 0,4 , n 2 ∈ 0,2
(117)
k = k1 + 5k 2 , k1 ∈ 0,4 , k 2 ∈ 0,2

35
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

4 2
X (k1 + 5k 2 ) = ∑ ∑ x(3n1 + n2 )W15k1n2W153k1n1W155 k 2 n2 =
n1 = 0 n2 = 0
4 4 4
(118)
= ∑ x(3n1 )W 5
k1n1
+W W k1
15 3
k2
∑ x(3n + 1)W
1 5
k1n1
+W W 2 k1
15 3
2k2
∑ x(3n + 2)W
1 5
k1n1

n1 = 0 n1 = 0 n1 = 0

Sumele reprezintă transformate de ordinul 5, pentru secvenţele:


x(0 ), x(3), x(6 ), x(9 ), x(12 );
x(1), x(4 ), x(7 ), x(10 ), x(13);
x(2 ), x(5), x(8), x(11), x(14 );

Fig. 10.17 Graful unei transformate cu N=15.

Se observă (fig. 17) că între transformatele de ordin 5 şi cele de ordin 3 se


interpun înmulţirile cu factorii de rotaţie W15k ,W152 k (10 înmulţiri complexe).
1 1

În general, cu cât se poate face o descompunere la baze mai mici, cu atât


numărul de operaţii este mai redus. Bazele impare sunt de regulă mai puţin eficiente,
sunt de preferat cele de tipul 2,4,8.

Algoritmul factorilor primi (Prime Factor Algorithm - PFA)

Vom presupune N de forma N=N1N2...NQ, Ni fiind relativ primi. Vom face din
nou apel la teorema chineză a resturilor, aplicată de această dată pe inelul claselor de
resturi modulo N. Conform acestei teoreme, setul de congruenţe liniare
n ≡ ni mod N i , i = 1,2,…, Q (119)

36
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

admite o soluţie unică modulo N. Deoarece


⎛N ⎞
⎜⎜ , N i ⎟⎟ = 1 (120)
⎝ Ni ⎠
N/Ni este element inversabil al inelului ZNi şi fie Mi inversul său,
−1
⎛N ⎞ ⎛N ⎞
M i ≡ ⎜⎜ ⎟⎟ mod N i sau ⎜⎜ M i ⎟⎟ mod N i ≡1 (121)
⎝ Ni ⎠ ⎝ Ni ⎠
Cunoscând ni, i=1,2,...,Q, se poate determina n cu relaţia
Q
⎛ N ⎞
n ≡ ∑ ⎜⎜ ⎟⎟ M l nl mod N (122)
l =1 ⎝ N l ⎠

Într-adevăr, evaluând fiecare termen al sumei de mai sus mod Ni găsim


⎛ N ⎞ ⎧0 l≠i
⎜⎜ ⎟⎟ M l nl mod N i = ⎨ (123)
⎝ Nl ⎠ ⎩n i l =i

şi rămâne
n ≡ ni mod N i (124)
În consecinţă expresia
N N N
n≡ M 1 n1 + M 2 n2 + + M Q nQ , ni = 0,1, … , N i − 1 (125)
N1 N2 NQ
N

va lua un număr de N1N2...NQ=N valori distincte şi poate fi utilizată pentru exprimarea


indicelui n. Proprietăţi asemănătoare are şi expresia
N N N
k≡ k1 + k2 + + kQ , k i = 0,1,…, N i − 1 (126)
N1 N2 NQ
N

Utilizând aceste reprezentări ale indicilor rezultă

37
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

⎛ N N N ⎞
X (k ) = X ⎜ k1 + k2 + + kQ ⎟=
⎜ N1 N2 NQ ⎟
⎝ N ⎠
N1 −1 N 2 −1 N Q −1⎛ ⎛ ⎞
N N
= ∑ ∑ ∑ ⎜ x⎜ M n + + M Q nQ ⎟⋅
⎜ ⎜ N1 1 1 NQ ⎟ (127)
n1 = 0 n2 = 0 nQ = 0
⎝ ⎝ N ⎠

N
k1 +
N
k2 + +
N N
M 1n1 + +
N ⎞
N1 N2 NQ
kQ
N1 NQ
M Q nQ

⋅W N N



Dar prin modul cum s-au ales Mi,

N N N N N
k1 + k2 + + kQ M 1 n1 + + M Q nQ =
N1 N2 NQ N1 NQ
N N
(128)
N N N
= n1 k1 + n2 k 2 + + nQ k Q
N1 N2 NQ
N

Într-adevăr, efectuând produsul celor două sume, se obţine o expresie de forma


Q
N N

i , j =1 Ni N j
ki M j n j (129)
N

Dar
⎧ 0, i≠ j
N N ⎪ N
ki M j n j =⎨ (130)
Ni N j kn , i= j
⎪ Ni i i
N
⎩ N

Prima din egalităţile de mai sus decurge din faptul că pentru i≠j, expresia N/NiNj este
un număr întreg, deci cantitatea evaluată este multiplu de N. În cazul i=j, ţinând seama
de modul cum s-a ales Mj,
N
M i = pN i + 1, p∈N (131)
Ni

aşa încât
N N N N
k i M i ni ≡ ( pN i + 1)k i ni ≡ k i ni (132)
Ni Ni N
Ni N
Ni N

Rezultă deci

38
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

N N N
n1k1 n2 k 2 nQ kQ
NQ n kQ
W nk
N =W N
N1
W N
N2
W N = W Nn11k1W Nn22 k2 W N QQ (133)

şi
N1 −1 N 2 −1 N Q −1

X (k1 , k 2 ,…, k Q ) = ∑ ∑ ∑ x(n , n ,…, n )W n1k1 n kQ


1 2 Q N1 W Nn22 k 2 W N QQ (134)
n1 = 0 n2 = 0 nQ = 0

Prin acest mod de exprimare a indicilor, transformarea unidimensională se înlocuieşte


cu una Q-dimensională.
Exemplu
Să considerăm iarăşi cazul unei TFD cu N=15, deci N1=5, N2=3.
Calculăm mai întâi
N
M1 = 3M 1 5
→ M1 = 2
N1 N1

N
M2 = 5M 1 3
→ M2 = 2
N2 N2

Rezultă

( ) = ∑ ∑ x ( 6n )W
4 2
X 3k1 + 5k 2 15 1 + 10n2 15 5
n1k1
W3n2 k 2
n1 = 0 n2 = 0

Avantajul faţă de algoritmul prezentat anterior constă în absenţa termenilor de rotaţie


între transformate, aşa cum rezultă din expresiile următoare:

( ) = ∑ x( 6n )W ( )W
4 4
X 3k1 + 5k 2 15 1 15 5
n1k1
+ W3k 2 ∑ x 6n1 + 10 15 5
n1k1
+
n1 = 0 n1 = 0

( )W
4
+ W32 k 2 ∑ x 6n1 + 20 15 5
n1k1

n1 = 0

Sumele reprezintă TFD în 5 puncte ale secvenţelor:


x(0 ), x(6 ), x(12 ), x(3), x(9 )
x(10 ), x(1), x(7 ), x(13), x(4 )
x(5), x(11), x(2 ), x(8), x(14 )

iar fiecare grup de câte trei ieşiri ale acestor transformatoare, corespunzând unei valori
k1, se aplică la intrările câte unui transformator de ordinul trei. Numărul de operaţii
este cel corespunzător pentru 3 transformări de ordin 5 şi 5 transformate ordin 3
(figura 18).

39
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 3.18 Graful unei transformate cu N=15.

În exemplul de mai înainte se poate scrie:


2 4
X (k1 , k 2 ) = ∑W3n2k2 ∑ x(n1 , n2 )W5n1k1 (135)
n2 = 0 n1 = 0

Vom introduce vectorii:


⎡x0 ⎤ ⎡ X0 ⎤
x = ⎢⎢ x1 ⎥⎥ , X = ⎢⎢ X1 ⎥⎥ (136)
⎢⎣x 2 ⎥⎦ ⎢⎣ X 2 ⎥⎦

unde
⎡ X (0) ⎤ ⎡ X (5) ⎤ ⎡ X (0 ) ⎤
⎢ X (3) ⎥ ⎢ X (8) ⎥ ⎢ X (3) ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
X 0 = ⎢ X (6) ⎥ X1 = ⎢ X (11)⎥ X 0 = ⎢ X (6 ) ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ X (9) ⎥ ⎢ X (14 )⎥ ⎢ X (9 ) ⎥
⎢⎣ X (12)⎥⎦ ⎢⎣ X (2 ) ⎥⎦ ⎢⎣ X (12 )⎥⎦
(137)
⎡ x(0 ) ⎤ ⎡ x(10 )⎤ ⎡ x(5) ⎤
⎢ x(6 ) ⎥ ⎢ x(1) ⎥ ⎢ x(11)⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
x 0 = ⎢ x(12)⎥ x1 = ⎢ x(7 ) ⎥ x 2 = ⎢ x(2 ) ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ x(3) ⎥ ⎢ x(13)⎥ ⎢ x(8) ⎥
⎢⎣ x(9 ) ⎥⎦ ⎢⎣ x(4 ) ⎥⎦ ⎢⎣ x(14)⎥⎦

40
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Rezultă următoarea exprimare echivalentă:


⎡ X 0 ⎤ ⎡W3 W5 W3 W5 W3 W5 ⎤ ⎡x 0 ⎤
0 0 0

⎢ ⎥
X = ⎢⎢ X1 ⎥⎥ = ⎢W30 W5 W31 W5 W32 W5 ⎥ ⎢⎢ x1 ⎥⎥ (138)
⎢⎣ X 2 ⎥⎦ ⎢⎣W30 W5 W32 W5 W31 W5 ⎥⎦ ⎢⎣x 2 ⎥⎦

în care
[ ]
W N = W Nnk n , k = 0 ,…, N −1
(139)

Operaţia de mai sus se poate scrie definind produsul Kronecker de matrice:


⎡W30 W5 W30 W5 W30 W5 ⎤
⎢ ⎥
W3 ⊗ W3 = ⎢W30 W5 W31 W5 W32 W5 ⎥ (140)
⎢W30 W5 W32 W5 W31 W5 ⎥
⎣ ⎦

⎡X 0 ⎤ ⎡x 0 ⎤
⎢ ⎥
X = ⎢ X1 ⎥ = (W3 ⊗ W5 )⎢⎢ x1 ⎥⎥ (141)
⎢⎣ X 2 ⎥⎦ ⎢⎣x 2 ⎥⎦

Procedeul se poate generaliza dacă N = N 1 N 2 , , N Q (factori primi):

(
X = WN1 ⊗ WN 2 ⊗ ⊗ WN Q x ) (142)

10.2.5 Algoritmul Winograd

Vom reaminti pentru început alte câteva elemente din teoria numerelor. Fie
secvenţa
x n ≡ a n mod N , a ∈ N , n = 0,1,2,… (143)
Evaluarea fiind făcută modulo N, secvenţa de mai sus va avea un număr finit de valori
distincte, ea fiind de fapt periodică. Ne interesează perioada maximă ce se poate
obţine pentru un N dat. Se poate demonstra că perioada maximă este dată de funcţia
lui Euler Φ(N). Aceasta reprezintă, prin definiţie, numărul de numere naturale mai
mici ca N şi relativ prime faţă de acesta. Numerele a care conduc la realizarea
perioadei maxime se numesc rădăcini primitive ale inelului ZN şi vor fi notate cu g.
Prin urmare secvenţa gn conţine un număr de Φ(N) valori distincte
g n1 ≠ g n2 mod N , ∀n1 ≠ n 2 , 0 ≤ n1 , n2 ≤ Φ ( N ) − 1,
Φ(N )
(144)
g ≡ g 0 ≡ 1 mod N

41
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Referitor la funcţia Φ (N ) se poate arăta că:


- dacă N este număr prim, Φ (N ) = N − 1 ;
- dacă N este de forma N = p c , unde p este prim şi c ∈ N , atunci Φ(N ) = p c −1 ( p − 1).

Algoritmul Winograd utilizează aşa numita permutare Rader. Să


luăm pentru început cazul N prim. Se poate scrie:
N −1
X (0) = ∑ x(n )
N −1
n =0
(145)
X (k ) = x(0) + ∑ x(n )W , nk
N k = 1,2,…, N − 1
n =1

Va exista o rădăcină primitivă g a lui ZN, având proprietatea


gi ≠ gj , i ≠ j , 0 ≤ i, j ≤ N − 2
N N

şi
gi ≠0 .
N

Deci gi pentru i = 0,1, … , N − 2 , este o permutare a numerelor 1,2,..,N-1. Ca


N

urmare vom putea exprima indicii k şi n prin


n ⇒ g −n , n = 0,1, … , N − 2
N
(146)
k⇒ gk , k = 0,1, … , N − 2
N

Rezultă:
N −1
X (0 ) = ∑ x(n )
n =0
(147)
( ) = x(0) + ∑ x( g )W
N −2
−n g k −n
X g k
N , k = 0,1, …, N − 2.
N N
n =0

Se observă că ultima sumă este o convoluţie ciclică în n şi k. Acest procedeu de


conversie a unei TFD de ordin N într-o convoluţie ciclică de ordin N-1 se numeşte
permutare Rader. Să mai observăm că ultima din relaţiile (147) mai poate fi scrisă

( ) = X (0) + ∑ x( g )(W )
N −2
−n g k −n
X gk N −1 , k = 0,1, … , N − 2. (148)
N N
n =0

42
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Exemplu
Să considerăm TFD de ordin 5:
4
X (0) = ∑ x(n )
4
n =0
(149)
X (k ) = x(0) + ∑ x(n )W , 5
nk
k = 1,2,3,4.
n =1

Se observă că g=2 este o rădăcină primitivă a lui Z 5 . Într-adevăr,

20 = 1, 21 = 2, 2 2 = 4, 2 3 = 3, 2 4 = 1. (150)
5 5 5 5 5

iar g −1 = 3 , deoarece 2 ⋅ 3 5
= 1 . Punând n ⇒ 2 − n , k ⇒ 2 k :
5

4
X (0) = ∑ x(n )
n =0
(151)
( ) = x(0) + ∑ x( 2 )W
3
−n 2k −n
X 2 k
5 , k = 0,1,2,3
5 5
n=0

Ecuaţiile de mai înainte mai pot fi scrise:


⎡ x(0)⎤
⎢ x(1) ⎥
⎢ ⎥
X (0) = [1 1 1 1 1]⎢ x(2 )⎥ (152)
⎢ ⎥
⎢ x(3)⎥
⎢⎣ x(4 )⎥⎦

⎡ X (1) ⎤ ⎡W52
0
W52
−1
W52
−2 −3 ⎡ −0

W52 ⎤ ⎢ x 2 5 ⎥ ⎡ x(0)⎤ ( )
⎢ X (2 )⎥ ⎢ 21
⎢ ⎥ = ⎢W5 2 W52
0
W52
−1 −2 ⎥
W52 ⎥ ⎢ x 2 5 ⎥ ⎢ x(0)⎥
−1 ⎢ ⎥( )
⎢ X (4 )⎥ ⎢W52
⎥ ⎢ 23
W52
1
W52
0 −1

0 ⎥
⎢ −2 ⎥+
W52 ⎥ ⎢ x 2 5 ⎥ ⎢ x(0)⎥ (=
)

⎣ X (3)⎦ ⎢⎣W5 W52
2
W52
1

⎣ 5 ⎦

W52 ⎥⎦ ⎢ x 2 −3 ⎥ ⎣ x(0)⎦

( ) (153)
⎡W 5
1
W 5
3
W 5
4
W5 ⎤ ⎡ x(1) ⎤ ⎡ x(0)⎤
2

⎢ ⎥⎢ ⎥ ⎢ ⎥
W 2
W 1
W 3
W54 ⎥ ⎢ x(3)⎥ ⎢ x(0)⎥
=⎢ 5 5 5
+
⎢W 5
4
W 5
2
W 5
1
W53 ⎥ ⎢ x(4)⎥ ⎢ x(0)⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎢⎣W 5
3
W 5
4
W 5
2
W51 ⎥⎦ ⎣ x(2)⎦ ⎣ x(0)⎦

Pe de altă parte, relaţia (151) se mai poate scrie sub forma

43
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

4
X (0) = ∑ x(n )
n =0
(154)
( ) = X (0) + ∑ x( 2 )(W )
3
−n 2k − n
X 2 k
5 −1 , k = 0,1,2,3
5 5
n =0

Ultima sumă reprezintă o convoluţie şi o vom calcula utilizând algoritmul Winograd.


Dar realizarea prin această metodă a unei convoluţii cu N=4 a fost prezentată în
exemplul de la paragraful 10.1.6. Mai întâi va trebui efectuat produsul
⎡1 ⎤
⎡ B1 ⎤ ⎡1 1 1 1 ⎤ 1 ⎢ 2 (cos(2θ ) + cos θ ) − 1⎥
⎢B ⎥ ⎢ − 1 1 − 1 1 ⎥ ⎡W5 − 1⎤ ⎢ 1 ⎥
⎢ 2 ⎥ 1⎢ ⎥ ⎢W 2 − 1⎥ ⎢ (cos(2θ ) − cos θ ) ⎥
⎢ jB3 ⎥ = ⎢ 2 − 2 − 2 2 ⎥ ⎢ 54 ⎥ = ⎢ 2 ⎥ (155)
⎢ ⎥ 4⎢ ⎥ ⎢W5 − 1⎥ ⎢ − j sin θ ⎥
⎢ jB4 ⎥ ⎢2 2 − 2 − 2⎥ ⎢ 3 ⎥ ⎢ ⎥
⎢W − 1⎦⎥ j sin (2θ )
⎢⎣ jB5 ⎥⎦ ⎢⎣− 2 0 2 0 ⎥⎦ ⎣ 5 ⎢ ⎥
⎢⎣ − j (sin θ + sin (2θ )) ⎥⎦

unde θ = 2π 5 şi în continuare:

⎛ ⎡1 1 1 1 ⎤ ⎡ B1 ⎤ ⎞
⎡ X (1) ⎤ ⎡1 − 1 0 − 1 − 1⎤⎜ ⎢ ⎥ ⎡ x(1) ⎤ ⎢ ⎥ ⎟ ⎡1⎤
⎢ X (2 )⎥ ⎢1 1 − 1 0 − 1⎥ ⎢ ⎜ 1 − 1 1 − 1⎥⎢ ⎥ ⎢ B ⎥⎟ ⎢ ⎥
⎥⎜ ⎢1 0 − 1 0 ⎥ ⎢ x(3)⎥ ⎢ jB3 ⎥ ⎟ + ⎢1⎥ X (0)
2
⎢ ⎥=⎢
⎢ X (4 )⎥ ⎢1 − 1 0 1 1 ⎥⎜ ⎢ ⎥ ⎢ x(4 )⎥ ⎢ ⎥ ⎟ ⎢1⎥
⎢ ⎥ ⎢ ⎥ ⎜ ⎢0 1 0 − 1⎥ ⎢ ⎥ ⎢ jB4 ⎥ ⎟ ⎢ ⎥
⎣ X (3)⎦ ⎣1 1 1 0 1 ⎦⎜
⎢ ⎥⎣
x(2 )⎦ 1
⎢⎣ jB5 ⎥⎦ ⎟ ⎣ ⎦
⎝ ⎣1 1 − 1 − 1⎦ ⎠
(156)
Operaţia e comutativă şi poate fi înlocuită cu o înmulţire de matrice, înlocuind
vectorul ce conţine elementele Bi cu o matrice diagonală.

⎡ X (1) ⎤
⎢ X (2 )⎥
⎢ ⎥=
⎢ X (4 )⎥
⎢ ⎥
⎣ X (3)⎦
⎡ B1 0 0 0 0 ⎤ ⎡1 1 1 1 ⎤
⎡1 − 1 0 − 1 − 1⎤ ⎢ ⎡ x(1) ⎤ ⎡1⎤
⎢1 1 − 1 0 − 1⎥ ⎢ 0 B2 0 0 0 ⎥⎥ ⎢1 − 1 1 − 1⎥ ⎢
⎢ ⎥ x(3)⎥ ⎢1⎥
=⎢ ⎥⎢ 0 0 jB3 0 0 ⎥ ⎢1 0 − 1 0 ⎥ ⎢ ⎥ + ⎢ ⎥ X (0)
⎢1 − 1 0 1 1 ⎥ ⎢ ⎥⎢ ⎥ ⎢ x(4)⎥ ⎢1⎥
⎢ ⎥ 0 0 0 jB4 0 ⎥ ⎢0 1 0 − 1⎥ ⎢ ⎥ ⎢⎥
⎣1 1 1 0 1 ⎦⎢ ⎣ x(2)⎦ ⎣1⎦
⎢⎣ 0 0 0 0 jB5 ⎥⎦ ⎢⎣1 1 − 1 − 1⎥⎦

(157)

44
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Introducând şi pe X (0) :
⎡ X (0)⎤
⎢ X (1) ⎥
⎢ ⎥
⎢ X (2 )⎥ =
⎢ X (4 )⎥
⎢ ⎥
⎢⎣ X (3)⎥⎦
⎡ B0 0 0 0 0 0 ⎤ ⎡1 1 1 11⎤
⎡1 0 0 0 0 0 ⎤⎢ 0 B1 0 0 0 0 ⎥ ⎢0 1 1 1 1 ⎥ ⎡ x(0 )⎤
⎢1 1 −1 0 − 1 − 1 ⎥⎢ ⎥⎢ ⎥ ⎢ x(1) ⎥
⎢ ⎥ 0 0 B2 0 0 0 ⎥ ⎢0 1 − 1 1 − 1⎥ ⎢ ⎥
= ⎢1 1 1 − 1 0 − 1 ⎥ ⎢⎢ ⎢ x(3)⎥
0 0 0 jB3 0 0 ⎥ ⎢0 1 0 −1 0 ⎥
⎢1 1 −1 0 1 1 ⎥⎢ ⎥⎢ ⎥ ⎢ x(4 )⎥
⎢ ⎥⎢ 0 0 0 0 jB 4 0 ⎥ ⎢0 0 1 0 − 1⎥ ⎢ ⎥
⎢⎣1 1 1 1 0 1 ⎥⎦ ⎢ ⎢⎣ x(2 )⎥⎦
⎣0 0 0 0 0 jB5 ⎥⎦ ⎢⎣0 1 ⎥
1 − 1 − 1⎦

(158)
Bi sunt nişte constante reale, precalculate pentru un ordin dat şi B0=1. Operaţiile ce
trebuie efectuate, pot fi deci reprezentate prin:
⎡ X (0)⎤ ⎡ x(0)⎤
⎢ X (1) ⎥ ⎢ x(1) ⎥
⎢ ⎥ ⎢ ⎥
⎢ X (2)⎥ = CBA ⎢ x(3)⎥ (159)
⎢ ⎥ ⎢ ⎥
⎢ X (4)⎥ ⎢ x(4 )⎥
⎢⎣ X (3)⎥⎦ ⎢⎣ x(2 )⎥⎦

Vor trebui deci calculate succesiv:


⎡ x(0 ) + x(1) + x(3) + x(4 ) + x(2 )⎤ ⎡v0 ⎤
⎡ x(0 )⎤ ⎢ ⎥ ⎢ ⎥
⎢ x(1) ⎥ ⎢ x(1) + x(3) + x(4 ) + x(2 ) ⎥ ⎢ v1 ⎥
⎢ ⎥ ⎢ x(1) − x(3) + x(4 ) − x(2 ) ⎥ ⎢v 2 ⎥
A ⎢ x(3)⎥ = ⎢ ⎥=⎢ ⎥ (160)
⎢ ⎥ ⎢ x(1) − x(4 ) ⎥ ⎢ v3 ⎥
⎢ x(4 )⎥ ⎢ x(3) − x(2 ) ⎥ ⎢v 4 ⎥
⎢⎣ x(2 )⎥⎦ ⎢ ⎥ ⎢ ⎥
⎢⎣ x(1) + x(3) − x(4 ) − x(2 ) ⎥⎦ ⎢⎣v5 ⎥⎦

⎡ v 0 ⎤ ⎡ B0 v 0 ⎤ ⎡ m 0 ⎤
⎢v ⎥ ⎢ B v ⎥ ⎢m ⎥
⎢ 1⎥ ⎢ 1 1 ⎥ ⎢ 1⎥
⎢v ⎥ ⎢ B v ⎥ ⎢ m ⎥
B⎢ 2 ⎥ = ⎢ 2 2 ⎥ = ⎢ 2 ⎥ (161)
⎢v3 ⎥ ⎢ jB3 v3 ⎥ ⎢ m3 ⎥
⎢v 4 ⎥ ⎢ jB4 v 4 ⎥ ⎢m4 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣v5 ⎥⎦ ⎢⎣ jB5 v5 ⎥⎦ ⎢⎣ m5 ⎥⎦

şi:

45
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

⎡ m0 ⎤
⎡ X (0 )⎤ ⎢m ⎥ ⎡ m0 ⎤
⎢ X (1) ⎥ ⎢ 1 ⎥ ⎢m + m1 − m2 − m4 − m5 ⎥⎥
⎢ ⎥ ⎢m ⎥ ⎢ 0
⎢ X (2 )⎥ = C⎢ 2 ⎥ = ⎢ m0 + m1 + m2 − m3 − m5 ⎥ (162)
⎢ ⎥ ⎢ m3 ⎥ ⎢ m ⎥
⎢ X (4 )⎥ ⎢m 4 ⎥ ⎢ 0
+ m1 − m2 + m4 + m5 ⎥
⎢⎣ X (3)⎥⎦ ⎢ ⎥ ⎢⎣ m0 + m1 + m2 + m3 + m5 ⎥⎦
⎢⎣ m5 ⎥⎦

Se organizează astfel adunările, încât să se folosească în continuare rezultatul unei


adunări, ori de câte ori este posibil (fig.19). Rezultă în total 6 înmulţiri (de fapt 5, căci
Bo=1) şi 17 adunări. În general matricele A şi C vor conduce la nişte operaţii de
însumare la intrare şi ieşire, în centru rămânând o zonă de multiplicări (fig.20). Se
vede că numărul variabilelor intermediare (v,m), ce trebuie prelucrate în zona de
multiplicări este mai mare decât N, necesitând memorie suplimentară.

Fig. 19 Graful unei transformări pentru N=5.

Un alt caz important este acela când N=pc, unde p e prim şi c natural [2]. S-a arătat că
în cest caz există cel puţin o rădăcină primitivă g care va genera o secvenţă de
perioadă Φ(N ) = p c −1 ( p − 1) . Vom utiliza pentru început reprezentarea
N
n = n1 + n2 = n1 + p c −1 n 2 , n1 = 0, … , p c −1 − 1, n 2 = 0, … , p − 1
p (163)
k = pk1 + k 2 , k1 = 0, … , p c −1 − 1, k 2 = 0, … , p − 1

Pentru k2=0 rezultă k≡0 mod p şi


⎛ p −1
)⎞⎟⎟W
p c −1 p c −1
X (k ) = X ( pk1 ) = ∑ x(n )W N
pk1n
= ∑ ⎜ (
⎜ ∑ x n1 + p c −1 n2 k1n1
p c −1
(164)
n =0 n = 0 ⎝ n2 = 0 ⎠

46
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

Fig. 3.20 Gruparea operaţiilor în cazul algoritmului Winograd.

Expresia din paranteză reprezintă de fapt o TFD în N/p puncte a secvenţei


p −1

∑ x(n
n2 = 0
1 + p c −1 n2 . ) (165)

Pentru k ≠ 0 mod p , vom separa X (k ) în două


X (k ) = A(k ) + B(k ), A(k ) = ∑ x(n)W nk
N , B(k ) = ∑ x(n)W nk
N (166)
n ≡ 0 mod p n ≠ 0 mod p

Vom utiliza o nouă reprezentare a indicilor


N
n = pn'′1 + n′2 , k = k1′ + k 2′ = k1′ + p c −1 k 2′
p (167)
n1′ , k1′ = 0, … , p c −1
− 1, n ′2 , k 2′ = 0, … , p − 1

aşa încât rezultă


p c −1 −1 p c −1 −1
(
A k1′ + p c −1
) ∑ x( pn′ )W
k 2′ = 1 N
p c k 2′ n1′ + pk1′n1′
= ∑ x( pn′ )W 1
k1′n1′
p c −1
(168)
n1′ = 0 n1′ = 0

Aceasta este însă o transformată de ordinul pc-1, în care termenii corespunzând lui
k'1=0 nu se calculează. Se observă că membrul drept nu depinde de k'2. Rămâne de
evaluat B(k ) , în care n, k ≠ 0 mod p şi în consecinţă aceasta este o transformare de
ordinul
p c −1 ( p − 1) = p c − 1 − ( p c −1 − 1)

Indicii n şi k vor fi şi acum generaţi utilizând o rădăcină primitivă g a lui ZN:


k → g k mod p c , n → g − n mod p c , k , n = 0,… , p c −1 ( p − 1) − 1

aşa încât
p c −1 ( p −1)−1
B(g k
) = ∑ x(g )W −n k −n
N
n =0

47
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

care reprezintă o convoluţie ce poate fi calculată cu algoritmul Winograd. De exemplu


pentru N=9=32, se separă mai întâi termenii corespunzând lui k≡0 mod 3, adică pentru
k=0,3,6. Ei se evaluează cu
2 ⎛ 2 ⎞
X (3k1 ) = ∑ ⎜ ∑ x(n1 + 3n2 )⎟W3k1n1
⎜ ⎟
n1 = 0 ⎝ n2 = 0 ⎠
Această transformată de ordinul trei se poate calcula fie direct, fie utilizând algoritmul
Winograd, prin reducerea la o convoluţie de ordinul doi, după separarea lui X[0]
(fig.21).

Expresia
2
A(k1′ + 3k 2′ ) = ∑ x(3n′ )W 1 3
n1′ k1′

n1′ = 0

este tot o transformată de ordinul trei, la care nu se evaluează termenul pentru k'1=0.
Cum membrul drept nu depinde de k'2, iar k'1=0 nu intervine, rămân doar două valori
distincte, pentru calculul cărora se poate de asemenea utiliza algoritmul Winograd. Se
verifică uşor că g=2 este o rădăcină primitivă în Z9,
20 = 1, 21 = 2, 22 = 4, 23 = 8, 24 = 7, 25 = 5,
9 9 9 9 9 9
Termenii
2 −1 = 5, 50 = 1, 51 = 5, 52 = 7, 53 = 8, 54 = 4, 55 = 2.
9 9 9 9 9 9 9

B(k ) se calculează ca o convoluţie a secvenţelor

x 5n ( ) = [x(1), x(5), x(7), x(8), x(4), x(2)] T

n
[
W92 = W91 ,W92 ,W94 ,W98 ,W97 , W95 ]
T

Rezultă schema din fig. 22.


Algoritmul prezentat până aici este foarte eficient pentru N mic, N fiind număr
prim. Pentru valori mai mari ale lui N, se poate recurge la descompunerea în factori

48
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

primi N=N1N2...NQ, după cum s-a văzut la procedeul anterior, şi pentru fiecare din
transformatele de grade mai mici se poate aplica acest algoritm.

Să considerăm cazul N=N1N2. După cum s-a văzut, în acest caz


WN = WN1 ⊗ WN 2

Produsul Kronecker are proprietatea


AB ⊗ CD = (A ⊗ C)(B ⊗ D)

şi se poate deci scrie:


WN1 = C1B1 A 1 , WN 2 = C 2 B 2 A 2
WN = (C1B1 A 1 ) ⊗ (C 2 B 2 A 2 ) = (C1 ⊗ C 2 )(B1 ⊗ B 2 )(A 1 ⊗ A 2 ) = CBA

sau în general, când N=N1N2...NQ


WN = (C1B1 A 1 ) ⊗ ⊗ (C Q B Q A Q ) = (C1 ⊗ ⊗ C Q )(B1 ⊗ ⊗ B Q )(A 1 ⊗ ⊗ AQ )

Se observă că şi aici toate înmulţirile sunt concentrate "la mijloc", aşa încât se
calculează mai întâi toate adunările semnalelor de intrare (corespunzătoare tuturor
modulelor), apoi toate înmulţirile şi în final, al doilea grup de adunări. Sub această
formă, algoritmul Winograd pentru transformata Fourier se întâlneşte sub denumirea
prescurtată WFTA (Winograd Fourier Transform Algorithm). El are în comun cu
algoritmul PFA descompunerea în module pornind de la factorizarea lui N, dar în
algoritmul PFA modulele sunt mai departe prelucrate independent.

49
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina

În WFTA produsul B = B1 ⊗ B1 ⊗ ⊗ B Q , poate fi precalculat şi numărul total

de înmulţiri este M (N ) = M (N1 )M (N 2 ) M (N Q ) , unde M(Ni) este numărul de

înmulţiri pentru modulul de lungime Ni.


Pentru doi factori, numărul de adunări e dat de A(N ) = N 1 A1 (N 1 ) + N 2 A(N 2 ) , unde
A( N i ) este numărul de adunări pentru modulul de lungime N i .

Algoritmul Winograd este foarte eficient ca volum de calcul, dar relativ dificil
de programat.

50
Zerouri obligatorii
H 0 (e jω ) = 0 , H ( z ) = 0 Nu se pot
Tip Lungime Secvenţa h(n) H 0 (e jω ) θ (ω ) Se pot proiecta
ω=0 ω =π proiecta
z =1 z = −1

simetrică N −1 FTJ
2 N −1 fără con- fără con- FTS tr. Hilbert
− ω
1 N impar
h( n ) = h( N − 1 − n)
∑ an cos(nω ) 2 strângeri strângeri FTB diferenţiator
n =0
FOB

simetrică N
FTS, FOB
2
⎛ 1⎞ N −1 fără con- FTJ
− ω
2 N par
h( n ) = h( N − 1 − n)
∑ bn cos⎜⎝ n − 2 ⎟⎠ω 2 strângeri
0
FTB
tr. Hilbert
diferenţiator
n =1

antisimetrică
N −1
h( n) = − h( N − 1 − n) π N −1 FTB FTJ
2
− ω
3 N impar
h⎜
⎛ N −1⎞
⎟=0
∑ cn sin (nω ) 2 2
0 0 tr. Hilbert
diferenţiator
FTS
FOB
n =1
⎝ 2 ⎠

antisimetrică N FTS
2
⎛ 1⎞ π N −1 fără con- FTB FTJ
− ω
4 N par
h( n) = − h( N − 1 − n)
∑ d n sin⎜⎝ n − 2 ⎟⎠ω 2 2
0
strângeri tr. Hilbert FOB
n =1
diferenţiator

FIR cu fază liniară: H ( z −1 ) = ± z N −1 H ( z )


Tipul 1: H0 funcţie pară şi simetrică faţă de π Tipul 3: H0 funcţie impară şi antisimetrică faţă de π

H 0 ( e jω ) H 0 ( e jω )

ω
ω -π 0 π 2π 3π
-π 0 π 2π 3π

Tipul 2: H0 funcţie pară şi antisimetrică faţă de π Tipul 4: H0 funcţie impară şi simetrică faţă de π
H 0 ( e jω )
H 0 ( e jω )

ω
ω
-π 0 π 2π 3π
-π 0 π 2π 3π

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