P. 1
2_licenta (2)

2_licenta (2)

|Views: 3|Likes:
Published by Alina Diana
dc
dc

More info:

Published by: Alina Diana on Mar 04, 2014
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

05/22/2015

pdf

text

original

UNIVERSITATEA “POLITEHNICA” BUCUREŞTI

FACULTATEA DE ELECTRONICĂ, TELECOMUNICAŢII ŞI
TEHNOLOGIA INFORMAŢIEI











LUCRARE DE LICENŢĂ

Proiectarea egalizoarelor digitale parametrice de ordin
mare






Conducător proiect:
Prof.Dr.Ing. Lucian Stanciu
Absolvent:
Neagu Florina-Cornelia





Bucureşti
-2010-









C U P R I N S

LISTA DE FIGURI ...........................................................................................................6

INTRODUCERE ...............................................................................................................9

1. NOŢIUNI FUNDAMENTALE ..................................................................................10
1.1 Tipuri de filtre folosite pentru filtrarea semnalelor audio .....................................10

2. FILTRE AUDIO RECURSIVE ..................................................................................15
2.1 Filtre de tip trece jos şi filtre trece sus ..................................................................15
2.2 Filtre de tip trece bandă şi filtre opreşte bandă .....................................................15
2.3 Filtre de decupare ..................................................................................................16
2.4 Filtrul de tip corector de atenuare .........................................................................19
2.5 Corespondenţa cu domeniul z ...............................................................................20
2.6 Sisteme de filtre parametrice .................................................................................20
2.6.1 Filtrul Regalia ...............................................................................................21
2.6.2 Descompunerea trece tot simplificată ..........................................................25

3. PROIECTAREA EGALIZOARELOR PARAMETRICE DIGITALE CU
CÂŞTIG PRESTABILIT LA FRECVENŢA NYQUIST ...........................................30
3.1Egalizoare analogice convenţionale şi egalizoare digitale ....................................30
3.2 Egalizorul digital cu câştig prestabilit la frecvenţa Nyquist ................................33

4. PROIECTAREA EGALIZOARELOR DIGITALE PARAMETRICE DE
ORDIN MARE ...........................................................................................................36
4.1 Consideraţii generale ............................................................................................36
4.2 Proiectări cu filtre Butterworth .............................................................................41
4.3 Proiectări cu filtre Cebîşev de tipul 1....................................................................43
4.4 Proiectări cu filtre Cebîşev de tipul 2 ...................................................................45
4.5 Proiectări cu filtre eliptice .....................................................................................46

5. DETERMINAREA ORDINULUI FILTRELOR .......................................................51

6. LĂŢIMEA DE BANDĂ ............................................................................................53

7. REALIZĂRI .............................................................................................................57

8. EXEMPLE DE PROIECTARE ALE EGALIZOARELOR DIGITALE
PARAMETRICE DE ORDIN MARE ........................................................................64



9. FUNCŢII MATLAB PENTRU PROIECTAREA EGALIZOARELOR ....................73

10. CONCLUZII .............................................................................................................78

11. BIBLIOGRAFIE .......................................................................................................79

12. ANEXE......................................................................................................................80

ANEXA 1. Transformări biliniare ............................................................................80

ANEXA 2. Poli şi zerouri .......................................................................................81

ANEXA 3. Calculul funcţiei eliptice ........................................................................84

ANEXA 4. Realizarea pe baza ecuaţiei de stare ........................................................86

ANEXA 5. Proiectarea egalizorului analogic ..........................................................87

ANEXA 6. Listingul codului pentru simularea funcțiilor de proiectare a
egalizoarelor ..........................................................................................87


























LISTA DE FIGURI

Figura 1.1: Caracteristici amplitudine-frecvenţă liniare pentru filtrele trece jos, trece sus, trece bandă și

opreşte bandă …………………………………………………...........................................10


Figura 1.2 a): Filtre trece bandă cu lăţime de bandă relativ constantă, reprezentare cu scară de

frecvență logaritmică ............................................................................................................11

Figura 1.2 b): Filtre trece bandă cu lăţime de bandă relativ constantă, reprezentare cu scară de

frecvenţă liniară ....................................................................................................................12

Figura 1.3: Caracteristici amplitudine-frecvenţă liniare pentru filtrele cu banda de frecvenţă în octave şi

descompunerea unei benzi în octave prin trei filtre cu banda de frecvenţă o treime de octavă

...............................................................................................................................................13

Figura 1.4: Conexiune în paralel a filtrelor trece bandă (TB) pentru egalizoarele cu banda de frecvenţă

exprimată în octave/ de o treime de octavă cu factori de câştig (
i
A pentru banda de o octavă

sau de o treime de octavă) .....................................................................................................13

Figura 1.5: Conexiune în serie pentru filtrul de decupare şi de tip corector de atenuare (de frecvenţă

joasă, LF şi de frecvenţă înaltă, HF ) …………………………............................................14

Figura 2.1: Caracteristica de frecvenţă a funcţiei de transfer (2.6) cu
0
V variabil şi cu frecvenţa de

tăiere 100 =
c
f Hz ………………………………………………........................................16

Figura 2.2: Caracteristica de frecvenţă a funcţiei de transfer (2.7) cu
0
V variabil şi cu frecvenţa de tăiere


100 =
c
f Hz ………………………………………………...................................................17

Figura 2.3: Caracteristica de frecvenţă a filtrelor cu decupare de ordinul al doilea de frecvenţă

joasă/înaltă- filtru de decupare de frecvenţă joasă 100 =
c
f Hz (parametru
0
V ), filtru de

decupare de frecvenţă înaltă 5000 =
c
f Hz (parametru
0
V ).................................................19

Figura 2.4: Structura filtrului pentru implementarea filtrelor cu amplificare şi cu atenuare...................21



Figura 2.5: Structuri de filtre de tip Regalia …………………………………………….......................23

Figura 2.6: Filtru de decupare de joasă frecvenţă şi filtru trece jos de ordinul întâi ……......................26

Figura 2.7: Filtru de decupare de înaltă frecvenţă şi filtru trece sus de ordinul întâi …….....................28

Figura 2.8: Filtru de tip corector de atenuare şi filtru trece bandă de ordinul al doilea …......................29

Figura 3.1: Egalizorul analogic convenţional şi cel digital (
0 1
G G = la 2 /
s
f )......................................32

Figura 3.2: Noul egalizor digital …………………………………………………………....................35

Figura 4.1a): Parametrii de proiectare pentru un filtru Butterworth ………………………..................36

Figura 4.1b): Prototip de filtru analogic Butterworth ………………………………………................37

Figura 4.2a): Specificaţii pentru lăţimea de bandă a egalizorului de tip 1 ………………….................44

Figura 4.2b): Specificaţii pentru lăţimea de bandă a egalizorului de tip 2 ………………….................46

Figura 4.3a): Specificaţii de proiectare pentru egalizorul eliptic …………………………....................49

Figura 4.3b): Specificaţii de proiectare pentru filtrul eliptic cu decupare …………………..................50

Figura 7.1: Realizarea latice normată a ecuaţiei (4.17) …………………………………......................57

Figura 7.2: Realizarea transpusă cu transformare de frecvență a secţiunilor filtrului din ecuaţia (18b).....

................................................................................................................................................58

Figura 7.3: Realizarea latice normată cu transformare de frecvență a secţiunilor filtrului din ecuaţia

(18b) ......................................................................................................................................59

Figura 7.4: Realizarea pe baza ecuației de stare a secţiunilor de filtre din ecuaţia (18b) .......................60

Figura 7.5 : Realizarea decuplată a factorului de ordinul întâi din ecuaţia (18b) …………...................61

Figura 7.6: Realizarea decuplată a factorilor de ordinul al doilea din ecuaţia (18b) ………..................63

Figura 8.1: Proiectare de tip Butterworth cu N=4 şi N=5 …………………………………...................64

Figura 8.2: Proiectare de tip Cebîşev 1 cu N=4 şi N=5 ……………………………………..................65

Figura 8.3: Poiectare de tip Cebîşev 2 cu N=4 şi N=5 ……………………………………....................66

Figura 8.4: Proiectare de tip eliptic cu N=4 şi N=5 ………………………………………....................67



Figura 8.5: Exemple de proiectare cu lăţimi de bandă impuse de 3 dB ……………………………......68

Figura 8.6: Caracteristica egalizorului cu frecvenţă variabilă în timp şi lăţime de bandă …..................69

Figura 8.7: Caracteristica sinusoidală a egalizorului cu câştig variabil în timp ………….....................71

Figura 9.1: Egalizor Butterworth, pentru cazul amplificării și cazul atenuării ......................................73

Figura 9.2: Egalizoare Cebîșev de tipul 1 și tipul 2, cazul amplificării ..................................................74

Figura 9.3: Proiectări cu lățimi de bandă impuse de 3 dB.......................................................................74

Figura 9.4: Filtru cu decupare trece jos Cebîșev 2, cazul amplificării....................................................75

Figura 9.5: Filtru cu decupare trece sus Eliptic, cazul amplificării.........................................................75

Figura 9.6: Filtru trece sus Cebîșev de tipul 2 .......................................................................................75

Figura 9.7: Filtru trece bandă Cebîșev de tipul 1 și filtru oprește bandă Cebîșev de tipul 2 ..................76

Figura 9.8: Filtru trece bandă Eliptic.......................................................................................................76

Figura 9.9: Filtru oprește bandă Eliptic...................................................................................................76
.
Figura 9.10: Filtru trece jos Eliptic .........................................................................................................77













9


INTRODUCERE

Egalizarea audio este una dintre cele mai importante metode pentru procesarea semnalelor
audio. Egalizoarele se găsesc în diferite forme în transmisia de semnale audio dintr-un studio de sunet,
până la ascultător. Funcţiile cele mai complexe ale filtrului sunt folosite în studiourile de sunet. În
aproape fiecare produs de consum sunt folosite funcţii simple de filtrare, pentru egalizarea sunetului. În
această lucrare se vor prezenta teoria şi tehnicile de proiectare pentru filtrele digitale într-un mod
adecvat, pentru a fi folosite într-un studio de sunet şi au fost dezvoltate ecuaţii prin care coeficenţii
filtrului digital pot fi calculaţi direct din specificaţiile filtrului.
Familia de egalizoare audio digitale parametrice, prezentată se bazează pe prototipuri de filtre
analogice Butterworth, Cebîşev şi eliptice de ordin mare, care ajută la generalizarea schemelor
bipătratice convenţionale (cu funcția de transfer un raport de polinoame de gradul al doilea) şi oferă
benzi de trecere cu aspect mai plat şi margini de bandă mult mai abrupte. Coeficienţii filtrelor de
egalizare sunt calculabili în sensul că asigură frecvenţa centrală, câştigul de vârf, lăţimea de bandă şi
câştigul corespunzător frecvențelor care dau lăţimea de bandă.
Egalizoarele audio digitale parametrice sunt implementate în mod uzual ca filtre bipătratice. În
anumite cazuri însă, ar putea fi de interes utilizarea modelelor de egalizoare bazate pe filtre de ordin
mare. Astfel de realizări pot oferi benzi de trecere mai plate şi margini de bandă cu pante mai abrupte.
Se vor discuta structurile transpusă, latice normată și structura realizată pe baza ecuațiilor de stare cu
zgomot de rotunjire minim, precum şi structurile care permit controlul independent de frecvenţa
centrală, de câştig şi de lăţimea de bandă.
Egalizoarele de ordin mare au fost considerate anterior de către Moorer, care a utilizat o metodă
de proiectare corespunzătoare, bazată pe funcţii eliptice pentru a obţine dintr-un filtru digital cu
decupare trece jos de ordinul întâi un egalizor eliptic de ordin mare, şi de către Keiler și Zӧlzer care au
obţinut un egalizor de ordinul al patrulea bazat pe un prototip analogic Butterworth de ordinul al doilea.
Începem prin proiectarea unui filtru cu decupare analogic trece jos de ordin mare care
îndeplineşte specificaţiile date, legate de câştig şi de lăţimea de bandă. Filtrul analogic este apoi
transformat într-un filtru cu decupare digital trece jos utilizând transformarea biliniară. În final, filtrul
digital cu decupare este transformat într-un egalizor cu amplificare sau atenuare centrat la frecvenţa
dorită, utilizând o transformare din trece jos în trece bandă pe domeniul z.









10

1. NOŢIUNI FUNDAMENTALE

1.1 Tipuri de filtre folosite pentru filtrarea semnalelor audio

Pentru filtrarea semnalelor audio sunt folosite următoarele tipuri de filtre:
▪Filtre de tip trece jos şi trece sus cu frecvenţa de tăiere f
c
(frecvenţa de tăiere de 3 dB) care
au bandă de trecere în domeniul frecvenţelor joase, respectiv înalte (caracteristicile amplitudine-
frecvenţă sunt prezentate în figura 1.1).
▪Filtre de tip trece bandă şi opreşte bandă (caracteristicile amplitudine-frecvență sunt
prezentate în figura 1.1) care au frecvenţa centrală f
c
şi o frecvenţă de tăiere joasă f
l
, respectiv înaltă,
u
f . Acestea au banda de trecere şi banda de oprire în mijlocul domeniului de frecvenţă. Lăţimea de
bandă pentru un filtru trece bandă sau opreşte bandă este dată de relaţia:

f
b
= f
u
- f
l
. (1.1)

Filtrele trece bandă cu lăţime de bandă relativ constantă, f
c b
f / sunt foarte importante pentru
aplicaţiile audio. Lăţimea de bandă este proporţională cu frecvenţa centrală dată de relaţia: f
u l c
f f · =
(figura 1.2).

Filtru trece jos 1 . 0 / =
s c
f f Filtru trece sus 1 . 0 / =
s c
f f














11

Filtru trece bandă 1 . 0 / =
s l
f f şi Filtru opreşte bandă 1 . 0 / =
s l
f f


2 . 0 / =
s u
f f şi 2 . 0 / =
s u
f f

Figura 1.1: Caracteristici amplitudine-frecvenţă liniare pentru filtrele trece jos,
trece sus, trece bandă şi opreşte bandă




a) Filtre trece bandă cu lăţime de bandă relativ constantă, reprezentare cu scară de
frecvenţă logaritmică














12


b) Filtre trece bandă cu lăţime de bandă relativ constantă, reprezentare cu scară de frecvenţă
liniară

Figura 1.2: Caracteristici amplitudine-frecvenţă logaritmice pentru filtrele trece
bandă cu lăţime de bandă relativ constantă

▪Filtre cu banda de frecvență exprimată în octave care sunt filtre trece bandă cu frecvenţe de
tăiere speciale date prin relaţiile:

f
u
=2 ∙ f
l
, (1.2)

f
l u l c
f f f · = · = 2 . (1.3)

În figura 1.3 este prezentată o descompunere spectrală a domeniului de frecvenţe audio cu filtre
cu banda de frecvență în octavă. La frecvenţele de tăiere joase şi înalte apare o atenuare de – 3dB.
Banda octavei superioare este reprezentată ca un filtru trece sus. Pentru analiza spectrală a unui semnal
audio se folosesc filtre trece bandă cu banda de frecvență de trecere în octave, într-o conexiune în
paralel. Această descompunere este folosită pentru distribuirea puterii semnalului benzilor de frecvență
în octave. Frecvenţele centrale ale benzilor de frecvență în octave sunt date de relaţia f
1
2
÷
· =
i
c ci
f .
Ponderarea benzilor de frecvență în octave cu factorii de câştig A
i
şi însumarea acestor benzi de
frecvență în octave ponderate, reprezintă un egalizor cu banda în octave pentru procesarea sunetului
(figura 1.4). Pentru această aplicaţie, frecvenţele de tăiere joasă şi respectiv înaltă au nevoie de o
atenuare de - 6 dB. Atenuarea de – 6 dB este realizată prin conectarea în serie a două filtre cu banda de
frecvență în octave, cu o atenuare de – 3 dB.
▪Filtre cu banda de frecvență o treime de octavă care sunt filtre trece bandă (figura 1.3) cu
frecvenţele de tăiere date prin relaţiile:

l u
f f · =
3
2 , (1.4)
l c
f f · =
6
2 (1.5)

Atenuarea pentru frecvenţele de tăiere joase şi înalte este de – 3 dB. Filtrele cu banda de frecvență o
treime de octavă divizează o octavă în trei benzi de frecvenţă (figura 1.3).

13




Filtre trece bandă cu banda de frecvență Filtre trece bandă cu banda de frecvență
de trecere în octave de trecere o treime de octavă


Figura 1.3: Caracteristici amplitudine-frecvenţă liniare pentru filtrele cu banda de frecvență în
octave şi descompunerea unei benzi în octave prin trei filtre cu banda de
frecvență o treime de octavă


Figura 1.4: Conexiune în paralel a filtrelor trece bandă (TB) pentru egalizoarele cu banda de
frecvență exprimată în octave/ de o treime de octavă, cu factori de câştig (
i
A pentru
banda de frecvență de o octavă sau de o treime de octavă)

14

▪Filtru de decupare şi filtru de tip corector de atenuare care sunt filtre de ponderare
speciale, bazate pe filtre de tip trece jos/ trece sus/ trece bandă şi pe o cale directă. Spre deosebire de
filtrele trece jos/ trece sus/ trece bandă, aceste filtre nu au o bandă de oprire şi sunt folosite într-o
conexiune serie de filtre de decupare şi filtre de tip corectoare de atenuare, ca în figura 1.5. Domeniul
frecvenţelor joase este egalat prin filtre de decupare de tip trece jos, iar frecvenţele înalte sunt
modificate prin filtre de decupare de tip trece sus. Ambele tipuri de filtre permit ajustarea frecvenţei de
tăiere şi a factorului de câştig. Pentru domeniul de frecvenţe medii este folosită o conexiune serie de
filtre de tip corectoare de atenuare cu frecvenţă centrală, lăţime de bandă şi factor de câştig variable.
Aceste filtre de decupare şi de tip corectoare de atenuare pot fi de asemenea, aplicate egalizoarelor cu
banda de frecvență exprimată în octave sau de o treime de octavă, într-o conexiune serie.





Figura 1.5 Conexiune în serie pentru filtrul de decupare şi de tip corector de
atenuare (de frecvenţă joasă LF şi de frecvenţă înaltă HF)




















15




2. FILTRE AUDIO RECURSIVE

Un anumit răspuns de filtru poate fi aproximat prin două tipuri de funcţii de transfer. Pe de altă
parte, combinaţia de poli şi zerouri conduce la o funcţie de transfer, H(z) de ordin foarte mic în formă
fracţionară, care rezolvă problema dată de aproximare. Implementarea digitală a acestei funcţii de
transfer necesită proceduri recursive din cauza polilor săi. Această funcţie de transfer H(z), are alături
de zerourile sale un număr corespunzător de poli în originea planului z. Ordinul funcţiei de transfer,
pentru aceleaşi condiţii de aproximare este în mod substanţial mai mare decât ordinul funcţiei de
transfer constând din poli şi zerouri. În vederea unei implementări economice a unui algoritm de filtru
în funcţie de complexitatea calculului, filtrele recursive realizează timpi de calcul mai scurţi datorită
ordinului mai mic.

2.1 Filtre de tip trece jos şi filtre trece sus

Pentru a limita spectrul audio sunt folosite pentru mixere analogice filtre de tip Butterworth
trece jos şi trece sus. Acestea oferă o bandă de trecere monotonă şi o atenuare a benzii de oprire
monoton descrescătoare pe octavă (n∙ 6 dB/oct.), determinată de ordinul filtrului. Sunt folosite de
obicei filtre trece jos de ordinul al doilea şi de ordinul al patrulea. Funcţiile de transfer normate şi
denormate de tip trece jos de ordinul al doilea sunt date de relaţiile:

