Documente Academic
Documente Profesional
Documente Cultură
1. INTRODUCERE.
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ă
1 , n ≥ 0
u (n ) = 1
0 , n < 0
-2 -1 0 1 2 n
Fig. 1.2
2
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină
x(n) y(n)
T{}
Fig. 1.3
3
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină
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ă
∞ ∞
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
∑ [x (k ) − x (k )]h(n − k ) = 0
k =n0
a b ⇒ h(n − k ) = 0 pentru k ≥ n0 şi n < n0 adică
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).
( )
∞ ∞ ∞
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)-
dω
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
8
Prelucrarea numerică a semnalelor - Capitolul 1 Silviu Ciochină
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ă.
10
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
1
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
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)
ω
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
jθ
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
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
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)
dω
Aceasta conduce la
N −1
H (e jω ) = ∑ h(n) e − jnω = H 0 (ω ) e − jαω (2.18)
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
ceea ce conduce la
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
5
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
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 −1
β= ,α =
2 2
h ( n ) = − h ( N − 1 − n) (2.29)
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.
Î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
jω
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
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)
8
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
unde
c' (n) = 2h( P − n), n = 1,..., P (2.47)
şi
π
j
jω
H (e ) = e − jPω
e 2 H 0 (e jω ) = je − jPω H 0 (ω ) (2.48)
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)
9
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
(z ) ∗ −1
i
zi
-1 1 Re z
zi∗
z i−1
Fig. 7
(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
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π
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
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 ω
jω
H d (e ) = e 2
H d (ω )
0
(2.60)
14
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
15
Prelucrarea numerică a semnalelor, Capitolul 2 Silviu Ciochina
W ( e jω )
Fig. 11
0 ω
Hd (e jω )
H(e jω ) Fig. 12
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)
H(e jω )
1+ δt
1
Fig. 13
1− δt
δb
ωt ωb ω
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
jω
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
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
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
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π
2π
)
− e e 2
WD (ω − ) −
N
(2.83)
2 N 0
1 − α − j N − j 2 (ω + N )
π N −1 2π
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ω
−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⎠
4π
- în cazul ferestrei Hamming propriu-zisă mai apare o anulare a spectrului între
N
6π
ş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
Fereastra Bartlett
1
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină
Fereastra Kaiser
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ă.
( )
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
2π
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
2π
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
2π
=
jk
2π
(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
2π
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ă
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.
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
jω
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 ( )
jω
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ă
6
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină
1+ δt
1
1− δt
δb
ωt ωb π
Fig. 24
7
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină
∑ [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
jω
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,
2π
ω 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ţă.
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ă
M(1)
M(3)
M(2)=0 M(4)=0
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ă
Mo(1) Mo(2)
Mo(5) Mo(6)
Fig. 2.26
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 )
-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 )
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.
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
15
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină
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ă?
16
Prelucrarea numerică a semnalelor - Capitolul 2 Silviu Ciochină
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ţă.
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ă
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ă
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
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)
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
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)
M
∑ bk e − jkω
H ( e jω ) = k =0
N
= H (e jω ) e jϕ (ω ) (3.10)
1 + ∑ ak e − jkω
k =1
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)
3
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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 :
( 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
1
H n (s) = N −1
(3.17)
∏ (s − s k )
k =0
1
H n ( s) = 2
s + 2 s +1
1
H n ( s) = 2
( s + 1)( s + s + 1)
de unde
lg(δ b −2 − 1)
N≥ (3.19)
2 lg Ωb
6
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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 :
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ă
1 1
1+ ε 2 1+ ε 2 N=4
N=3
δb δ b0
0
0
Ωt = 1 Ωb Ω Ωt = 1 Ωb Ω
Fig. 3.5
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
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ă
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ă
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 :
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ă
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
12
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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
Ω
Ω= (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ă
Ω = 1 → Ω = − Ωt
Ω = −1 → Ω = Ωt
Ω = 0 → Ω = ±∞
Ω = ±∞ → Ω = 0
sau în frecvenţă :
Ω 2 − Ωt1 Ωt2
Ω= (3.37)
Ω (Ωt2 − Ωt1 )
H n ( j Ω) H n ( jΩ )
Fig. 3.9
14
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
Ω = −1 → Ω = + Ωt1 , − Ωt2
Ω = +∞ → Ω = 0, + ∞
Ω = −∞ → Ω = 0, − ∞
Ω (Ωt2 − Ωt1 )
Ω=− (3.39)
Ω 2 − Ωt1 Ωt2
H n ( j Ω) H n ( jΩ )
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)
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
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
( n −1)Ts nTs
v(nTs ) = ∫ u (t )dt + ∫ u (t )dt (3.45)
0 ( n −1)Ts
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ă
2 T 2 ω
Ωa = tg Ω s = tg (3.53)
Ts 2 Ts 2
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ă
ω (Ωa )
π
Ωa
−π
Fig. 3.12
Ω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
20
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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
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.
23
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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ω
[ ]
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ă
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ă
Metoda Padé
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)
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
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 =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
∞ ∞ 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
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ţă.
32
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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.
33
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
Ω0
unde este fercvenţa de rezonanţă, iar Q >> 1 este factorul de calitate. Pornind
2π
34
Prelucrarea numerică a semnalelor. Capitolul 3 Silviu Ciochină
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ă
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
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
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)
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
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 }(ω )
2π
(4.21)
1
X R ( e jω ) = − H F { X I }(ω ) + x(0)
2π
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
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
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
π
1 jω jnω j 0
jnω j π jnω
hH ( n ) =
2π ∫ H H (e )e dω =
2π ∫e dω −
2π ∫0
e dω =
−π −π
6
Prelucrarea numerică a semnalelor. Capitolul 4 Silviu Ciochină
hH (n )
2
π
2
2
3π
5π
-3 -2 -1 0 1 2 3 4 5 n
2
−
3π
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)
Î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ă
( )
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
( )
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
( )
V e jω =
1
2j
(
X I e j (ω −∆ω ) −
1
2j
) (
X I e j (ω + ∆ω ) )
(4.60)
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
12
Prelucrarea numerică a semnalelor Silviu Ciochină
( )
X I e jω =
− a sin ω
1 + a 2 − 2a cos ω
, a < 1, x(0 ) = 1
( )
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ă
a0 a1 a2 a N −1
y (n)
Fig.1
1
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
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ă.
jk 2π
H d e N
1 - z −N N -1
H(z) =
N
∑ jk
2π
(3)
k =0
1- e N z −1
2
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
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).
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ă
ei−f 1 ( n) eif (n )
ki
z −1 ki
b
ei− b
1 ( n) ei −1 ( n − 1) eib (n )
Fig.5
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
Y f (z ) ; Y b (z )
H f (z ) = H b (z ) = (14)
X (z ) X (z )
E if ( z ) E b
(z )
H if (z ) = ; H i (z) = i
b
(15)
X (z ) X (z )
deci:
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 bi ( z ) = z -i H if z( )
−1
(20)
( )
H bi-1 ( z ) = z -(i-1) H if-1 z
−1
(21)
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)
H b (z ) = z- N H f z
−1
( ) (23)
j =0 m =1
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)
• În fine
ai , j = ai −1, j + k i ai −1,i − j , j = 1,L, i − 1 (32)
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
N
H ( z ) = ∑ a j z − j , a0 = 1 (33)
j =0
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)
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ă
M
∑ bk z −k B( z )
H (z ) = k =0
= (37)
N
A( z )
1 + ∑ ak z −k
k =1
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ă
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
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ă
b0 + b1 z −1 + b2 z −2
H (z ) = (45)
1 + a1z −1 + a2 z −2
∑ Pi ∆i
H (z ) = i
(46)
∆
unde
∆ = 1 − ∑ Li + ∑ Li L j − ∑ Li L j Lk + L (47)
i i, j i , j ,k
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.
X (z )
W (z ) = N
(48)
1 + ∑ ak z −k
k =1
M
Y ( z ) = W ( z ) ∑ bk z −k (49)
k =0
N
w( n) = x(n) - ∑ a k w(n − k ) ;
k=1
(50)
M
y ( n) = ∑ bk w(n − k )
k =0
12
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
−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ă
x(n) y1 (n) y 2 ( n) y P ( n) = y ( n)
H1 ( z) H 2 ( z) H P (z )
Fig. 10
14
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
y1 (n)
H1 ( z )
y 2 ( n)
H 2 ( z)
x(n)
y p (n)
H p (z )
C y (n)
Fig.11
15
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
− 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
Fig. 13
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ă
E 0f ( z )
E 0f ( z )
H Nf ( z) = f = (57)
E N ( z) X ( z)
E Nb ( z )
H Nb ( z ) = (58)
E0b ( z )
E0f ( z )
H i (z ) =
f
(59)
Ei f ( z )
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 )
E Nb ( z )
H Nb = = z − N AN ( z −1 ) (63)
E0b ( z )
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 )
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 )
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 )
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
− 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
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 )
1 N
H ( z) = ∑
AN ( z ) i =0
ci H ib ( z ) (77)
i =1
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
kN k N −1 k1
22
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
ki − ki
1 − k i2 z −1
eib (n) eib−1 (n − 1)
b
ei−1 ( n)
Fig. 18
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
αi 1 αi
eif (n) ei−f 1 (n)
ki − ki
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
Fig. 22
24
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
αi
eif (n) ei−f 1 (n)
ki − ki
Fig. 23
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
şi alegem α i = cosθ i . Se obţine structura din figura 25, numită celula latice normată
sinθ i − sinθ i
Fig. 25
25
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
eib (n) z −1 b
ei−1 ( n)
Fig. 26
26
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
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)
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)
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
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
Probleme
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ă.
28
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
29
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
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.
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
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
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ă.
în formele:
31
Prelucrarea numerică a semnalelor Cap.5 Silviu Ciochină
• latice;
• latice Kelly-Lochbaum;
• latice normată;
• latice cu un multiplicator pe celulă.
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ω
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
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ă
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 →∞
{
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)
Î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π
− (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)
2π
−
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
jω
)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ă
( ) ∑σ 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
( ) (
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⎫
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ă
( )
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
ω
( )
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
{
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
⎡ 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
⎣
⎧⎪ ∞
( )
⎫⎪ ∞ ∞
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)
{ } { }
⎧⎪ ∞ ⎫⎪ ∞
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.
{
⎛ 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)
• 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
2π
σx ∫ H (e
jω
)2 d ω
C −π
( ) ∑ 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
jω
)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.
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
( ) ∑α 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⎫
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)
27
Prelucrarea numerică a semnalelor. Capitolul 6 Silviu Ciochină
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
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 ⎠
{
⎧⎪
E xi x j = ⎨ } E xi2 , { }
i= j
{ }
⎪⎩ E{xi }E x j = m , i ≠ j
2
{ } 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
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
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.
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)
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
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
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ă
• Î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
x (0 ) x (1) x (B −1) x (B )
Fig 2.
x (1) x (2 ) x (B ) 0
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.
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.
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.
Qt (x )
−∆ ∆ Fig.3
x
4
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
∞
− ∑ 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
( ) ∆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ă
Qt (x )
we (e )
∆−1
∆
−∆ 2
∆ 2 x −∆ 2 ∆ 2 e
Fig.5 Fig.6
∞
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
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ă
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ă
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
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ă
10
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
ε i (n )xi (n )
k xi (n )
ε i (n )xi (n ) Fig.9
xi (n )
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ă
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
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.
ω
( )
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.
15
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
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ă
17
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
e1 (n ) e2 (n ) eM (n ) e 0 (n )
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
Fig.12.
18
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
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.
Im{z}
Re{z}
Fig. 14
20
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
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
21
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
x(n ) y (n )
−1
z
2r cosθ
Fig. 15
z −1
− r2
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ă
( )
r
σ jω = ∑
2 ο k2 = S 2 e jω ο k2 92
He
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.
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
y(n )
Fig. 19
x(n ) z −1 z −1 z −1 z −1
z −1
z −1 z −1 z −1 z −1
y(n )
Fig. 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 ).
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
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ă
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ă
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ă
29
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
Probleme.
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.
Q
H0
z −1
Q
r
Fig. 26
30
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
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.
x(n ) y (n )
H0
z −1
2r cosθ −2
z −1
− r2
Fig.27.
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?
x(n ) y (n )
H0
z −1 z −1
Q Q
r1 r2
Fig.28.
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.
32
Prelucrarea numerică a semnalelor - Capitolul 7 Silviu Ciochină
x(n )
Q
k z −1
Q
−k
y (n )
Fig.29.
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
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
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
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 = −∞
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 .
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
sau
∑ X (WMk z )
M −1
1
V (z ) = (13)
M k =0
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 =VzM
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
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
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 = −∞
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
În domeniul frecvenţă,
jω jLω jω
Y e y = X e y = X e x
(31)
jΩ T
y
= X e
jΩ T
Ye 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
(
X e jω x )
ω Mx 2π 4π 6π ωx
Ye( ) jω y
2π 2π 2π 4π 6π ωy
2
L L
Fig. 10
10
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina
( )
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
∫ 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π −π
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
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
↑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
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
π
î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
15
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina
M π
≤ (57)
L Ω M Tx
∞
y (n ) = v' ' (nM ) = ∑ x(m )h(nM − mL ) (60)
m = −∞
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)
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
↑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
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
19
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina
∞
y (n ) = ∑ x (kM )h(n − k ) (76)
k = −∞
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
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.
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
{ [
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.
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).
↓M ↓M ↓M
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
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
∑ 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
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-
26
Prelucrarea numerica a semnalelor. Capitolul 8 Silviu Ciochina
x(n )
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
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
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
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
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
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)
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
4
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
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
6
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
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
( )
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
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
13
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
F1 + F2
F0 = , B = F2 - F1
2
X a ( jΩ )
F
− F2 − F0 − F1 F1 F0 F2
Fig. 9
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
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
15
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
π
+ (-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
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
(
H e jω x ) 1/4 fx
18
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
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
2π
H k (e jω ) = H 0 (e j ( ω−ωk ) ) ; ωk = k (63)
N
sau, în transformate Z,
2π
−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
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
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
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
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
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
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
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
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
y0 (n)
E0(z)
Nx
y1 (n )
E1(z)
TFD-1 y(n)
y N −1 (n ) EN-1(z)
Fig. 23
π/2 π ω
jω jω
H0(e ) H1(e )
jω π/2 π ω
X0(e
jω
X1(e )
π/2 π ω
Fig. 24
25
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
( ) 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
27
Prelucrarea numerica a semnalelor. Capitolul 9 Silviu Ciochina
( )
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
F1 F2 F11
4kHz 8kHz 44kHz
b
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
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=−∞
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
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ă
2
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
î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)
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
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 }
( )
N −1
y c (n ) = x(n ) ⊗ h(n ) = ( x ⊗ h )(n ) = ∑ x(m )h n − m N
(14)
m =0
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
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
5
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
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
∑ 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
Metoda suprapunere-însumare
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
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
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
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
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
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
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 .
11
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
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
2π
∏ (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
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
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
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
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 )]
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
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
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
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 .
19
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
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
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.
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
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
25
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
N/2
N 2 −1
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
26
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
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
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
28
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
X(k1) k2=0
-1 X(k1+3N/4) k2=3
j
WN3k1 -1
-j
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
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
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
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.
(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
34
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
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
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
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
ş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
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
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
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
( ) = ∑ 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
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
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
⎢ ⎥
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)
⎡X 0 ⎤ ⎡x 0 ⎤
⎢ ⎥
X = ⎢ X1 ⎥ = (W3 ⊗ W5 )⎢⎢ x1 ⎥⎥ (141)
⎢⎣ X 2 ⎥⎦ ⎢⎣x 2 ⎥⎦
(
X = WN1 ⊗ WN 2 ⊗ ⊗ WN Q x ) (142)
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
şi
gi ≠0 .
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
( ) = 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
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
⎡ 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)⎦
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
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 )⎥⎦
⎡ 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 ⎥⎦
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
46
Prelucrarea numerica a semnalelor. Capitolul 10 Silviu Ciochina
∑ x(n
n2 = 0
1 + p c −1 n2 . ) (165)
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)
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
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
n
[
W92 = W91 ,W92 ,W94 ,W98 ,W97 , W95 ]
T
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.
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
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
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π