Sunteți pe pagina 1din 20

CAPITOLUL 6.

6.1 IMPLEMENTAREA FILTRELOR


REALIZAREA FILTRELOR CU RASPUNS FINIT LA IMPULS
DIGITALE

1 2

Filtre cu răspuns finit la impuls 6.1.1 FORMA TRANSVERSALĂ


 Organizarea memoriei pentru filtrul FIR:
 Un filtru FIR de lungime N este caracterizat de:

Y ( z ) N 1  k N 1
Lista circulara Coeficienti
H ( z)    hk z y (n)   hk x(n  k )
X ( z ) k 0 k 0
h(N-1)

 6.1.1 Forma transversală (directă):


x ( n) x(n  1) x(n  2) x(n  N  1) N
x(n-1)
1 1 1
z z z index x(n)
curent
x(n-N+1) h(1)
h0 h1 h2 hN 1
y ( n) h(0)

3 4
6.1.1 FORMA TRANSVERSALĂ 6.1.1 FORMA TRANSVERSALĂ
 Calculul ieşirii y(n): fread(x,sizeof(Word16),DataBlockSize,fpx);
for (n=0; n<DataBlockSize; n++)
N 1
y (n)   hk x(n  k ) {
k 0 delay[index%N]=x[n];
int main() sum=0;
{ for (k=0; k<N; k++)
Word16 sum=L_mac(sum,h[k],delay[(index-k)%N]);
x[DataBlockSize],y[DataBlockSize],delay[N],h[N]; y[n]=round(sum);
Word32 sum; index++;
short n,i;
}
long unsigned k,index;
fwrite(y,sizeof(Word16),DataBlockSize,fpy);
...
...
}
5 6

6.1.2 FORMA TRANSPUSĂ 6.1.2 FORMA TRANSPUSĂ


 6.1.2 Forma transpusă
y (n)  w1 (n  1)  h0 x(n) N 1
 Graful acestei structuri se obţine din graful y (n)   hk x(n  k )
w1 (n)  w2 (n  1)  h1 x(n)
structurii transversale, inversând intrarea cu k 0
w2 (n)  w3 (n  1)  h2 x(n)
ieşirea şi sensurile tuturor căilor
...
wN 1 (n)  hN 1 x(n)
w2 ( n) w1 ( n) y ( n) w2 ( n) w1 ( n) y ( n)
1
z z 1 z 1
z 1
z 1 z 1

hN 1 h2 h1 h0 hN 1 h2 h1 h0
x ( n) x ( n)

7 8
Filtre cu răspuns infinit la impuls
 Funcţia de transfer este de forma:
M

Y ( z) b z k
k

H ( z)   k 0
X ( z) N
1   ak z  k
k 1
6.2 IMPLEMENTAREA FILTRELOR
 Ecuaţia cu diferenţe finite:
CU RĂSPUNS INFINIT LA IMPULS
M N
y (n)   bk x(n  k )  ak y (n  k )
k 0 k 1

9 10

6.2.1 FORMA DIRECTĂ 1 6.2.1 FORMA DIRECTĂ 1


M N
 Relaţia intrare – ieşire este de forma: w(n) = bk x( n  k ) y (n) = w(n) - ak y (n  k )
k=0 k=1
M
W ( z) wn 
W ( z )  X ( z )   bk z  k
b0 y (n)
Y ( z)  N
x(n)

k 0
1   ak z  k 1 z 1
z
k 1 b1  a1
x(n  1) y (n  1)
 Ecuaţiile cu diferenţe finite: z 1 z 1

b2  a2
M N
y (n  2)
w(n)   bk x(n  k ) y (n)  w(n)   ak y (n  k )
x ( n  2)

k 0 k 1