1
1
1
) (
2
+ +
=
·
s
Q
s
s H
TJ
şi
2 2
2
) (
c
c
c
TJ
s
Q
s
s H
e
e
e
+ +
=
·
, (2.1)

unde
c
e este frecvenţa de tăiere şi
·
Q este factorul de calitate. Factorul de calitate Q pentru
aproximarea Butterworth este egal cu
2
1
. Funcţia de transfer denormată se obţine înlocuind variabila
Laplace s cu
g
s e / în expresia funcţiei de transfer normate.
Funcţiile de transfer trece sus de ordinul al doilea corespondente,

1
1
) (
2
2
+ +
=
·
s
Q
s
s
s H
TS
şi
2 2
2
) (
c
c
TS
s
Q
s
s
s H
e
e
+ +
=
·
(2.2)


au fost obţinute printr-o transformare din trece jos în trece sus.

2.2 Filtre de tip trece bandă şi filtre opreşte bandă

Funcţiile de transfer normate şi denormate de tip trece bandă de ordinul al doilea sunt:

16

1
1
1
2
+ +
=
·
·
s
Q
s
s
Q
H
TB
şi
2 2
) (
c
c
c
TB
s
Q
s
s
Q
s H
e
e
e
+ +
=
·
·
, (2.3)

iar funcţiile de transfer de tip opreşte bandă sunt date de relaţiile:

1
1
1
) (
2
2
+ +
÷
=
·
s
Q
s
s
s H
OB
şi
2 2
2 2
) (
c
c
c
OB
s
Q
s
s
s H
e
e
e
+ +
÷
=
·
. (2.4)

Lăţimea de bandă relativă poate fi exprimată prin factorul Q astfel:
b
c
f
f
Q =
·
, care reprezintă raportul
dintre frecvenţa centrală, f
c
şi lăţimea de bandă de 3 dB dată de frecvenţa
b
f .

2.3 Filtre de decupare

Alături de filtrele pure de bandă limitată de tip trece jos sau trece sus sunt folosite filtrele de
decupare, pentru a asigura ponderarea anumitor frecvenţe. O abordare simplă pentru un filtru de
decupare de ordinul întâi trece jos este dată de relaţia:

1
1 ) ( 1 ) (
0
+
+ = + =
s
H
s H s H
TJ
. (2.5)

Acest tip de filtru constă dintr-un filtru trece jos de ordinul întâi cu amplificarea
0
H , conectat
în paralel cu un sistem trece tot cu funcţia de transfer egală cu 1. Ecuaţia (2.5) poate fi scrisă astfel:

1 1
) 1 (
) (
0 0
+
+
=
+
+ +
=
s
V s
s
H s
s H , (2.6)

unde
0
V
determină amplificarea la ω=0. Schimbând parametrul
0
V , orice nivel de amplificare (
0
V › 1)
sau de atenuare (
0
V ‹ 1) dorit poate fi reglat. Figura 2.1 prezintă răspunsurile în frecvenţă pentru
f
c
=100 Hz. Pentru
0
V ‹ 1, frecvenţa de tăiere este dependentă de
0
V şi tinde spre frecvenţe mai mici.

17


Figura 2.1: Caracteristica de frecvenţă a funcţiei de transfer (2.6) cu
0
V variabil
şi frecvenţa de tăiere =
c
f 100 Hz.

În scopul obţinerii unei caracterisici amplitudine-frecvenţă simetrice, relativ la axa frecvenţelor,
fără a schimba frecvenţa de tăiere, este necesară inversarea funcţiei de transfer (2.6) în cazul atenuării
(
0
V ‹ 1). Aceasta are efectul schimbării polilor cu zerourile şi conduce la funcţia de transfer:

0
1
) (
V s
s
s H
+
+
= , (2.7)

pentru decuparea cu atenuare. În figura 2.2 sunt prezentate răspunsurile în frecvenţă corespunzătoare
pentru
0
V variabil.


Figura 2.2: Caracteristica de frecvenţă a funcţiei de transfer (2.7) cu
0
V variabil
şi cu frecvenţa de tăiere =
c
f 100 Hz

Filtrul echivalent de decupare pentru frecvenţele înalte este obţinut cu ajutorul unei transformări
de frecvenţă, FTJ → FTS:

1
1 ) ( 1 ) (
0
+
+ = + =
s
s H
s H s H
TS
, (2.8)

18

care este o conexiune în paralel a unui filtru trece sus de ordinul întâi cu câştigul
0
H şi un sistem cu
funcţia de transfer egală cu 1.
Funcţia de transfer pentru cazul decupării cu amplificare poate fi scrisă pentru 1
0 0
+ = H V
astfel:

1
1
) (
0
+
+
=
s
sV
s H ,
0
V
› 1, (2.9)

iar pentru cazul decupării cu atenuare avem:

1
1
) (
0
+
+
=
sV
s
s H ,
0
V
› 1. (2.10)

Parametrul
0
V determină valoarea funcţiei de transfer H(s) la ω=∞, pentru filtre de decupare la
frecvenţe înalte.
În scopul creşterii pantei răspunsului filtrului, în banda de tranziţie se consideră o funcţie de
transfer generală de ordinul al doilea:

1 2
) (
2
0 1
2
2
+ +
+ +
=
s s
a s a s a
s H (2.11)

în care se adaugă zerouri complexe la polii complecşi. Polii complecşi sunt:

) 1 (
2
1
2 / 1
j s ± ÷ =
·
, (2.12)

iar zerourile complexe vor fi:

) 1 (
2
0
2 / 1
j
V
s ± ÷ =

. (2.13)

Funcţia de transfer de ordinul al doilea a filtrului cu decupare la frecvenţe joase este:

1 2
2
) (
2
0 0
2
+ +
+ +
=
s s
V s V s
s H . (2.14)

Parametrul
0
V determină amplificarea la frecvenţe joase. Cazul decupării cu atenuare poate fi realizat
prin inversarea ecuaţiei (2.14).
O transformare FTJ → FTS a ecuaţiei (2.14) asigură funcţia de transfer:

1 2
1 2
) (
2
0
2
0
+ +
+ +
=
s s
s V s V
s H (2.15)

19

pentru un filtru de decupare la frecvenţe înalte, de ordinul al doilea. Cazul decupării cu atenuare este
obţinut inversând funcţia de transfer (2.15). În figura 2.3 sunt prezentate caracteristicile amplitudine-
frecvenţă pentru un filtru cu decupare de ordinul al doilea la frecvenţe joase cu frecvenţa de tăiere de
100 Hz şi pentru un filtru cu decupare de ordinul al doilea la frecvenţe înalte cu frecvenţa de tăiere de
5000Hz (cu parametru
0
V
).


Figura 2.3: Caracteristica de frecvenţă a filtrelor cu decupare de ordinul al doilea
la frecvenţă joasă/înaltă- filtru cu decupare la frecvenţă joasă cu
100 =
c
f Hz (parametru
0
V ), filtru cu decupare la frecvenţă înaltă cu
5000 =
c
f Hz (parametru
0
V )

2.4 Filtrul de tip corector de atenuare
Un alt egalizor folosit pentru decuparea prin amplificare sau atenuare, la orice frecvenţă, este
filtrul de tip corector de atenuare. Un astfel de filtru poate fi obţinut printr-o conexiune în paralel cu o
cale directă şi un filtru trece bandă, conform cu relaţia:

) ( 1 ) ( s H s H
TB
+ = . (2.16)

Cu ajutorul funcţiei de transfer de tip trece bandă de ordinul al doilea,

1
1
) / (
) (
2
0
+ +
=
·
·
s
Q
s
s Q H
s H
TB
, (2.17)

se poate obţine funcţia de transfer a filtrului de tip corector de atenuare:

20

1
1
1
1
1
1
1
) ( 1 ) (
2
0 2
2
0 2
+ +
+ +
=
+ +
+
+
+
= + =
·
·
·
·
s
Q
s
s
Q
V
s
s
Q
s
s
Q
H
s
s H s H
TB
. (2.18)

Se poate vedea că maximul caracteristicii amplitudine-frecvenţă, la frecvenţa centrală este
parametrul
0
V . Lăţimea de bandă relativă este fixată de către factorul Q. Simetria geometrică a
caracteristicii amplitudine-frecvenţă, relativ la frecvenţa centrală rămâne constantă pentru funcţia de
transfer a filtrului de tip corector de atenuare (2.18). Polii şi zerourile se află pe un cerc cu raza unitate.

2.5 Corespondenţa cu domeniul z

În scopul implementării unui filtru digital, filtrul proiectat în domeniul s cu funcţia de transfer
H(s) este convertit în domeniul z cu ajutorul unei transformări dorite pentru a obţine funcţia de transfer
H(z). Transformarea

cu metoda invarianţei la impuls nu este de dorit deoarece conduce la efecte de
suprapunere, dacă funcţia de transfer H(s) nu este de bandă limitată la jumătatea frecvenţei de
eşantionare. O corespondenţă independentă între polii şi zerourile din planul s cu polii şi zerourile din
planul z este posibilă cu ajutorul transformării biliniare dată de relaţia:

1
1 2
+
÷
=
z
z
T
s . (2.19)


2.6 Sisteme de filtre parametrice

Sistemele de filtre parametrice permit accesul direct la parametrii funcţiei de transfer, ca
frecvenţa centrală sau de tăiere, lăţimea de bandă de frecvență şi câştig, prin intermediul controlului
coeficienţilor asociaţi. Pentru a modifica unul dintre aceşti parametri, nu este necesar calculul unui set
complet de coeficienţi pentru funcţia de transfer de ordinul al doilea, dar în schimb este calculat numai
un coeficient din structura filtrului.
Un control independent al câştigului, al frecvenţei centrale sau de tăiere şi al lăţimii de bandă
pentru filtrele cu decupare şi de tip corectoare de atenuare este realizat prin structura cu formă directă
(Feed Forward-FF) pentru schemele cu amplificare şi prin structura cu reacţie (Feed Backward-FB)
pentru schemele cu atenuare, după cum se vede din figura (2.4) . Funcţiile de transfer corespunzătoare
sunt:

) (z G
FW
), ( 1
0
z H H + =
(2.20)


) ( 1
1
) (
0
z H H
z G
FB
+
= . (2.21)


21


Figura 2.4: Structura pentru implementarea filtrelor cu amplificare şi cu atenuare

Factorul de amplificare/atenuare este
0 0
1 H V + = . Pentru implementările de filtre digitale, în
cazul cu reacţie este necesar ca funcţia proprie de transfer să fie de forma ) ( ) (
1
1
z H z z H
÷
= , pentru a
asigura stabilitatea.
O structură de filtru parametric, propusă de Harris, este bazată pe tehnica directă/cu reacţie, dar
răspunsul în frecvenţă arată deviaţii slabe, lângă 1 = z şi 1 ÷ = z , de la forma dorită. Aceasta se
datorează lui
1 ÷
z în ramura directă/cu reacţie. Decuplarea completă a parametrilor de control este
posibilă pentru cazul cu amplificare, dar rămîne o cuplare între lăţimea de bandă şi factorul de câştig
pentru cazul cu atenuare. În cele ce urmează vor fi discutate două abordări de structuri de filtre audio
parametrice, bazate pe o descompunere a unei funcţii de transfer de tip trece tot.

2.6.1 Filtrul Regalia

Funcţia de transfer denormată a unui filtru de decupare de ordinul întâi este dată de relaţia:

c
c
s
V s
s H
e
e
+
+
=
0
) ( (2.20)

cu
0
) 0 ( V H = şi 1 ) ( = · H . O descompunere a relaţiei (2.20) conduce la:

c
c
c
s
V
s
s
s H
e
e
e +
+
+
=
0
) ( . (2.21)

Funcţiile de transfer de tip trece jos şi trece sus din relaţia (2.21) pot fi exprimate printr-o
descompunere de tip trece tot de forma:

(
¸
(

¸

+
÷
+ =
+
c
c
c
s
s
s
s
e
e
e
1
2
1
, (2.22)

(
¸
(

¸

+
÷
÷ =
+
c
c
c
c
s
s V
s
V
e
e
e
e
1
2
0 0
. (2.23)
22

Cu ajutorul funcţiei de transfer de tip trece tot:

c
c
B
s
s
s A
e
e
+
÷
= ) ( , (2.24)

relaţia (2.20) poate fi scrisă pentru amplificare, astfel:

| | | |. ) ( 1
2
1
) ( 1
2
1
) (
0
s A V s A s H
B B
÷ + + = (2.25)

Transformarea biliniară
1
1 2
+
÷
=
z
z
T
s , conduce la:

| | | | ) ( 1
2
1
) ( 1
2
1
) (
0
z A V z A z H
B B
÷ + + = , (2.26)

cu
1
1
1
) (
÷
÷
+
+
÷ =
z a
a z
z A
B
B
B
(2.27) şi parametrul de frecvenţă
1 ) 2 / (
1 ) 2 / (
+
÷
=
T tg
T tg
a
c
c
B
e
e
. (2.28)


În figura 2.5 (a) este prezentată o structură de filtre pentru implementarea directă a relaţiei
(2.26). Alte structuri posibile sunt prezentate în figurile 2.5 (b),(c). Pentru cazul cu atenuare, 1
0
( V
frecvenţa de tăiere a filtrului se deplasează spre frecvenţe mai joase.






23



Figura 2.5: Structuri de filtre tip Regalia

În scopul de a reţine frecvenţa de tăiere, pentru cazul cu atenuare, se scrie funcţia de transfer
denormată a filtrului de decupare de ordinul întâi (cu atenuare):

0
/
) (
V s
s
s H
c
c
e
e
+
+
= , (2.29)

cu condiţiile la limită:

0
) 0 ( V H = şi 1 ) ( = · H ,

care poate fi descompusă după cum urmează:

0 0
/ /
) (
V s V s
s
s H
c
c
c
e
e
e +
+
+
= . (2.30)

Cu descompunerile de tip trece tot:

(
¸
(

¸

+
÷
+ =
+
0
0
0
/
/
1
2
1
/ V s
V s
V s
s
c
c
c
e
e
e
, (2.31)

(
¸
(

¸

+
÷
÷ =
+
0
0 0
0
/
/
1
2 / V s
V s V
V s
c
c
c
c
e
e
e
e
, (2.32)

şi funcţia de transfer trece tot,

0
0
/
/
) (
V s
V s
s A
c
c
C
e
e
+
÷
= (2.33)


pentru atenuare, relaţia (2.29) poate fi scrisă astfel:

24

| | | | ) ( 1
2
) ( 1
2
1
) (
0
s A
V
s A s H
C C
÷ + + = . (2.34)

Transformarea biliniară conduce la:

| | | | ) ( 1
2
) ( 1
2
1
) (
0
z A
V
z A z H
C C
÷ + + = (2.35)

cu
1
1
1
) (
÷
÷
+
+
÷ =
z a
a z
z A
C
C
C
(2.36)

şi parametrul frecvenţă

0
0
) 2 / (
) 2 / (
V T tg
V T tg
a
c
c
C
+
÷
=
e
e
(2.37)

Datorită relaţiilor (2.35) şi (2.26) amplificarea şi atenuarea pot fi implementate cu aceeaşi
structură de filtru (figura 2.5). Totuşi, trebuie subliniat că parametrul de frecvenţă
C
a dat de relaţia
(2.37) depinde de frecvenţa de tăiere şi de câştig.
Un filtru de tip corector de atenuare de ordinul al doilea este obţinut cu o transformare din trece
jos în trece sus conform relaţiei:

1
1
1 1
1
÷
÷
÷ ÷
+
+
÷ ÷
dz
d z
z z . (2.38)

Pentru un filtru trece tot, ca filtrele date de relaţiile (2.27) şi (2.36), funcţia de transfer de tip trece tot
de ordinul al doilea este:

2 1
1 2
) 1 ( 1
) 1 (
) (
÷ ÷
÷ ÷
+ + +
+ + +
=
z a z a d
a z a d z
z A
BC BC
BC BC
BC
, (2.39)

cu parametrii:

) cos(
c
d O ÷ = , (2.40)

) (
0
c
j
e H V
O
= , (2.41)

) 2 / ( 1
) 2 / ( 1
T tg
T tg
a
b
b
B
e
e
+
÷
= , (2.42)


) 2 / (
) 2 / (
0
0
T tg V
T tg V
a
b
b
C
e
e
+
÷
= . (2.43)
25


Frecvenţa centrală,
c
f este fixată de către parametrul d, lăţimea de bandă,
b
f

prin parametrii
B
a şi
C
a
şi câştigul este fixat prin parametrul
0
V .

2.6.2 Descompunerea trece tot simplificată

Funcţia de transfer a unui filtru de decupare de ordinul întâi de joasă frecvenţă poate fi
descompusă astfel:

c
c
s
V s
s H
e
e
+
+
=
0
) (

c
c
s
H
e
e
+
+ =
0
1 (2.44)
(
¸
(

¸

+
÷
÷ + =
c
c
s
s
H
e
e
1 1
0
(2.45)

cu:

) 0 (
0
= = s H V , (2.46)
1
0 0
÷ = V H , (2.47)
20 /
0
10
G
V = (G în dB) (2.48)

Funcţia de transfer (2.45) este compusă dintr-o ramură directă şi un filtru trece jos. Filtrul trece jos de
ordinul întâi este implementat din nou printr-o descompunere trece tot. Aplicând transformarea
biliniară în relaţia (2.45) rezultă:

| | ) ( 1
2
1 ) (
0
z A
H
z H ÷ + = (2.49)

cu
1
1
1
) (
÷
÷
+
+
÷ =
z a
a z
z A
B
B
. (2.50)

Pentru corectorul cu atenuare, descompunerea este:

0
/
) (
V s
s
s H
c
c
e
e
+
+
= (2.51)
0
0
0
/
/
) 1 ( 1
0
V s
V
V
c
c
H
e
e
+
÷ + =
  
(2.52)
(
¸
(

¸

+
÷
÷ + =
0
0 0
/
/
1
2
1
V s
V s H
c
c
e
e
. (2.53)
26


Dacă aplicăm din nou transformarea biliniară relaţiei (2.53) rezultă relaţia (2.49). Structura filtrului
este identică atât pentru amplificare cât şi pentru atenuare. Parametrii de frecvenţă
B
a pentru cazul cu
amplificare şi
c
a pentru cazul cu atenuare pot fi calculaţi astfel:

1 ) 2 / (
1 ) 2 / (
+
÷
=
T tg
T tg
a
c
c
B
e
e
, (2.54)

0
0
) 2 / (
) 2 / (
V T tg
V T tg
a
c
c
c
+
÷
=
e
e
. (2.55)

Funcţia de transfer a filtrului de decupare de joasă frecvenţă de ordinul întâi este:

1
1 0 0
1
)
2
) 1 ( (
2
) 1 ( 1
) (
÷
÷
+
+ + + + +
=
z a
z
H
a a
H
a
z H
BC
Bc BC BC
. (2.56)

Cu ) ( ) (
1
z A z A ÷ = , schema din figura 2.6 arată un filtru trece jos de ordinul întâi şi un filtru de
decupare de ordinul întâi la frecvenţe joase.


Filtru de decupare de joasă frecvenţă de ordinul întâi



Filtru trece jos de ordinul întâi

Figura 2.6: Filtru de decupare de joasă frecvenţă şi filtru trece jos de ordinul întâi

Descompunerea funcţiei de transfer denormate a unui filtru de decupare de ordinul întâi de
înaltă frecvenţă este de forma:



c
c
s
sV
s H
e
e
+
+
=
0
) (
27


c
s
s
H
e +
+ =
0
1 (2.57)
(
¸
(

¸

+
÷
+ + =
c
c
s
s H
e
e
1
2
1
0
(2.58)

unde

) (
0
· = = s H V , (2.59)
1
0 0
÷ = V H . (2.60)

Funcţia de transfer rezultă prin adăugarea unei constante filtrului trece sus. Aplicând transformarea
biliniară relaţiei (2.58) se obţine:

| | ) ( 1
2
1 ) (
0
z A
H
z H + + = (2.61)

cu
1
1
1
) (
÷
÷
+
+
÷ =
z a
a z
z A
B
B
. (2.62)

Pentru cazul cu atenuare descompunerea care rezultă din relaţia (2.61) după o transformare biliniară
este:

c
c
V s
s
s H
e
e
+
+
=
0
/
) ( (2.63)
c
H
V s
s
V
e
0
0
0
1 1
+
÷ + =
  
(2.64)
(
¸
(

¸

+
÷
+ + =
c
c
V s
V s H
e
e
0
0 0
1
2
1 (2.65)

Parametrii pentru cazurile cu atenuare şi amplificare sunt calculaţi astfel:

1 ) 2 / (
1 ) 2 / (
+
÷
=
T tg
T tg
a
c
c
B
e
e
, (2.66)

1 ) 2 / (
1 ) 2 / (
0
0
+
÷
=
T tg V
T tg V
a
c
c
C
e
e
. (2.67)

Funcţia de transfer a filtrului de decupare de ordinul întâi de frecvenţă înaltă poate fi scrisă în forma:

28

.
1
)
2
) 1 ( (
2
) 1 ( 1
) (
1
1 0 0
÷
÷
+
÷ + + ÷ +
=
z a
z
H
a a
H
a
z H
BC
BC BC BC
(2.68)

Cu ) ( ) (
1
z A z A ÷ = , schema din figura (2.7) arată un filtru trece sus de ordinul întâi şi un filtru de
decupare de frecvenţă înaltă.


Filtru de decupare de înaltă frecvenţă de ordinul întâi


Filtru trece sus de ordinul întâi

Figura 2.7 Filtru de decupare de înaltă frecvenţă şi filtru trece sus de ordinul întâi

Implementarea unui filtru de tip corector de atenuare de ordinul al doilea poate fi realizată cu o
transformare din trece jos în trece sus, a unui filtru de decupare de ordinul întâi. Dar adăugarea unui
filtru trece bandă de ordinul al doilea la o ramură constantă are de asemenea, ca rezultat un filtru de tip
corector de atenuare. Cu ajutorul unei implementări trece tot a unui filtru trece bandă de tipul:

| | ) ( 1
2
1
) (
2
z A z H ÷ = (2.69)

şi

2 1
2 1
2
) ( 1
) (
) (
÷ ÷
÷ ÷
÷ ÷ +
+ ÷ + ÷
=
z a z da d
z z da d a
z A
B B
B B
, (2.70)

un filtru de tip corector de atenuare de ordinul al doilea poate fi exprimat astfel:

| | ) ( 1
2
1 ) (
2
0
z A
H
z H ÷ + = . (2.71)

Parametrii lăţimii de bandă,
B
a şi
c
a pentru cazurile cu amplificare şi atenuare sunt daţi de relaţiile:

29

1 ) 2 / (
1 ) 2 / (
+
÷
=
T tg
T tg
a
b
b
B
e
e
, (2.72)

a
0
0
) 2 / (
) 2 / (
V T tg
V T tg
b
b
c
+
÷
=
e
e
. (2.73)

Parametrul frecvenţei centrale, d şi coeficientul,
0
H sunt daţi prin:

) cos(
c
d O ÷ = , (2.74)
) (
0
c
j
e H V
O
= , (2.75)
1
0 0
÷ = V H . (2.76)

Funcţia de transfer a unui filtru de tip corector de atenuare de ordinul al doilea are ca rezultat expresia:

2 1
2 0 1 0
) 1 ( 1
)
2
) 1 ( ( ) 1 (
2
) 1 ( 1
) (
÷ ÷
÷ ÷
÷ ÷ +
+ ÷ ÷ + ÷ + + +
=
z a z a d
z
H
a a z a d
H
a
z H
BC BC
BC BC BC BC
. (2.77)

În figura 2.8 sunt prezentate schemele pentru un filtru de tip corector de atenuare de ordinul al
doilea şi un filtru de tip trece bandă de ordinul al doilea.

Filtru de tip corector de atenuare de ordinul al doilea


Filtru trece bandă de ordinul al doilea

Figura 2.8: Filtru de tip corector de atenuare şi filtru trece bandă de ordinul al
doilea







30


3. PROIECTAREA EGALIZOARELOR DIGITALE PARAMETRICE CU CÂŞTIG
PRESTABILIT LA FRECVENŢA NYQUIST

Metodele de proiectare bazate pe transformarea biliniară convenţională a egalizoarelor digitale
parametrice de ordinul al doilea au ca rezultat răspunsul în frecvenţă care cade mai repede decât
răspunsul egalizoarelor analogice corespunzătoare, lângă frecvenţa Nyquist, din cauza naturii de
predistorsionare a transformării biliniare. Acest efect devine important în mod particular, atunci când
frecvenţele de vârf şi lăţimea de bandă sunt relativ ridicate.
Se introduce un grad suplimentar de libertate de proiectare, şi anume câştigul la frecvenţa
Nyquist, rezultând o nouă clasă de egalizoare parametrice digitale, care se aseamănă foarte mult cu cele
analogice pe întreg intervalul Nyquist şi care nu sunt afectate de efectul de predistorsionare al
transformării biliniare.
Specificaţiile de proiectare sunt parametrii } , , , , , , {
1 0 0 B s
G G G G f f f A care reprezintă:
s
f -
frecvenţa de eşantionare,
0
f -frecvenţa de maxim sau de minim, f A -banda de frecvenţă,
0
G -câştigul
de referinţă la frecvenţa 0,
1
G -câştigul la frecvenţa Nyquist, 2 /
s
f , G-câştigul de vârf pentru
amplificare/atenuare la frecvenţa
0
f ,
B
G -câştigul lăţimii de bandă (nivelul la care este măsurată banda,
f A ).
Toate metodele anterioare de proiectare ale egalizoarelor de ordinul al doilea admit
0 1
G G = (de
obicei egale cu unitatea). Transformarea biliniară este folosită în aceste metode pentru a transforma un
egalizor analogic cu specificaţii echivalente, într-un egalizor digital. Pentru egalizorul analogic
echivalent, mărimea
1 0
G G = reprezintă câştigul la frecvenţa zero şi la frecvenţa infinit, ultimul având
corespondent frecvenţa Nyquist de 2 /
s
f , prin intermediul transformării biliniare.
În metoda propusă aici se admite că
1
G este diferit de
0
G . În mod particular,
1
G este setat ca
fiind egal cu câştigul egalizorului analogic la frecvenţa 2 /
s
f dacă nu i s-a aplicat transformarea
biliniară. Rezultă cinci constrângeri care fixează în mod unic cei cinci coeficienţi ai filtrului digital de
ordinul al doilea. Caracteristica amplitudine-frecvenţă a filtrului digital corespunde cât mai mult
caracteristicii filtrului analogic, deoarece există doar cinci parametri setaţi. Potrivirea este exactă la
0 = f ,
0
f , 2 /
s
f şi cele două filtre au aceeaşi lăţime de bandă f A . Aceste obiective de proiectare sunt
reprezentate în figura 3.2 .
Un astfel de egalizor poate fi folosit pentru a copia mai bine calitatea sunetului obţinută de la un
egalizor analogic. Mai mult, setând
0
G =0, se obţin modelări mai realiste ale filtrelor rezonatoare, ale
vârfurilor şi lăţimilor de bandă prescrise folosite în muzică şi aplicaţiile de sinteză a vorbirii.


3.1 Egalizoare analogice convenţionale şi egalizoare digitale

Un egalizor analogic de ordinul al doilea, cu câştig
0
G la frecvenţa zero şi la infinit, are
următoarea funcţie de transfer denormată:

2
0
2
2
0 0
2
0
) (
O + +
O + +
=
As s
G Bs s G
s H , (3.1)

31

iar caracteristica amplitudine-frecvenţă este:

2 2 2 2
0
2
2 2 2 2
0
2 2
0
2
) (
) (
) (
O + O ÷ O
O + O ÷ O
= O
A
B G
H (3.2)

unde f t 2 = O reprezintă frecvenţa fizică în radiani/secundă şi
0 0
2 f t = O este frecvenţa de maxim sau
de minim. Coeficienţii filtrului, A şi B, sunt fixaţi de următoarele cerinţe: câştigul trebuie să fie G la
frecvenţa
0
O şi lăţimea de bandă trebuie măsurată la nivelul
B
G . Aceste cerinţe pot fi scrise astfel:

2
2
0
) ( G H = O ,
2 2
) (
B
G H = e (3.3)

unde soluţiile ecuaţiilor de gradul al doilea sunt frecvenţele la stânga şi la dreapta marginii benzii de
frecvenţă, notate cu
2
O şi
1
O . Acestea satisfac următoarea proprietate geometrică:

2
0 2 1
O = O O . (3.4)

Definind lăţimea de bandă, f A = AO t 2 ca fiind diferenţa între frecvenţele limitelor benzii,
1 2
O ÷ O = AO , cele două condiţii din ecuaţia (3.1) determină coeficienţii filtrului după cum urmează:

AO
÷
÷
=
2 2
2
0
2
B
B
G G
G G
A , GA B = . (3.5)

Câştigul egalizorului la frecvenţa Nyquist dorită, 2 /
s
f poate fi obţinut prin evaluarea ecuaţiei
(3.2) pentru
s s s
f f t t = = O ) 2 / ( 2 , rezultând relaţia:

2 2 2 2
0
2
2 2 2 2
0
2 2
0
2
1
) (
) (
s s
s s
A
B G
G
O + O ÷ O
O + O ÷ O
= . (3.6)

Un egalizor digital poate fi proiectat prin aplicarea transformării biliniare a unui filtru analogic
echivalent de forma ecuaţiei (3.1). Transformarea biliniară este definită aici, astfel:

1
1
1
1
÷
÷
+
÷
=
z
z
s , )
2
(
e
tg = O ,
s
f
f t
e
2
= , (3.7)

unde O este acum versiunea predistorsionată a frecvenţei fizice ω. Vârful fizic şi banda de frecvenţă
sunt în unităţi radian/eşantion:

s
f
f
0
0
2t
e = ,
s
f
f A
= A
t
e
2
. (3.8)

32

Versiunea predistorsionată a vârfului şi frecvenţele care definesc marginile benzii sunt
) 2 / (
0 0
e tg = O , ) 2 / (
1 1
e tg = O , şi ) 2 / (
2 2
e tg = O . Acestea satisfac relaţia mediei geometrice a
frecvenţelor predistorsionate |
.
|

\
|
= |
.
|

\
|
|
.
|

\
|
2 2 2
0 2 2 1
e e e
tg tg tg (3.9) şi următoarea relaţie între lăţimea de
bandă fizică,
2 2
e e e ÷ = A şi versiunea predistorsionată
1 2
O ÷ O = AO :

( )
|
.
|

\
| A
O + = AO
2
1
2
0
e
tg . (3.10)

Înlocuind s prin transformarea biliniară în ecuaţia (3.1) se obţine, după câteva calcule algebrice
funcţia de transfer digitală:

2 1 0
2 0 1 0 0 0
1
1
1
cos
2 1
1 1
cos
2
1
) (
÷ ÷
÷ ÷
|
|
.
|

\
|
+
÷
+
|
|
.
|

\
|
+
÷
|
|
.
|

\
|
+
÷
+
|
|
.
|

\
|
+
÷
|
|
.
|

\
|
+
+
=
z z
z
G G
z
G G G
z H
|
|
|
e
|
|
|
e
|
|
, (3.11)

unde parametrul β este dat prin relaţia

|
.
|

\
| A
÷
÷
=
2
2 2
2
0
2
e
| tg
G G
G G
B
B
. (3.12)

Se proiectează câştigul acestui filtru digital la frecvenţa Nyquist ca fiind egal cu
0
G , în timp ce
câştigul filtrului analogic fizic este
1
G , aşa cum este dat de relaţia (3.6). Aceasta se poate observa
direct din ecuaţia (3.11), setând 1 ÷ = z sau din filtrul analogic echivalent prin trecerea la limită în
ecuaţia (3.1) pentru · ÷ s . În figura 3.1 se compară proiectările egalizoarelor analogice convenţionale
şi digitale.



33

Figura 3.1: Egalizorul analogic convenţional şi cel digital (
0 1
G G = la 2 /
s
f )


3.2 Egalizorul digital cu câştig prestabilit la frecvenţa Nyquist

Deoarece transformarea biliniară acoperă 1 ÷ = z și · = s , pentru a proiecta un filtru digital cu
câştigul în frecvenţă Nyquist prestabilit,
1
G , se poate începe cu proiectarea filtrului analogic
echivalent, al cărui câştig pentru · = s este
1
G . Funcţia de transfer a unui astfel de filtru este forma
modificată a ecuaţiei (3.1):

2 2
2
0
2
1
) (
W As s
W G Bs s G
s H
+ +
+ +
= , (3.13)

cu câştigul
1
G la · = s şi
0
G la 0 = s . Caracteristica amplitudine-frecvenţă este:

( )
2 2 2 2 2
2 2
2
2
0
2
1
2
) (
) (
O + ÷ O
O + ÷ O
= O
A W
B W G G
H . (3.14)

Parametrul W nu mai este egal cu frecvenţa de extrem
0
O , dar depinde de aceasta. Coeficienţii
filtrului,
2
, , W B A , pot fi determinaţi din următoarele trei condiţii:
2
) (O H să aibă un maxim (sau un
minim) la
0
O , câştigul de vârf să fie G şi pentru frecvenţele care definesc marginile benzii de frecvenţă
să avem câştigul
B
G :

0 ) (
2
0
2
= O
O c
c
H ,
2
2
0
) ( G H = O ,
2 2
) (
B
G H = O . (3.15)


Soluţiile celei de a treia ecuaţii sunt frecvenţele de margine ale benzii,
1
O şi
2
O , care definesc
banda de frecvență în domeniul analogic ca diferenţa,
1 2
O ÷ O = AO . Rezolvând ecuţiile (3.15) rezultă
coeficienţii filtrului:

2
0
2
0
2
2
1
2
2
O
÷
÷
=
G G
G G
W ,
2 2
B
G G
D C
A
÷
+
= ,
2 2
2 2
B
B
G G
D G C G
B
÷
+
= , (3.16)

unde C şi D sunt daţi în funcţie de frecvenţa centrală
0
O , de banda de frecvență AO şi de câştiguri,
după cum urmează:

(
¸
(

¸

÷ ÷ ÷ ÷ ÷ ÷ AO = ) )( ( 2 ) (
2
1
2 2
0
2
1 0
2 2 2
1
2 2
G G G G G G G W G G C
B B B B

(3.17)
34

(
¸
(

¸

÷ ÷ ÷ ÷ = ) )( ( 2
2
1
2 2
0
2
1 0
2 2
G G G G G G G W D

Cel mai adesea, frecvenţele de margine ale benzii se află într-o relaţie de simetrie geometrică
modificată:

2
0
2
0
2
2
1
2
2
1
2
2
0
2
2
2
1
2
2
0
2
2 1
O
÷
÷
÷
÷
=
÷
÷
= O O
G G
G G
G G
G G
W
G G
G G
B
B
B
B
. (3.18)

Ecuaţiile (3.16) şi (3.17) implementeză proiectarea unui filtru analogic de ordinul al doilea. Trebuie
luat în considerare faptul că valorile absolute în ecuaţiile (3.16) şi (3.17) sunt necesare doar atunci
când se proiectează un filtru cu atenuare, care este opus unui filtru cu amplificare.
Filtrul digital poate fi proiectat acum prin transformarea biliniară aplicată acestui filtru analogic.
Pentru a completa proiectarea, parametrii daţi ai frecvenţei fizice, e e A ,
0
din ecuaţia (3.8) trebuie
asociaţi cu parametrii filtrului analogic echivalent, obţinându-se:

|
.
|

\
|
= O
2
0
0
e
tg ,
|
.
|

\
| A
|
|
.
|

\
|
O
÷
÷
÷
÷
+ = AO
2
1
2
0
2
0
2
2
1
2
2
1
2
2
0
2
e
tg
G G
G G
G G
G G
B
B
(3.19)

Aplicând transformarea biliniară (3.7) relaţiei (3.13) rezultă funcţia de transfer a filtrului digital:

2
2
2
1
2
2
2
2
2
0 1 1
2
2
0 1
2
2
0 1
1
1
1
1
2 1
1 1
2
1
) (
÷ ÷
÷ ÷
|
|
.
|

\
|
+ +
÷ +
+
|
|
.
|

\
|
+ +
÷
÷
|
|
.
|

\
|
+ +
÷ +
+
|
|
.
|

\
|
+ +
÷
÷
|
|
.
|

\
|
+ +
+ +
=
z
A W
A W
z
A W
W
z
A W
B W G G
z
A W
W G G
A W
B W G G
z H . (3.20)



Fiind dat setul de specificaţii ale filtrului digital, } , , , , , {
1 0 0 B
G G G G e e A , se foloseşte ecuaţia (3.19)
pentru a calcula frecvenţele analogice predistorsionate. Apoi, se folosesc ecuaţiile (3.16) şi (3.17)
pentru a calcula parametrii } , , {
2
W B A , din care sunt determinaţi coeficienţii filtrului digital din ecuaţia
(3.20).
În cazul special,
0 1
G G = , se obţin rezultatele din secţiunea 2:
0
O = W , 0 = D ,
2
0
2 2
) ( G G C
B
÷ AO = şi A, B sunt reduse la ecuaţia (3.5). În mod similar, ecuaţia (3.20) se reduce la
ecuaţia (3.11).
Până acum, câştigul la frecvenţa Nyquist,
1
G a fost ales în mod arbitrar, dar pentru ca filtrul
digital să corespundă cu cel analogic, cât se poate de mult, câştigul
1
G trebuie să se potrivească cu
câştigul filtrului analogic la 2 /
s
f , care este dat de ecuaţia (3.6). Folosind ecuaţia (3.5), se poate rescrie
ecuaţia (3.6) în funcţie de frecvenţele digitale normate,
0
e şi e A din ecuaţia (3.8) după cum urmează:

35

) /( /) ) ( ) ( ) (
) /( ) ( ) ( ) (
2 2 2
0
2 2 2 2 2 2
0
2 2 2
0
2 2 2 2 2 2 2
0
2
0
2
1
B B
B B
G G G G
G G G G G G
G
÷ ÷ A + ÷
÷ ÷ A + ÷
=
e t t e
e t t e
(3.21)

Figura 3.2 compară noul egalizor digital cu proiectarea convenţională analogică şi digitală.
Pentru egalizoare parametrice în cascadă, câştigul de referinţă,
0
G trebuie să fie egal cu unitatea.
Pentru filtrul rezonator 0
0
= G şi 1 = G . Câştigul la frecvenţa Nyquist este calculat în continuare cu
ajutorul ecuaţiei (3.21) (cu 0
0
= G ) şi reprezintă câştigul pe care un rezonator analogic îl are la 2 /
s
f .
Astfel, un filtru rezonator digital poate copia mai bine rezonanţele fizice. Filtrele de rejecţie digitale
care copiază filtrele analogice, pot fi de asemenea proiectate folosind setările 1
0
= G şi 0 = G



Figura 3.2: Noul egalizor digital





















36


4. PROIECTAREA EGALIZOARELOR DIGITALE PARAMETRICE DE ORDIN

MARE

4.1 Consideraţii generale

Specificaţiile de proiectare pentru egalizorului digital sunt reprezentate de setul de parametri
{G, G
0
, G
B
, f
0
, ∆f, f
s
}, care au următoarele semnificații:
▪ G-câştigul de vârf;
▪ G
0
-câştigul de referinţă (de obicei, este egal cu unitatea);
▪ G
B
-câştigul corepunzător lăţimii benzii de frecvenţă;
▪ f
0
-frecvenţa de vârf sau de tăiere măsurată în Hz;
▪∆f-lăţimea de bandă măsurată la nivelul de câştig G
B
;
▪ f
s
-frecvenţa de eşantionare.
Aceste mărimi sunt prezentate în figura 4.1 pentru cazul Butterworth. Pentru cazul eliptic mai
trebuie specificat încă un parametru, şi anume câştigul adiţional G
s
. Lăţimea de bandă este legată de
frecvenţa stânga, f
1
şi frecvenţa dreapta , f
2
care definesc marginile benzii de frecvență prin relaţia
∆f= f
2
- f
1
. Este convenabil să lucrăm cu frecvenţe digitale normate în radiani/eşantion , deci avem:

▪ω
0
=
s
f
f
0
2t
;
▪∆ω=
s
f
f A t 2
;

s
f
f
1
1
2t
e = ;
▪ ω
s
f
f
2
2
2t
= . (4.1)



37

Figura 4.1 (a) Parametrii de proiectare pentru un filtru Butterworth



Figura4.1 (b) Prototip de filtru analogic Butterworth

Punctul de plecare al metodei de proiectare este un filtru echivalent analogic cu decupare de tip
trece jos, prezentat în figura 4.1, care are aceleaşi specificaţii de câştig ca şi egalizorul dorit, dar cu
frecvenţa de vârf fixată la Ω=0 şi frecvenţele care definesc marginile benzii fixate la
B
O ± .
Filtrul analogic poate fi transformat în mod direct în egalizorul digital dorit utilizând
transformarea de tip trece bandă între planele s şi z,

s=
2
2 1
0
1
cos 2 1
=
÷ ÷
÷
+ ÷
z
z z e
. (4.2)

Din ecuaţia (4.2), folosind corespondenţele cunoscute, s=jΩ şi z=e
e j
rezultă în urma calculelor
expresia lui Ω:

Ω=
e
e e
sin
cos cos
0
÷
(4.3)

unde ω=
s
f f / 2t este pulsația normată, iar f este frecvenţa fizică exprimată în Hz. Cerinţa ca
frecvenţele ω
1
şi ω
2
corespunzătoare marginilor de bandă să aibă drept corespondent în domeniul
analogic, frecvenţele
B
O ± ne va conduce la următoarele condiţii:

,
sin
cos cos
1
1 0
B
O ÷ =
÷
e
e e

B
O =
÷
2
2 0
sin
cos cos
e
e e
. (4.4)

Aceste două relaţii (4.4) formează un sistem de două ecuaţii cu două necunoscute care se rezolvă
considerând pentru început ω
1
şi ω
2
cunoscute, iar
B
O şi ω
0
elementele care se doresc a fi aflate.
Rezultă că soluţia acestui sistem este dată de ecuaţiile (4.5) şi (4.6):

38

B
O =tg
|
.
|

\
| A
2
e
, tg |
.
|

\
|
|
.
|

\
|
= |
.
|

\
|
2 2 2
2 1 0
2
e e e
tg tg (4.5)

unde ∆ω= ω
2
- ω
1
. În mod echivalent se poate scrie:

cos
2 1
2 1
0
sin sin
) sin(
e e
e e
e
+
+
= . (4.6)

Invers, ecuaţiile (4.4) pot fi rezolvate considerând
B
O şi ω
0
cunoscute, iar ω
1
şi ω
2
elementele
care se doresc a fi aflate, obţinându-se:

e
B
B j
j
s j c
O +
+ O +
=
1
2
0
2
0
1
e
, e
2
e j
=
B
B
j
s j c
O ÷
+ O +
1
2
0
2
0
, (4.7)

în cazul în care ∆ω rezultă din relaţia
B
O =tan( 2 / e A ). Extrăgând părţile reale din ecuaţiile (4.7),
rezultă:



cos ω
1
=
1
2
2
0
2
0
+ O
+ O O +
B
B B
s c


(4.8)

cos ω
2
=
1
2
2
0
2
0
+ O
+ O O ÷
B
B B
s c



unde am introdus notaţia prescurtată c
0 0
cose = şi s
0 0
sine = . Ecuaţiile(4.7) au limitele
corespunzătoare la ω
0
→0 şi la ω
0
→π, rezultând astfel frecvenţele de tăiere (măsurate la nivelul G
B
)
ale egalizoarelor digitale cu decupare de tip trece jos şi trece sus:

ω
0
=0, ω
1
=0, ω
2
=∆ω, [pentru egalizoarele digitale cu decupare de tip trece jos]
(4.9)
ω
0
= π, ω
1
= π-∆ω, ω
2
= π, [pentru egalizoarele digitale cu decupare de tip trece sus]

Caracteristicile amplitudine-frecvenţă ale filtrelor analogice prototip cu decupare trece jos, de
ordin mare de tip Butterworth, Cebîşev şi eliptic, pe care le vom considera în această lucrare sunt de
forma:

) ( 1
) (
) (
2
2 2 2
0 2
2
w F
w F G G
H
N
N
a
c
c
+
+
= O (4.10)

39

unde N este ordinul filtrului analogic, ε este o constantă şi F
N
(w) este o funcţie de frecvenţă normată,
w=
B
O O/ dată prin relaţia:

F
N
(w)=
eliptic
tip Cebîsev
tip Cebîsev
h Butterwort
k uK cd w k NuK cd
w C
w C
w
N
N
N
2
1
), , ( ), , (
), ( / 1
), (
,
1 1
1
¦
¦
¹
¦
¦
´
¦
=
÷
(4.11)

în care C
N
(x) este polinomul Cebîşev de ordin N, dat de relaţia C
N
(x)=cos(Ncos
1 ÷
x), iar cd(x,k) este
funcţia eliptică, cd a lui Jacobi, “de modulus” k şi cu sfertul de perioadă, K. Parametrii k şi k
1
sunt
definiţi în subcapitolul 4.5.
În toate cele patru cazuri, funcţia F
N
(w) este normată, astfel încât F
N
(1)=1. Constanta ε poate
fi determinată din condiţia prin care câştigul lăţimii de bandă să fie egal cu G
B
la frecvenţele
Ω=
B
O ± . Considerând
B
O = O în ecuaţia (4.10), se obţine:

2
2
2 2
0
2
2
1
) (
B B a
G
G G
H =
+
+
= O
c
c
·
2
0
2
2 2
G G
G G
B
B
÷
÷
= c . (4.12)

Funcţia de transfer analogică, H
a
(s) corespunzătoare ecuaţiei (4.10) este construită găsind
zerourile din semiplanul stâng al planului s, ale numărătorului şi numitorului ecuaţiei (4.10) şi grupând
aceste zerouri în perechi conjugate. Din construcţia funcţiei H
a
(s), rezultă că faza funcţiei de transfer
a egalizorului este minimă. Această proprietate constiutie un avantaj, deoarece schemele proiectate
impun ca funcţia de transfer corespuzătoare unei atenuări având aceeaşi valoare cu amplificarea, să fie
inversa funcţiei de transfer corespunzătoare amplificării respective. Pentru a pune în evidenţă zerorurile
şi polii, funcţia de transfer în variabila s, H
a
(s) poate fi scrisă în următoarea formă factorizată:

[
=
-
-
(
(
¸
(

¸

÷ ÷
÷ ÷
(
¸
(

¸

÷
÷
=
L
i
i i
i i
r
a
p s p s
z s z s
p s
z s
H s H
1 0
0
0
) / 1 )( / 1 (
) / 1 )( / 1 (
/ 1
/ 1
) ( (4.13)

unde L este numărul de secţiuni analogice de ordinul al doilea, relaţionate de ordinul filtrului analogic
prin N=2L+r, unde r =0 dacă N este par şi r =1 dacă N este impar. Notaţia [F]
r
semnifică faptul că
factorul F există dacă r=1 şi nu există dacă r=0. Mărimea H
0
reprezintă câştigul la frecvenţa Ω=0 (şi la
frecvenţa de vârf ω= ω
0
) şi poate fi exprimată în funcţie de G sau G
B
, astfel:


eliptic şi tip Cebîsev
tip Cebîsev şi h Butterwort
G G
G
H
r
B
r
1
2
,
,
1
0
¹
´
¦
=
÷
(4.14)

40

Zerourile,
i
z z ,
0
şi polii
i
p p ,
0
pentru toate cele patru tipuri de filtre sunt date în anexa A.2.
Pentru proiectarea cu filtre Butterworth, Cebîşev de tipul 2 şi eliptice se va folosi ecuaţia (4.13). Pentru
proiectarea cu filtre Cebîşev de tipul 1 este mai convenabil să folosim următoarea formă:

[
=
·
(
(
¸
(

¸

÷ ÷
÷ ÷
(
¸
(

¸

÷
÷
=
L
i
i i
i i
r
a
s p s p
s z s z
s p
s z
H s H
1
*
*
0
0
) )( (
) )( (
) ( (4.15)

unde H
·
este câştigul la frecvenţa Ω=· (şi la frecvenţele ω=0 şi ω= π) dat de relaţia :

.
2
1
,
,
,
1
0
1
0
0
eliptic
tip Cebîsev
tip Cebîsev şi h Butterwort
G G
G G
G
H
r
s
r
r
B
r
¦
¹
¦
´
¦
=
÷
÷
·
(4.16)

Proiectările convenţionale ale filtrelor de tip trece jos din lucrările de specialitate sunt obţinute
ca nişte cazuri particulare ale ecuaţiilor (4.10)-(4.16) impunând limitele la G
0
=0 şi la G=1.
În scopul acestei realizări se dovedeşte a fi convenabilă implementarea transformării din ecuaţia
(4.2), în două etape, mai întâi transformând filtrul analogic cu decupare de tip trece jos într-un filtru
digital cu decupare de tip trece jos utilizând transformarea biliniară obişnuită, şi apoi, transformând
acest filtru într-un egalizor de tip corector de atenuare trece bandă. Acest proces în două etape poate fi
exprimat matematic scriind ecuaţia (4.2) în următoarea formă:

.
1
) (
1
2 1
1
1
1
0
1
0
1 1
2
2 1
0
1
1
÷
÷ ÷ ÷
.
÷
÷ ÷
÷
.
÷
.
÷
÷
= ·
÷
+ ÷
=
+
÷
=
z c
z c z
z
z
z z c
z
z
s
(4.17)

Astfel de transformări sunt folosite în proiectarea egalizoarelor bipătratice şi a filtrelor trece
bandă şi opreşte bandă cu caracteristici variabile.
În urma transformării de tip trece jos de la variabila s la variabila
.
z , forma factorizată a ecuaţiei
(4.13) va deveni un filtru digital de decupare de tip trece jos de ordin N care va fi o cascadare de
secţiuni de ordinul întâi şi de ordinul al doilea în funcţie de variabila
.
z . Apoi, se va realiza
transformarea din trece jos în trece bandă, adică de la
.
z la z care ne va da egalizorul trece bandă
centrat pe ω
0
, sub forma unei structuri în cascadă de secţiuni de ordinul al doilea şi de ordinul al
patrulea în funcţie de variabila z, cu un ordin de filtru egal cu 2N.
Astfel, funcţia de transfer a egalizorului proiectat poate fi exprimată fie în termenii variabilei s,
fie în termenii variabilei
.
z , fie în termenii variabilei z, rezultând următoarele forme echivalente ale
structurii în cascadă:

H(z)=
[
=
(
¸
(

¸

+ +
+ +
(
¸
(

¸

+
+
L
i i i i
i i i
r
s A s A A
s B s B B
s A A
s B B
1
2
2 1 0
2
2 1 0
01 00
01 00
(4.18a)
41

[
=
÷
. .
÷
. .
÷
. .
÷
. . .
÷
. .
÷
. . .
(
(
(
(
¸
(

¸

+ +
+ +
(
(
(
¸
(

¸

+
+
=
L
i
i i
i i i
r
z a z a
z b z b b
z a
z b b
1
2
2
1
1
2
2
1
1 0
1
01
1
01 00
1 1
(4.18b)

r
z a z a
z b z b b
(
¸
(

¸

+ +
+ +
=
÷ ÷
÷ ÷
2
02
1
01
2
02
1
01 00
1


[
=
÷ ÷ ÷ ÷
÷ ÷ ÷ ÷
(
¸
(

¸

+ + + +
+ + + +
×
L
i
i i i i
i i i i io
z a z a z a z a
z b z b z b z b b
1
4
4
3
3
2
2
1
1
4
4
1
3
2
2
1
1
1
(4.18c)

Atunci când N=1, factorul r este identic cu structura unui egalizor bipătratic convenţional.
Pentru cazurile particulare ale filtrelor de decupare de tip trece jos şi de tip trece sus avem c
1
0
± =
, şi
ecuaţia (4.17) se reduce la
1
1
÷
÷
.
± = z z . Aceste cazuri pot fi descrise numai prin ecuaţiile (4.18a) şi
(4.18b).
Relaţiile algebrice între coeficienţii ecuaţiilor (4.18) sunt directe şi sunt date în anexa A.1. În
următoarele subcapitole vom prezenta ecuaţiile de proiectare ale coeficienţilor ecuaţiilor (4.18), în
cazurile filtrelor Butterworth, Cebîşev de tipul 1 şi tipul 2 şi eliptice.

4.2. Proiectări cu filtre Butterworth

Utilizând pentru zerourile şi polii filtrului Butterworth ecuaţia (12.5) din anexa A.2, obţinem
următoarea expresie pentru funcţia de transfer analogică, ecuaţia (4.18a), în cazul Butterworth:

[
= (
(
¸
(

¸

+ +
+ +
(
¸
(

¸

+
+
=
L
i i
i
r
a
s s s
s g s s gg g
s
s g g
s H
1
2 2
2 2
0 0
2 2
0
2
2
) (
| |
| |
|
|
(4.19)

unde am definit parametrii:

= g
N
G
/ 1
g
N
G
/ 1
0 0
=
,

N / 1 ÷
= c | |
.
|

\
| A
= O
÷
2
/ 1
e
c tg
N
B
(4.20)

s
u = sin
i
,
N
i
i
2
) 1 2 ( t ÷
= u , i = 1 , 2 ,…, L (4.21)

Parametrul ε rezultă din ecuaţia (4.12) şi
B
O
din ecuaţia (4.5). Utilizând transformările
coeficienţilor din anexa A.1 se obţin coeficienţii filtrului digital de decupare de tip trece jos (4.18b).

D
1
0
+ = |
D
1 2
2
+ + = | |
i i
s

42

0 0
00 / ) ( D g g b + =
.
|

i i
i D g s gg g b / ) 2 (
2
0 0
2
0
2
+ + =
.
| |

0 0
01 / ) ( D g g b ÷ =
.
|

i
i D g g b / ) ( 2
2
0
2 2
1 ÷ =
.
|


0
01 / ) 1 ( D a ÷ =
.
|

i i
i D g s gg g b / ) 2 (
2
0 0
2 2
2 + ÷ =
.
| |


i
i D a / ) 1 ( 2
2
1 ÷ =
.
|



. / ) 1 2 (
2
2
i i
i D s a + ÷ =
.
| |
(4.22)

Coeficienţii secţiunilor de ordinul al doilea şi de ordinul al patrulea ale egalizorului trece bandă,
ecuaţia (4.18c), sunt:

D 1
0
+ = | 1 2
2
+ + = | |
i i
s D


b
0 0 00
/ ) ( D g g | + = b
i i i
D g s gg g / ) 2 (
2
0 0
2 2
0
+ + = | |


b
0 0 0 01
/ 2 D g c ÷ =
i i i
D s gg g c b / ) ( 4
0
2
0 0 1
| + ÷ =


b
0 0 02
/ ) ( D g g | ÷ = b D g c g
i
/ ] ) 2 1 ( [ 2
2 2 2
0
2
0 2
| ÷ + =
i


a
0 0 01
/ 2 D c ÷ = b
i i i
D s gg g c / ) ( 4
0
2
0 0 3
| ÷ ÷ =


0 02
/ ) 1 ( D a | ÷ = b
i i i
D g s gg g / ) 2 (
2
0 0
2 2
4
+ ÷ = | |

a
i i i
D s c / ) 1 ( 4
0 1
| + ÷ =

a
i i
D c / ) 2 1 ( 2
2 2
0 2
| ÷ + =

a
i i i
D s c / ) 1 ( 4
0 3
| ÷ ÷ =

a
i i i
D s / ) 1 2 (
2
4
+ ÷ = | | (4.23)

Atunci când N=1, avem g=G, g ), 2 / ( ,
1
0 0
e c | A = =
÷
tg G iar coeficienţii secţiunii de ordinul al
doilea {b
02 01 02 01 00
, , , , a a b b } devin identici cu coeficienţii egalizorului bipătratic convenţional, de
exemplu, sub forma din ecuaţiile [4.13], [4.14]. Cazul când N=2, corespunde filtrelor de decupare de
ordinul al doilea discutate în [4.3], [4.12] şi utilizate în [4.16] pentru a proiecta un egalizor de ordinul al
patrulea. Se observă că ecuaţiile de la (4.19) până la (4.23) au limite corespunzătoare în cazul trece
bandă la 1 , 0
0
= = G G şi în cazul cazul opreşte bandă la 0 , 1
0
= = G G .
43

4.3. Proiectări cu filtre Cebîşev de tipul 1

Pentru proiectările cu filtre Cebîşev, lăţimea de bandă, ∆ω şi nivelul câştigului,
B
G , definesc
întinderea riplurilor egale în banda de trecere pentru cazul Cebîşev de tipul 1 şi întinderea riplurilor
egale în banda de oprire pentru cazul Cebîşev de tipul 2.
De aceea, pentru cazul Cebîşev de tipul 1,
B
G trebuie să fie ales astfel încât să aibă o valoare
foarte apropiată de cea a lui G, în scopul de a obţine o bandă de trecere cât mai plată, iar pentru cazul
Cebîşev de tipul 2 valoarea lui G
B
trebuie să fie foarte apropiată de valoarea lui G
0
în vederea
obţinerii unei benzi de blocare cât mai plată. Aceste observaţii sunt ilustrate în figura 4.2.
Pentru cazul Cebîşev de tipul 1, polii şi zerourile funcţiei de transfer analogice rezultă din
ecuaţia (12.8) din anexa A.2. Funcţia de transfer analogică rezultată este de forma:

H
a
(s)=
r
B
B
s a
s g b
(
¸
(

¸

+ O
+ O
0



[
= (
(
¸
(

¸

+ O + O +
+ O + O +
×
L
i
B i B i
B i B i
s s as c a
s g s bs g c g b
1
2 2 2 2
2 2
0 0
2 2 2
0
2
2 ) (
2 ) (
(4.24)

unde am definit
N
G g
/ 1
0 0
= şi
b=g ), (
2
1
sinh
1 2
0 0
÷
÷ = | | g u ) (
2
1
sinh
1 ÷
÷ = = o o v a (4.25)

e ,
1
0
|
÷
= g
u

N
B
G G
/ 1 2 1
) 1 (
÷ ÷
+ + = c c | ,

e
N v / 1 2 1
) 1 (
÷ ÷
+ + = = c c o (4.26)
s , sin
i i
u = c
i i
u = cos ,
N
i
i
2
) 1 2 ( t ÷
= u ,
i = 1, 2 , … , L. (4.27)

Alegerea acestor parametrii permite trecerea la limita, , 0
0
= G G=1, care este relevantă în
proiectarea filtrelor obişnuite de tip trece jos şi trece bandă. Utilizând ecuaţia (12.1) din anexa A.1,
coeficienţii filtrului digital de decupare de tip trece jos, daţi de ecuaţia (4.18b) sunt egali cu :

1
0
+ O =
B
a D D 1 2 ) (
2 2 2
+ O + O + =
B i B i i
as c a

0 0
00 / ) ( D g b b
B
+ O =
.

i B i B i
i D g bs g c g b b / ] 2 ) [(
2
0 0
2 2 2
0
2
0 + O + O + =
.


0 0
01 / ) ( D g b b
B
÷ O =
.

i B i
i D g c g b b / ] ) [( 2
2
0
2 2 2
0
2
1 ÷ O + =
.


0
01 / ) 1 ( D a a
B
÷ O =
.

i B i B i
i D g bs g c g b b / ] 2 ) [(
2
0 0
2 2 2
0
2
2 + O ÷ O + =
.


44


i B i
i D c a a / ] 1 ) [( 2
2 2 2
1 ÷ O + =
.



i B i B i
i D as c a a / ] 1 2 ) [(
2 2 2
2 + O ÷ O + =
.
(4.28)

Folosind relaţiile (12.2), se obţin coeficienţii egalizorului de tip trece bandă:

D 1
0
+ O =
B
a D 1 2 ) (
2 2 2
+ O + O + =
B i B i i
as c a

b
0 0 00
/ ) ( D b g
B
O + = b
i B i B i i
D g bs g c g b / ] 2 ) [(
2
0 0
2 2 2
0
2
0
+ O + O + =

b
0 0 0 01
/ 2 D c g ÷ = b
i B i i
D bs g g c / ) ( 4
0
2
0 0 1
O + ÷ =

b
0 0 02
/ ) ( D b g
B
O ÷ =
i B i i
D c g b c g b / ] ) ( ) 2 1 ( [ 2
2 2 2
0
2 2
0
2
0 2
O + ÷ + =

a
0 0 01
/ 2 D c ÷ = b
i B i i
D bs g g c / ) ( 4
0
2
0 0 3
O ÷ ÷ =

a
0 02
/ ) 1 ( D a
B
O ÷ = b
i B i B i i
D g bs g c g b / ] 2 ) [(
2
0 0
2 2 2
0
2
4
+ O ÷ O + =

a
i B i i
D as c / ) 1 ( 4
0 1
O + ÷ =

a
i B i i
D c a c / ] ) ( 2 1 [ 2
2 2 2 2
0 2
O + ÷ + =

a
i B i i
D as c / ) 1 ( 4
0 3
O ÷ ÷ =


i B i B i i
D as c a a / ] 1 2 ) [(
2 2 2
4
+ O ÷ O + = (4.29)


Figura 4.2(a): Specificaţii pentru lăţimea de bandă a egalizorului de tip Cebîşev 1



45

4.4 Proiectări cu filtre Cebîşev de tipul 2

În cazul filtrului Cebîşev de tipul 2, funcţia de transfer a filtrului analogic de decupare din
ecuaţia (4.18a), construită cu polii din semiplanul stâng al planului s, rezultaţi din ecuaţiile (12.10), este
de forma:

H
a
(s)=
r
B
B
as
bs g
(
¸
(

¸

+ O
+ O


[
= (
(
¸
(

¸

+ + O + O
+ + O + O
×
L
i
i B i B
i B i B
s c a s as
s c g b s gbs g
1
2 2 2 2
2 2 2 2 2 2
) ( 2
) ( 2
(4.30)

unde se setează
N
G g
/ 1
= şi se defineşte

b=g sinh u= ) (
2
1
1 2 ÷
÷ | | g ) (
2
1
sinh
1 ÷
÷ = = o o v a (4.31)

cu
i i i
c s u , , rezultând din ecuaţia (4.27) , iar mărimile u, v sunt date prin relaţiile:

e ,
1
|
÷
= g
u

N
B
G G
/ 1 2
0
) 1 ( c c | + + = , e
N v / 1 2
) 1 ( c c o + + = = . (4.32)

Forma ecuaţiei (4.30) facilitează folosirea limitei la 0 , 1
0
= = G G , care descrie filtrele uzuale de
tip opreşte bandă. Coeficienţii filtrului digital cu decupare de tip trece jos sunt:

D a
B
+ O =
0
D
2 2 2
2
i B i B i
c a as + + O + O =

0
00 / ) ( D b g b
B
+ O =
.

i i B i B
i D c g b gbs g b / ) 2 (
2 2 2 2 2
0 + + O + O =
.


0
01 / ) ( D b g b
B
÷ O =
.

i i B
i D c g b g b / ) ( 2
2 2 2 2 2
1 ÷ ÷ O =
.



0
01 / ) ( D a a
B
÷ O =
.

i i B i B
i D c g b gbs g b / ] 2 (
2 2 2 2 2
2 + + O ÷ O =
.



i i B
i D c a a / ) ( 2
2 2 2
1 ÷ ÷ O =
.



i i B i B
i D c a as a / ) 2 (
2 2 2
2 + + O ÷ O =
.
, (4.33)

iar coeficienţii egalizorului de tip trece bandă sunt:

D a
B
+ O =
0
D
2 2 2
2
i B i B i
c a as + + O + O =

46

b
0 00
/ ) ( D g b
B
O + = b
i i B i B i
D c g b gbs g / ) 2 (
2 2 2 2 2
0
+ + O + O =

b
0 0 01
/ 2 D bc ÷ = b
i B i i i
D gbs c g b c / ) ( 4
2 2 2
0 1
O + + ÷ =

b
0 02
/ ) ( D g b
B
O ÷ =
i B i i
D g c c g b b / ] ) 2 1 )( [( 2
2 2 2
0
2 2 2
2
O ÷ + + =

a
0 0 01
/ 2 D ac ÷ = b
i B i i i
D gbs c g b c / ) ( 4
2 2 2
0 3
O ÷ + ÷ =

a
0 02
/ ) ( D a
B
O ÷ = b
i i B i B i
D c g b gbs g / ) 2 (
2 2 2 2 2
4
+ + O ÷ O =

a
i B i i i
D as c a c / ) ( 4
2 2
0 1
O + + ÷ =

a
i B i i
D c c a / ] ) 2 1 )( [( 2
2 2
0
2 2
2
O ÷ + + =

a
i B i i i
D as s a c / ) ( 4
2 2
0 3
O ÷ + ÷ =

i i B i B i
D c a as a / ) 2 (
2 2 2
4
+ + O ÷ O = (4.34)



Figura 4.2 (b) Specificaţii pentru lăţimea de bandă a egalizorului de tip2

4.5. Proiectări cu filtre eliptice

În acest subcapitol se vor adapta metodele clasice de proiectare ale filtrelor eliptice [4.19],
[4.23]-[4.27] problemelor legate de construcţia egalizorului. Se vor urma convenţiile de notaţie şi
algoritmii de calcul din [4.25]. Modulii k şi k
1
ai funcţiei eliptice pot fi determinaţi cu ajutorul
specificaţiilor cunoscute pentru filtru, procedura fiind descrisă în cele ce urmează.
Folosirea funcţiei cd (în locul funcţiei eliptice uzuale, sn ) în definirea ecuaţiei (4.11) se aplică
atât valorilor pare cât şi valorilor impare ale ordinului N al filtrului. Modulii k şi k
1
ai funcţiei eliptice
şi ordinul N al filtrului sunt necesari pentru a satisface următoarea “ecuaţie de grad”:

47

N
1
1
' '
K
K
K
K
= (4.35)

unde K, K’ şi K
1
, K
1
’ reprezintă sferturile de perioadă corespunzătoare modulilor k şi
1
k şi sunt
definite în termenii integralelor eliptice [4.28]-[4.30] prin K=K(k), K’=K(k’), K
1
=K(k
1
) şi K
1
’=K(k
1
’), k’ şi k
1
’ fiind modulii complementari , k’=(1-k
2 / 1 2
)
şi k
1
’=
2 / 1 2
1
) 1 ( k ÷ .
O consecinţă a ecuaţiei de grad (4.35) este aceea că ) , ( ) (
1 1
k NuK cd w F
N
= este o funcţie
raţională de ) , ( k uK cd w = . ) (w F
N
este dată în cele ce urmează şi este normată astfel încât 1 ) 1 ( =
N
F :

F
[
=
(
¸
(

¸

|
|
.
|

\
|
÷
÷
|
|
.
|

\
|
÷
÷
=
L
i
i
i
i
i
r
N
k
k w
w
w w
1
2
2 2
2 2 2
2 2
1
1
1
] [ ) (
,
,
,
,
(4.36)

unde N=2L+r , iar
i
, şi (k
i
, )
1 ÷
sunt zerourile, respectiv polii pentru F ) (w
N
, cu

i
, =cd(u
i
K,k), u
i
=
N
i 1 2 ÷
, i =1 ,2 , . . . , L. (4.37)

Deoarece proiectările cu filtre eliptice oferă ripluri egale atât în banda de trecere cât şi în banda
de oprire, specificaţiile de proiectare ale egalizorului trebuie modificate prin adăugarea unui câştig
suplimentar, G
s
, care defineşte nivelul riplurilor egale în banda de oprire. Aceste specificaţii şi cele ale
filtrului echivalent analogic de decupare de tip trece jos sunt prezentate în figura 4.3.
Câştigul G
B
defineşte nivelul riplurilor egale în banda de trecere, care se extind în intervalul
) ; (
B B
O + O ÷ pentru filtrul de decupare. Riplurile egale din banda de oprire încep la o frecvenţă
B s
O ) O
cele două frecvenţe definind modulul eliptic k=
s B
O O / . La frecvenţa normată w k
B s
/ 1 /
1
= O O = ,
avem F ) (w
N
=1/k
1
.Condiţia ca k k uK cd w / 1 ) , (
1
= =

satisfăcută pentru u=jK’/K, conduce la
cd(uK,k)=cd(jK’,k)=1/k, relaţie care reprezintă o proprietate standard a funcţiei eliptice cd. Apoi,
aceeaşi proprietate împreună cu ecuaţia de grad , ecuaţia (4.35),implică:

F
1 1 1 1 1 1 1 1
/ 1 ) , ' ( ) , / ' ( ) , ( ) ( k k jK cd k K K jNK cd k NuK cd w
N
= = = = . (4.38)

Folosind ecuaţia (4.38), constrângerea prin care câştigul este egal cu G
s
pentru w= w
1
stabileşte
condiţia:

2
2
1
2
2
1
2 2 2
2
/ 1
/
) (
s
o
s a
G
k
k G G
H =
+
+
= O
c
c
·
s
k
c
c
=
1
,

2
0
2
2 2
G G
G G
s
s
s
÷
÷
= c . (4.39)

48

Astfel, modulii eliptici k şi k
1
sunt stabiliţi în funcţie de parametrii filtrului de decupare, după cum
urmează:

k=
s
B
O
O
,
s
k
c
c
=
1
(4.40)

Având în vedere ecuaţia de grad, oricare doi dintre parametrii N, G
s
,
s
O , sau echivalent N, k,
1
k vor determina al treilea parametru. Pentru problema proiectării egalizatorului este convenabilă
stabilirea lui N şi a lui G
s
, alegând G
s
foarte apropiat de G
0
în scopul de a atinge o bandă de oprire cât
mai plată. Apoi, putem determina parametrul k din ecuaţia de grad şi, prin urmare, valoarea limitei
inferioare a benzii de oprire,
s
O .
O soluţie exactă a ecuaţiei de grad se poate obţine folosind proprietatea din ecuaţia (4.38).
Fixând w
1
=1/k şi F
1 1
/ 1 ) ( k w
N
= în ecuaţia (4.36), obţinem pentru k
1
formula:

k
[
=
=
L
i
i
N
k K u sn k
1
4
1
) , ( (4.41)

pentru care am folosit proprietatea ) , ( ) 1 /( ) 1 (
2 2 2 2
k K u sn k
i i i
= ÷ ÷ , , . Observând invarianţa ecuaţiei de
grad în urma substituţiilor k '
1
k ÷ şi '
1
k k ÷ , se poate obţine, de asemenea, soluţia exactă pentru k în
funcţie de N, k
1
, exprimaţi prin modulii complementari k’, k
1
’, astfel:

k’=( '
1
k )
[
=
L
i
i
N
k K u sn
1
1 1
4
) ' , ' ( . (4.42)

Ecuaţiile (4.41) şi (4.42) cunoscute ca ecuaţii modulare, au fost descoperite prima dată de
Jacobi în tratatul său despre funcţii eliptice şi de atunci au fost folosite în scopul proiectării filtrelor
eliptice.
Ecuaţia de grad poate fi de asemenea, rezolvată şi prin metode de aproximaţie cu o precizie
destul de bună, lucrând cu corespondenţii q şi q
1
în locul modulilor k şi k
1
. Exponenţiind ecuaţia
(4.35), avem:

q
N
q =
1
·
N
q q
/ 1
1
=
,
(4.43)

unde
K K
e q
/ ' t ÷
= şi
1 1
/ '
1
K K
e q
t ÷
= . Calculând q cu ajutorul lui N şi al lui q
1
, ”modulus” k poate fi obţinut
din dezvoltarea în serie:

k=4
2
1
0
) 1 (
2
2 1
|
|
|
|
.
|

\
|
+
¿
¿
·
=
·
=
+
m
m
m
m m
q
q
q (4.44)

49

care converge foarte repede. De exemplu, păstrând doar termenii până la m=7 se obţine o aproximare
cu precizie mare.
Funcţia de transfer H ) (s
a
a filtrului de decupare este construită folosind ecuaţia (4.13), în care
polii p
i
p ,
0
sunt obţinuţi din ecuaţiile (12.12)-(12.14) din anexa A.2, iar zerourile z
i
z ,
0
din ecuaţiile
(12.16)-(12.17). În expresiile zerourilor se iau în considerare şi cazurile speciale G=1, G
0
=0 şi G=0,
G
0
=1.
După determinarea funcţiei H ) (s
a
din zerourile şi polii acesteia, funcţia poate fi transformată
într-un egalizor digital de forma ecuaţiilor (4.18), folosind transformările biliniare. Transformările
necesare ale coeficienţilor sunt obţinute din ecuaţiile (12.1) şi (12.2) din anexa A.1. Coeficienţii
filtrului digital rezultat nu au enunţate forme analitice simple.
Din valoarea calculată pentru k
B s
/ O = O , lăţimea de bandă a egalizorului,
s s s
f f / 2 A = A t e ,
la limita inferioară a benzii de oprire, poate fi obţinut
s
G prin inversarea relaţiei ) 2 / (
s s
tg e A = O .
Frecvenţele limită stânga şi dreapta ale benzii de blocare pot fi determinate din ecuaţia (4.8) prin
înlocuirea lui
B
O cu
s
O , rezultând:

1
cos
2
2
0
2
0
1
+ O
+ O O +
=
s
s
s
s
s c
e ,
1
cos
2
2
0
2
0
2
+ O
+ O O ÷
=
s
s s
s
s c
e (4.45)

Se observă că proiectarea cu filtre Cebîşev de tipul 1 corespunde limitei
s
O →∞, G
s
→ G
0
sau
k= k
1
=0. Pentru această limită sferturile de perioadă devin K= K
1
=π/2, iar funcţia eliptică cd tinde
către un cosinus normal, w=cd(uK,k)=cos(uπ/2), funcţia F ) 2 / cos( ) , ( ) (
1 1
t Nu k NuK cd w
N
= = devine
egală cu polinomul Cebîşev de ordinul N, iar C ) (w
N
şi ) 2 / cos( ) , ( t ,
i i i
u k K u cd = = devin rădăcinile
ei.



Figura 4.3 (a) Specificaţiile de proiectare pentru egalizorul eliptic
50



Figura 4.3 (b) Specificaţiile de proiectare pentru filtrul eliptic cu decupare
































51


5. DETERMINAREA ORDINULUI FILTRELOR

S-a putut observa că în cazul filtrelor eliptice, ordinul N şi nivelul de câştig G
s
pentru banda de
oprire, erau suficiente pentru determinarea restului de parametri de proiectare, şi, în particular lăţimea
de bandă
s
f A la câştigul G
s
. Invers, dacă ∆f,
s
f A şi nivelele G
B
şi G
s
sunt specificate în mod
independent, atunci modulii k şi k
1
vor fi ficşi şi nu mai satisfac neapărat ecuaţia de grad (ecuaţia
(4.35)) pentru un întreg oarecare N. În acest caz se poate calcula:

N=
K K
K K
/ '
/ '
1 1
(5.1)

rotunjind până la următorul număr întreg. Apoi, va trebui recalculat k
1
din ecuaţia (4.41), sau k din
ecuaţia (4.42). Deoarece N este o funcţie descrescătoare de k
1
şi o funcţie crescătoare de k, rezultă o
îmbunătăţire uşoară a noilor parametri rezultaţi. În primul caz k
1
va scădea uşor, ceea ce înseamnă că
fie ε descreşte, fie
s
c creşte, şi, prin urmare, fie
B
G se va apropia de G, sau G
s
se va apropia de G
0
. În
al doilea caz, k va creşte uşor, şi în consecinţă, frecvenţa
s
O va scădea, rezultând o îngustare a lăţimii
de bandă
s
f A .
O modalitate similară de determinare a ordinului N al filtrelor poate fi efectuată în cazurile
filtrelor Butterworth şi Cebîşev. Trebuie precizată o specificaţie suplimentară a lăţimii de bandă, şi
anume o nouă lăţime de bandă similară cu
s
f A la câştigul G
s
, ca în figura 4.3. Definind parametrii k şi
k
1
exact ca în ecuaţia (4.40) şi folosind condiţia
1 1
/ 1 ) ( k w F
N
= pentru w
1
=1/k, obţinem următoarele
ecuaţii de grad.
Pentru cazul Butterworth, avem:

k
N
k =
1
¬ N=
k
k
ln
ln
1
. (5.2)

Pentru cazul Cebîşev de tipul 1 avem C
1
/ 1 ) / 1 ( k k
N
= , sau
1
1
/ 1 )] / 1 ( [ k k Nch ch =
÷
¬
) / 1 (
) / 1 (
1
1
1
k ch
k ch
N
÷
÷
= . (5.3)

Pentru cazul Cebîşev de tipul 2, deoarece G
B
a fost ales apropiat de G
0
, nivelul corespunzător
lăţimii de bandă secundare trebuie ales foarte apropiat de G, obţinându-se astfel, o bandă mai îngustă
decât ∆f. Aceasta implică faptul că k=
s
B
O
O
>1 şi de asemenea,
s
k
c
c
=
1
>1. Ecuaţia de grad va fi în acest
caz C
1
) ( k k
N
= , sau
ch[Ncosh ) (
1
k
÷
]= k
1
¬
) (
) (
1
1
1
k ch
k ch
N
÷
÷
= . (5.4)

Inegalitatea
s
c < ε pentru cazul Cebîşev de tipul 2 poate fi observată din identitatea:
52

) )( (
) )( (
2
0
2 2
0
2
2
0
2 2 2
2 2
G G G G
G G G G
B s
s B
s
÷ ÷
÷ ÷
= ÷c c (5.5)

în care, pentru amplificare trebuie să avem G > G
s
> G
B
> G
0
, şi pentru atenuare, G < G
s
< G
B
< G
0
.
În cazurile Butterworth, Cebîşev de tipul 1 şi eliptic, avem întotdeauna

c c )
s
, deoarece pentru
amplificare trebuie să avem G › G
B
› G
s
› G
0
şi pentru atenuare G < G
B
< G
s
< G
0
.








































53


6. LĂŢIMEA DE BANDĂ

Nivelele lăţimii de bandă, G
B
şi G
s
pot fi alese arbitrar, atâta timp cât satisfac următoarele
inegalităţi de bază (cu G
B
şi G
s
având roluri inversate în cazul filtrului Cebîşev de tipul 2):

G > G
B
> G
s
> G
0
(pentru amplificare)
G < G
B
< G
s
< G
0
(pentru atenuare) (6.1)

În cazul în care câştigul de amplificare depăşeşte cu 3 dB nivelul de referinţă G
0
, se poate alege
ca G
B
să fie cu 3 dB sub nivelul de vârf, 2 /
2 2
G G
B
= , sau alternativ, cu 3 dB deasupra referinţei,
2
0
2
2G G
B
= . Alte alegeri posibile care să respecte inegalităţile (6.1) sunt mediile aritmetică şi
geometrică:

G
0
2
GG
B
= , G ) (
2
1
2
0
2 2
G G
B
+ = . (6.2)

Valorile corespunzătoare pentru parametrul ε dat de ecuaţia (4.12) sunt în aceste cazuri:

0
G
G
= c , ε=1. (6.3)

O definiţie mai generală este dată de media aritmetică ponderată,

2
2
0
2 2
2
1 o
o
+
+
=
G G
G
B
¬ ε=α (6.4)

unde α este o constantă arbitrară. Alegerea mediei geometrice implică faptul că o amplificare şi o
atenuare cu valori egale în dB, dar opuse ca semn, se vor anula în mod exact. Pe de altă parte, alegerea
mediei aritmetice ponderate face posibilă o generalizare a implementării Regalia- Mitra, care permite
controlul independent al coeficienţilor filtrului prin frecvenţa centrală, f
0
, lăţimea de bandă, ∆f şi
câştigul, G ale egalizorului.
Indiferent de alegerea lui G
B
, pentru toate cele patru tipuri de filtre discutate, se poate
demonstra că o amplificare sau o atenuare cu valorile câştigurilor G şi G
1 ÷
, cu nivelele lăţimii de bandă
G
B
şi respectiv G
B
1 ÷
, având aceeaşi frecvenţă centrală şi aceeaşi lăţime de bandă, se vor anula una pe
cealaltă. Se consideră amplificarea şi atenuarea definite prin restricţiile:

G > G
B
> G
s
> G
0
(amplificare)
G
1 ÷
< G
B
1 ÷
< G
s
1 ÷
< G
0
1 ÷
(atenuare). (6.5)

Din definiţia (4.12) rezultă că :

54

e amplificar
B
B
B
B
atenuare
G
G
G G
G G
G
G
G G
G G
c c
0
2
0
2
2 2
0
2
0
2
2 2
=
÷
÷
=
÷
÷
=
÷ ÷
÷ ÷
. (6.6)

Aceasta conduce la concluzia conform căreia, condiţiile rădăcinii (12.4) pentru zerouri şi poli
îşi vor schimba rolurile între ele, şi prin urmare, z
e amplificar i atenuare i
p
, ,
= şi
e amplificar i atenuare i
z p
, ,
= . Funcţiile
de transfer analogice corespondente şi în consecinţă, cele digitale vor deveni inverse una celeilalte:

H
) (
1
) (
z H
z
e amplificar
atenuare
= . (6.7)

Modulus eliptic k
1
va rămâne invariant la aceste schimbări deoarece mărimea ε
s
variază în
acelaşi mod ca ecuaţia (6.6), şi, în consecinţă, raportul ε/ ε
s
rămâne neschimbat.
Lăţimea de bandă
1 2
e e e ÷ = A este dată într-o scară de frecvenţe liniară şi intervine în
ecuaţiile de proiectare, pentru toate tipurile de filtre, prin mărimea ) 2 / ( e A = O tg
B
. Dacă lăţimea de
bandă este specificată în octave, atunci aceasta poate fi corelată cu ∆ω exprimată liniar după cum se va
vedea în cele ce urmează.
Deoarece mărimile ), 2 / (
i i
tg e = O i=0, 1, 2 sunt legate de relaţia
2
0 2 1
O = O O se poate seta
pentru ecuaţia (4.5),
0
2 /
2
2 O = O
B
şi
0
2 /
1
2 O = O
÷B
, unde B are rolul unei lăţimi de bandă analogice
echivalente exprimată în octave. Folosind câteva identităţi trigonometrice uzuale, se va obţine
următoarea expresie pentru ∆ω în funcţie de B:

|
.
|

\
|
= |
.
|

\
| A
= O B sh tg
B
2
2 ln
sin
2
0
e
e
. (6.8)

Lăţimea de bandă adevărată exprimată în octave este definită prin relaţia ) / ( log
1 2 2
e e = b , sau
2
1 2
/ e e =
b
. Înlocuind ) 2 ( 2 ) ( 2
0
2 /
2 2
O = O =
B
arctg arctg e , şi în mod similar
1
e ) 2 ( 2 ) ( 2
0
2 /
1
O = O =
÷B
arctg arctg , obţinem următoarea “ecuaţie de bandă” care uneşte B, b şi
( ) 2 /
0 0
e tg = O :

2
) 2 (
) 2 (
0
2 /
0
2 /
O
O
=
÷B
B
b
arctg
arctg
. (6.9)

În scopul de a transforma lăţimea de bandă b dată în octave într-o mărime liniară, trebuie
rezolvată ecuaţia (6.9) pentru necunoscuta B, iar rezultatul va fi apoi, substituit în ecuaţia (6.8).
Dezvoltând ecuaţia (6.9) în serie pentru b şi B şi menţinând doar termenii de ordinul 1, Bristow-
Johnson a obţinut următoarea soluţie aproximativă:

.
sin
0
0
b B
e
e
= (6.10)

55

Această aproximaţie funcţionează foarte bine pentru frecvenţele
0
e joase, precum şi pentru
frecvenţele
0
e înalte şi pentru benzi b înguste. Ecuaţia (6.9) poate fi rezolvată iterativ pentru orice
valori ale lui
0
e şi b, cu ecuaţia (6.10) servind ca punct de plecare. Prin rearanjarea ecuaţiei (6.9) sub
forma 2 )] 2 arctan( 2 tan[ /
0
2 /
0
2 /
O O =
÷ B b B
, obţinem următoarea iteraţie convergentă, iniţializată cu
B
0
=B care rezultă din ecuaţia (6.10):

2
)] 2 ( 2 [
0
2 /
0 2 /
1
O
O
=
÷
+
n
n
B b
B
arctg tg
, n = 0, 1 ,2, . . . (6.11)

Pentru valori mari ale lui
0
e pentru care aproximaţia, ecuaţia (6.10), nu este atât de bună,
convergenţa este foarte rapidă, fiind necesare doar două sau trei iteraţii. Convergenţa este lentă la valori
mici ale lui
0
e , dar în acest caz aproximaţia, ecuaţia (6.10), este bună şi nu mai este necesar calculul
iterativ. Valoarea lăţimii de bandă calculată la a n-a iteraţie poate fi definită de relaţia
) 2 ( / ) 2 ( 2
0
2 /
0
2 /
O O =
÷
n n n
B B b
arctg arctg . Eroarea de iteraţie b b
n
÷ scade exponenţial cu indicele n al
iteraţiei. Acest lucru se poate observa din cele ce urmează. Presupunând că B
n
are o valoare apropiată
de soluţia B a ecuaţiei (6.9) şi liniarizând ecuaţia recursivă, (6.11) în ceea ce îl priveşte pe B vom
obţine următoarele soluţii pentru erorile B B B
n n
÷ = A :

, ) (
n
n
a const B ÷ · = A a=
) 2 ( ) 2 1 (
) 2 ( ) 2 (
0
2 / 2
0
0
2 / 2
0
O O +
O O +
÷
B B
B B
arctg
arctg
(6.12)

în cazul în care se poate arăta că mărimea a este mai mică decât unitatea pentru toate valorile de B şi
0
O şi este o funcţie descrescătoare de B (a ≤1 pentru valori mici ale lui
0
e ceea ce explică
convergenţa lentă în acest caz ). Astfel, ∆ B
n
descreşte exponenţial, la fel şi eroarea de iteraţie b b
n
÷
, din moment ce ea urmăreşte pe| ∆ B
n
|.
Odată ce B a fost calculat din b şi
0
e , acesta poate fi folosit în ecuaţia (6.8) pentru a obţine o
lăţime de bandă liniară, ∆ω , şi din aceasta frecvenţele care definesc marginea benzii,
2 1
,e e prin
intermediul ecuaţiilor (4.8) sau din ) 2 ( 2
0
2 /
1 , 2
O =
±B
arctg e . Cele două valori extreme care definesc
banda de frecvenţe se vor încadra mereu în intervalul Nyquist pentru toate valorile lui
0
e şi b. Cu
toate acestea, trebuie evidenţiat că deşi,
2 1
,e e se află la o distanţă de b octave , acestea nu se vor plasa
neapărat în mod simetric la 2 / b ± de frecvenţa centrală
0
e , astfel că putem avea ca rezultat o bandă
foarte asimetrică, mai ales pentru valori mari ale lui
0
e .
Pentru cazurile în care se folosesc filtre Cebîşev şi eliptice este dorită posibilitatea proiectării
unor filtre bazate pe o definiţie mult mai standardizată a lăţimii de bandă, cum ar fi banda la 3 dB, dar
păstrând controlul aplatizării benzilor de trecere şi a benzilor de oprire prin intermediul câştigurilor G
B

şi G
s
. În termeni generali, problema este aceea de a calcula lăţimea de bandă e A la nivelul G
B
dintr-o
lăţime de bandă dată,
b
e A la un nivel intermediar arbitrar Gb , astfel încât
0
G < G
s
<
b
G < G
B
<G.
56

Pentru un ordin N dat, lăţimea de bandă, e A necesară şi parametrul de proiectare,
B
O

pot fi
determinaţi din
b
e A , după cum urmează:
|
.
|

\
| A
= |
.
|

\
| A
= O
2
1
2
b
b
B
w
tg
w
tg
e
(6.13)

în care frecvenţa normată w
b
este soluţia ecuaţiei:

c
c
b
b N
w F = ) ( ,
2
0
2
2 2
G G
G G
b
b
b
÷
÷
= c . (6.14)

Ecuaţia (6.14) a fost obţinută din condiţia echivalentă de amplitudine:

2
2 2
2 2 2
0
2
) ( 1
) (
b
b N
b N
G
w F
w F G G
=
+
+
c
c
. (6.15)

Soluţia ecuaţiei (6.14) este una imediată. De exemplu, pentru cazul Cebîşev de tipul 1 se poate
rezolva mai întâi ecuaţia ch(Nu)= c c /
b
considerând necunoscuta u şi apoi se poate calcula
w
b
=ch(u). În mod similar, pentru cazul eliptic, utilizând inversa funcţiei eliptice, cd (anexa A.3), se
poate rezolva ecuaţia cd(NuK c c / ) ,
1 1 b
k = pentru necunoscuta u şi se poate calcula valoarea
w
b
=cd(uK,k), unde k
1
este fixat de către nivelele G
B
şi G
s
, iar k este calculat din ecuaţia de grad dacă
se cunosc N, k
1
. După determinarea lăţimii de bandă, e A aceasta poate fi folosită pentru a completa
proiectarea filtrelor dorite. Dacă lăţimea de bandă, corespunzătoare nivelului G
B
este dată în octave,
atunci aceasta poate fi convertită într-o scară de frecvenţe liniară aplicând ecuaţiile (6.8)-(6.11) pentru
b
e A în locul lui e A .
În cazul în care ordinul N al filtrului nu este dat, dar sunt cunoscute ambele benzi, e A şi
b
e A
la nivelele G
B
şi respectiv G
b
, vor fi fixate mărimile
b
c şi ) 2 / ( / ) 2 / ( e e A A = tg tg w
b b
şi, în
consecinţă ordinul N al filtrului poate fi determinat rezolvând ecuaţia (6.14). Acest lucru este imediat
pentru cazurile Cebîşev şi Butterworth.
Cazul eliptic este puţin mai dificil deoarece cel de al treilea nivel, G
s
trebuie fixat de asemenea
independent. Se va folosi, deci următoarea abordare. Pentru fiecare ordin succesiv al filtrului N=1,2,. . .
se calculează k din parametrii N, k
1
, utilizând ecuaţia de grad, apoi se rezolvă cd(NuK c c / ) ,
1 1 b
k =
pentru u , calculând eroarea e=cd(uK,k)-w
b
şi se va reţine prima valoare a lui N pentru care e devine
negativ. (Se începe întotdeauna de la valori pozitive, cu condiţia ca w
b
<
b
c /ε , care este prevăzut
pentru specificaţiile practice).
Dacă filtrul este proiectat cu N calculat şi e A dat, atunci valoarea rezultată pentru lăţimea de
bandă la nivelul G
b
va fi uşor mai îngustă decât
b
e A . Dacă se impune ca lăţimea de bandă
b
e A să
coincidă exact cu valoarea dorită, atunci valoarea rezultată pentru lăţimea de bandă, e A determinată
din ecuaţiile (6.13)-(6.14) folosind N calculat, va fi uşor mai mare decât valoarea specificată iniţial.


57

7. REALIZĂRI

Funcţia de transfer a egalizorului digital, H(z) obţinută din ecuaţia (4.18) poate fi realizată sub
forma unor structuri în cascadă de secţiuni de ordinul al patrulea, ca în ecuaţia (4.18c) sau alternativ,
ca o structură în cascadă de secţiuni ale filtrului de decupare de tip trece jos de ordinul al doilea, ca în
ecuaţia (4.18b), unde fiecare element de întârziere,
1 ÷
.
z este înlocuit prin transformarea din trece jos în
trece bandă, din ecuaţia (4.17).
Se consideră pe scurt, versiunile cu transformare de frecvenţă ale realizărilor transpuse, latice
normate şi ale realizărilor bazate pe ecuațiile de stare cu zgomot de rotunjire minim,din ecuaţia (4.18b).
Despre ultimele două se ştie că au proprietăţi numerice excelente, dar cu preţul dublării efective a
numărului de coeficienţi ai filtrului. Aceste realizări corespund unor specificaţii stricte ale filtrului, cum
ar fi frecvenţe centrale joase sau parametri ai egalizorului care variază rapid.
Realizarea structurii de latice normată a transformării, ecuaţia (4.17), este prezentată în figura
7.1 . Aceasta are limita corespunzătoare, la
0
e =0 şi la
0
e =π (fără a necesita reduceri de poli/zerouri )
în cazul filtrelor de decupare de tip trece jos şi de tip trece sus. Sunt posibile, desigur alte realizări ale
ecuaţiei (4.17) care necesită mai puţine calcule cum ar fi, de exemplu, forma cu un singur multiplicator
ca în [4.8], [4.22]. Totuşi acestor realizări le lipsesc proprietăţile de normare L
2
şi de scalare ale laticei
normate.
Realizarea transpusă (a formei directe II ) de secţiuni de ordinul al doilea ,ca în ecuaţia (18b),
după ce fiecare întârziere
1 ÷
.
z a fost înlocuită ca în figura 7.1, este prezentată în figura 7.2. Figura
reprezintă funcţia de transfer:

,
1
) (
) (
2
2
1
1
2
2
1
1 0
÷
. .
÷
. .
÷
. .
÷
. . .
.
.
+ +
+ +
=
z a z a
z b z b b
z A
z B
.
1
) (
1
0
1 1
0
1
÷
÷ ÷ ÷
.
÷
÷
=
z c
z z c
z (7.1)





Figura 7.1 Realizarea latice normată a ecuaţiei (4.17)
58



Figura 7.2: Realizarea transpusă cu transformare de frecvență a secţiunilor filtrului
din ecuaţia (18b)

Realizarea latice normată din ecuaţia (7.1) este prezentată în figura 7.3. Coeficienţii de reflecție
şi de transmisie sunt calculaţi după cum urmează:

2
1
1
1
.
.
+
=
a
a
¸ , 2
2
.
= a ¸ , 1
2
1
1 ¸ t ÷ = ,
2
2 2
1 ¸ t ÷ = . (7.2)

Coeficienţii structurii latice,
2 1 0
, , d d d sunt soluţiile următorului sistem format din trei ecuaţii:

(
(
(
(
¸
(

¸

=
(
(
(
¸
(

¸

(
(
(
(
(
¸
(

¸

.
.
.
.
.
2
1
0
2
2 1
2 1 0
1
2
1
1 0 0
1 0
1
b
b
b
d
d
d
a
a
o
t t
¸
(7.3)
Factorul de ordinul întâi din ecuaţia (4.18b) se obţine prin fixarea 0 2 2 = =
. .
b a , sau echivalent,
0 , 0
2 2
= = d ¸ şi 1
2
= t , care are ca efect ştergerea secţiunii latice,
2
¸ .
Ecuaţiile de calcul (7.2) şi (7.3) sunt uşor de folosit. Pentru cazurile Butterworth şi Cebîşev pot
fi date expresii explicite pentru parametrii laticei filtrului. De exemplu, pentru factorul Butterworth de
ordinul întâi din ecuaţia (4.18b) avem:

,
1
1
1
+
÷
=
|
|
¸
1
) (
0
0
+
+
=
|
| g g
d ,
1
0
1
+
÷
=
|
| g g
d (7.4)

Ecuaţia (7.4) poate fi de asemenea, utilizată pentru a implementa egalizorul bipătratic
convenţional. Pentru al i-lea factor Butterworth de ordinul al doilea din ecuaţia (4.18b) avem:

,
1
1
2
2
1
+
÷
=
|
|
¸ ,
1 2
1 2
2
2
2
+ +
+ ÷
=
| |
| |
¸
i
i
s
s
(7.5)

59

) 1 ( 2 ) 1 2 (
)] ( 2 ) )( 1 )[( (
2 2
0 0
2
0
0
+ + +
+ + ÷ ÷ +
=
| | |
| | |
i i
i
s s
g g s g g g g
d

) 1 ( ) 1 2 (
)] ( ) 1 ( )[ ( 2
2 2
0 0
1
+ + +
+ ÷ + +
=
| | |
| | | |
i i
i i
s s
s g s g g g
d (7.6)

1 2
2
2
2
0 0
2 2
2
+ +
+ ÷
=
| |
| |
i
i
s
g s gg g
d




Figura 7.3 Realizarea latice normată cu transformare de frecvență a secţiunilor de filtre
din ecuaţia (18b)

Sunt bine cunoscute realizările bazate pe ecuațiile de stare care au un zgomot de rotunjire
minim pentru aritmetica în virgulă fixă şi pentru o constrângere de scalare L2 a stărilor interne.
Ecuaţiile de proiectare explicite pentru cazul secţiunilor de ordinul al doilea cu poli complex-conjugaţi
au fost obţinute de către Barnes şi Bomar.
Putem folosi astfel de realizări optime pentru fiecare secţiune de ordinul al doilea din ecuaţia
(4.18b) şi putem înlocui întârzierile
1 ÷
.
z , ca în figura 7.1. Descrierea corespunzătoare a domeniilor de
timp este:

y(n)=Cs(n)+Dx(n)

s(n+1)=c ) ( )] ( ) ( [
0 0
n w s n Bx n As ÷ +

w(n+1)=s ) ( )] ( ) ( [
0 0
n w c n Bx n As + + . (7.7)

Parametrii ABCD sunt daţi în anexa A.4. Pentru cazul N impar factorul de ordinul întâi în
variabila
1 ÷
.
z este descris în ecuaţiile (7.7) cu ajutorul parametrilor unidimensionali ABCD.
Pentru cazul special al egalizorului bipătratic obişnuit (N=1) factorul de ordinul întâi în
variabila
1 ÷
.
z poate fi considerat ca un factor de ordinul al doilea în variabila z
1 ÷
şi care este realizat în
mod direct în forma optimă bazată pe ecuațiile de stare de ordinul al doilea. S-a dedus în acest caz,
următoarea formă explicită a parametrilor ecuațiilor de stare de ordinul al doilea:
60

¸

÷ +
=
0
0
1
1
s
c
A
| |
(
¸
( +
0
0
c
s |
,


B=
(
(
¸
(

¸

+ ÷
÷
+
0
0
1
1
1
2
s
s
o
|
|
, (7.8)


C= ] 1 , 1 [
1
) ( 2
0 0
0
s s
G G
÷ ÷ +
+
÷
o
|
|
,


D=
|
|
+
+
1
0
G G


unde ) 2 / (
1
e c | A =
÷
tg şi ) (
0
c sign = o , cu condiţia ca sign(0)=1. Filtrele de decupare de ordinul întâi
de tip trece jos şi trece sus corespondente cu limitele la
0
e =0 şi
0
e =π sunt descrise de următorii
parametri unidimensionali ai ecuațiilor de stare.

,
1
1
|
|
+
÷
± = A B=
|
|
+ 1
2
,
|
|
+
÷
± =
1
) (
0
G G
C ,
|
|
+
+
=
1
0
G G
D . (7.9)

Matricea covarianţă de stare a realizării, ecuaţia (7.8), este:

I A BB A K
n
Tn T n
= =
¿
·
=0
(7.10)

unde I este matricea identitate bidimensională. Un rezultat similar este valabil şi pentru realizarea din
ecuaţia (7.9), dar înlocuind I cu matricea unitate. Se observă că regula de scalare L
2
necesită ca
intrările de pe diagonala matricii K să fie egale cu unitatea.



Figura 7.4: Realizarea pe baza ecuației de stare a secţiunilor de filtre din ecuaţia (18b)
61

Realizările prezentate în figurile 7.2-7.4 sunt decuplate parţial în sensul că dependenţa de
frecvenţa centrală,
0
e rezidă doar pentru multiplicatorii
0 0
, s c , în timp ce dependenţa de lăţimea de
bandă şi de câştig rezidă pentru alţi coeficienţi.
Este posibilă generalizarea realizărilor Regalia-Mitra pentru cazurile filtrelor Butterworth şi
Cebîşev, pentru care dependenţa de lăţimea de bandă, de câştig şi de frecvenţa centrală este complet
decuplată în coeficienţi separaţi ai filtrului.
O astfel de decuplare este posibilă numai dacă nivelul de lăţime de bandă este definit conform
mediei aritmetice ponderate din ecuaţia (6.4). Apoi, constanta ε=α este independentă de câştigul de vârf
G, şi prin urmare, parametrul β din ecuaţia (4.20) depinde doar de lăţimea de bandă ∆ω.
Pentru factorul de ordinul întâi din ecuaţia (4.18b) realizarea decuplată este obţinută prin
rearanjarea laticei normate a filtrului de ordinul întâi, ca în figura 7.5, în care coeficienţii
1 0
, d d sunt
soluţiile sistemului:

.
1
1
1
0
1
0
1
1
(
(
¸
(

¸

=
(
¸
(

¸

(
(
¸
(

¸

.
.
.
.
b
b
d
d
a
a
(7.11)


Figura 7.5: Realizarea decuplată a factorului de ordinul întâi din ecuaţia (18b)

Ecuaţia (7.11) este echivalentă cu dezvoltarea funcţiei de transfer de ordinul întâi
corespondente, în forma:

) (
) (
1
) (
) (
1 0
1
1
1
1 0
.
.
÷
. .
÷
. . .
.
.
+ =
+
+
=
z A
z A
d d
z a
z b b
z A
z B
R
, (7.12)

în cazul în care ) (
.
z A
R
este inversul polinomului A ) (
.
z . Pentru coeficienţii filtrului Butterworth de
ordinul întâi din relaţia (4.22) se obţin:

,
1
1
1
+
÷
=
|
|
¸
2
0
0
g g
d
+
= ,
2
0
1
g g
d
÷
= . (7.13)

În mod similar, pentru cazul filtrului Cebîşev de ordinul întâi avem:

1
1
1
+ O
÷ O
=
B
B
a
a
¸ ,
|
.
|

\
|
+ =
0 0
2
1
g
a
b
d , .
2
1
0 1
|
.
|

\
|
÷ = g
a
b
d (7.14)

62

Astfel, coeficienţii
1 0
, d d depind numai de câştig, iar coeficienţii
1 1
,o ¸ depind numai de
lăţimea de bandă. Factorii de ordinul al doilea din ecuaţia (4.18b) admit de asemenea, o realizare
decuplată, dar cu preţul dublării numărului de întârzieri. Figura 7.6 prezintă această realizare, în care
coeficienţii
1 0
, d d ,d
2
sunt soluţiile sistemului:

.
1 1
2
1 1
2
1
0
2 1 2
1
0
2
1 1
2
(
(
(
(
¸
(

¸

=
(
(
(
¸
(

¸

(
(
(
(
¸
(

¸

.
.
.
.
. .
.
b
b
b
d
d
d
a
a a
a
t t
(7.15)

Acest lucru este echivalent cu extinderea funcţiei de transfer de ordinul al doilea (7.1) în forma:

.
) (
) 1 (
) (
) (
) (
) (
1
2 1
2 1 0
.
÷
.
.
.
.
.
+
+ + =
z A
z
d
z A
z A
d d
z A
z B
R
t t
(7.16)

Pentru factorii i Butterworth de ordinul al doilea din ecuaţia (4.22) avem

), (
2
1
0 0 0
g g g d + = ) (
2
1
0 0 1
g g g d ÷ = ,
i
s
g g d
32
) 1 (
) (
2
2
0
2
2
+
÷ =
| |
, (7.17)

cu coeficienţii de simetrie daţi de ecuaţia (7.5). Pentru cazul Cebîşev de tipul 1 avem:

1 ) (
1 ) (
2 2 2
2 2 2
1
+ O +
÷ O +
=
B i
B i
c a
c a
¸ ,
1 2 ) (
1 2 ) (
2 2 2
2 2 2
2
+ O + O +
+ O ÷ O +
=
B i B i
B i B i
as c a
as c a
¸

|
.
|

\
|
+ =
a
b
g g d
0 0 0
2
1
,
|
.
|

\
|
÷ =
a
b
g g d
0 0 1
2
1


.
) ( 32
] 1 ) [(
) (
2 2
2 2 2
2 2
0
2
2
i i
B B i
c a a s
c a
a g b d
+
O + O +
÷ =
Înlocuind unitatea de întârziere
1 ÷
.
z ca în figura 7.1 şi divizând multiplicatorul d
2
în doi factori,
unul care depinde de g şi unul care depinde de
B
O , se va obţine o realizare a egalizorului care permite
controlul independent al câştigului, al lăţimii de bandă şi al frecvenţei centrale. În cazurile filtrelor
Cebîşev trebuie ales în ecuaţia (6.4), α ‹‹1 pentru filtrul Cebîşev de tipul 1 şi α ››1 pentru filtrul Cebîşev
de tipul 2, în scopul de a obţine benzi de trecere, respectiv benzi de oprire plate.
Limitarea principală a acestor realizări decuplate este definiţia constrângerii pentru nivelul
lăţimii de bandă, G
B
. Prin urmare, realizările transpusă, latice normată şi realizările bazate pe ecuațiile
de stare sunt mai flexibile.

63



Figura 7.6: Realizarea decuplată a factorilor de ordinul al doilea din ecuaţia (18b)





































64

8. EXEMPLE DE PROIECTARE ALE EGALIZOARELOR DIGITALE
PARAMETRICE DE ORDIN MARE

Figurile 8.1-8.4 prezintă caracteristicile amplitudine-frecvenţă ale structurilor în cascadă pentru
cele patru tipuri de filtre de egalizare: un filtru de decupare de tip trece-jos, un filtru de tip trece bandă
care amplifică semnalul, un filtru de tip trece bandă care va atenua semnalul şi un filtru de decupare de
tip trece-sus, construite în funcţie de cele patru tipuri de filtre pentru ordinele filtrului analogic N=4 şi
N=5. Valorile frecvenţelor centrale, ale lăţimii de bandă şi ale câştigului de amplificare (relativ la
G
0
=0dB ) sunt următoarele:

1
f =0 kHz, ∆
1
f =1kHz,
1
G =9 dB
2
f =4 kHz, ∆
2
f =2kHz,
2
G =12 dB

3
f =9 kHz, ∆
3
f =2 kHz, 6
3
÷ = G dB
4
f =20 kHz, ∆
4
f =4 kHz,
4
G =6 dB (8.1)

în care toate câştigurile trebuie să fie convertite din dB în unităţi absolute de amplitudine, înainte de a fi
utilizate în ecuaţiile de proiectare. Rata de eşantionare a fost de 40 kHz.
Pentru cazul Butterworth, prezentat în figura 8.1, câştigurile de lăţime de bandă au fost alese ca
fiind cu 3 dB sub câştigul de vârf pentru amplificare şi cu 3 dB deasupra câştigului de vârf pentru
atenuare, ceea ce conduce la relaţia:

6
1
=
B
G dB, 9
2
=
B
G dB, 3
3
÷ =
B
G dB, 3
4
=
B
G dB (8.2)

Punctele marcate de pe grafice reprezintă frecvenţele centrale şi cele care definesc marginea
benzii de frecvenţă, calculate ca în ecuaţia (4.8). În cazul Butterworth, pe lângă caracteristica
egalizorului digital dorit, am simulat şi comportarea secţiunilor individuale de ordinul al doilea
(biquad), precum şi comportarea acestora, dar în cazul conectării în cascadă, figura 8.1. Se observă că
egalizorul de ordin N=5 are pantele ceva mai abrupte decât egalizorul de ordin N=4, însă diferenţele nu
sunt semnificative.




0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=4, Butterworth


Butterworthîncascadã
sectiuni biquadîncascadã
sectiuni biquadindividuale
65



Figura 8.1: Proiectare de tip Butterworth cu N=4 şi N=5
Pentru cazul filtrului Cebîşev de tipul 1 (cu ripluri egale în banda de trecere), prezentat în figura
8.2, am păstrat aceleaşi frecvenţe centrale, lăţimi de bandă şi câştiguri de vârf, dar în scopul de a obţine
benzi de trecere cât mai plate, am ales câştigurile corespunzătoare lăţimii de bandă ca fiind cu 0.01 dB
sub câştigul de vârf pentru cazul amplificării (şi cu 0.01 dB deasupra câştigului de referinţă pentru
cazul atenuării), adică:
99 . 8
1
=
B
G dB, 99 . 11
2
=
B
G dB, 99 . 5
3
÷ =
B
G dB, 99 . 5
4
=
B
G dB (8.3)



Figura 8.2 Proiectare de tip Cebîşev 1, cu N=4 şi N=5
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=5, Butterworth


Butterworthîncascadã
sectiuni biquadîncascadã
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=4, Cebîsev, tip-1


Cebîsev încascadã
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=5, Cebîsev, tip-1


Cebîsev încascadã
66

Ca urmare, benzile de trecere sunt foarte plate, dar singura modalitate de a aplatiza benzile de
oprire este creşterea ratei de variaţie cu frecvenţa prin alegerea unor valori mari pentru ordinul N al
filtrului. Pentru cazul filtrului Cebîşev de tipul 2 (cu ripluri egale în banda de oprire) prezentat în figura
8.3, în scopul de a obţine benzi de oprire cât mai plate, am ales câştigurile corespunzătoare lăţimii de
bandă ca fiind cu 0.01 dB deasupra nivelului de referinţă G
0
de 0 dB, ceea ce conduce la:

01 . 0
1
=
B
G dB, 01 . 0
2
=
B
G dB, 01 . 0
3
÷ =
B
G dB, 01 . 0
4
=
B
G dB (8.4)

Lăţimile de bandă care sunt aproape de linia câştigului de referinţă au valorile impuse prin
proiectare, însă vârfurile de amplificare şi de atenuare se vor îngusta vizibil, datorită lăţimii crescătoare
cu ordinul filtrului, N. În figura 8.4 este prezentat cazul eliptic (cu ripluri egale atât în banda de trecere
cât şi în banda de oprire), pentru care câştigurile corespunzătoare lăţimii de bandă, atât pentru banda de
trecere cât şi pentru banda de oprire au fost alese ca fiind cu 0.01 dB sub nivelul de vârf şi respectiv sub
nivelul de referinţă, în cazul amplificării, (invers pentru cazul atenuării), obţinându-se următoarele
valori:

99 . 8
1
=
B
G dB, =
2 B
G 11.99 dB, 99 . 5
3
÷ =
B
G dB, 99 . 5
4
=
B
G dB

01 . 0
1
=
s
G dB, 01 . 0
2
=
s
G dB, 01 . 0
3
÷ =
s
G dB, 01 . 0
4
=
s
G dB. (8.5)



Figura 8.3 Proiectare de tip Cebîşev 2, cu N=4 şi N=5

0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=4, Cebîsev, tip-2


Cebîsev încascadã
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=5, Cebîsev, tip-2


Cebîsev încascadã
67






Figura 8.4 Proiectare de tip eliptic, cu N=4 şi N=5

Cazul eliptic combină avantajele cazurilor Cebîşev de tipul 1 şi de tipul 2 şi oferă atât benzi de
trecere cât şi benzi de oprire plate.
Pentru a evalua acurateţea calculului funcţiei eliptice am utilizat un număr fix de iteraţii Landen
(descrise în anexa A.3), am calculat procentul erorilor al caracteristicii globale de frecvenţă pentru
conectarea în cascadă şi am constatat că acesta este mai mic decât 0.1 la sută în cazul în care sunt
utilizate patru iteraţii şi este mai mic decât 10
5 ÷
la sută pentru cinci iteraţii. Astfel, fixând numărul de
iteraţii Landen la cinci, face ca implementarea cazului eliptic să fie doar uşor mai complicată decât în
cazurile Cebîşev.
În figura 8.5 este prezentat acelaşi exemplu, dar reproiectat astfel încât cazurile filtrelor Cebîşev
şi eliptic au lăţimi egale cu 3 dB, la fel ca în cazul Butterworth. Lăţimile de bandă enumerate în ecuaţia
(8.1) reprezintă lăţimile de 3 dB, relativ la câştigurile de vârf, corespunzătoare nivelelor:

6
1
=
b
G dB, 9
2
=
b
G dB, 3
3
÷ =
b
G dB, 3
4
=
b
G dB (8.6)

0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=4, Eliptic


Eliptic încascadã
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N=5, Eliptic


Eliptic încascadã
68





Figura 8.5 Exemple de proiectări cu lăţimi de bandă impuse de 3 dB

Câştigurile G
B
şi
s
G au fost definite tot prin ecuaţiile (8.3)-(8.5). Lăţimile de 3 dB au fost
reasociate cu lăţimile de bandă ale nivelelor de proiectare G
B
, utilizând ecuaţiile (6.13)-(6.14). Ordinul
filtrului analogic a fost N=4.
Am comparat de asemenea, performanţa realizărilor canonică, (forma directă II), transpusă,
latice normată şi a realizărilor bazate pe ecuația de stare pentru anumite setări extreme ale filtrului în
care parametrii se schimbă rapid. Am folosit acelaşi exemplu de referinţă discutat de către Moorer şi
aplicat egalizoarelor Butterwoth, Cebîşev şi eliptic de ordin N=1-10, proiectate cu următoarele
specificaţii de câştig:

Butterworth G=18 dB, G
B
=15 dB
Cebîşev 1 G=18 dB, G
B
=17.99 dB
Cebîşev 2 G=18 dB, G
B
=0.01 dB
Eliptic G=18 dB 99 . 17 =
B
G dB
s
G =0.01 dB.

Pentru primele 1000 de eşantioane de timp, frecvenţa centrală şi lăţimea de bandă (la nivel G
B

) au fost fixate la 44.1 Hz şi respectiv, la 22.05 Hz; pentru următoarele 2000 de eşantioane, frecvenţa
centrală a fost crescută la 441 Hz, iar lăţimea de bandă la 220.5 Hz; pentru ultimele 1000 de eşantioane,
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Butterworth
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Cebîsev-1
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Cebîsev-2
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Eliptic
69

frecvenţa centrală şi lăţimea de bandă şi-au păstrat valorile de 441 Hz, respectiv de 220.5 Hz. Rata de
eşantionare a fost de 44.1 kHz.
Intrarea a fost un vector format din 4000 de numere cu distribuţie uniform aleatoare, din
intervalul [0,1]. Rezultatele celor patru realizări sunt prezentate în figura 8.6(a) pentru proiectarea cu
filtru eliptic cu ordinul N=5. Graficele din figura 8.6(b) prezintă răspunsurile pentru o intrare cu
amplitudinea egală cu 0.5, care corespunde mediei intrărilor aleatoare.







0 1000 2000 3000 4000
-2
0
2
Canonicã
esantioane de timp
0 1000 2000 3000 4000
-2
0
2
Canonicã
esantioane de timp
0 1000 2000 3000 4000
-2
0
2
Transpusã
esantioane de timp
0 1000 2000 3000 4000
-2
0
2
Transpusã
esantioane de timp
0 1000 2000 3000 4000
-2
0
2
Latice Normatã
esantioane de timp
0 1000 2000 3000 4000
-2
0
2
Latice Normatã
esantioane de timp
70



Figura 8.6 Caracteristica egalizorului cu frecvenţă centrală variabilă în timp şi lăţime de bandă

Realizarea transpusă a fost implementată ca o structură în cascadă de realizări din figura 7.2.
Realizarea canonică a fost o transpusă din figura 7.2. Realizările latice normată şi realizarea bazată pe
ecuația de stare au fost implementate prin proiectarea în cascadă a realizărilor din figurile 7.3, respectiv
7.4.
Se observă că realizările transpuse, latice şi cele bazate pe ecuația de stare produc rezultate
comparabile. Ieşirile diferă numai pe durata perioadei de tranziție atunci când filtrul variază în timp şi
realizările nu sunt echivalente. Consecvent cu observaţiile lui Moorer, ieşirea structurii de latice
normată este vizibil, imposibil de distins de cea a cazului bazat pe ecuația de stare, cele două semnale
rezultate diferă prin cel puţin 0.2 la sută. Aşa cum era de aşteptat, forma canonică este afectată de
oscilaţii mari în cursul perioadei de tranziție, datorate stărilor interne nescalare.
Rezultatele proiectărilor cu filtre Butterworth şi Cebîşev pentru N=1-10 au fost comparabile cu
cele din figura 8.6. Am variat de asemenea, rata de eşantionare până la 96 kHz şi/sau micşorând
frecvenţele centrale cu rezultate similare. Am considerat în principal, cazul în care frecvenţa centrală
iniţială a fost setată la zero (filtru de decupare) pentru primele 1000 de eşantioane. Realizarea canonică
are tendinţa de a se deteriora pe măsură ce frecvenţele centrale se micşorează, rezultând oscilaţii mari
în cursul perioadei de tranziție, dar celelalte realizări rămân neafectate.
Am studiat de asemenea, performanţa realizărilor transpuse ale factorilor de gradul al patrulea
din ecuaţia (4.18c), şi s-a constatat că în cea mai mare parte acestea s-au comportat bine, dar s-au
deteriorat la frecvenţa centrală zero, de fapt, devenind instabile datorită coeficienţilor erorilor de
rotunjire care au împins unii dintre poli în afara cercului cu raza unitate.
Figura 8.7 prezintă realizările canonică, transpusă şi latice normată ale proiectării eliptice cu
N=5 şi nivelul benzii de blocare,
s
G =0.01 dB. Nivelul lăţimii de bandă, G
B
a fost luat cu 0.01 dB mai
mic decât câştigul de vârf, G. (Atunci când aceste definiţii nu au putut fi implementate deoarece G era
prea mic, am definit G
B
= G şi
s
G =
B
G ). Realizarea pe baza ecuației de stare nu este prezentată,
producând mereu aceleaşi ieşiri efective ca realizarea latice.
În figura 8.7(a) câştigul a fost schimbat instantaneu la 18 dB (G=8 în unităţi absolute); în figura
4.16(b), câştigul a fost schimbat treptat în patru etape dispuse liniar în dB, între 0 şi 18; în figura 8.7(c)
câştigul a fost mărit continuu, variind liniar în dB. Curbele câştigului au fot suprapuse în grafice.
Rezultate similare au fost observate pentru cazurile Butterwoth şi Cebîşev.



0 1000 2000 3000 4000
-2
0
2
Realizare bazatã pe ecuatia de stare
esantioane de timp
0 1000 2000 3000 4000
-2
0
2
Realizare bazatã pe ecuatia de stare
esantioane de timp
71




a)



b)
0 1000 2000 3000
-8
0
8
Canonicã
esantioane de timp
0 1000 2000 3000
-8
0
8
Transpusã
esantioane de timp
0 1000 2000 3000
-8
0
8
Latice Normatã
esantioane de timp
0 1000 2000 3000
-8
0
8
Canonicã
esantioane de timp
0 1000 2000 3000
-8
0
8
Transpusã
esantioane de timp
0 1000 2000 3000
-8
0
8
Latice Normatã
esantioane de timp
72




c)

Figura 8.7. Caracteristica sinusoidală a egalizorului cu câştig variabil în timp

Deşi realizarea transpusă a fost uneori mai lentă decât laticea, în ceea ce priveşte schimbarea
costului, aceasta reprezintă o alegere bună pentru implementarea egalizoarelor de ordin mare datorită
costului mai mic de calculul al acesteia şi al comportamentului numeric bun .
De asemenea, am efectuat experimentele din figurile 8.6 şi 8.7 folosind realizările decuplate din
figurile 7.5 şi 7.6 observându-se că acestea au performanţe vizibil identice cu cele ale laticei normate.
















0 1000 2000 3000
-8
0
8
Canonicã
esantioane de timp
0 1000 2000 3000
-8
0
8
Transpusã
esantioane de timp
0 1000 2000 3000
-8
0
8
Latice Normatã
esantioane de timp
73

9. FUNCȚII DE PROIECTARE A EGALIZORULUI

În continuare am prezentat o colecție de funcții MATLAB pentru proiectarea filtrelor
egalizorului digital parametric de ordin mare pe baza prototipurilor analogice Butterworth, Cebîșev și
eliptice și pentru implementarea acestora în formele transpusă, latice normată și bazate pe ecuația de
stare, cu transformare de frecvență.Egalizoarele de ordin mare furnizează benzi de trecere mai plate și
margini de bandă cu pante mai abrupte, dar cu prețul unui cost de calcul ridicat. Aceste funcții pot fi
folosite de asemenea, pentru proiectarea filtrelor de tip trece jos, trece sus, trece bandă și oprește bandă.

▪ hpeq – proiectarea egalizorului digital parametric de ordin mare
▪ hpeq1 – la fel ca hpeq, dar foloseşte ecuaţii de proiectare explicite
▪ hpeqbw – reprezentarea lăţimii de bandă pentru egalizorul digital parametric de ordin
mare
▪ hpeqex0 – exemplu de ieşire pentru hpeq
▪ hpeqex1 – exemplu de ieşire pentru hpeq
▪ hpeqex2 – exemplu de ieşire pentru hpeq
▪ hpeqord – determinarea ordinului pentru egalizorul digital parametric
▪ bandedge – calculează frecvenţele stânga şi dreapta ale marginii benzii pentru
transformata biliniară
▪ blt – transformata biliniară a secţiunilor analogice de ordinul al doilea
▪ octbw – soluţie iterativă pentru ecuaţia benzii exprimată în octave
▪ bandwidth – calculează lăţimea de bandă pentru orice nivel
În următoarele figuri se vor prezenta ieșiri ale funcțiilor de proiectare a egalizoarelor digitale
parametrice de ordin mare:



Figura 9.1: Egalizor Butterworth, pentru cazul amplificării și cazul atenuării
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
Amplificare Butterworth N = 5
f (kHz)
d
B
0 2 4 6 8 10 12 14 16 18 20
-12
-9
-6
-3
0
3
6
9
12
Atenuare Butterworth N = 5
f (kHz)
d
B
74



Figura 9.2: Egalizoare Cebîșev de tipul 1 și tipul 2, cazul amplificării




Figura9.3: Proiectări cu lățimi de bandă impuse de 3 dB
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
Cebîsev-1,Amplificare, N = 4
f (kHz)
d
B
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
Cebîsev-2, Atenuare, N = 4
f (kHz)
d
B
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Butterworth
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Cebîsev - 1
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Cebîsev - 2
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
f (kHz)
d
B
N = 4, Eliptic
75



Figura 9.4: Filtru cu decupare trece jos Cebîșev-2, cazul amplificării



Figura 9.5: Filtru cu decupare trece sus Eliptic, cazul amplificării



Figura 9.6: Filtru trece sus Cebîșev de tipul 2

0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
Filtru cu decupare trece jos Cebîsev-2, N = 4
f (kHz)
d
B
0 2 4 6 8 10 12 14 16 18 20
-6
-3
0
3
6
9
12
Filtru cu decupare trece sus Eliptic, N = 5
f (kHz)
d
B
0 2 4 6 8 10 12 14 16 18 20
0
0.25
0.5
0.75
1
Filtru trece sus Cebîsev-2
f (kHz)
u
n
i
t
ã
t
i

a
b
s
o
l
u
t
e
76



Figura 9.7: Filtru trece bandă Cebîșev de tipu1 și filtru oprește bandă Cebîșev de tipul 2



Figura 9.8: Filtru trece bandă eliptic



Figura 9.9: Filtru oprește bandă Eliptic

0 2 4 6 8 10 12 14 16 18 20
0
0.25
0.5
0.75
1
Filtru trece bandã Cebîsev-1
f (kHz)
u
n
i
t
ã
t
i

a
b
s
o
l
u
t
e
0 2 4 6 8 10 12 14 16 18 20
0
0.25
0.5
0.75
1
Filtru opreste bandã Cebîsev-2
f (kHz)
u
n
i
t
ã
t
i

a
b
s
o
l
u
t
e
0 2 4 6 8 10 12 14 16 18 20
0
0.25
0.5
0.75
1
Filtru trece bandã Eliptic
f (kHz)
u
n
i
t
ã
t
i

a
b
s
o
l
u
t
e
0 2 4 6 8 10 12 14 16 18 20
0
0.25
0.5
0.75
1
Filtru opreste bandã Eliptic
f (kHz)
u
n
i
t
ã
t
i

a
b
s
o
l
u
t
e
77



Figura 9.10: Filtru trece jos Eliptic




0 2 4 6 8 10 12 14 16 18 20
0
0.25
0.5
0.75
1
Filtru trece jos Eliptic
f (kHz)
u
n
i
t
ã
t
i

a
b
s
o
l
u
t
e
78

10. CONCLUZII

Egalizarea (EQ- ”equalization”) reprezintă procesul de mărire (“boosting”) sau de micșorare
selectivă a unor frecvențe din semnalul audio. Egalizarea se poate aplica în toate etapele de înregistrare,
post-operare sau redare. Acest proces trebuie aplicat cu precauție, deoarece modificarea amplitudinilor
relative ale frecvențelor poate sa producă un sunet artificial.
O soluție simplă de egalizare este oferită de majoritatea aparatelor audio dotate cu butoane de
control de ton: banda de frecvențe joase (“bass”) este de 20-200 Hz, iar banda de frecvențe înalte este
de 4-20 KHz.
Egalizatorul parametric este mai flexibil și permite focalizarea pe benzi individuale de
frecvență. Se poate stabili centrul benzii de frecvență și se pot ajusta frecvențele. Egalizatorul
parametric operează numai asupra unei singure benzi la un moment dat și se bazează pe filtre trece
bandă și filtre oprește bandă. Un filtru trece bandă permite trecerea frecvențelor din afara benzii (în
cazul ideal frecvențele sunt eliminate, dar în realitate acestea sunt doar atenuate).
În această lucrare am prezentat o metodă de proiectare unificată a egalizoarelor digitale
parametrice de ordin mare bazată pe prototipuiri de filtre analogice Butterworth, Cebîşev şi eliptice de
tip trece jos. Egalizoarele de ordin mare furnizează benzi de trecere şi/sau benzi de oprire mai plate şi
margini de bandă abrupte. Am luat în considerare problemele de alegere a ordinului filtrului şi a lăţimii
de bandă şi au fost prezentate realizările bazate pe formele transpusă și latice normată și cele bazate pe
ecuația de stare care au proprietăţi numerice bune şi sunt recomandate utilizării în cazul unor
specificaţii ale filtrului, stricte şi care variază în timp. Proiectarea ecuaţiilor se aplică la fel de bine
filtrelor de decupare şi filtrelor obişnuite de tip opreşte bandă, trece bandă, trece sus şi trece jos.
Filtrele Butterworth au un răspuns mai slab ca liniaritate a fazei, dar asigură cea mai bună
orizontalitate în benzile de trecere și cele de blocare (minimizează riplurile). Aceste filtre au ca
dezavantaj regiunea de tranziție care este mai largă.
Filtrele Cebîșev permit o eliminare mai abruptă a frecvențelor decât filtrele Butterworth. Au ca
dezavantaj un răspuns de fază mai neliniar și faptul că oferă ripluri mai importante.
Filtrele eliptice (numite și filtre Cauer) au cea mai slabă liniaritate de fază, dar au cea mai
abruptă eliminare a frecvențelor, relativ la numărul de coeficienți și oferă distribuție egală a riplurilor
(equiripple) în benzile de trecere și în benzile de oprire.


















79


11. BIBLIOGRAFIE

[1] U. Zӧlzer, ” Digital Audio Signal Processing”, Wiley, Chichester, UK, 1997

[2] S.J. Orfanidis, ” Digital Parametric Equalizer Design with Prescribed Nyquist-Frequency
Gain” J-. Audio Eng. Soc., Vol.45, Nr.6 iunie 1987, pp.444-455

[3] S.J. Orfanidis, ” High-Order Digital Parametric Equalizer Design”, J. Audio Eng. Soc., Vol.
53. Nr.11, Noiembrie 2005, pp. 1026-1046

[4] P.A. Regalia and S.K. Mitra, ”Tunable Digital Frequency Response Equalization Filters”
IEEE Trans. Acoust., Speech, Signal Process., Vol. ASSP-35, 1987, .p.118

[5] F. Keiler and U. Zӧlzer, ” Parametric Second-and Fourth-Order Shelving Filters For Audio
Applications”, in Proc. IEEE 6th Workshop Multimedia Signal Processing (Siena, Italy,
2004 Sept.), p.231

[6] Ad. Mateescu, N. Dumitru, L. Stanciu, “Semnale şi sisteme ”, Editura Teora, Bucureşti 2001

[7] Ad. Mateescu, S. Ciochină, N.Dumitriu, Al. Şerbănescu, L. Stanciu “Prelucrarea numerică a
semnalelor”, Editura Tehnică, Bucureşti 1997

[8] G.W. Mc Nally, “Digital Audio: Recursive Digital Filtering for High Quality Audio
Signals”, Rep. BBC RD 1981/10, BBC Research Dept. (1981 Dec.), available from
www.bbc.co.uk/rd/pubs/reports/1981-10.pdf.

[9] J.A. Moorer, “48-Bit Integer Processing Beats 32-Bit Floating Point For Professional Audio
Applications”, present at the 10
th
Convention of the Audio Engineering Society, J.Audio
Eng. Soc. (Abstracts), vol. 47, p.1006(1999 Nov.), preprint 5038

[10] http://en.wikipedia.org/wiki/

[11] http://www.mathworks.com/

[12] www.ece.rutgers.edu/












80

12. ANEXE

A.1 TRANSFORMĂRI BILINIARE

Relaţiile algebrice între coeficienţii din ecuaţia (4.18) sunt date după cum urmează. Pentru
transformarea din s în
1 ÷
.
z , coeficienţii secţiunii de ordinul întâi şi de ordinul al doilea sunt:


01 00 00
A A D + =
2 1 0 i i i i
A A A D + + =

0 01 00
00 / ) ( D B B b + =
.

i i i i
i D B B B b / ) (
2 1 0
0 + + =
.


0 01 00
01 / ) ( D B B b ÷ =
.

i i i
i D B B b / ) ( 2
2 0
1 ÷ =
.


0 01 00
01 / ) ( D A A a ÷ =
.

i i i i
i D B B B b / ) (
2 1 0
2 + ÷ =
.
(12.1)
i i i
i D A A a / ) ( 2
2 0
1 ÷ =
.


i i i i
i D A A A a / ) (
2 1 0
2 + ÷ =
.
.

Pentru transformarea din
1 ÷
.
z în
1 ÷
z se obţin coeficienţii de ordinul al doilea şi de ordinul al
patrulea:

00
00
.
= b b 0
0
i
i
b b
.
=

) ( 00 01
0 01
. .
÷ = b b c b ) 2 ( 0 1
0 1
i i
i
b b c b
. .
÷ =

01
02
.
÷ = b b 1
2
0
2 1 0
2
) ( i i i i
i
b c b b b b
. . . .
÷ + ÷ =

) 1 ( 01
0 01
÷ =
.
a c a ) 2 ( 2 1
0 3
i i
i
b b c b
. .
÷ =

01
02
.
÷ = a a 2
4
i
i
b b
.
= (12.2)

) 2 ( 1
0 1
÷ =
.
i
i
a c a

1
2
0
2 1
2
) 1 (
i
i i
i
a c a a a
. . .
÷ + ÷ =


81

) 2 ( 2 1
0 3
i i
i
a a c a
. .
÷ =

2
4
i
i
a a
.
= .

A.2 POLI ŞI ZEROURI

Polii şi zerourile filtrului de decupare analogic, H ) (s
a
sunt calculaţi prin găsirea rădăcinilor
numărătorului şi numitorului din ecuaţia (4.10), adică, prin rezolvarea ecuaţiei:

, 0 ) (
2 2 2
0
2
= + w F G G
N
c 1+ 0 ) (
2 2
= w F
N
c (12.3)

sau, echivalent,

c
0
) (
G
G
j w F
N
± = , F
c
1
) ( j w
N
± = . (12.4)

Pentru cazul Butterworth, avem , ) (
N
N
w w F = care conduce la următoarele expresii pentru polii
şi zerourile de la stânga planului s:

0
0
g
g
z
|
÷ = , ), (
0
i i i
jc s
g
g
z + ÷ =
|
| ÷ =
0
p , p ) (
i i i
jc s + ÷ = | (12.5)

pentru i=1,2, . . . , L, unde am introdus parametrii

g=G
N / 1
, g
0
=G
0
N / 1
,
|
.
|

\
| A
= O =
÷ ÷
2
tan
/ 1 / 1
e
c c |
N
B
N
(12.6)
i i
s u = sin ,
i i
c u = cos ,
N
i
i
2
) 1 2 ( t ÷
= u , i=1, 2, . . . , L. (12.7)

Ecuaţia (4.19) a fost obţinută multiplicând polii şi zerourile de ordinul întâi şi distribuind
câştigul
N
g G H = =
0
secţiunilor N de ordinul întâi din ecuaţia (4.13).
Pentru cazul Cebîşev de tipul 1, avem ) ( ) ( w C w F
N N
= , iar polii şi zerourile la stânga planului s
au urmatoarele expresii:

, sinh
0
u z
B
O ÷ = ) cosh sinh ( ) cos( u jc u s ju j z
i i B i B i
+ ÷ O = ÷ u O =

, sinh
0
v p
B
O ÷ = ) cosh sinh ( ) cos( v jc v s jv j p
i i B i B i
+ ÷ O = ÷ u O =

(12.8)

unde i=1, 2, . . . , L, şi
i i i
c s u , , sunt aceeaşi ca în ecuaţiile (12.7). Mărimile u, v sunt date prin relaţiile:

,
1
|
÷
=
o
u
g e , ) 1 (
/ 1 2 1 N
B
G G
÷ ÷
+ + = c c |
N v
e
/ 1 2 1
) 1 (
÷ ÷
+ + = = c c o (12.9)
82

pentru g
0
=G
0
N / 1
. Funcţia de transfer, ecuaţia (4.24), a fost obţinută prin introducerea ecuaţiilor (12.8)
în ecuaţia (4.15) şi distribuind câştigul
N
g G H
0 0
= =
·
secţiunilor N de gradul întâi.
Pentru cazul Cebîşev de tipul 2 avem ), / 1 ( / 1 ) ( w C w F
N N
= care conduce la polii şi zerourile
care sunt în esenţă, inversul celor din ecuaţia (12.8). Pentru i=1, 2, . . . , L avem:

, sinh
1 1
0
u z
B
÷ ÷
O ÷ = ) cosh sinh ( ) cos(
1 1 1
u jc u s ju j z
i i B i B i
+ ÷ O = ÷ u O =
÷ ÷ ÷


, sinh
1 1
0
v p
B
÷ ÷
O ÷ = ) cosh sinh ( ) cos(
1 1 1
v jc v s jv j p
i i B i B i
+ ÷ O = ÷ u O =
÷ ÷ ÷

(12.10)

unde
i i i
c s u , , sunt aceeaşi ca în ecuaţiile (12.7), iar mărimile u, v sunt definite prin:

,
1
|
÷
= g e
u
, ) 1 (
/ 1 2 1
0
N
B
G G c c | + + =
N v
e
/ 1 2
) 1 ( c c o + + = = (12.11)

pentru g=G
N / 1
. Introducând aceste relaţii în ecuaţia (4.13) şi distribuind câştigul
N
g G H = =
0

secţiunilor N de gradul întâi, obţinem funcţia de transfer analogică, ecuaţia (4.30).
Menţionăm că în ambele cazuri Cebîşev zerourile filtrului de decupare
i
z (sau inversele
acestora pentru cazul Cebîşev de tipul 2), precum şi polii
i
p se află pe o elipsă în planul s, în timp ce în
cazul Butterworth, se află pe un cerc.
În cazul eliptic avem ) , ( ) (
1 1
k uK cd w F
N
= , cu ) , ( k uK cd w = . Presupunând că iniţial G≠0 şi
G
0
≠0, polii şi zerourile la stânga planului s, rezultaţi, ai funcţiei H ) (s
a
din ecuaţia (4.13) au
următoarele expresii pentru i=1, 2, . . . , L:

], , ) [(
0
k K ju u cd j z
i B i
÷ O = ] , ) [(
0
k K jv u cd j p
i B i
÷ O = (12.12)

unde N i u
i
/ ) 1 2 ( ÷ = sunt aceiaşi ca şi în ecuaţia (4.37), iar
0 0
, v u sunt valori reale şi reprezintă
soluţiile ecuaţiilor:

, ) , (
0
1 1 0
c G
G
j k NK ju sn = .
1
) , (
1 1 0
c
j k NK jv sn = (12.13)

Dacă N este impar, se obţin din ecuaţiile (12.12) prin setarea u 1 =
i
valori reale adiţionale ale
polilor şi zerourilor (care corespund indicelui i=L+1),

) , ( ] , ) 1 [(
0 0 0
k K ju sn j k K ju cd j z
B B
O = ÷ O =

) , ( ] , ) 1 [(
0 0 0
k K jv sn j k K jv cd j p
B B
O = ÷ O = (12.14)

în care am folosit identitatea cd(K-x, k)=sn(x, k). Evaluarea funcţiilor eliptice cd şi sn şi a inverselor lor
poate fi realizată eficient prin utilizarea transformării Landen descrisă în anexa A.3.
Lucrând cu frecvenţa normalizată ] , ) [( /
0
k K ju u cd z w
i B i i
÷ = O =

se verifică condiţia
rădăcinii, ecuaţiile (12.4),
83


c
0
1 1 0 1 1 0 1 1 1 0
) , ( ) 1 ( ] , ) 1 2 [( ] , ) [( ) (
G
G
j k NK ju sn k NK ju K i cd k NK ju u cd w F
i
i i N
± = ÷ = ÷ ÷ = ÷ =
în care am folosit proprietatea cd ) , ( ) 1 ( ] , ) 1 2 [(
1 1 1
k x sn k x K i
i
÷ = + ÷ pentru i întreg. În mod similar,
pentru N impar, avem ). /( ) , ( ] , ) 1 [(
0 1 1 0 1 1 0
c G jG k NK ju sn k NK ju cd = = ÷
Cele două cazuri particulare G
0
=0 şi G=0 trebuie să fie tratate separat deoarece conduc la
valorile
0
z =∞ şi
0
z =0 din ecuaţiile (12.13). Când G
0
=0, ecuaţia (4.10) implică faptul că zerourile
funcţiei H ) (s
a
coincid cu polii funcţiei F ) (w
N
, care au fost definiţi în ecuaţiile (4.37). Astfel, zerourile
conjugate sunt:

, ) (
1 ÷
O =
i B i
k j z , ). , ( k K u cd
i i
= , (12.15)

Se poate trage aceeaşi concluzie observând că atunci când G
0
=0 soluţia ecuaţiilor (12.13) este
, '
1 1 0
jK nK ju = care corespunde unui pol al funcţiei ) , (
1
k x sn . Dar, datorită gradului ecuaţiei , avem, de
asemenea, ' jK K ju
o
= , care reprezintă un pol al funcţiei sn(x,k). Prin urmare,
0
z =∞ şi factorul zero,
) / 1 (
0
z s ÷ al lui H ) (s
a
pot fi înlocuiţi cu unu. Utilizând identitatea, )], , ( /[ 1 ) , ' ( k x kcd k jK x cd = ÷
ecuaţia (12.13) pentru
i
z se reduce la ecuaţia (12.16) pentru această valoare a lui
0
u .
Atunci când G=0, zerourile lui H ) (s
a
coincid cu zerourile lui F ) (w
N
date de ecuaţiile (4.37),
dar există un zero suplimentar la
0
z =0 pentru cazul N impar. Factorul ) / 1 (
0
z s ÷ din ecuaţia (4.13)
trebuie tratat ca un caz cu limita G→0. Folosind dezvoltarea în serie Taylor, sn(x,k)≈x, care este
valabilă pentru x mic, rezultă că atunci când G este mic, soluţia ecuaţiei (12.14) şi zeroul
0
z din ecuaţia
(12.15), sunt date aproximativ de relaţiile:

c
0
1 0
G
G
j NK ju ~ ¬ u
1 0
0
NK G
G
c
~

1 0
0 0 0
) , (
NK G
GK
K u k K ju sn j z
B
B B
c
O
÷ = O ÷ ~ O = .

Deoarece în cazul N impar câştigul global în ecuaţia (4.13) este H G =
0
, rezultă că factorul de
gradul întâi ) / 1 (
0 0
z s H = al funcţiei de transfer va avea următoarea limită finită la G→0:

. 1
1
0
1 0
0
0
K
NK
G
s
GK
NK sG
G G
z
s
H
B B
c
c
O
÷
O
+ ~
|
|
.
|

\
|
÷

Astfel , în cazul N impar, factorul de gradul întâi al numărătorului din ecuaţia (4.13) are următoarele
forme:

84

0
0
0
, 0
, 0
, 0
), / )( )( / (
,
), / 1 (
1
0
0
0
1 0
0
0
0
=
=
=
=
=
=
¦
¹
¦
´
¦
O
÷
=
|
|
.
|

\
|
÷
G
G
G
G
G
G
dacă
dacă
dacă
k NK G s
G
z s G
z
s
H
B
c
(12.16)
Pentru cazul N par avem ,
0 B
G H = pentru ecuaţia (4.14). În mod similar, zerourile conjugate
i
z , i=1, 2 , . . . , L, sunt date după cum urmează, atât pentru N impar cât şi pentru N par:

0 , 0
0 , 0
0 , 0
), (
], , ) [(
0
0
0
1
0
= =
= =
= =
¦
¹
¦
´
¦
O
O
÷ O
=
÷
G G dacă
G G dacă
G G dacă
j
k j
k K ju u cd j
z
i B
i B
i B
i
,
, (12.17)

Cazul G
0
=0 , G≠0 corespunde, desigur, modelelor convenţionale ale filtrelor eliptice trece jos
analogice [4.19], [4.23]-[4.27].

A.3 CALCULUL FUNCŢIEI ELIPTICE

Instrumentul cheie pentru calculul necesar funcţiei eliptice este transformarea Landen care
începe cu un anumit modul eliptic k şi generează o secvenţă de module descrescătoare k
n

prin
următoarea recurenţă iniţializată la k :
0
k =

,
` 1
2
1
1
|
|
.
|

\
|
+
=
÷
÷
n
n
n
k
k
k n =1, 2, . . . , M (12.18)

în care . ) 1 ( '
2 / 1 2
1 1 ÷ ÷
÷ =
n n
k k Modulii k
n
descresc rapid la 0. Recurenţa se opreşte la n=M, atunci când
M
k a devenit mai mic decât un nivel de toleranţă specificat. Pentru toate valorile practice ale lui k, cum
ar fi cele din intervalul 0 ≤ k ≤ 0.999, recurenţa poate fi oprită la M=5, cu toţi k
n
care urmează mai
mici decât
15
10
÷
, în timp ce pentru k ≤ 0,99, modulii k
n
ulteriori sunt mai mici decât
20
10
÷
.
Recurenţele Landen , ecuaţia (12.18), implică următoarele recurenţe pentru integralele eliptice
complete
n n
K K ' , corespunzătoare modulilor
n
k , '
n
k :

n n n
K k K ) 1 (
1
+ =
÷

¬ .
' '
2
1
1
n
n
n
n
K
K
K
K
=
÷
÷
(12.19)
2 / ' ) 1 ( '
1 n n n
K k K + =
÷


Ecuaţia (12.19) corespunde ecuaţiei de grad N=2. De fapt, ecuaţia (12.18) este aceeaşi cu
ecuaţia (4.41) pentru L=1 şi 2 / 1 =
i
u , adică, ), , (
1 1 1
4 2
1 ÷ ÷ ÷
=
n n n n
k K u sn K k în cazul în care ecuaţia
(12.18) rezultă din proprietatea . ' 1 / 1 ) , 2 / ( k k K sn + = Recurenţa, ecuaţia (12.19), poate fi repetată
pentru a calcula integrala eliptică K=K(k), rezultând
2 2 1 1 1 0
) 1 )( 1 ( ) 1 ( K k k K k K K + + = + = = , şi aşa
mai departe, obţinându-se:
85


, ) 1 )...( 1 )( 1 (
2 1 M M
K k k k K + + + = .
2
t
=
M
K (12.20)

Deoarece
M
k este aproape de zero, integrala sa eliptică va fi în esenţă, egală cu
M
k =π/2.
Integrala eliptică K’ poate fi calculată în acelaşi mod, aplicând recurenţa Landen lui k’.
Transformările Landen permit evaluarea eficientă a funcţiilor eliptice cd și sn prin intermediul
următoarei recurenţe inverse, cunoscută de asemenea, ca transformarea Gauss, şi scrisă astfel:

(
¸
(

¸

+
+
=
÷ ÷
) , (
) , (
1
1
1
) , (
1
1 1
n n n
n n n n n
k uK cd k
k uK cd k k uK cd
(12.21)

pentru n=M,M-1,. . . ,1. Recurenţa este iniţializată la n=M, rezultând ) 2 / cos( ) , ( t u k uK cd
M M
~ , în
acest caz
M
k este atât de mic astfel încât funcţia cd este imposibil de distins dintr-un cosinus. Astfel,
calculul lui w=cd(uK,k) pentru orice valoare complexă a lui u, începe prin calculul mărimilor
) , (
n n n
k uK cd w = , iniţializate la ) 2 / cos( t u w
M
= şi terminându-se pentru ) , (
0
k uK cd w w = = ,

), (
1
1
1 1
1 n n n
n
n
w k w
k
w +
+
=
÷ ÷
÷
n=M,M-1, . . . , 1. (12.22)

Funcţia, w=sn(uK,k) poate fi evaluată prin aceeaşi recurenţă iniţializată la ) 2 / sin( t u w
M
= . Recurenţa,
ecuaţia (12.22), poate fi de asemenea folosită pentru a calcula inversele funcţiilor cd și sn, inversând-o
pentru a continua de la n=0 la n=M:

), (
2
1
2
1
2
1
1
1
1
÷
÷
÷
÷
÷
÷
÷ +
+
=
n n n
n
n
k w w
k
w n=1, 2, . . . , M. (12.23)

Începând cu o anumită valoare complexă w=cd(uK,k) şi setând w w =
0
, recurenţa se va
termina la ), 2 / cos( t u w
M
= care poate fi inversat pentru a obţine ). cos( ) / 2 (
m
w a u t = Deoarece u nu
este unic, poate fi redus pentru a se încadra în perioada, . / ' 2 ) Im( 0 K K u ( s Inversa lui w=sn(uK,k) se
obţine din aceeaşi recurenţă, dar cu u=(2/π)asin(w
M
).
Evaluarea funcţiei eliptice cd pentru un argument complex , poate fi efectuată de asemenea, prin
intermediul teoremei auxiliare,

.
) ' , ( ) , ( ) , ( ) ' , ( ) ' , ( ) , (
) ' , ( ) ' , ( ) , ( ) , ( ) ' , ( ) , (
) , (
2
k v sn k u cn k u sn jk k v dn k v cn k u dn
k v dn k v sn k u dn k u jsn k v cn k u cn
k jv u cd
÷
÷
= + (12.24)

În final se observă următoarea expresie, validă pentru N par cu u
i
definit ca în ecuaţia (4.37):

[ [
= ÷
=
L
i
i
L
i
i
k K u sn k K u cd
1 1
) , ( ) , ( (12.25)

86

unde N=2L. Această expresie poate fi folosită pentru a obţine valorile funcţiei ) (w F
N
la w=0 şi la
w=∞, care sunt date de relaţiile
L
L
F ) 1 ( ) 0 (
2
÷ = şi
1 2
/ ) 1 ( ) ( k F
L
L
÷ = · . Din acestea se pot obţine
ecuaţiile (4.14) și (4.16).


A.4 REALIZĂRILE BAZATE PE ECUAŢIA DE STARE

Având în vedere coeficienţii numărătorului şi numitorului unei funcţii de transfer de ordinul al
doilea, sub forma din ecuaţia (7.1) cu poli complex-conjugaţi, realizarea bazată pe ecuaţia de stare cu
eroare de rotunjire minimă este construită prin următorii paşi:

,
2
1
.
÷ =
a
o ,
4
2
.
.
÷ =
a
a e p=σ+jω

1 0 1
1
. . .
÷ = a b b q , 2 0 2
2
. . .
÷ = a b b q

2
1
q
r
= o ,
e
o
o
2
2 1
q q
i
+
÷ = ,
i r
jo o o + =

P=
2
1 p ÷
o
, Q=
(
¸
(

¸

÷
2
1
Im
p
o
, k=
Q P
Q P
÷
+


Q P
B
i
÷
÷
=
o o
1
,
Q P
sign B
i
r
+
÷
÷ =
o o
o ) (
2


1
1
B
C
r
o
= ,
2
2
B
C
r
o
= (12.26)

care definesc parametrii ecuaţiei de stare:

(
¸
(

¸

÷
=
o e
e o
k
k
A
/
,
(
¸
(

¸

=
2
1
B
B
B , C= ] , [
2 1
C C , D= . 0
.
b (12.27)

În cazul particular, atunci când 0 =
r
o si 0 )
i
o , avem:

0
1
= B ,
Q P
B
+
÷ =
o 2
2
, C ) ( 2
1
Q P ÷ = o , C 0
2
= , (12.28)

iar în cazul 0 =
r
o şi 0 (
i
o :

87

Q P
B
÷
÷ =
o 2
1
, 0
2
= B , C 0
1
= , C ) ( 2
2
Q P + ÷ = o . (12.29)

Condiţia ca polii să fie perechi conjugate este echivalentă cu mărimea ω. Această condiţie este
garantată prin construirea transformării biliniare a factorilor din ecuaţia (4.18b). Pentru factorul de
gradul întâi din ecuaţia (4.18b) putem defini
2 / 1 2
1
1
) 1 (
.
÷ = a B şi:

A=
(
(
¸
(

¸

÷
.
0 0
0 1 a
,
(
¸
(

¸

=
0
1
B
B , C= ] 0 , / [
1 1
B q , D= 0
.
b . (12.30)


A.5 PROIECTAREA EGALIZORULUI ANALOGIC

Proiectarea egalizoarelor analogice necesită doar unele schimbări minore. Filtrul analogic de
decupare din ecuaţia (4.18b) este proiectat exact ca înainte, dar cu parametrii de proiectare e A = O
B
,
unde f A = A t e 2 este lăţimea de bandă dorită în radiani pe secundă. Filtrul de decupare este
transformat într-un egalizor analogic trece bandă prin transformarea de frecvenţă pe domeniul s:
s
s s
2
0
e
+ ÷ (12.31)
unde
0 0
2 f t e = este frecvenţa centrală dorită, în radiani pe secundă.
Frecvenţele de vârf al benzii sunt calculate prin
2 / 1 2 2
0 1 , 2
) 4 / ( 2 / e e e e A + + A ± = . Acestea satisfac
relaţiile
2 1
2
0
e e e = şi
1 2
e e e ÷ = A . În octave avem
0
2 /
1
2 e e
B ÷
= ,
0
2 /
2
2 e e
B
= şi
] 2 / ) 2 ln( sinh[ 2
0
B e e = A .
Pentru un filtru de decupare trece jos trebuie să se utilizeze
c B
e = O , unde
c c
f t e 2 = este
frecvenţa de tăiere definită la nivelul G
B
. Pentru cazul filtrului de decupare de tip trece sus trebuie să
începem proiectarea filtrului trece jos cu
c B
e / 1 = O şi să aplicăm transformarea trece sus, s→1/s.


A.6 LISTINGUL CODULUI PENTRU SIMULAREA FUNCŢIILOR DE
PROIECTARE A EGALIZOARELOR

% HPEQ.M – PROIECTAREA EGALIZORULUI DIGITAL PARAMETRIC DE ORDIN MARE
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,tip,Gs,tol);
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw); Butterworth
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,0); Butterworth
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,1); Cebîşev-1
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,2); Cebîşev-2
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,3,Gs,tol); eliptic,
% tol=1e-8
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,3,Gs,M); eliptic,
% tol=M = iteraţii Landen, M=5
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,3,Gs); eliptic,
% implicit tol = eps
% N = ordinul filtrului analogic
88

% G0 = câştigul de referinţã (toate câştigurile trebuie sã fie
% exprimate în dB)
% G = câştig de vârf/tãiere
% GB = câştigul lãţimii de bandã
% w0 = frecvenţa centralã de vârf/tăiere exprimatã în radiani/eşantion,
% w0=2*pi*f0/fs
% Dw = lãţimea de bandã exprimatã în radiani/eşantion,(dacã w0=pi,
% Dw = frecvenţa de tãiere mãsuratã pentru Nyquist)
% tip = 0,1,2,3,pentru Butterworth,Cebîşev-1,Cebîşev-2 şi eliptic
% (implicit tip=0)
% Gs = câştigul pentru banda de oprire, doar pentru cazul eliptic
% tol = toleranţa pentru cazul eliptic, tol = 1e-10, valoarea implicitã
% este tol = eps = 2.22e-16
% B,A = şirurile reprezintã coeficienţii numãrãtorului şi numitorului
% pentru secţiunea de ordinul al patrulea a egalizorului
% Bh,Ah = şirurile reprezintã coeficienţii de ordinul al doilea pentru
% filtrul de decupare trece jos
% observaţii: G,GB,G0 sunt exprimate în dB şi convertite intern în
% unitãţi absolute, G => 10^(G/20)
% câştigurile trebuie sã satisfacã relaţiile: G0<Gs<GB<G (amplificare),
% G0>Gs>GB>G (atenuare)(Gs,GB îşi schimbã rolurile pentru Cebîşev-2)
% w0 = 2*pi*f0/fs, Dw = 2*pi*Df/fs, cu f0,Df,fs exprimate în Hz
% B,A sunt de dimensiune (L+1)x5, şi Bh,Ah, sunt de dimensiune (L+1)x3,
% unde L=floor(N/2)
% când N este par, primul şir este doar un factor de câştig
% frecvenţele stânga şi dreapta care definesc marginea benzii sunt:
% [w1,w2] = bandedge(w0,Dw)
% pentru banda de oprire în cazul eliptic:
% [w1s,w2s] = bandedge(w0,Dws), unde
% k = ellipdeg(N,k1,tol); WB = tan(Dw/2); Ws = WB/k; Dws =2*atan(Ws)

function [B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

if nargin==0, help hpeq; return; end
if nargin==6, tip=0; end
if tip==3 & nargin<=7, disp('trebuie introduse valori pentru Gs,tol'); return; end
if tip==3 & nargin==8, tol=eps; end

G0 = 10^(G0/20); G = 10^(G/20); GB = 10^(GB/20); if tip==3, Gs = 10^(Gs/20); end
r = rem(N,2); L = (N-r)/2;

%Bh = [1 0 0]; Ah = [1 0 0]; A = [1 0 0 0 0]; B = [1 0 0 0 0];
if G==G0, % fãrã filtrare dacã G=G0
Bh = G0*[1 0 0]; Ah = [1 0 0];
B = G0*[1 0 0 0 0]; A = [1 0 0 0 0];
return;
end

c0 = cos(w0);
if w0==0, c0=1; end % cazuri speciale
if w0==pi/2, c0=0; end
if w0==pi, c0=-1; end

WB = tan(Dw/2);
e = sqrt((G^2 - GB^2)/(GB^2 - G0^2));
g = G^(1/N); g0 = G0^(1/N);

switch tip
89

case 0,
a = e^(1/N);
b = g0*a;
case 1,
eu = (1/e + sqrt(1+1/e^2))^(1/N);
ew = (G/e + GB*sqrt(1+1/e^2))^(1/N);
a = (eu - 1/eu)/2;
b = (ew - g0^2/ew)/2;
case 2,
eu = (e + sqrt(1+e^2))^(1/N);
ew = (G0*e + GB*sqrt(1+e^2))^(1/N);
a = (eu - 1/eu)/2;
b = (ew - g^2/ew)/2;
case 3,
es = sqrt((G^2 - Gs^2)/(Gs^2 - G0^2));
k1 = e/es;
k = ellipdeg(N, k1, tol); % rezolvã ecuaţia de grad pentru
% proiectarea filtrului eliptic analogic
if G0~=0,
ju0 = asne(j*G/e/G0, k1, tol)/N; % inversa funcţiei eliptice
% sn, nu se foloseşte când G0=0
end
jv0 = asne(j/e, k1, tol)/N;
end

if r==0,
switch tip
case {0,1,2}
Ba(1,:) = [1, 0, 0];
Aa(1,:) = [1, 0, 0];
case 3
Ba(1,:) = [1, 0, 0] * GB;
Aa(1,:) = [1, 0, 0];
end
end

if r==1,
switch tip
case 0
Ba(1,:) = [g*WB, b, 0];
Aa(1,:) = [WB, a, 0];
case 1
Ba(1,:) = [b*WB, g0, 0];
Aa(1,:) = [a*WB, 1, 0];
case 2
Ba(1,:) = [g*WB, b, 0];
Aa(1,:) = [WB, a, 0];
case 3
if G0==0 & G~=0,
B00 = G*WB; B01 = 0;
elseif G0~=0 & G==0,
K=ellipk(k,tol); K1=ellipk(k1,tol); % integrala elipticã
% completã de primul tip
B00 = 0; B01 = G0*e*N*K1/K;
else % G0~=0 şi G~=0
z0 = real(j*cde(-1+ju0,k,tol)); % se presupune a fi real
B00 = G*WB; B01 = -G/z0;
end
90

p0 = real(j*cde(-1+jv0,k,tol));
A00 = WB; A01 = -1/p0;
Ba(1,:) = [B00,B01,0];
Aa(1,:) = [A00,A01,0];
end
end

if L>0,
i = (1:L)';
ui = (2*i-1)/N;
ci = cos(pi*ui/2); si = sin(pi*ui/2);
v = ones(L,1);

switch tip
case 0,
Ba(1+i,:) = [g^2*WB^2*v, 2*g*b*si*WB, b^2*v];
Aa(1+i,:) = [WB^2*v, 2*a*si*WB, a^2*v];
case 1,
Ba(1+i,:) = [WB^2*(b^2+g0^2*ci.^2), 2*g0*b*si*WB, g0^2*v];
Aa(1+i,:) = [WB^2*(a^2+ci.^2), 2*a*si*WB, v];
case 2,
Ba(1+i,:) = [g^2*WB^2*v, 2*g*b*si*WB, b^2+g^2*ci.^2];
Aa(1+i,:) = [WB^2*v, 2*a*si*WB, a^2+ci.^2];
case 3,
if G0==0 & G~=0,
zeros = j ./ (k*cde(ui,k,tol)); % cde-funcţia elipticã cd cu
argument complex normat; ui-vector arbitrar de numere complexe
elseif G0~=0 & G==0,
zeros = j*cde(ui,k,tol);
else % G0~=0 şi G~=0
zeros = j*cde(ui-ju0,k,tol);
end
poles = j*cde(ui-jv0,k,tol);
Bi0=WB^2*v; Bi1 = -2*WB*real(1./zeros); Bi2 = abs(1./zeros).^2;
Ai0=WB^2*v; Ai1 = -2*WB*real(1./poles); Ai2 = abs(1./poles).^2;
Ba(1+i,:) = [Bi0, Bi1, Bi2];
Aa(1+i,:) = [Ai0, Ai1, Ai2];
end
end
[B,A,Bh,Ah] = blt(Ba,Aa,w0);


% HPEQ1.M – PROIECTAREA EGALIZORULUI DIGITAL PARAMETRIC DE ORDIN
% MARE (FOLOSIND ECUAŢII DE PROIECTARE EXPLICITE)
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,tip);
% [B,A,Bh,Ah] = hpeq1(N,G0,G,GB,w0,Dw); Butterworth
% [B,A,Bh,Ah] = hpeq1(N,G0,G,GB,w0,Dw,0); Butterworth
% [B,A,Bh,Ah] = hpeq1(N,G0,G,GB,w0,Dw,1); Cebîşev-1
% [B,A,Bh,Ah] = hpeq1(N,G0,G,GB,w0,Dw,2); Cebîşev-2
% tip=0,1,2 pentru Butterworth, Cebîşev-1, Cebîşev-2 (implicit tip=0)
% calculul frecvenţelor stânga şi dreapta care definesc marginea benzii
% pentru banda de trecere: [w1,w2] = bandedge(w0,Dw)
% pentru banda de oprire în cazul eliptic: k=ellipdeg(N,k1,tol);
% WB = tan(Dw/2);
% Ws = WB/k; Dws = 2*atan(Ws), [w1s,w2s] = bandedge(w0,Dws)
% produce aceeaşi ieşire ca cea a HPEQ, dar foloseşte ecuaţii de
% proiectare explicite

91

function [B,A,Bh,Ah] = hpeq1(N,G0,G,GB,w0,Dw,tip)

if nargin==0, help hpeq1; return; end
if nargin==6, tip=0; end

G0=10^(G0/20); G=10^(G/20); GB=10^(GB/20); if tip==3, Gs=10^(Gs/20); end
r = rem(N,2); L = (N-r)/2;

Bh = [1 0 0]; Ah = [1 0 0]; B = [1 0 0 0 0]; A = [1 0 0 0 0];

if G==G0, return; end % fără filtrare dacă G=G0
c0 = cos(w0);
if w0==0, c0=1; end % cazuri speciale
if w0==pi/2, c0=0; end
if w0==pi, c0=-1; end

WB = tan(Dw/2);
e = sqrt((G^2 - GB^2)/(GB^2 - G0^2));
g = G^(1/N); g0 = G0^(1/N);

if tip==0, % Butterworth
b = WB / e^(1/N);

if r==1,
D = b + 1;
Bh(1,:) = [g*b+g0, g*b-g0, 0]/D;
Ah(1,:) = [1, (b-1)/D, 0];

B(1,:) = [g0+g*b, -2*g0*c0, g0-g*b, 0, 0]/D;
A(1,:) = [1, [-2*c0, 1-b, 0, 0]/D];
End

for i=1:L,
phi = (2*i-1)*pi/(2*N);
si = sin(phi);
D = b^2 + 2*b*si + 1;

b0h = (g^2*b^2 + 2*g0*g*b*si + g0^2)/D;
b1h = 2*(g^2*b^2 - g0^2)/D;
b2h = (g^2*b^2 - 2*g0*g*b*si + g0^2)/D;
a1h = 2*(b^2 - 1)/D;
a2h = (b^2 - 2*b*si + 1)/D;
Bh(i+1,:) = [b0h, b1h, b2h];
Ah(i+1,:) = [ 1, a1h, a2h];

b0 = (g^2*b^2 + g0^2 + 2*g*g0*si*b)/D;
b1 = -4*c0*(g0^2 + g*g0*si*b)/D;
b2 = 2*((1+2*c0^2)*g0^2 - g^2*b^2)/D;
b3 = -4*c0*(g0^2 - g*g0*si*b)/D;
b4 = (g^2*b^2 + g0^2 - 2*g*g0*si*b)/D;
a1 = -4*c0*(1 + si*b)/D;
a2 = 2*(1+2*c0^2 - b^2)/D;
a3 = -4*c0*(1 - si*b)/D;
a4 = (b^2 - 2*si*b + 1)/D;
B(i+1,:) = [b0, b1, b2, b3, b4];
A(i+1,:) = [1, a1, a2, a3, a4];
end
92

end % sfârşit tip=0

if tip==1, % Cebîşev-1
ea = (1/e + sqrt(1+1/e^2))^(1/N);
eb = (G/e + GB*sqrt(1+1/e^2))^(1/N);
a = (ea - 1/ea)/2; % a=sinh(alpha),sinh(N*alpha)=1/e, ea=exp(alpha)
b = (eb - g0^2/eb)/2; % b=g0*sinh(beta),
%sinh(N*beta)=G/(G0*e), eb=g0*exp(beta)
if r==1,
D = a*WB + 1;
Bh(1,:) = [b*WB+g0, b*WB-g0, 0]/D;
Ah(1,:) = [1, (a*WB-1)/D, 0];

B(1,:) = [g0+b*WB, -2*g0*c0, g0-b*WB, 0, 0]/D;
A(1,:) = [1, [-2*c0, 1-a*WB, 0, 0]/D];
end

for i=1:L,
phi = (2*i-1)*pi/(2*N);
ci = cos(phi); si = sin(phi);
D = WB^2*(a^2+ci^2) + 2*a*si*WB + 1;
b0h = (WB^2*(b^2+g0^2*ci^2) + 2*g0*b*si*WB + g0^2)/D;
%secţiuni de ordinul al doilea
b1h = 2*(WB^2*(b^2+g0^2*ci^2) - g0^2)/D;
b2h = (WB^2*(b^2+g0^2*ci^2) - 2*g0*b*si*WB + g0^2)/D;
a1h = 2*(WB^2*(a^2+ci^2) - 1)/D;
a2h = (WB^2*(a^2+ci^2) - 2*a*si*WB + 1)/D;
Bh(i+1,:) = [b0h, b1h, b2h];
Ah(i+1,:) = [ 1, a1h, a2h];
b0 = (WB^2*(b^2+g0^2*ci^2) + 2*g0*b*si*WB + g0^2)/D;
%secţiuni de ordinul al patrulea
b1 = -4*c0*g0*(b*si*WB + g0)/D;
b2 = 2*((1+2*c0^2)*g0^2 - WB^2*(b^2+g0^2*ci^2))/D;
b3 = -4*c0*g0*(-b*si*WB + g0)/D;
b4 = (WB^2*(b^2+g0^2*ci^2) - 2*g0*b*si*WB + g0^2)/D;
a1 = -4*c0*(a*si*WB + 1)/D;
a2 = 2*(1+2*c0^2 - WB^2*(a^2+ci^2))/D;
a3 = -4*c0*(-a*si*WB + 1)/D;
a4 = (WB^2*(a^2+ci^2) - 2*a*si*WB + 1)/D;
B(i+1,:) = [b0, b1, b2, b3, b4];
A(i+1,:) = [1, a1, a2, a3, a4];
end
end % sfârşit tip=1

if tip==2, % Cebîșev-2
ea = (e + sqrt(e^2+1))^(1/N);
eb = (G0*e + GB*sqrt(e^2+1))^(1/N);
a = (ea - 1/ea)/2 % a=sinh(alpha), sinh(N*alpha)=e; ea=exp(alpha)
b = (eb - g^2/eb)/2; % b=g*sinh(beta),sinh(N*beta)=G0*e/G,
% eb=g*exp(beta)

if r==1,
D = WB + a;
Bh(1,:) = [g*WB+b, g*WB-b, 0]/D;
Ah(1,:) = [1, (WB-a)/D, 0];
B(1,:) = [g*WB+b, -2*b*c0, b-g*WB, 0, 0]/D;
A(1,:) = [1, [-2*a*c0, a-WB, 0, 0]/D];
end
93


for i=1:L,
phi = (2*i-1)*pi/(2*N);
ci = cos(phi); si = sin(phi);
D = WB^2 + 2*a*WB*si + a^2 + ci^2;

b0h = (g^2*WB^2 + 2*WB*g*b*si + b^2 + g^2*ci^2)/D;
b1h = 2*(g^2*WB^2 - b^2 - g^2*ci^2)/D;
b2h = (g^2*WB^2 - 2*WB*g*b*si + b^2 + g^2*ci^2)/D;
a1h = 2*(WB^2 - a^2 - ci^2)/D;
a2h = (WB^2 - 2*WB*a*si + a^2 + ci^2)/D;
Bh(i+1,:) = [b0h, b1h, b2h];
Ah(i+1,:) = [ 1, a1h, a2h];

b0 = (g^2*WB^2 + b^2 + g^2*ci^2 + 2*g*b*si*WB)/D;
b1 = -4*c0*(b^2 + g^2*ci^2 + g*b*si*WB)/D;
b2 = 2*((1+2*c0^2)*(b^2+g^2*ci^2) - g^2*WB^2)/D;
b3 = -4*c0*(b^2 + g^2*ci^2 - g*b*si*WB)/D;
b4 = (g^2*WB^2 + b^2 + g^2*ci^2 - 2*g*b*si*WB)/D;
a1 = -4*c0*(a^2+ci^2 + a*si*WB)/D;
a2 = 2*((1+2*c0^2)*(a^2+ci^2) - WB^2)/D;
a3 = -4*c0*(a^2 + ci^2 - a*si*WB)/D;
a4 = (WB^2+a^2 + ci^2 - 2*a*si*WB)/D;
B(i+1,:) = [b0, b1, b2, b3, b4];
A(i+1,:) = [1, a1, a2, a3, a4];
end
end % sfârşit tip=2

if c0==1 | c0==-1 % filtru de decupare trece jos sau trece sus
B = Bh; % B,A sunt de ordinul al doilea
A = Ah;
B(:,2) = c0*B(:,2); % schimbare de semn dacă w0=pi
A(:,2) = c0*A(:,2);
B(:,4:5) = 0; % devin (L+1)x5
A(:,4:5) = 0;
end


% HPEQBW.M – REPREZENTAREA LĂŢIMII DE BANDĂ PENTRU EGALIZORUL DIGITAL
% PARAMETRIC DE ORDIN MARE
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,tip,Gs);
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb); Butterworth
% (echivalent pentru tip=0)
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,0); Butterworth
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,1); Cebîşev-1
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,2); Cebîşev-2
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,3,Gs); Eliptic
% N = ordinul filtrului analogic
% G0 = câştigul de referinţă
% G = câştig de vârf/tăiere
% GB = câştigul pentru lăţimea de bandă
% Gb = câştig intermediar (cu 3-dB sub G)
% Dwb = lăţimea de bandă pentru nivelul Gb (în radiani/eşantion)
% tip = 0,1,2,3, pentru Butterworth, Cebîşev-1, Cebîşev-2, şi Eliptic
% (implicit tip=0)
% Gs = câştigul pentru banda de oprire exprimat în dB, doar pentru
% cazul eliptic
% Dw = lăţimea de bandă pentru nivelul GB (radiani/eşantion)
94

% observaţii: lăţimea de bandă dată Dwb pentru nivelul Gb, calculează
% Dw la nivelul de proiectare GB
% Dw calculat poate fi folosit în HPEQ pentru a proiecta filtrul, care
% este, [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,tip,Gs,tol);
% rezolvă ecuaţia de amplitudine:
% (G^2 + G0^2*e^2*FN(wb)^2)/(1 + e^2*FN(wb)^2) = Gb^2
% pentru wb = Wb/WB, unde Wb = tan(Dwb/2) şi WB = tan(Dw/2), şi
% calculează Dw = 2*atan(Wb/wb)
% amplificare: G0<Gs<Gb<GB<G (tip=0,1,3), G0<GB<Gb<G (tip=2)
% atenuare: G0>Gs>Gb>GB>G (tip=0,1,3), G0>GB>Gb>G (tip=2)
% exemplu: G0=0; G=12; GB=11.99; Gs=0.01; Gb=9 = 3-dB sub vârf
% N=4; tip = 3; w0 = 0.3*pi; Dwb = 0.2*pi; [w1,w2] = bandedge(w0,Dwb);
% Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,3,Gs);
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,3,Gs);
% f=linspace(0,1,1001); H=20*log10(abs(fresp(B,A,pi*f)));
% plot(f,H, [w1,w2]/pi,[Gb,Gb],'r.'); grid; ytick(0:1:12);
% xtick(0:0.1:1);
% foloseşte funcţiile ELLIPDEG, ACDE, CDE

function Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,tip,Gs)

if nargin==0, help hpeqbw; return; end
if nargin==6, tip=0; end
if tip==3 & nargin==7, disp('trebuie introdusă valoarea pentru Gs'); return; end

G0 = 10^(G0/20); G = 10^(G/20); GB = 10^(GB/20); Gb = 10^(Gb/20);
if nargin==8, Gs = 10^(Gs/20); end

e = sqrt((G^2-GB^2)/(GB^2-G0^2));
eb = sqrt((G^2-Gb^2)/(Gb^2-G0^2));

Fb = eb/e; % Fb = FN(wb), unde wb = Wb/WB

switch tip,
case 0,
wb = Fb^(1/N);
case 1,
u = acos(Fb)/N; wb = cos(u);
case 2,
u = acos(1/Fb)/N; wb = 1/cos(u);
case 3,
tol = eps; % poate fi schimbat, tol=1e-15, sau tol=5 iteraţii
% Landen
es = sqrt((G^2-Gs^2)/(Gs^2-G0^2));
k1 = e/es;
k = ellipdeg(N,k1,tol);
u = acde(Fb,k1,tol)/N; wb = cde(u,k,tol);
end

Wb = tan(Dwb/2);
WB = Wb/wb;
Dw = 2*atan(WB);





95










% HPEQEX0.M – EXEMPLU DE IEŞIRE PENTRU HPEQ.M
% egalizor Butterworth - amplificare
% egalizor Butterworth - atenuare
% egalizor Eliptic
% filtru de decupare trece jos Cebîşev-2
% filtru de decupare trece sus Eliptic
% filtru trece bandă Cebîşev-1
% filtru trece bandă Eliptic
% filtru oprește bandă Eliptic
% filtru oprește bandă Cebîşev-2
% filtru trece jos Eliptic
% filtru trece sus Cebîşev-2

clear all;
% -----------------------------------------------------------------------------
disp(' ');
disp('exemplu de amplificare Butterworth:');
disp('--------------------------');
disp('N = 5; fs=40; f0= 5; Df = 4; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;');
disp('G0 = 0; G = 12; GB = 9; tip = 0;');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip);');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs;');
disp('H = 20*log10(abs(fresp(B,A,w)));');
disp('[w1,w2] = bandedge(w0,Dw); f1=fs * w1/2/pi; f2 = fs * w2/2/pi;');
disp('plot(f,H,''r-'', [f1,f2],20*log10([GB,GB]),''b.'');');

N = 5; fs=40; f0 = 5; Df = 4; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
G0 = 0; G = 12; GB = 9; tip = 0;

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip)

f = linspace(0,20,1001); w = 2*pi*f/fs;

H = 20*log10(abs(fresp(B,A,w)));
% H = 20*log10(abs(fresp(Bh,Ah,w,w0))); % calcul alternativ al raspunsului în
frecvenţă

[w1,w2] = bandedge(w0,Dw); f1 = fs * w1/2/pi; f2 = fs * w2/2/pi;

plot(f,H,'r-', [f1,f2],([GB,GB]),'b.');
ylim([-8 14]); ytick(-6:3:12);
xlim([0,20]); xtick(0:2:20);
title('Amplificare Butterworth {\it N} = 5');
xlabel('{\it f} (kHz)'); ylabel('dB');
grid;

% -----------------------------------------------------------------------------
disp(' '); disp('tastați <RET> pentru a continua...'); pause;
96

disp(' ');
disp('exemplu de atenuare Butterworth:');
disp('------------------------');
disp('N = 5; fs=40; f0 = 5; Df = 4; w0= 2*pi*f0/fs; Dw = 2*pi*Df/fs;');
disp('G0 = 0; G = -12; GB = -9; tip = 0;');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip);');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs;');
disp('H = 20*log10(abs(fresp(B,A,w)));');
disp('[w1,w2] = bandedge(w0,Dw); f1=fs * w1/2/pi; f2 = fs * w2/2/pi;');
disp('plot(f,H,''r-'', [f1,f2],[GB,GB],''b.'');');

N = 5; fs=40; f0 = 5; Df = 4; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
G0 = 0; G = -12; GB = -9; tip = 0;

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip)

f = linspace(0,20,1001); w = 2*pi*f/fs;

H = 20*log10(abs(fresp(B,A,w)));
% H = 20*log10(abs(fresp(Bh,Ah,w,w0))); % calcul alternativ pentru răspunsul în
frecvenţă

[w1,w2] = bandedge(w0,Dw); f1 = fs * w1/2/pi; f2 = fs * w2/2/pi;

plot(f,H,'r-', [f1,f2],[GB,GB],'b.');
ylim([-14 14]); ytick(-12:3:12);
xlim([0,20]); xtick(0:2:20);
title('atenuare Butterworth {\it N} = 5');
xlabel('{\it f} (kHz)'); ylabel('dB');
grid;

% -----------------------------------------------------------------------------
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('exemplu Eliptic :');
disp('-----------------');
disp('N = 4; fs=40; f0 = 5; Df = 2; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;')
disp('G0 = 0; G = 12; GB = 11.99; tip = 3; Gs = 0.01; tol=eps;');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol);');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs;');
disp('H = 20*log10(abs(fresp(B,A,w)));');
disp('[w1,w2] = bandedge(w0,Dw); f1= fs* w1/2/pi; f2 = fs * w2/2/pi;');
disp('plot(f,H,''r-'', [f1,f2],[GB,GB],''b.'');');

N = 4; fs=40; f0 = 5; Df = 2; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
G0 = 0; G = 12; GB = 11.99; tip = 3; Gs = 0.01; tol=eps;

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = 20*log10(abs(fresp(B,A,w)));
% H = 20*log10(abs(fresp(Bh,Ah,w,w0))); % calcul alternativ pentru răspunsul în
frecvenţă

[w1,w2] = bandedge(w0,Dw); f1 = fs * w1/2/pi; f2 = fs * w2/2/pi;

plot(f,H,'r-', [f1,f2],[GB,GB],'b.');
97

ylim([-8 14]); ytick(-6:3:12);
xlim([0,20]); xtick(0:2:20);
title('Eliptic {\it N} = 4');
xlabel('{\it f} (kHz)'); ylabel('dB');
grid;

% -----------------------------------------------------------------------------
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru de decupare trece jos Cebîşev-2:');
disp('------------------------------------');
disp('N = 4; fs=40; f0 = 0; Df = 2; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;')
disp('G0 = 0; G = 12; GB = 0.01; tip = 2;');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip);');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs;');
disp('H = 20*log10(abs(fresp(B,A,w)));');
disp('[w1,w2] = bandedge(w0,Dw); f1=fs * w1/2/pi; f2 = fs * w2/2/pi;');
disp('plot(f,H,''r-'', [f1,f2],[GB,GB],''b.'');');

N = 4; fs=40; f0 = 0; Df = 2; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
G0 = 0; G = 12; GB = 0.01; tip = 2;

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip)

H = 20*log10(abs(fresp(B,A,w)));
% H = 20*log10(abs(fresp(Bh,Ah,w,w0))); % calcul alternativ pentru răspunsul în
frecvenţă

[w1,w2] = bandedge(w0,Dw); f1 = fs * w1/2/pi; f2 = fs * w2/2/pi;
plot(f,H,'r-', [f1,f2],[GB,GB],'b.');
ylim([-8 14]); ytick(-6:3:12);
xlim([0,20]); xtick(0:2:20);
title('filtru de decupare trece jos Cebîşev-2 {\it N} = 4');
xlabel('{\it f} (kHz)'); ylabel('dB');
grid;

% ---------------------------------------------------------------------------------
---
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru de decupare trece sus Eliptic:');
disp('----------------------------------');
disp('N= 5; fs=40; f0= fs/2; Df= 2; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;')
disp('G0 = 0; G = 12; GB = 11.99; tip = 3; Gs = 0.01; tol=eps;');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol);');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs;');
disp('H = 20*log10(abs(fresp(B,A,w)));');
disp('[w1,w2]= bandedge(w0,Dw); f1= fs * w1/2/pi; f2 = fs * w2/2/pi;');
disp('plot(f,H,''r-'', [f1,f2],[GB,GB],''b.'');');

N = 5; fs=40; f0 = fs/2; Df = 2; w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
G0 = 0; G = 12; GB = 11.99; tip = 3; Gs = 0.01; tol=eps;

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = 20*log10(abs(fresp(B,A,w)));
98

% H = 20*log10(abs(fresp(Bh,Ah,w,w0))); % calcul alternativ pentru răspunsul în
frecvenţă

[w1,w2] = bandedge(w0,Dw); f1 = fs * w1/2/pi; f2 = fs * w2/2/pi;

plot(f,H,'r-', [f1,f2],[GB,GB],'b.');
ylim([-8 14]); ytick(-6:3:12);
xlim([0,20]); xtick(0:2:20);
title('filtru de decupare trece sus Eliptic {\it N} = 5');
xlabel('{\it f} (kHz)'); ylabel('dB');
grid;

% ---------------------------------------------------------------------------------
---
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru trece bandă Cebîşev-1 obişnuit:');
disp('-------------------------------------');
disp('fs=40; f1=4; f2=6; f1s=3.5; f2s=6.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs;
w1s=2*pi*f1s/fs; w2s=2*pi*f2s/fs;');
disp('G0 = -Inf; G = 0; GB = -0.10; tip = 3; Gs = -30; tol=eps;');
disp('[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;');
disp('Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs; H = abs(fresp(B,A,w));');
disp('plot(f,H,''r-'',[f1,f2],10.^([GB,GB]/20),''b.'',
[f1s,f2s],10.^([Gs,Gs]/20),''b.'');');

fs=40; f1=4; f2=6; f1s=3.5; f2s=6.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs; w1s=2*pi*f1s/fs;
w2s=2*pi*f2s/fs;
G0 = -Inf; G = 0; GB = -0.1; tip = 1; Gs = -30; tol=eps;

[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;

Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = abs(fresp(B,A,w));
% H = abs(fresp(Bh,Ah,w,w0)); % calcul alternativ pentru răspunsul în frecvenţă

plot(f,H,'r',[f1,f2],10.^([GB,GB]/20),'b.',[f1s,f2s],10.^([Gs,Gs]/20),'b.');
ylim([0,1.05]); ytick(0:0.2:1);
xlim([0,20]); xtick(0:2:20);
title(' filtru trece bandă Cebîşev-1 ');
xlabel('{\it f} (kHz)'); ylabel('unităţi absolute');
grid;

% --------------------------------------------------------------------------------
----
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru eliptic trece bandă:');
disp('----------------------------------');
disp('fs=40; f1=4; f2=6; f1s=3.5; f2s=6.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs;
w1s=2*pi*f1s/fs; w2s=2*pi*f2s/fs;');
disp('G0 = -Inf; G = 0; GB = -0.10; tip = 3; Gs = -30; tol=eps;');
99

disp('[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;');
disp('Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs; H = abs(fresp(B,A,w));');
disp('plot(f,H,''r-'',[f1,f2],10.^([GB,GB]/20),''b.'',
[f1s,f2s],10.^([Gs,Gs]/20),''b.'');');

fs=40; f1=4; f2=6; f1s=3.5; f2s=6.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs; w1s=2*pi*f1s/fs;
w2s=2*pi*f2s/fs;
G0 = -Inf; G = 0; GB = -0.10; tip = 3; Gs = -30; tol=eps;

[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;

Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = abs(fresp(B,A,w));
% H = abs(fresp(Bh,Ah,w,w0)); % calcul alternativ pentru răspunsul în frecvenţă

plot(f,H,'r-',[f1,f2],10.^([GB,GB]/20),'b.', [f1s,f2s],10.^([Gs,Gs]/20),'b.');
ylim([0,1.05]); ytick(0:0.2:1);
xlim([0,20]); xtick(0:2:20);
title('filtru Eliptic trece bandă');
xlabel('{\it f} (kHz)'); ylabel('unităţi absolute');
grid;

% --------------------------------------------------------------------------------
----
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru eliptic opreşte bandă:');
disp('----------------------------------');
disp('fs=40; f1=4; f2=6; f1s=3.5; f2s=6.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs;
w1s=2*pi*f1s/fs; w2s=2*pi*f2s/fs;');
disp('G0 = 0; G = -Inf; GB = -0.10; tip = 3; Gs = -30; tol=eps;');
disp('[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;');
disp('Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs; H = abs(fresp(B,A,w));');
disp('plot(f,H,''r-'',[f1,f2],10.^([GB,GB]/20),''b.'',
[f1s,f2s],10.^([Gs,Gs]/20),''b.'');');

fs=40; f1=12; f2=14; f1s=11.5; f2s=14.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs;
w1s=2*pi*f1s/fs; w2s=2*pi*f2s/fs;
G0 = 0; G = -Inf; GB = -30; tip = 3; Gs = -0.1; tol=eps;

[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;

Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)
H = abs(fresp(B,A,w));
% H = abs(fresp(Bh,Ah,w,w0)); % calcul alternativ pentru răspunsul în frecvenţă

plot(f,H,'r-',[f1,f2],10.^([GB,GB]/20),'b.', [f1s,f2s],10.^([Gs,Gs]/20),'b.');
100

ylim([0,1.05]); ytick(0:0.2:1);
xlim([0,20]); xtick(0:2:20);
title('filtru Eliptic opreşte bandă');
xlabel('{\it f} (kHz)'); ylabel('unităţi absolute');
grid;

% --------------------------------------------------------------------------------
----

disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru opreşte bandă Cebîşev-2:');
disp('-------------------------------------');
disp('fs=40; f1=12; f2=14; f1s=11.5; f2s=14.5; w1=2*pi*f1/fs; w2=2*pi*f2/fs;
w1s=2*pi*f1s/fs; w2s=2*pi*f2s/fs;');
disp('G0 = 0; G = -Inf; GB = -30; tip = 3; Gs = -0.1; tol=eps;');
disp('[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;');
disp('Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs; H = abs(fresp(B,A,w));');
disp('plot(f,H,''r-'',[f1,f2],10.^([GB,GB]/20),''b.'',
[f1s,f2s],10.^([Gs,Gs]/20),''b.'');');

fs=40; f1=11.5; f2=14.5; f1s=12; f2s=14; w1=2*pi*f1/fs; w2=2*pi*f2/fs;
w1s=2*pi*f1s/fs; w2s=2*pi*f2s/fs;
G0 = 0; G = -Inf; GB = -0.1; type = 2; Gs = -30;

[w0,Dw] = bandedge(w1,w2,1); Dws = w2s-w1s;

Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = abs(fresp(B,A,w));
% H = abs(fresp(Bh,Ah,w,w0)); % calcul alternativ pentru răspunsul în frecvenţă

plot(f,H,'r-',[f1,f2],10.^([GB,GB]/20),'b.', [f1s,f2s],10.^([Gs,Gs]/20),'b.');
ylim([0,1.05]); ytick(0:0.2:1);
xlim([0,20]); xtick(0:2:20);
title('filtru Cebîşev-2 opreşte bandă');
xlabel('{\it f} (kHz)'); ylabel('unităţi absolute');
grid;

% --------------------------------------------------------------------------------
----
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
disp('filtru trece jos Eliptic cu specificaţiile:');
disp('------------------------------------');
disp('fs=40; f2=4; f2s=4.5; w0=0; Dw=2*pi*f2/fs; Dws=2*pi*f2s/fs;');
disp('G0 = -Inf; G = 0; GB = -0.10; tip = 1; Gs = -30; tol=eps;');
disp('Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs; H = abs(fresp(B,A,w));');
disp('plot(f,H,''r-'',[0,f2],10.^([GB,GB]/20),''b.'',
[0,f2s],10.^([Gs,Gs]/20),''b.'');');

101

fs=40; f2=4; f2s=4.5; w0=0; Dw=2*pi*f2/fs; Dws=2*pi*f2s/fs;
G0 = -Inf; G = 0; GB = -0.10; tip = 3; Gs = -30; tol=eps;

Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = abs(fresp(B,A,w));
% H = abs(fresp(Bh,Ah,w,w0)); % calcul alternativ pentru răspunsul în frecvenţă

plot(f,H,'r-',[0,f2],10.^([GB,GB]/20),'b.',
[0,f2s],10.^([Gs,Gs]/20),'b.');
ylim([0,1.05]); ytick(0:0.2:1);
xlim([0,20]); xtick(0:2:20);
title('filtru trece jos Eliptic');
xlabel('{\it f} (kHz)'); ylabel('unităţi absolute ');
grid;

% --------------------------------------------------------------------------------
----
disp(' '); disp('tastaţi <RET> pentru a continua...'); pause;
disp(' ');
dis('filtru trece sus Cebîşev-2 cu specificaţiile:');
disp('---------------------------------------');
disp('fs=40; f1=14; f1s=16; w0=pi; Dw=2*pi*(20-f1)/fs ;Dws=2*pi*(20
f1s)/fs;');
disp('G0 = -Inf; G = 0; GB = -0.30; tip = 3; Gs = -0.1; tol=eps;');
disp('Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);');
disp('[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)');
disp('f = linspace(0,20,1001); w = 2*pi*f/fs; H = abs(fresp(B,A,w));');
disp('plot(f,H,''r-'',[f1,20],10.^([GB,GB]/20),''b.'',
[f1s,20],10.^([Gs,Gs]/20),''b.'');');

fs=40; f1=14; f1s=16; w0=pi; Dw=2*pi*(20-f1)/fs; Dws=2*pi*(20-f1s)/fs;
G0 = -Inf; G = 0; GB = -30; tip = 2; Gs = -0.1; tol=eps;

Nexact = hpeqord(G0, G, GB, Gs, Dw, Dws, tip), N=ceil(Nexact);

[B,A,Bh,Ah] = hpeq(N, G0, G, GB, w0, Dw, tip, Gs, tol)

H = abs(fresp(B,A,w));
% H = abs(fresp(Bh,Ah,w,w0)); % calcul alternativ pentru răspunsul în frecvenţă

plot(f,H,'r',[f1,20],10.^([GB,GB]/20),'b.',[f1s,20],10.^([Gs,Gs]/20), 'b.');
ylim([0,1.05]); ytick(0:0.2:1);
xlim([0,20]); xtick(0:2:20);
title('filtru Cebîşev-2 trece sus');
xlabel('{\it f} (kHz)'); ylabel('unităţi absolute');
grid;

% -------------------------------------------------
%disp(' ');
disp('tastaţi <RET> pentru a termina...'); pause;
close all;


% HPEQEX1.M – EXEMPLU DE IEŞIRE PENTRU HPEQ.M
102

% EQ şi exemple de filtre de decupare TJ,TS cu ordin fixat sau necunoscut
% exemplu de filtre TJ,TS,TB,OB cu ordin fixat sau necunoscut

clear all;

fs = 40;
tol = eps;

disp(' ');
disp('rata de eşantionare este de 40 kHz');
disp('toate câştigurile trebuie introduse în dB');
disp('în scopul reprezentării grafice, câştigul de vârf G se limitează la [-15,15]
dB, altfel G=-Inf');
disp(' ');
disp('parametrii de proiectare intră după cum urmează, cu f''s în kHz (include
parantezele):');
disp(' ');
disp(' [N, G0, G, GB, f0, Df, tip](for tip=0,1,2) ');
disp(' [N, G0, G, GB, f0, Df, tip, Gs](for tip=3)');
disp('[G0,G,GB,Gs,f1,f2,f1s,f2s,tip](cu N pentru a fi determinat)');

disp(' ');
disp('EQ şi exemple de filtre de decupare cu ordin fixat sau necunoscut:');
disp('----------------------------------------------------- ');
disp('[5,0,12,9,6,4,0],[5,0,12,9,0,4,0],[5,0,12,9,20,4,0]=Butter EQ,TJ,TS');
disp('[5,0,12,11.5,6,4,1],[5,0,12,11.5,0,4,1],[5,0,12,11.5,20,4,1]= Cebîşev-1
EQ,TJ,TS');
disp('[5,0,12,0.5,6,4,2],[5,0,12,0.5,0,4,2],[5,0,12,0.5,20,4,2]
=Cebîşev-2 EQ,TJ,TS');
disp('[5,0,12,11.5,6,4,3,1],[5,0,12,11.5,0,4,3,1],[5,0,12,11.5,20,4,
3,1] = Elip EQ,TJ,TS');
disp(' ');
disp('[0,12,11.5,0.5,6,8,5,9,0],[0,12,11.5,0.5,0,4,0,5,0],[0,12,11.5,
0.5,16,20,15,20,0] = Butter');
disp('[0,12,11.5,0.5,6,8,5,9,1],[0,12,11.5,0.5,0,4,0,5,1],[0,12,11.5,
0.5,16,20,15,20,1] = Cebîșev-1');
disp('[0,12,0.5,11.5,5,9,6,8,2],[0,12,0.5,11.5,0,5,0,4,2],[0,12,0.5,
11.5,15,20,16,20,2] = Cebîșev-2');
disp('[0,12,11.5,0.5,6,8,5,9,3],[0,12,11.5,0.5,0,4,0,5,3],[0,12,11.5,
0.5,16,20,15,20,3] = Elip');
disp(' ');

disp('filtru trece bandă obişnuit,filtru oprește bandă cu frecvenţă fixată sau
necunoscută:');
disp('-------------------------------------------- ');
disp('[5,-inf,0,-3,6,4,0],[5,0,-inf,-3,6,4,0] = Butter');
disp('[5,-inf,0,-1,6,4,1],[5,0,-inf,-20,6,4,1]= Cebîşev-1');
disp('[5,-inf,0,-20,6,4,2],[5,0,-inf,-1,6,4,2]= Cebîşev-2');
disp('[5,-inf,0,-1,6,4,3,-20],[5,0,-inf,-20,6,4,3,-1] = Elip');
disp(' ');
disp('[-inf,0,-1,-20,6,8,5,9,t],[0,-inf,-20,-1,6,8,5,9,t]=Butter, Cebîşev-1, Elip,
t=0,1,3');
disp('[-inf,0,-20,-1,5,9,6,8,t],[0,-inf,-1,-20,5,9,6,8,t]=Cebîşev-2, t=2');
disp(' ');
disp('filtre trece jos şi trece sus obişnuite cu ordin fixat sau necunoscut :');
disp('-------------------------------------------- ');
disp('[5,-inf,0,-3,0,4,0],[5,-inf,0,-3,20,4,0] = Butter');
disp('[5,-inf,0,-1,0,4,1],[5,-inf,0,-1,20,4,1] = Cebîşev-1');
103

disp('[5,-inf,0,-20,0,4,2],[5,-inf,0,-20,20,4,2]= Cebîşev-2');
disp('[5,-inf,0,-1,0,4,3,-20],[5,-inf,0,-1,20,4,3,-20] = Elip');
disp(' ');
disp('[-inf,0,-1,-20,0,4,0,5,t],[-inf,0,-1,-20,16,20,15,20,t]=Butter, Cebîşev-1,
Elip, t=0,1,3');
disp('[-inf,0,-20,-1,0,5,0,4,t],[-inf,0,-20,-1,15,20,16,20,t]
=Cebîşev-2, t=2');
disp(' ');

P = input('se introduc parametrii de proiectare (sau se copiază unul de mai sus, 0
pentru ieşire) = ');

if P==0; return; end

switch length(P)
case 7,
N = P(1); G0 = P(2); G = P(3); GB = P(4); f0 = P(5); Df = P(6); tip = P(7);
w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
[w1,w2] = bandedge(w0,Dw);
f1 = fs * w1/(2*pi); f2 = fs * w2/(2*pi);
case 8,
N = P(1); G0 = P(2); G = P(3); GB = P(4); f0 = P(5); Df = P(6); tip = P(7);
Gs = P(8);
w0 = 2*pi*f0/fs; Dw = 2*pi*Df/fs;
[w1,w2] = bandedge(w0,Dw);
f1 = fs * w1/(2*pi); f2 = fs * w2/(2*pi);
case 9,
G0 = P(1); G = P(2); GB = P(3); Gs = P(4);
f1 = P(5); f2 = P(6); f1s = P(7); f2s = P(8); tip = P(9);
w1=2*pi*f1/fs; w2=2*pi*f2/fs; w1s= 2*pi*f1s/fs; w2s= 2*pi*f2s/fs;
[w0,Dw] = bandedge(w1,w2,1); Dws = w2s - w1s;
f0 = fs * w0/(2*pi);
Nexact = hpeqord(G0,G,GB,Gs,Dw,Dws,tip)
N = ceil(Nexact);
End

r = mod(N,2);

g0 = 10^(G0/20); g = 10^(G/20); gB = 10^(GB/20);% câştigurile exprimate în unităţi
absolute
if length(P)==8 | length(P)==9, gs = 10^(Gs/20); end

switch tip, % câştigurile H0 şi Hinf exprimate în unităţi absolute case 0,
h0 = g; hinf = g0;
case 1,
h0 = g^r * gB^(1-r); hinf = g0;
case 2,
h0 = g; hinf = g0^r * gB^(1-r);
case 3,
h0 = g^r * gB^(1-r); hinf = g0^r * gs^(1-r);
end

H0 = 20*log10(h0); Hinf = 20*log10(hinf);% câştigurile H0 şi Hinf exprimate în dB

if tip==3,
[B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,3,Gs,tol)
else
104

[B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,tip)
End

f = linspace(0,20,1001); w = 2*pi*f/fs;

H = abs(fresp(B,A,w));

if (g0~=0) & (g~=0), % egalizor + filtre de decupare
H = 20*log10(H);
if length(P)~=9,
plot(f,H,'b-', [0,f1,f0,f2,20], [Hinf,GB,H0,GB,Hinf],'r.');
else
plot(f,H,'b-',[0,f1s,f1,f0,f2,f2s,20], [Hinf,Gs,GB,H0,GB,Gs,Hinf],'r.');
end

ylim([-15,15]); ytick(-15:3:15); ylabel('dB');
xtick(0:2:20); xlabel('{\it f} (kHz)'); grid;

else % filtre trece sus, trece jos, opreşte bandă, trece bandă obişnuite
if length(P)~=9,
plot(f,H,'b-', [0,f1,f0,f2,20], [hinf,gB,h0,gB,hinf], 'r.');
else
plot(f,H,'b-',[0,f1s,f1,f0,f2,f2s,20], [hinf,gs,gB,h0,gB,gs,hinf],'r.');
end

ylim([0,1.05]); ytick(0:0.1:1); ylabel('unităţi absolute');
xtick(0:2:20); xlabel('{\it f} (kHz)'); grid;
end


% HPEQEX2.M – EXEMPLU DE IEŞIRE PENTRU HPEQ.M
% proiectări de ordin mare cu lăţime de – 3 dB dată

clear all;

fs = 40;
tol = eps;

disp(' ');
disp('Proiectări ale egalizorului pe baza lăţimii de – 3 dB')
disp('-------------------------------------');
disp('rata de eşantionare este de 40 kHz');
disp('toate câştigurile trebuie introduse în dB');
disp('în scopul reprezentării grafice, câştigul de vârf G se limitează la[-15,15]
dB, altfel G=-Inf');
disp(' ');
disp('parametrii de proiectare se introduc după cum urmează, cu f''s în kHz
(include parantezele):');
disp(' ');
disp(' [N, G0, G, GB, Gb, f0, Dfb, tip](tip=0,1,2)(Dfb este lăţimea de bandă
pentru nivelul Gb)');
disp(' [N, G0, G, GB, Gb, f0, Dfb, tip, Gs] (tip=3)');
disp(' [m, G0, G, GB, Gb, f1, f2, f1b, f2b, tip](pentru a fi determinat N,
m=1,2, tip=0,1,2)');
disp(' [m, G0, G, GB, Gb, f1, f2, f1b, f2b, tip, Gs](pentru a fi determinat N,
m=1,2, tip=3)');
disp('(m=1 se potriveşte exact cu Dw, m=2 se potriveşte cu Dwb)');
105


%disp(' ');
disp('EQ şi exemple de filtre de decupare cu ordin fixat:');
disp('------------------------------------------');
disp('[5,0,12,9,9,6,4,0],[5,0,12,9,9,0,4,0],[5,0,12,9,20,4,0] = Butter EQ,TJ,TS');
disp('[5,0,12,11.5,9,6,4,1],[5,0,12,11.5,9,0,4,1],[5,0,12,11.5,20,4,1] =
Cebîşev-1 EQ,TJ,TS');
disp('[5,0,12,0.5,9,6,4,2],[5,0,12,0.5,9,0,4,2],[5,0,12,0.5,20,4,2] =
Cebîşev-2 EQ,TJ,TS');
disp('[5,0,12,11.5,9,6,4,3,0.5],[5,0,12,11.5,9,0,4,3,0.5],[5,0,12,11.5,9,20,4,3,0.5
] = Elip EQ,TJ,TS');

disp(' ');
disp('exemple de EQ cu ordin necunoscut(setează f1=f1b=0 pentru TJ, sau, f2=f2b=20
pentru TS):');
disp('---------------------------------------------------------------------------
');
disp('[1,0,12,11.9,9,6,8,5.5,8.5,0],[2,0,12,11.9,9,6,8,5.5,8.5,0] = Butter,
m=1,2');
disp('[1,0,12,11.9,9,6,8,5.5,8.5,1],[2,0,12,11.9,9,6,8,5.5,8.5,1] = Cebîşev-1,
m=1,2');
disp('[1,0,12,0.1,9,5.5,8.5,6,8,2],[2,0,12,0.1,9,5.5,8.5,6,8,2]
= Cebîşev-2, m=1,2');
disp('[1,0,12,11.9,9,6,8,5.5,8.5,3,0.1],[2,0,12,11.9,9,6,8,5.5,8.5,3, 0.1] = Elip,
m=1,2');

disp(' ');
disp('filtre trece bandă, oprește bandă obişnuite cu ordin fixat (setează f0=0,20
pentru filtrele trece jos, trece sus):');
disp('--------------------------------------------------------- ');
disp('[5,-inf,0,-1,-3,6,4,0],[5,0,-inf,-20,-3,6,4,0]=Butter EQ,TJ,TS');
disp('[5,-inf,0,-1,-3,6,4,1],[5,0,-inf,-20,-3,6,4,1]=Cebîşev-1 EQ,TJ,TS');
disp('[5,-inf,0,-20,-3,6,4,2],[5,0,-inf,-1,-3,6,4,2]=Cebîşev-2 EQ,TJ,TS');
disp('[5,-inf,0,-1,-3,6,4,3,-20],[5,0,-inf,-20,-3,6,4,3,-1]=Elip EQ,TJ,TS');

disp(' ');
disp('Filtre trece bandă, oprește bandă obişnuite cu ordin necunoscut(setează
f1=f1b=0 pentru TJ, sau, f2=f2b=20 pentru TS):');
disp('-------------------------------------------------------------------------');
disp('[1,-inf,0,-1,-3,6,8,5.5,8.5,0],[2,-inf,0,-1,-3,6,8,5.5,8.5,0] = Butter,
m=1,2');
disp('[1,-inf,0, -1,-3,6,8,5.5,8.5,1],[2,-inf,0,-1,-3,6,8,5.5,8.5,1] =
Cebîşev-1, m=1,2');
disp('[1,-inf,0,-20,-3,5.5,8.5,6,8,2],[2,-inf,0,-20,-3,5.5,8.5,6,8,2] =
Cebîşev-2, m=1,2');
disp('[1,-inf,0,-1,-3,6,8,5.5,8.5,3,-20],[2,-inf,0,-1,-3,6,8,5.5,8.5,3,
-20] = Elip,m=1,2');
disp(' ');

P = input('se introduc parametrii de proiectare (sau se copiază unul de mai sus, 0
pentru ieşire) = ');

if P==0; return; end

switch length(P)
case 8,
106

N = P(1); G0 = P(2); G = P(3); GB = P(4); Gb = P(5); f0 = P(6); Dfb = P(7);
tip = P(8);
w0 = 2*pi*f0/fs; Dwb = 2*pi*Dfb/fs;
case 9,
N = P(1); G0 = P(2); G = P(3); GB = P(4); Gb = P(5); f0 = P(6); Dfb = P(7);
tip = P(8); Gs = P(9);
w0 = 2*pi*f0/fs; Dwb = 2*pi*Dfb/fs;
case 10,
m = P(1); G0 = P(2); G = P(3); GB = P(4); Gb = P(5);
f1 = P(6); f2 = P(7); f1b = P(8); f2b = P(9); tip = P(10);
w1=2*pi*f1/fs; w2=2*pi*f2/fs; w1b=2*pi*f1b/fs; w2b = 2*pi*f2b/fs;
[w0,Dw] = bandedge(w1,w2,1); [w0b,Dwb] = bandedge(w1b,w2b,1);
f0 = w0 * fs/2/pi; f0b = w0b * fs/2/pi;
case 11,
m = P(1); G0 = P(2); G = P(3); GB = P(4); Gb = P(5);
f1=P(6); f2=P(7); f1b=P(8); f2b = P(9); tip= P(10); Gs = P(11);
w1=2*pi*f1/fs; w2=2*pi*f2/fs; w1b=2*pi*f1b/fs; w2b = 2*pi*f2b/fs;
[w0,Dw] = bandedge(w1,w2,1); [w0b,Dwb] = bandedge(w1b,w2b,1);
f0 = w0 * fs/2/pi; f0b = w0b * fs/2/pi;
end

switch length(P)
case 8,
Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,tip);
[w1,w2]=bandedge(w0,Dw); f1 = w1 * fs/2/pi; f2= w2 * fs/2/pi;
[w1b,w2b]=bandedge(w0,Dwb); f1b=w1b*fs/2/pi; f2b = w2b * fs/2/pi;
case 9,
Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,3,Gs);
[w1,w2] = bandedge(w0,Dw); f1= w1 * fs/2/pi; f2 = w2 * fs/2/pi;
[w1b,w2b]=bandedge(w0,Dwb); f1b=w1b*fs/2/pi; f2b = w2b * fs/2/pi;
case 10,
N = ceil(hpeqord(G0,G,GB,Gb,Dw,Dwb,tip));
if m==2,
Dw = hpeqbw(N,G0,G,GB,Gb,Dwb,tip); w0= w0b; f0=w0 * fs/2/pi;
end
case 11,
N = ceil(hpeqord(G0,G,GB,Gs,Dw,Dwb,3,Gb));
if m==2,
Dw=hpeqbw(N,G0,G,GB,Gb,Dwb,3,Gs); w0 = w0b; f0 = w0 * fs/2/pi;
end
end

r = mod(N,2);

g0 = 10^(G0/20); g = 10^(G/20); gB = 10^(GB/20); gb = 10^(Gb/20);
if length(P)==9 | length(P)==11, gs = 10^(Gs/20); end

switch tip, % câştigurile H0 şi Hinf în unităţi absolute
case 0,
h0 = g; hinf = g0;
case 1,
h0 = g^r * gB^(1-r); hinf = g0;
case 2,
h0 = g; hinf = g0^r * gB^(1-r);
case 3,
h0 = g^r * gB^(1-r); hinf = g0^r * gs^(1-r);
end

107

H0 = 20*log10(h0); Hinf = 20*log10(hinf);% câştigurile H0 şi Hinf în dB

if tip==3,
[B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,3,Gs,tol)
else
[B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,tip)
End

figure;

f = linspace(0,20,1001); w = 2*pi*f/fs;

H = abs(fresp(B,A,w));

if (g0~=0) & (g~=0), % egalizor + filtre de decupare
H = 20*log10(H);
plot(f,H,'b-',[0,f1b,f1,f0,f2,f2b,20], [Hinf,Gb,GB,H0,GB,Gb,Hinf],'r.');
ylim([-15,15]); ytick(-15:3:15); ylabel('dB');
xtick(0:2:20); xlabel('{\it f} (kHz)'); grid;

else % filtre opreşte bandă, trece bandă, trece sus şi trece jos obişnuite
plot(f,H,'b-',[0,f1b,f1,f0,f2,f2b,20],[hinf,gb,gB,h0,gB,gb,hinf],
'r.');
ylim([0,1.05]); ytick(0:0.1:1); ylabel('unităţi absolute');
xtick(0:2:20); xlabel('{\it f} (kHz)'); grid;
end


% HPEQORD.M – DETERMINAREA ORDINULUI PENTRU EGALIZORUL DIGITAL
% PARAMETRIC
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dws,tip,Gb);
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dws); Butterworth
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dws,0); Butterworth
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dws,1); Cebîşev-1
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dws,2); Cebîşev-2
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dws,3); eliptic
% [N,k,k1] = hpeqord(G0,G,GB,Gs,Dw,Dwb,3,Gb); eliptic,Dwb la Gb
% G0= câştigul de referinţă (toate câştigurile trebuie exprimate în dB)
% G= câştigul de vârf/tăiere
% GB= câştigul lăţimii de bandă pentru banda de trecere
% Gs= câştigul benzii de oprire
% Dw= lăţimea de bandă în [radiani/eşantion] la nivelul GB
% Dws= lăţimea de bandă în [radiani/eşantion] la nivelul Gs (sau la Gb)
% tip= 0,1,2,3, pentru Butterworth, Cebîşev-1, Cebîşev-2, şi eliptic % (implicit
tip=0)
% Gb= nivelul intermediar al lăţimii de bandă, doar pentru cazul
% eliptic, cu Dwb măsurat pentru Gb nu Gs
% N= soluţia exactă pentru ordinul filtrului analogic,nerotunjită la
% următorul întreg
% k,k1 = parametrii de proiectare pentru ordinul filtrului
% observaţii: se rezolvă ecuaţia de grad pentru ordinul filtrului N
% N este soluţia exactă neîntreagă şi trebuie rotunjit în sus
% (sau în jos-este de dorit)
% pentru Butterworth, Cebîşev-1, şi eliptic:
% G>GB>Gs>G0 şi Dw<Dws, pentru amplificare (cazul eliptic Gb:
% G>GB>Gb>Gs>G0)
% G<GB<Gs<G0 şi Dw<Dws, pentru atenuare
% pentru Cebîşev-2:
108

% G>Gs>GB>G0 şi Dw>Dws, pentru amplificare
% G<Gs<GB<G0 şi Dw>Dws, pentru atenuare
% fiind date frecvenţele care definesc marginea benzii [w1,w2] şi
% [w1s,w2s], se folosesc următorii paşi pentru proiectarea filtrului:
% Dw = w2-w1; Dws = w2s-w1s;
% N = hpeqord(G0,G,GB,Gs,Dw,Dws,tip,Gb); N = ceil(N);
% w0 = bandedge(w1,w2,1);
% [B,A,Bh,Ah] = hpeq(N,G0,G,GB,w0,Dw,tip,Gs,tol);

function [N,k,k1] = hpeqord(G0, G, GB, Gs, Dw, Dws, tip, Gb)

if nargin==0, help hpeqord; return; end
if nargin==6, tip=0; end
if nargin==8, Nmax = 15; end % ordinul maxim al filtrului pentru test

G0 = 10^(G0/20); G = 10^(G/20); GB = 10^(GB/20); Gs = 10^(Gs/20);
if nargin==8, Gb = 10^(Gb/20); end

WB = tan(Dw/2);
Ws = tan(Dws/2);
k = WB/Ws;

e = sqrt((G^2 - GB^2)/(GB^2 - G0^2));
es = sqrt((G^2 - Gs^2)/(Gs^2 - G0^2));
k1 = e/es;

switch tip
case 0,
N = log(k1)/log(k);
case 1,
N = acosh(1/k1)/acosh(1/k);
case 2,
N = acosh(k1)/acosh(k);
case 3,
tol = eps; % trebuie schimbată,tol=1e-15, sau, tol=5 iteraţii
Landen
if nargin==7, % N bazat pe GB,Gs
[K,Kprime] = ellipk(k,tol);
[K1,K1prime] = ellipk(k1,tol);
N = (K1prime/K1)/(Kprime/K);
else % cazul Gb
eb = sqrt((G^2 - Gb^2)/(Gb^2 - G0^2));
Fb = eb/e; % Fb este F_N(wb)
wb = 1/k; % wb = tan(Dws/2)/tan(Dw/2), Dws joacă rolul Dwb
for N=1:Nmax, % se continuă testarea succesivă N's
k = ellipdeg(N,k1,tol);
u = acde(Fb,k1,tol)/N; % rezolvă cd(N*u*K1,k1)=eb/e pentru u
err = cde(u,k) - wb; % eroarea continuă să descrească de la
valori pozitive
if err<=0, break; end % N este cel mai mic, astfel încât
end err<=0
end
if N==1, % N=1 deoarece wb>eb/e
Gb2 = (G^2 + G0^2*e^2*wb^2)/(1 + e^2*wb^2);
fprintf('\n\nhpeqord: \n');
fprintf(' condiţia wb < eb/e a eşuat, deoarece wb = %6.4f, eb/e =
%6.4f\n', wb,Fb);
109

fprintf(' Gb = %4.2f dB a fost prea aproape de G = %4.2f dB\n',
20*log10([Gb,G]));
fprintf('G,Gb trebuie să fie separate prin |G-Gb| > %6.4f dB \n',
10*log10(G^2/Gb2));
fprintf(' N a fost setat la N = 1, dar valorile mari ale lui N vor
funcţiona, N = 2-5\n\n');
end
end

% BANDEDGE.M – calculează frecvenţele stânga şi dreapta care definesc
% marginea benzii din transformarea biliniară
% [w1,w2] = bandedge(w0,Dw,dir);
% [w1,w2] = bandedge(w0,Dw); echivalent cu dir=0
% [w1,w2] = bandedge(w0,Dw,0); calculează w1,w2 din w0,Dw
% [w0,Dw] = bandedge(w1,w2,1); calculează w0,Dw din w1,w2
% w0 = frecvenţa centrală în radiani/eşantion (w0 = 2*pi*f0/fs)
% Dw = lăţimea de bandă în radiani pe eşantion
% dir = 0,1, direcţia de calcul
% w1,w2 = frecvenţele stânga şi dreapta care definesc marginea benzii
% în radiani/eşantion
% observaţii: cazul dir=0 calculează w1,w2 din w0,Dw după cum urmează:
% WB = tan(Dw/2); c0=cos(w0); s0=sin(w0);
% cos(w1) = (c0 + WB*sqrt(WB^2+s0^2))/(WB^2+1);
% cos(w2) = (c0 - WB*sqrt(WB^2+s0^2))/(WB^2+1);
% cazul dir=1 calculează w0,Dw din w1,w2 după cum urmează:
% Dw = w2-w1; cos(w0) = sin(w1+w2)/(sin(w1)+sin(w2));
% cazul TJ: w0=0, Dw=atenuare măsurată pentru frecvenţa 0, w1=0, w2=Dw
% cazul TC: w0=pi,Dw=atenuare măsurată pentru Nyquist, w1=pi-Dw,w2=pi

function [w1,w2] = bandedge(w0,Dw,dir);

if nargin==0, help bandedge; return; end
if nargin==2, dir=0; end

if dir==0,
WB = tan(Dw/2); c0 = cos(w0); s0=sin(w0);
w1 = acos((c0 + WB*sqrt(WB^2+s0^2))/(1+WB^2));
w2 = acos((c0 - WB*sqrt(WB^2+s0^2))/(1+WB^2));
else
w2 = Dw-w0;
if Dw==pi,
w1=pi;
else
w1 = acos(sin(w0+Dw)/(sin(w0)+sin(Dw)));
end
end

% BLT.M – TRANSFORMAREA BILINIARĂ A SECŢIUNILOR ANALOGICE DE ORDINUL AL
% DOILEA
% Se utilizează: [B,A,Bhat,Ahat] = blt(Ba,Aa,w0);
% Ba,Aa = Kx3 matrici ale coeficienţilor numărătorului şi numitorului
% analogic (K secţiuni)
% w0= frecvenţa centrală în radiani/eşantion
% B,A = Kx5 matrici ale coeficienţilor numărătorului şi numitorului
% (secţiuni în z de ordinul al patrulea)
% Bhat,Ahat = Kx3 matrici ale secţiunilor de ordinul al doilea în
% variabila zhat
% observaţii: implementează cele două etape ale transformării
110

% biliniare: s --> zhat --> z
% TJ_analog --> TJ_digital --> TB_digital
% s =(zhat-1)/(zhat+1)=(z^2 - 2*c0*z + 1)/(z^2 - 1), cu
% zhat = z*(c0-z)/(1-c0*z)
% c0 = cos(w0), unde w0 = 2*pi*f0/fs = frecvenţa centrală în
% radiani/eşantion
% (B0+ B1*s + B2*s^2)/(A0 + A1*s + A2*s^2) =
% (b0h + b1h*zhat^-1 + b2h*zhat^-2)/(1 + a1h*zhat^-1 + a2h*zhat^-2) =
% (b0 + b1*z^-1 + b2*z^-2 + b3*z^-3 + b4*z^-4)/(1 + a1*z^-1 + a2*z^-2 +
% a3*z^-3 + a4*z^-4)
% matricile de intrare şi de ieşire au următoarele forme:
% Ba = [B0,B1,B2], Bhat = [b0h, b1h, b2h], B = [b0,b1,b2,b3,b4]
% Aa = [A0,A1,A2], Ahat = [1, a1h, a2h], A = [1, a1,a2,a3,a4]

function [B,A,Bhat,Ahat] = blt(Ba,Aa,w0)

if nargin==0, help blt; return; end

K = size(Ba,1); % numărul de secţiuni

B = zeros(K,5); A = zeros(K,5);
Bhat = zeros(K,3); Ahat = zeros(K,3);

B0 = Ba(:,1); B1 = Ba(:,2); B2 = Ba(:,3); % notaţie simplificată
A0 = Aa(:,1); A1 = Aa(:,2); A2 = Aa(:,3); % A0 nu trebuie să fie 0

c0 = cos(w0);

if w0==0, c0=1; end; % cazurile speciale trebuie calculate exact
if w0==pi; c0=-1; end;
if w0==pi/2; c0=0; end;

i = find((B1==0 & A1==0) & (B2==0 & A2==0));% se găsesc secţiunile de
ordinul 0

Bhat(i,1) = B0(i)./A0(i);
Ahat(i,1) = 1;

B(i,1) = Bhat(i,1);
A(i,1) = 1;

i = find((B1~=0 | A1~=0) & (B2==0 & A2==0)); % se găsesc secţiunile
analogice de ordinul întâi

D = A0(i)+A1(i);
Bhat(i,1) = (B0(i)+B1(i))./D;
Bhat(i,2) = (B0(i)-B1(i))./D;
Ahat(i,1) = 1;
Ahat(i,2) = (A0(i)-A1(i))./D;

B(i,1) = Bhat(i,1);
B(i,2) = c0*(Bhat(i,2)-Bhat(i,1));
B(i,3) = -Bhat(i,2);
A(i,1) = 1;
A(i,2) = c0*(Ahat(i,2)-1);
A(i,3) = -Ahat(i,2);
111

i = find(B2~=0 | A2~=0);% se găsesc secţiunile analogice de ordinul al
doilea

D = A0(i)+A1(i)+A2(i);
Bhat(i,1) = (B0(i)+B1(i)+B2(i))./D;
Bhat(i,2) = 2*(B0(i)-B2(i))./D;
Bhat(i,3) = (B0(i)-B1(i)+B2(i))./D;
Ahat(i,1) = 1;
Ahat(i,2) = 2*(A0(i)-A2(i))./D;
Ahat(i,3) = (A0(i)-A1(i)+A2(i))./D;

B(i,1) = Bhat(i,1);
B(i,2) = c0*(Bhat(i,2)-2*Bhat(i,1));
B(i,3) = (Bhat(i,1)-Bhat(i,2)+Bhat(i,3))*c0^2 - Bhat(i,2);
B(i,4) = c0*(Bhat(i,2)-2*Bhat(i,3));
B(i,5) = Bhat(i,3);

A(i,1) = A(i,2) = c0*(Ahat(i,2)-2);
A(i,3) = (1-Ahat(i,2)+Ahat(i,3))*c0^2 - Ahat(i,2);
A(i,4) = c0*(Ahat(i,2)-2*Ahat(i,3));
A(i,5) = Ahat(i,3);

if c0==1 | c0==-1 % filtre de decupare trece jos şi trece sus
B = Bhat; % B,A sunt de ordinul al doilea
A = Ahat;
B(:,2) = c0*B(:,2); % îşi schimbă semnul dacă w0=pi
A(:,2) = c0*A(:,2);
B(:,4:5) = 0; % aceştia devin (K+1)x5
A(:,4:5) = 0;
end


% OCTBW.M – calculul pentru trecerea de la lățimea de bandă în octave la lăţimea de
% bandă liniară
% [Dw,bn,B] = octbw(w0,b,iter);
% [Dw,bn,B] = octbw(w0,b);(echivalent cu iter=0)
% w0= frecvenţa centrală în radiani/eşantion (nu poate fi 0 sau pi)
% b = lăţimea de bandă dorită în octave, b = log2(w2/w1)
% iter = numărul de iteraţii pentru rezolvarea ecuaţiei lăţimii de
% bandă în octave, (de obicei, 0-3)
% Dw = lăţimea de bandă liniară, Dw = w2 - w1
% bn = lăţimea de bandă calculată în octave (după n=iter iteraţii)
% B = lăţimea de bandă analogică calculată
% observaţii: începând cu aproximaţia Bristow-Johnson,
% B = w0/sin(w0) * b,rezolvă iterativ (pentru B în funcţie de b)
% ecuaţia lăţimii de bandă în octavă
% atan(2^(B/2)*t0) / atan(2^(-B/2)*t0) = 2^b, unde t0=tan(w0/2)
% După n=iter iteraţii, care actualizează valoarea lui B,lăţimea de
% bandă bn în octavă este calculată din:
% 2^bn = atan(2^(B/2)*t0)/atan(2^(-B/2)*t0),
% şi lăţimea de bandă liniară corespondentă din:
% tan(Dw/4) = sin(w0) * sinh(B*log(2)/2)
% iter=0 corespunde aproximării Bristow-Johnson de obicei, 1-3 iteraţii % sunt
suficiente pentru toate w0 din intervalul 0 < w0 < 0.9*pi şi % fiecare
valoare rezonabilă a lui b, chiar foarte mare, cu eroarea de % aproximare
abs(bn-b)în esenţă, descrescătoare exponenţial cu numărul % de iteraţii, odată
cunoscute %mărimile w0,Dw, sunt calculate
% frecvenţele care definesc marginea benzii prin
112

% [w1,w2]=bandedge(w0,Dw),
% proiectarea filtrului EQ poate fi realizată folosind HPE
% frecvenţele care definesc marginea benzii, w1,w2 calculate
% se vor afla întotdeauna în intervalul Nyquist (0,pi),şi deşi acestea % sunt
separate de b octave (în realitate de bn octave), acestea nu se % află simetric
între +b/2 şi -b/2 în jurul lui w0 şi pot avea ca
rezultat o bandă foarte asimetrică, în special pentru w0 mari

function [Dw,bn,B] = octbw(w0,b,iter)

if nargin==0, help octbw; return; end
if nargin==2, iter=0; end

B = w0/sin(w0) * b; % aproximarea Bristow-Johnson

t0 = tan(w0/2);

r = 2^(b); % raportul dorit pentru frecvențele care definesc marginea
benzii, r = w2/w1
R = 2^(B/2); % introdus pentru notaţie

for n=1:iter, % soluţia iterativă pentru atan(t0/R) =atan(R*t0) / r
R = t0 / tan(atan(R*t0)/r);
End

B = 2*log2(R); % lăţimea de bandă analogică calculată

bn = log2(atan(R*t0)/atan(t0/R)); % lăţimea de bandă calculată în
octave, error = abs(bn-b)

Dw = 2*atan(sin(w0) * sinh(B*log(2)/2)); % lăţimea de bandă liniară
calculată în radiani/eşantion


% BANDWIDTH.M – calculează lăţimea de bandă la orice nivel
% Dwb = bandwidth(N,G0,G,GB,Gb,Dw,tip,Gs);
% Dwb = bandwidth(N,G0,G,GB,Gb,Dw); Butterworth (echivalent cu tip=0)
% Dwb = bandwidth(N,G0,G,GB,Gb,Dw,0); Butterworth
% Dwb = bandwidth(N,G0,G,GB,Gb,Dw,1); Cebîşev-1
% Dwb = bandwidth(N,G0,G,GB,Gb,Dw,2); Cebîşev-2
% Dwb = bandwidth(N,G0,G,GB,Gb,Dw,3,Gs); Eliptic
% N = ordinul filtrului analogic
% G0 = câştigul de referinţă (toate câştigurile trebuie să fie în dB)
% G = câştigul de vârf/tăiere
% GB = câştigul lăţimii de bandă
% Gb = câştigul de nivel intermediar (3-dB sub G) a cărui lăţime de
% bandă se calculează
% Dw = lăţimea de bandă de proiectare la nivelul GB (exprimată în
% radiani/eşantion
% tip = 0,1,2,3, pentru Butterworth, Cebîşev-1, Cebîşev-2, şi Eliptic
% (implicit, tip=0)
% Gs = câştigul benzii de oprire în dB, doar pentru cazul eliptic
% Dwb = lăţimea de bandă la nivelul Gb (în radiani/eşantion)
% observaţii: rezolvă ecuaţia de amplitudine:
% (G^2 + G0^2*e^2*FN(wb)^2)/(1+e^2*FN(wb)^2) = Gb^2,
% care este echivalentă cu FN(wb) = eb/e, pentru wb = Wb/WB,
% unde Wb = tan(Dwb/2) şi WB = tan(Dw/2)
113

% şi calculul Dwb = 2*atan(WB*wb)este în esenţă invers lui HPEQBW, care %
calculează Dw din Dwb
% cazurile speciale: Gb = G - 3*sign(G) => lăţimea Dwb = 3-dB
% (3-dB sub câştigul de vârf pentru amplificare sau deasupra câştigului % de vârf
pentru atenuare)
% Gb =Gs => Dwb = Dws = lăţimea la nivelul benzii de oprire
% amplificare: G0<Gs<Gb<GB<G (tip=0,1,3), G0<GB<Gb<G (tip=2)
% atenuare: G0>Gs>Gb>GB>G (tip=0,1,3), G0>GB>Gb>G (tip=2)
% pentru a calcula frecvenţele care definesc marginea benzii % din
Dwb, se foloseşte BANDEDGE: [w1b,w2b] = bandedge(w0,Dwb)

function Dwb = bandwidth(N,G0,G,GB,Gb,Dw,tip,Gs)

if nargin==0, help bandwidth; return; end
if nargin==6, tip=0; end
if tip==3 & nargin==7, disp('trebuie introdusă valoarea pentru Gs'); return; end

G0 = 10^(G0/20); G = 10^(G/20); GB = 10^(GB/20); Gb = 10^(Gb/20);
if nargin==8, Gs = 10^(Gs/20); end

e = sqrt((G^2 - GB^2)/(GB^2 - G0^2));
eb = sqrt((G^2 - Gb^2)/(Gb^2 - G0^2));

Fb = eb/e; % Fb = FN(wb), unde wb = Wb/WB

switch tip, % rezolvă ecuaţia FN(wb) = eb/e, pentru wb
case 0,
wb = Fb^(1/N);
case 1,
u = acos(Fb)/N; wb = cos(u);
case 2,
u = acos(1/Fb)/N; wb = 1/cos(u);
case 3,
tol = eps; % poate fi schimbată,tol=1e-15, sau tol=5 iteraţii Landen
es = sqrt((G^2 - Gs^2)/(Gs^2 - G0^2));
k1 = e/es;
k = ellipdeg(N,k1,tol);
u = acde(Fb,k1,tol)/N; wb = cde(u,k,tol);
% rezolvă cd(N*u*K1,k1) = Fb pentru u, şi wb = cd(u*K,k)

end
WB = tan(Dw/2);
Wb = WB*wb;
Dwb = 2*atan(Wb);

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->