1 1
z z
bM  aN
11
x(n  M ) y (n  N ) 12
6.2.1 FORMA DIRECTĂ 1 6.2.1 FORMA DIRECTĂ 1
int main() for (n=0; n<DataBlockSize; n++)
{ {
Word16 x[DataBlockSize],y[DataBlockSize]; delay_b[ix%(M+1)]=x[n];
Word16 delay_b[M+1],delay_a[N+1],b[M+1],a[N]; sum=0;
Word32 sum; for (k=0; k<=M; k++)
short n,i; sum=L_mac(sum,b[k],delay_b[(ix-k)%(M+1)]);
long unsigned k,ix,iy; for (k=1; k<=N; k++)
... sum=L_msu(sum,a[k],delay_a[(iy-k)%(N+1)]);
fread(x,sizeof(Word16),DataBlockSize,fpx); y[n]=round(sum);
for (n=0; n<DataBlockSize; n++) delay_a[iy%(N+1)]=y[n];
{ ix++;
... iy++;
}
fwrite(y,sizeof(Word16),DataBlockSize,fpy);
13 14
...

6.2.1 FORMA DIRECTĂ 1 6.2.1 FORMA DIRECTĂ 1


 Filtru IIR forma directă 1:  De exemplu, în cazul M=N=2
x ( n) b0 w(n) y ( n) x(n) b0 y (n)

z 1 b1  a1 z 1 z 1  a1` z 1
b1
x(n  1) y (n  1)
z 1 b2  a2 z 1 z 1 b2  a2 z 1

 Se poate verifica uşor că funcţia de transfer


este
b  b z 1  b2 z 2
z 1 bM aN z 1 H  z   0 1 1
1  a1 z  a2 z 2
x(n  M ) y (n  N )
15 16
6.2.1 FORMA DIRECTĂ 1 6.2.1 FORMA DIRECTĂ 1
 Regula lui Mason: x(n) b0 y (n)  P i i
H z  i

 Pi i
  1   Li   Li L j   Li L j Lk   z 1 z 1

H z  i  a1`
  1   Li   Li L j   Li L j Lk  
b1
 i i, j i , j ,k
i, j i , j ,k
 Li reprezintă transmitanţa buclei i a grafului, i
z 1 b2  a2 z 1
 prima sumă se referă la toate buclele grafului, a doua
la perechile de bucle neadiacente, a treia la grupurile
 Graful are două bucle simple adiacente, cu
de câte trei bucle neadiacente şi aşa mai departe.
transmitanţele: L1   a1 z 1 ; L2   a2 z 2
 Pi reprezintă transmitanţa căii i de la nodul sursă la
nodul de ieşire, suma de la numărător fiind efectuată
deci   1  a1 z 1  a2 z 2
pentru toate aceste căi.  şi trei căi simple între intrare şi ieşire,
 În fine, Δi se obţine din Δ eliminând termenii ce P1  b0 ; 1  1;
1
P2  b1 z ;  2  1; b0  b1 z 1  b2 z 2
corespund unor bucle adiacente căii i . H  z 
17
P3  b2 z 2 ;  3  1; 1  a1 z 1  a2 z 2 18

6.2.1 FORMA DIRECTĂ 1 6.2.1 FORMA DIRECTĂ 1


 Să considerăm implementarea unui filtru de Word16 x[DataBlockSize],y[DataBlockSize];
ordin 2 numai cu poli cu funcţia de transfer de Word16 y1,y2,a[]={WORD16(a1), WORD16(a2)};
Word32 sum;
forma:
1 ...
H ( z)  fread(x,sizeof(Word16),DataBlockSize,fpx);
1  a1 z  a2 z 2
1
for (n=0; n<DataBlockSize; n++)
{
 Ieşirea va fi calculată cu formula: sum=L_deposit_h(x[n]);
y ( n)  x ( n)  a1  y ( n  1)  a2  y ( n  2) sum=L_msu(sum,a[0],y1);
y[n]=msu_r(sum,a[1],y2);
y2=y1;
y1 = y ( n  1) a1 y1=y[n];
y2 = y ( n  2) a2 }
fwrite(y,sizeof(Word16),DataBlockSize,fpy);
a[2] 19 20
...
6.2.1 FORMA DIRECTĂ 1 6.2.1 FORMA DIRECTĂ 1
 Fie un filtru de ordin 2 stabil.  Ecuaţia cu diferenţe finite:
 Avem:
 x(n) a1 a 
1 1 y ( n)  2   y (n  1)  2 y (n  2) 
H ( z)    2 2 2 
1  a1 z 1  a2 z 2 (1  p1 z )(1  p2 z 2 )
1

 Folosind relaţiile între coeficienţii şi rădăcinile  Organizarea memoriei pentru un filtru de ordin
polinomului de la numitor obţinem: 2 numai cu poli cu coeficienţi scalaţi:

a1  p1  p2  p1  p2  2 y1 = y ( n  1) a1 / 2
a2  p1 p2  1 y2 = y ( n  2) a2 / 2

21 22

6.2.1 FORMA DIRECTĂ 1 6.2.2 FORMA DIRECTĂ 2


 Relaţia intrare – ieşire:
 x(n) a1 a 
y ( n)  2   y (n  1)  2 y (n  2)  X ( z) M
 2 2 2  W ( z)  N Y ( z )  W ( z ) bk z  k
for (n=0; n<DataBlockSize; n++) 1   ak z  k k 0

{ k 1

sum = L_deposit_h(shr(x[n],1));
sum = L_msu(sum,a[0],y1);  Ecuaţiile cu diferenţe finite:
y[n]= shl(msu_r(sum,a[1],y2),1);
N M
y2 = y1;
w(n)  x(n)   ak w(n  k ) y (n)   bk w(n  k )
y1 = y[n]; k 0 k 0
}

23 24
6.2.2 FORMA DIRECTĂ 2 6.2.2 FORMA DIRECTĂ 2
N M
w(n) = x(n) - ak w(n  k ) y (n)   bk w(n  k )  Filtru IIR forma directă 2
k=1 k 0
x(n) w(n) b0 y (n) x(n) b0 y (n)

1 1 1
z
 a1 z z b1  a1 b1
w( n  1) y (n  1)
1 1
 a2 z z
b2 z 1

 a2 b2
w(n  2) y (n  2)

y (n  2)

1
z
 aN bN
1
z

 aN w(n  N )
1
z
bM 25 26
y (n  M )

6.2.2 FORMA DIRECTĂ 2 6.2.2 FORMA DIRECTĂ 2


 Filtru IIR forma directă 2  Să considerăm un filtru de ordin 2 (biquad).
x ( n) w(n) b0 y ( n) Funcţia de transfer este:

z 1 b
b0  b1 z 1  b2 z 2
 a1 H ( z) 
1
1  a1 z 1  a2 z 2
 a2 z 1 b x ( n) w(n) b0 y ( n)
2

 a1 z 1 b
1

aN z 1 b  a2 z 1 b
M 2

27 28
6.2.2 FORMA DIRECTĂ 2 6.2.2 FORMA DIRECTĂ 2
 Ecuațiile cu diferențe finite: Word16 x[DataBlockSize],y[DataBlockSize];
Word16 w1,w2;
w(n)  x(n)  a1w(n  1)  a2 w(n  2) Word16 a[]={WORD16(a1), WORD16(a2)};
Word16 b[]={WORD16(b0), WORD16(b1), WORD16(b2)};
y (n)  b0 w(n)  b1w(n  1)  b2 w(n  2) Word32 sum;
...
x ( n) w(n) b0 y ( n) fread(x,sizeof(Word16),DataBlockSize,fpx);

 a1 z 1 b
1

 a2 z 1 b
2

29 30

6.2.2 FORMA DIRECTĂ 2 6.2.2 FORMA DIRECTĂ 2


for (n=0; n<DataBlockSize; n++)  Pentru coeficienţi supraunitari mai mici ca 2
{
este necesară scalarea coeficienţilor cu 2.
sum = L_deposit_h(x[n]);
sum = L_msu(sum,a[0],w1);  Ecuaţiile cu diferenţe finite:
sum = L_msu(sum,a[1],w2);
w = round(sum);  x(n) a1 a 
w(n)  2   w(n  1)  2 w(n  2) 
sum = L_mult(b[0],w);
 2 2 2 
sum = L_mac(sum,b[1],w1);
y[n]= mac_r(sum,b[2],w2);
 w(n) b1 b 
w2=w1; y ( n)  2   w(n  1)  2 w(n  2) 
w1=w;  2 2 2 
}
fwrite(y,sizeof(Word16),DataBlockSize,fpy);
...
31 32
6.2.2 FORMA DIRECTĂ 2 6.2.3 REALIZAREA ÎN CASCADĂ
for (n=0; n<DataBlockSize; n++)  Se realizează factorizarea funcţiei de transfer
{ de ordin 2 cu coeficienţi reali implementate cu
sum = L_deposit_h(shr(x[n],1)); structuri biquad:
sum = L_msu(sum,a[0],w1); bk ,0  bk ,1 z 1  bk ,2 z 2
p p

sum = L_msu(sum,a[1],w2); H ( z)   1
  H k ( z)
k 1 1  ak ,1 z  ak ,2 z 2 k 1
w = round(shl(sum,1));
sum = L_mult(b[0],w);  Rezultă o realizare în cascadă:
sum = L_mac(sum,b[1],w1); x(n) y1 (n) y 2 ( n) y P ( n)  y ( n)
H1 ( z) H 2 ( z) H P (z )
y[n]= shl(mac_r(sum,b[2],w2),1);
w2=w1;  Fiecare din filtrele componente, având o funcţie de
w1=w; transfer de ordinul 2, poate fi realizată în una din
} formele directe 1 sau 2.
33 34

6.2.3 REALIZAREA ÎN CASCADĂ 6.2.3 REALIZAREA ÎN CASCADĂ


 Presupunând că se foloseşte forma directă 2: w1  n   x  n   a1,1w1  n  1  a1,2 w1  n  2 
y1  n   b1,0 w1  n   b1,1w1  n  1  b1,2 w1  n  2 
p
bk ,0  bk ,1 z 1  bk ,2 z 2 p
w2  n   y1  n   a2,1w2  n  1  a2,2 w2  n  2 
H ( z)     H k ( z)
k 1 1  ak ,1 z
1
 ak ,2 z 2 k 1 y2  n   b2,0 w2  n   b2,1w2  n  1  b2,2 w2  n  2 

x ( n) w1 (n) b1,0 w2 ( n) b2,0 y ( n) x ( n) wP  n  w1 (ynP)1 b1,0n   aP ,1wP  n  1  aP ,2ww2 P( n)n b2,02  y ( n)
y  n   yP  n   bP ,0 wP  n   bP ,1wP  n  1  bP ,2 wP  n  2 
a1,1 z 1 b1,1 a2,1 z 1 b2,1 a1,1 z 1 b1,1 a2,1 z 1 b2,1

 a1,2 z 1 b1,2  a2,2 z 1 b2,2  a1,2 z 1 b1,2  a2,2 z 1 b2,2

35 36
6.2.3 REALIZAREA ÎN CASCADĂ 6.2.4 REALIZAREA ÎN PARALEL
for (n=0; n<DataBlockSize; n++)  În acest caz se porneşte de la descompunerea
{ sum = L_deposit_h(x[n]); în fracţii simple a funcţiei H(z).
for (k=0; k<NrSect; k++)
{  Fracţiile simple (cu numitor de gradul 1) au în
sum = L_msu(sum,a[k][0],w1[k]); general coeficienţi complecşi.
sum = L_msu(sum,a[k][1],w2[k]);  Grupând însă fracţiile corespunzătoare
w = round(sum);
perechilor de poli complex conjugaţi, rezultă
sum = L_mult(b[k][0],w);
sum = L_mac(sum,b[k][1],w1[k]); funcţiile Hl(z) de gradul 2, cu coeficienţi reali,
sum = L_mac(sum,b[k][2],w2[k]); al,k, bl,k  R
w2[k] = w1[k]; P b0, p  b1, p z 1 P
w1[k] = w; H  z  C    C   H p  z
} p 1 1  a1, p z 1  a2, p z 2 p 1
y[n] = round(sum);
37 38
}

6.2.4 REALIZAREA ÎN PARALEL 6.2.4 REALIZAREA ÎN PARALEL


 Realizarea în paralel:  Dacă fiecare celulă este realizată în forma
y1 (n) directa 2, ecuaţiile cu diferenţe finite sunt:
H1 ( z )
w1 (n)  x(n)  a1,1w1 (n  1)  a1,2 w1 (n  2)
y 2 ( n)
H 2 ( z) y1 (n)  b1,0 w1 (n)  b1,1w1 (n  1)
x(n)
w2 (n)  x(n)  a2,1w2 (n  1)  a2,2 w2 (n  2)
y2 (n)  b2,0 w2 (n)  b2,1w2 (n  1)
y p (n)
H p (z ) 
wp (n)  x(n)  a p ,1wp (n  1)  a p ,2 wp (n  2)
C y (n) y p (n)  bp ,0 wp (n)  bp ,1wp (n  1)
y (n)  Cx(n)  y1 (n)  .....  y p (n)
39 40
6.2.4 REALIZAREA ÎN PARALEL
for (n=0; n<DataBlockSize; n++)
{
y[n] = mult(x[n],WORD16(c/2));
for (p=0; p<NrSect; p++)
{
sum = L_deposit_h(shr(x[n],1+scale_bit[p]);
sum = L_msu(sum,a[p][0],w1[k]);
6.3 EFECTE ALE FORMATELOR
w = shl(msu_r(sum,a[p][1],w2[k]),1);
sum = L_mult(b[p][0],w); FINITE DE REPREZENTARE A
sum = L_mac(sum,b[p][1],w1[k]); NUMERELOR
y[n] = add(shl(round(sum),1+4),y[n]);
w2[k] = w1[k];
w1[k] = w;
}
41 42
}

Reprezentarea în complement faţă de 2 Efectele limitării numărului de biţi


Un număr x se reprezintă cu B+1 biţi prin  Limitarea numărului de biţi la convertorul
analog-numeric prin cuantizarea cu un număr
x  x 0  , x 1 ,, x  B    20 x 0    2 i x i  ,
B
x i   0,1 finit de biţi (cuantizarea intrării).
i 1

0 
 Zgomot de cuantizare
Evident, primul bit, x , joacă rolul de bit de
semn căci pentru x 0   0, x  0 , iar pentru
 Limitarea numărului de biţi cu care sunt
x 0   1, x  0 . reprezentaţi coeficienţii (cuantizarea
Exemplu: Să considerăm B+1=4 biţi. coeficienţilor).
-20 .2-1 2-2 2-3  diferenţe între caracteristicile efectiv realizate şi cele
x = 0 1 1 0 = 0.5+0.25 = 0.75 corespunzătoare funcţiei de transfer obţinute în
prima fază de proiectare
-20 .2-1 2-2 2-3
x = 1 1 1 0 = 1+0.5+0.25 = 0.25 43 44
Cuantizarea semnalului de intrare Cuantizarea prin trunchiere
 Fie x semnalul de intrare, x[-1, 1), astfel B
Qt  x    x0 , x1 ,, xB   20 x 0    2 i x i  , x i   0,1
încât poate fi reprezentat exact utilizând un i 1
număr infinit de biţi în complement faţă de doi: Qt  x 

x  20 x 0    2 i x i  , x i   0,1
i 1

 Se poate limita numărul de biţi prin două
metode:   x
 trunchiere;
 rotunjire.
pasul de cuantizare.
  2 B
45 46

Cuantizarea prin trunchiere Cuantizarea prin trunchiere


B  Pentru un semnal de intrare x necunoscut, e
Qt  x    x0 , x1 ,, xB   20 x 0    2 i x i  , x i   0,1
i 1
poate fi considerat o variabilă aleatoare.

 Eroarea de trunchiere  Putem accepta o densitate de probabilitate


  uniformă în intervalul (-Δ,0] .
e  Qt  x   x    2 i x i    2 i  e  0
i  B 1 i  B 1 1 , pentru e  (,0]
we (e)  
 Marginea inferioară a erorii se mai scrie 0, in rest
we e 
1
e  2  ( B  1)  2  B   
1  2 1
1
 -Δ<e0 - eroarea este negativă, aproximarea
prin trunchiere fiind o aproximare prin lipsă.  e
47 48
Cuantizarea prin trunchiere Cuantizarea prin rotunjire
 Valoarea medie: B


Qr  x   Qt  x   2  B x  B 1  20 x 0    2 i x i   2  B x  B 1
0

me  Ee    ewe e de   e1de  
i 1
Qr  x 
  2
 Valoarea medie pătratică:
2 2  2 B
E e 2    e 2 1de 
0


 3 3 we e 
 x 1
 Varianța:
 2
2 B 
2
   2 2 2
 e2  E(e  me ) 2   E(e 2 )  me  2
2
  
3 4 12 12   e

2 2
49 50

Cuantizarea prin rotunjire Cuantizarea prin rotunjire


B  Valorile minimă şi maximă ale erorii sunt
Qr  x   Qt  x   2  B x  B 1  20 x 0    2 i x i   2  B x  B 1  1 
i 1
e  2i  2 B  2  1
 2  B 1  
Eroarea de rotunjire iB2 1 2 2
  
e    , 

e  Qr  x   x  2 B x  B 1   2 i x  
i e  2 ( B 1) 
i  B 1
2  2 2
Vom considera o distribuţie uniformă a erorii
 x

 2 B
2
 B 1  B 1
 2
i B2
i i 
x  în acest interval we e 
1

 1   
2
 B 1
x
B 1
 2 i
x 
i  , e    , 
we e     2 2
iB2  0, in rest   e

51 2 2 52
Cuantizarea prin rotunjire Efectele limitării numărului de biţi
Valorile medii:   Înmulţirea între un coeficient şi o variabilă,
2 reprezentaţi pe N biţi => 2N biţi.
me  Ee    e1de  0 N biţi

 x s. f
2

2
E e    e  de 
2
2
2 1
s. f

 12 s. f

2
Varianţa: Dacă se reţin numai N biţi, rezultă o eroare
ca urmare a rotunjirii (trunchierii)
2 2  2 B
  E e   
2 2 rezultatului.
12 12 – Operaţia de limitare a numărului de biţi ai
rezultatului este obligatorie în cazul filtrelor
53 54
recursive.

Erori datorate operaţiilor aritmetice Erori datorate operaţiilor aritmetice


 Exemplu – cuantizarea apare după înmulţire Eroarea datorată limitării numărului de biţi
b0 într-un punct al schemei se simulează prin
Q introducerea unei surse de zgomot în acel punct.
x n  y n 
x n  b0 y n 
z 1
 a1 b1
z 1 e3
Q Q e0  a1 b1

z 1
 a2 z 1 e4
b2  a2 b2
e1
Q
Q
Q

55 e2 e5 56
Erori datorate operaţiilor aritmetice Erori datorate operaţiilor aritmetice
 O variantă a schemei, cu sumatoare lucrând
în precizie dublă e0 e1 e2

x n  b0 y n  x n  b0 y n 
Q Q

z 1  a1 z 1 b1
 a1 b1
z 1
 a2 b2
z 1
 a2 b2

57 58

Zgomotul de cuantizare la ieșire


 Dacă funcţia de transfer a sistemului este H(z),
va rezulta la ieşire un zgomot cu valoarea
medie j0
meo  me H (e )

 şi cu varianţa
6.4 Problema depăşirii capacităţii
H  z H z 1 z 1dz 
1
 o2   e2 H  z  2   e2
2

2j  registrelor
1 
 2
2 
e  H e  d
j 2

  z  C z  1
59 60
Problema depăşirii capacităţii registrelor Problema depăşirii capacităţii registrelor
 Operaţia de adunare - Daca rezultatul este Dacă notam cu x=x1+x2 valoarea corectă, operaţia
de modul supraunitar, apare o depăşire a poate fi reprezentata prin funcţia:
capacităţii registrelor
 x, x   1,1
Exemplu: 
f x  x  2 x  1,2 
-20 .2-1 2-2 2-3  x  2 x   2,1
x1 = 0 1 1 0 0.75+ 
f x
x2 = 0 1 0 0 0.5
=
s= 1 0 1 0  0.75
-2 -1 0 1 2 x
Constatăm că rezultatul este mai mic cu 2
decât cel corect (x1+x2=1,25) Caracteristica sumatorului în complement faţă de 2
61 62

Reprezentarea în complement faţă de 2 Reprezentarea în complement faţă de 2


 O proprietate foarte importantă a adunării în  Exemplu:
complement faţă de doi este următoarea:
-20 .2-1 2-2 2-3
 Dacă se adună mai multe numere şi suma lor
0.75+ 0 1 1 0 +
corectă este de modul subunitar
(reprezentabilă deci în complement faţă de 2), 0.5 0 1 0 0
rezultatul va fi întotdeauna corect, indiferent =
de ordinea în care se fac însumările, chiar  1 0 1 0 +
dacă rezultă depăşire în unele etape
 0.625 1 0 1 1
intermediare de calcul.
=
0.625 0 1 0 1

63 64
Reprezentarea în complement faţă de 2 Problema depăşirii capacităţii registrelor
 Dacă se foloseşte aritmetica cu saturaţie  Analiza posibilităţii depăşirilor comportă două
f x aspecte:
 analiza funcţiei de transfer, reducându-se
probabilitatea ca semnalul de ieşire să fie de modul
-2 -1 0 1 2 x supraunitar (scalarea funcţiei de transfer).
 analiza posibilităţii depăşirilor în toate nodurile
 În acest caz nu mai funcţionează regula că adunând reţelei, conducând la o scalare a semnalului,
mai multe numere a căror suma e de modul compensată în final, astfel încât să nu afecteze
subunitar, rezultatul este corect, indiferent de realizarea funcţiei de transfer impuse.
ordinea de însumare, chiar dacă apar depăşiri în
etape intermediare de calcul.

65 66

Scalare după regula L1 Scalare după regula L1


 Analiza funcţiei de transfer.  Fie k0 majorantul lui |y(n)|,

Se presupune că xn   1 şi se pune condiţia 

ca semnalul de ieşire să fie de asemenea de


k0   h k 
k 0
modul subunitar, y n   1. Dar:
Dacă k0  1 , depăşirea este, evident, exclusă.

y n    h k  x n  k  Dacă k0  1 , se va lua drept coeficient de
k 0 scalare: 1
s0 
  k0
y n    h k  x n  k    h k 
k 0 k 0 şi se va realiza funcţia scalată:

H s  z   s0 H  z 
67 68
Scalare după regula L1 Scalare după regula L1
 Scalarea semnalului.  Se impune ca semnalul să îndeplinească
 Se analizează toate nodurile în care ar putea condiţia: y m n   1
exista depăşiri.  Procedând la fel ca mai înainte, se evaluează

 Fie m un asemenea nod. Semnalul în acest k m   hin,m k 
nod este 
k 0

ym n    hin ,m k xn  k   Dacă km1, nu exista posibilitatea depăşirii în nodul


k 0 m.
 unde 1
 Dacă însă km>1, se calculează sm 
hin ,m n   Z 1
H in,m  z  km

 iar H in,m  z  reprezintă funcţia de transfer de  Se face acest calcul pentru toate nodurile m
la nodul de intrare la nodul m. şi se alege s  mins1 , s2 ,  , sM 
69 70

Exemplu: Scalarea funcţiei de transfer:


b0  b1 z 1  b2 z 2 Y  z   Dacă k0 > 1, s0=1/k0

H z    k0   h k 
1  a1 z 1  a2 z 2 X  z 
s0  b0  b1 z 1  b2 z 2 
k 0

H s  z   s0 H  z  
 Să presupunem H(z) realizat în forma directă 2 1  a1 z 1  a2 z 2
b0 s0b0

x n  y n  x n  y n  1
1 1
z z
 a1 b1  a1 s0b1

z 1 z 1
 a2 b2  a2 s0b2
71 72
Scalarea semnalului Scalarea semnalului

 Pentru zona din dreapta nu este necesar să se facă o  Pentru nodul [1]: k1   hin ,1  k 
analiză deoarece, dacă H(z) a fost scalat, rezultatul va k 0
 Dacă k1 > 1, s=1/k1
fi corect, chiar dacă apar depăşiri în unele etape
intermediare de calcul.
y1  n   1
s0b0 s s0b0 1s
[1] [4] [1] [4]

x n  y n  1 x n  y n  1
1 1
z z
 a1 s0b1  a1 s0b1
[2] [2]
[3] [3]

z 1 z 1
 a2 s0b2  a2 s0b2
73 74

Scalare după regula L1 Scalare după regula L∞


 Se introduce coeficientul de scalare s, care se  Pentru scalarea funcţiei de transfer se impune:
ia de obicei de forma 2-m, spre a nu fi
max H s e j   1
necesare circuite de înmulţire suplimentare. 

 La ieşire, se compensează scalarea prin  Aceasta înseamnă ca filtrul nu trebuie să


înmulţire cu 1/s, astfel încât funcţia de amplifice la nici o frecvenţă. Ca urmare se
transfer să nu se schimbe. calculează
k 0  max H e j 
 Această regulă exclude posibilitatea 

depăşirilor, dar este uneori o regulă prea


 Dacă k0  1 , nu este necesară scalarea funcţiei
dură, conducând la o valoare prea mică
de transfer.
pentru s 1
 Dacă k0  1 , se poate lua s0  .
k 0
75 76
Scalare după regula L∞ Scalare după regula L∞
 Scalarea semnalului pentru toate nodurile în  În minimizarea de mai sus se au în vedere
care ar putea rezulta depăşiri: toate nodurile în care, după evaluarea
k m  max H in ,m e j  parametrilor k m , rezultă posibilitatea

 Dacă k m  1 se decide că nu poate exista depăşirii.
depăşire în nodul m.  Prin aceasta metodă se exclude posibilitatea
1 depăşirii în regim permanent sinusoidal,
 Dacă k m  1 , se notează sm  şi se ia drept
k m indiferent de frecvenţă.
coeficient de scalare
 Nu se garantează însă în general absenţa
s  mins1 ,  , sM 
depăşirilor pentru alte tipuri de semnale.
 Regula aceasta este deci mai optimistă decât
prima, conducând la valori mai mari pentru s.
77 78

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