Projektowanie filtrów cyfrowych

background image

Projektowanie filtrów cyfrowych


Projektowanie filtra cyfrowego przebiega w następujących etapach:
1. Określenie właściwości filtra (wymagań),
2. Aproksymacja zadanych właściwości,

3. Realizacja systemu.


4

.

0

=

p

ω

6

.

0

=

s

ω

]

[

6

dB

r

p

=

]

[

20

dB

r

s

=


Dodatkowym wymaganiem może być np. liniowa faza lub niski rząd filtra.


1

background image

Projektowanie dyskretnych filtrów IIR na podstawie filtrów analogowych

Filtry analogowe

Filtr Butterwortha
Charakterystyka częstotliwościowa

|

)

(

|

j

H

filtra Butterwortha jest maksymalnie płaska w paśmie

przepustowym. Oznacza to, że dla filtra rzędu N pierwsze (2N-1) pochodnych funkcji

2

ma

wartość zero dla

0

=

. Charakterystyka amplitudowa jest monotoniczna w paśmie przepustowym i

zaporowym. Kwadrat charakterystyki amplitudowej definiuje się następująco:

|

)

(

|

j

H

N

c

c

j

j

j

H

2

2

)

/

(

1

1

|

)

(

|

+

=

2

background image

Podstawiając

= j

s

N

c

c

c

c

j

s

s

H

s

H

j

H

2

2

)

/

(

1

1

)

(

)

(

|

)

(

|

+

=

=

Bieguny transmitancji spełniają

, skąd

0

)

/

(

1

2

=

+

N

c

j

s

(

,

)

2

(

π

ϕ

ϕ

k

j

j

Me

Me

C

+

=

=

1

,...

1

,

0

,

/

)

2

(

=

=

+

n

k

e

M

C

n

k

j

n

n

π

ϕ

)

1

2

,...

1

,

0

,

1

)

1

2

)(

2

/

(

2

=

=

=

+

N

k

e

j

s

N

k

N

j

c

c

N

k

π

(*)


Ponieważ (*) podaje bieguny iloczynu

)

(

)

(

s

H

s

H

c

c

do realizacji filtra wybiera się bieguny z lewej

półpłaszczyzny, co zapewnia stabilność filtra analogowego.

Przykłady:

7071

.

0

7071

.

0

2

,

1

j

s

±

=

)

7071

.

0

70711

.

0

)(

7071

.

0

7071

.

0

(

1

)

(

j

s

j

s

s

H

c

+

+

+

=

1

4142

.

1

1

)

(

2

+

+

=

s

s

s

H

c

3

background image

1

,

866

.

0

5

.

0

2

3

,

1

=

±

=

s

j

s

1

2

2

1

)

(

2

3

+

+

+

=

s

s

s

s

H

c


8478

.

1

7654

.

0

4

,

1

j

s

±

=

7654

.

0

8478

.

1

3

,

2

j

s

±

=

16

2

4

=

=

=

N

c

w

16

905

.

20

6569

.

13

2263

.

5

16

)

(

2

3

4

+

+

+

+

=

s

s

s

s

s

H

c


4

background image

Przykład
Obliczyć rząd N i pulsację

c

(pulsacja 3dB) analogowego filtra Butterwortha spełniającego następujące

wymagania: krawędź pasma przepustowego

s

rad

p

/

100

=

, krawędź pasma zaporowego

s

rad

s

/

160

=

,

maksymalne tłumienie w paśmie przepustowym

dB

r

p

1

=

, minimalne tłumienie w paśmie zaporowym

.

dB

r

s

30

=


5

background image

Ze wzoru

N

c

c

j

j

j

H

2

2

)

/

(

1

1

|

)

(

|

+

=

otrzymujemy:

=

+

=

+

]

[

)

/

(

1

1

]

[

)

/

(

1

1

2

2

dB

r

dB

r

s

N

c

s

p

N

c

p

(

)

(

)

⎪⎩

=

+

=

+

s

N

c

s

p

N

c

p

r

r

2

/

1

2

10

2

/

1

2

10

)

/

(

1

log

20

)

/

(

1

log

20

(

)

(

)

⎪⎩

=

+

=

+

10

/

)

/

(

1

log

10

/

)

/

(

1

log

2

10

2

10

s

N

c

s

p

N

c

p

r

r

⎪⎩

=

=

1

10

)

/

(

1

10

)

/

(

10

/

2

10

/

2

s

p

r

N

c

s

r

N

c

p

Dzieląc stronami i logarytmując:



=

⎟⎟

⎜⎜

1

10

1

10

log

log

10

/

10

/

10

2

10

s

p

r

r

N

s

p


otrzymujemy:

8.785

160

100

log

/

1

10

1

10

log

2

1

log

/

1

10

1

10

log

2

1

10

10

/

30

10

/

1

10

10

10

/

10

/

10

=



=

⎟⎟

⎜⎜



=

s

p

r

r

s

p

N

)

1

10

(

log

2

1

)

/

(

log

10

/

10

10

=

p

r

c

p

N

N

r

c

p

p

2

1

10

/

10

10

)

1

10

(

log

)

/

(

log

=

N

r

c

p

p

2

1

10

/

)

1

10

(

/

=

107.7957

)

1

10

(

100

)

1

10

(

9

2

1

10

/

1

2

1

10

/

=

=

=

N

r

p

c

p


Ponieważ rząd filtra musi być liczbą całkowitą N zostaje zaokrąglone w górę N=9.

6

background image


Transformacja częstotliwości - filtry FGP, FBP, FBS





7

background image

8

background image

Filtry Czebyszewa
Kwadrat charakterystyki amplitudowej filtra Czebyszewa typu I definiuje się następująco:

)

/

(

1

1

|

)

(

|

2

2

2

c

N

c

j

j

V

j

H

+

=

ε

gdzie

jest wielomianem Czebyszewa rzędu N (

).

⎪⎩

>

=

1

|

|

),

cosh

cosh(

1

|

|

),

cos

cos(

)

(

1

1

x

x

N

x

x

N

x

V

N

)

arccos(

cos

1

x

x

=

1

))

arccos(

0

cos(

)

(

0

=

=

x

x

V

,

x

x

x

V

=

=

))

(

cos(arccos

)

(

1

,

1

2

))

arccos(

2

cos(

)

(

2

2

=

=

x

x

x

V

Wielomiany Czebyszewa można wyznaczać rekurencyjnie:

1

),

(

)

(

2

)

(

1

1

=

+

N

x

V

x

xV

x

V

N

N

N


Dla

, dla

rośnie monotonicznie.

1

|

|

x

1

)

(

0

2

x

V

N

1

|

|

>

x

)

(x

V

N

1

)

1

(

=

N

V

;

dla N parzystego i

dla N nieparzystego.

1

)

0

(

±

=

N

V

0

)

0

(

=

N

V

9

background image

Bieguny analogowego filtra Czebyszewa są położone na płaszczyźnie zespolonej S na elipsie.
Długość półosi małej wynosi

c

a

a półosi wielkiej

c

b

, przy czym:

)

(

2

1

/

1

/

1

N

N

a

=

α

α

,

2

1

1

+

+

=

ε

ε

α

,

)

(

2

1

/

1

/

1

N

N

b

+

=

α

α

.

Na okręgu o promieniu równym wielkiej półosi elipsy wyznacza się bieguny filtra Butterwortha o
tym samym rzędzie, co projektowany filtr Czebyszewa, a następnie przesuwa się je na obwód elipsy.

9037

.

0

1490

.

0

2

,

1

j

s

±

=

,

2980

.

0

3

=

s

9464

.

0

0850

.

0

2

,

1

j

s

±

=

,

3920

.

0

2052

.

0

4

,

3

j

s

±

=

10

background image

Kwadrat charakterystyki amplitudowej filtra Czebyszewa typu II definiuje się następująco:

)

/

(

1

1

1

|

)

(

|

2

2

2

+

=

j

j

V

j

H

c

N

c

ε

W porównaniu z filtem typu I następuje odwrócenie członu

w mianowniku oraz

odwrócenie argumentu wielomianu Czebyszewa na

)

/

(

2

2

c

N

j

j

V

ε

j

j

.

c

/

Bieguny filtra typu II można wyznaczyć znając bieguny filtra typu I na podstawie zależności:

I

k

c

II

k

s

s

2

=

natomiast zera filtra typu II leżą na osi urojonej w punktach

.

0

)

/

(

=

c

N

V

11

background image

0773

.

1

1777

.

0

2

,

1

j

s

±

=

,

3553

.

3

3

=

s

;

1547

.

1

2

,

1

j

z

±

=

8213

.

0

2860

.

0

2

,

1

j

s

±

=

,

3221

.

1

3

=

s

;

1547

.

1

2

,

1

j

z

±

=

12

background image


13

background image

Filtr eliptyczny
Charakterystyka amplitudowa filtra eliptycznego jest równomiernie falista w paśmie przepustowym
i zaporowym. Filtr opisują cztery parametry: N - rząd,

c

- krawędź pasma przepustowego oraz R

p

-

tłumienie w paśmie przepustowym i R

s

- tłumienie w paśmie zaporowym.







14

background image

15

background image

16

background image

17

background image

Transformacja biliniowa

Transformacja biliniowa jest przekształceniem algebraicznym odwzorowującym oś urojoną

płaszczyzny S w okrąg jednostkowy na płaszczyźnie Z. Ponieważ

j

−∞

, a

π

ω

π

więc

przekształcenie to jest nieliniowe.
Transmitancję dyskretną H(z) uzyskuje się z transmitancji analogowej H

c

(s) przez podstawienie:



+

=

1

1

1

1

2

z

z

T

s

d

(*), tzn.:



+

=

1

1

1

1

2

)

(

z

z

T

H

z

H

d

c


Rozwiązując (*) względem z i podstawiając

+

=

j

s

σ

otrzymujemy:

s

T

s

T

z

d

d

)

2

/

(

1

)

2

/

(

1

+

=

2

/

2

/

1

2

/

2

/

1

d

d

d

d

T

j

T

T

j

T

+

+

=

σ

σ

Dla

0

<

σ

1

|

|

<

z

, a dla

0

>

σ

. Tak, więc jeżeli biegun transmitancji analogowej H

1

|

|

>

z

c

(s) leży w

lewej półpłaszczyźnie to moduł transmitancji H(z) leży wewnątrz okręgu jednostkowego. Stabilny
układ analogowy jest przekształcany w stabilny układ dyskretny.

Podstawiając do wyrażenia na z

= j

s

2

/

1

2

/

1

d

d

T

j

T

j

z

+

=

widzimy, że

1

|

|

=

z

dla całej osi

j

2

/

1

2

/

1

d

d

j

T

j

T

j

e

+

=

ω

.

18

background image

Zależność pomiędzy a

ω

wyznacza się z definicji przekształcenia:



+

=

ω

ω

j

j

d

e

e

T

j

1

1

2



+

=

2

/

2

/

2

/

2

/

1

1

2

ω

ω

ω

ω

j

j

j

j

d

e

e

e

e

T



+

=

)

(

)

(

2

2

/

2

/

2

/

2

/

2

/

2

/

ω

ω

ω

ω

ω

ω

j

j

j

j

j

j

d

e

e

e

e

e

e

T

⎟⎟

⎜⎜

+

=

2

2

2

2

/

2

/

2

/

2

/

ω

ω

ω

ω

j

j

j

j

d

e

e

j

e

e

j

T

)

2

/

(

tan

2

)

2

/

cos(

)

2

/

sin(

2

ω

ω

ω

d

d

T

j

T

j

=

⎟⎟

⎜⎜

=

)

2

/

(

tan

2

ω

d

T

=

(*),

)

2

/

arctan(

2

d

T

=

ω

Ze względu na nieliniowość transformacji biliniowej projekt filtra analogowo powinien uwzględnić
(*) (tzn. filtr analogowy należy zaprojektować na

, a nie

ω

).

19

background image

Przykład:

Zaprojektować dolnoprzepustowy, cyfrowy filtr eliptyczny spełniający następujące wymagania: częstotliwość
próbkowania F

p

=100 [Hz], krawędź pasma przepustowego f

1

=20 [Hz], krawędź pasma zaporowego f

2

=25 [Hz],

nieliniowość charakterystyki w paśmie przepustowym R

p

=0.1 [dB], nieliniowość charakterystyki w paśmie

zaporowym R

s

=60 [dB].


Projekt
1. Unormowanie częstotliwości filtra cyfrowego f

1

i f

2

podanych w [Hz] do pulsacji cyfrowej

ω

w [rad]:

2566

.

1

100

20

2

2

1

1

=

=

=

π

π

ω

p

F

f

,

5708

.

1

100

25

2

2

2

2

=

=

=

π

π

ω

p

F

f

2. Obliczenie krawędzi pasma

[rad/s] filtra analogowego uwzględniające nieliniowość transformacji

biliniowej:

3085

.

145

)

2

/

2566

.

1

(

tan

100

/

1

2

)

2

/

(

tan

2

1

1

=

=

=

ω

d

T

,

200

2

=

3. Określenie parametrów filtra analogowego na podstawie podanych wymagań odnośnie pasma oraz
wyznaczenie jego transmitancji

)

(s

H

w postaci zer i biegunów.


Dla zadanych wymagań rząd analogowego filtra eliptycznego wynosi N=7, rozkład jego zer i biegunów
przedstawia rysunek.

4. Transformacja biliniowa zer i biegunów filtra analogowego H(s) zgodnie ze wzorem

s

T

s

T

z

d

d

)

2

/

(

1

)

2

/

(

1

+

=

.

Otrzymujemy zera i bieguny filtra cyfrowego H(z).

20

background image

filtr eliptyczny

Uwaga!
Transformacja biliniowa odwzorowuje całą oś

j

płaszczyzny S w okrąg jednostkowy na płaszczyźnie Z,

dlatego jeżeli filtr analogowy ma zera w

=

j

to przechodzą one w zera

. Rozważany filtr ma jedno

zero w

1

, ponieważ stopień licznika jego transmitancji H(s) jest o jeden mniejszy od stopnia mianownika. (Dla

porównania dolnoprzepustowy filtr Butterwortha ma wielokrotne zero w

1

=

ω

j

e

1

).

filtr Butterwortha

21

background image

5. Weryfikacja charakterystyk amplitudowych filtra cyfrowego

22

background image


23

background image

24

background image


25

background image

Implementacja

Matlaba

?

26

background image

Metoda okien - filtry FIR - liniowa faza

W metodzie okien najpierw zadaje się wymaganą charakterystykę częstotliwościową filtra:

−∞

=

=

n

n

j

d

j

d

e

n

h

e

H

ω

ω

]

[

)

(

,

na podstawie której wyznacza się jego nieskończoną odpowiedź impulsową

ω

π

ω

π

π

ω

d

e

e

H

n

h

n

j

j

d

d

=

)

(

2

1

]

[

,

a następnie mnoży się tę odpowiedź impulsową przez okno o skończonej długości (wycina się
fragment np. oknem prostokątnym):

]

[

]

[

]

[

n

w

n

h

n

h

d

=

,

.

>

=

M

n

M

n

n

w

|

|

,

0

0

,

1

]

[

Na podstawie twierdzenia o okienkowaniu

jest splotem widma filtra idealnego z widmem

okna:

)

(

ω

j

e

H

Θ

Θ

Θ

=

π

π

ω

ω

π

d

e

W

e

H

e

H

j

j

d

j

)

(

)

(

2

1

)

(

)

(

.



27

background image

Idealny filtr dolnoprzepustowy (nieprzyczynowy)

<

<

=

π

ω

ω

ω

ω

ω

|

|

,

0

|

|

,

1

)

(

c

c

j

lp

e

H


⎪⎪

=

=

=

=

=

=

0

,

0

,

)

sin(

)

sin(

)

(

2

1

]

[

2

1

2

1

]

[

n

n

n

n

n

n

e

e

jn

e

jn

d

e

n

h

c

c

c

n

j

n

j

n

j

n

j

lp

c

c

c

c

c

c

π

ω

π

ω

π

ω

π

π

ω

π

ω

ω

ω

ω

ω

ω

ω

ω


Idealny filtr dolnoprzepustowy (przyczynowy)

,

⎪⎩

<

<

=

π

ω

ω

ω

ω

ω

ω

|

|

,

0

|

|

,

)

(

2

/

c

c

M

j

j

lp

e

e

H

(

)

)

2

/

(

)

2

/

(

sin

2

1

]

[

2

/

M

n

M

n

d

e

e

n

h

c

n

j

M

j

lp

c

c

=

=

π

ω

ω

π

ω

ω

ω

ω

28

background image

Można również wyznaczyć współczynniki filtra przez obliczenie odwrotnej dyskretnej transformaty
Fouriera (IDFT) zadanej charakterystyki częstotliwościowej.


close all, clear all

N

= 32;

%długość filtra FDP

Wn =

0.5;

%częstotliwość graniczna, 1 odpowiada fp/2


%1. zadana ch-ka częstotliwościowa
%1.1 od 0 do fp/2
Hf=zeros(1,round(N/2)); Hf(1:round(Wn*N/2))=1;
Hf=Hf.*exp(-j*(1:length(Hf))*pi); %liniowa

faza

%1.2 od fp/2 do fp - symetrie widma
Hf=[1 Hf 0 conj(fliplr(Hf))];
%2. Współczynniki filtra
%2.1 Przez DFT
ht=ifft(Hf); ht(1)=[];
%2.2 Dla porównania - analitycznie
n=1:(length(ht)-1)/2; B=sin(Wn*n*pi)./(pi*n); B=[fliplr(B) Wn B];
%3. Ch-ki częstotliwościowe filtrów
M=1024; %zmniejszenie kroku w osi częstotliwości
htz=zeros(1,M); htz(1:length(ht))=ht;
htb=zeros(1,M); htb(1:length(B)) =B;
H=fft(htz);
Hb=fft(htb);
f=2*(0:M-1)/(M-1); %unormowana os częstotliwości



%4. Wykresy
figure,
subplot(2,1,1)
stem(real(Hf)),
xlabel('k'), ylabel('Re[H(k)]')
subplot(2,1,2)
stem(imag(Hf)), axis([0 N -1 1])
xlabel('k'), ylabel('Im[H(k)]')
figure, hold on
stem(real(ht),'filled','r')
stem(B ,'b'),
xlabel('n'), ylabel('Re[h(n)]')
legend('obliczeniowo','analitycznie')
figure
subplot(2,1,1), hold on
plot(f,abs(H), 'r:'),
plot(f,abs(Hb),'b')
xlabel('f unormowana'), ylabel('|H[e^j^\omega]|')
legend('obliczeniowo','analitycznie')
subplot(2,1,2), hold on
plot(f,unwrap(angle(H)),'r:'),
plot(f,unwrap(angle(Hb)),'b'),
xlabel('f unormowana'), ylabel('faza')
legend('obliczeniowo','analitycznie')
figure , hold on
plot(f,20*log10(abs(H)), 'r:'),
plot(f,20*log10(abs(Hb)),'b'),
xlabel('f unormowana'), ylabel('|H[e^j^\omega]| [dB]')
legend('obliczeniowo','analitycznie')
axis([0 1 -40 5])

29

background image

Zadana charakterystyka częstotliwościowa filtra

Uzyskana charakterystyka częstotliwościowa

filtra

Współczynniki filtra


30

background image

31

background image

Filtr FIR z oknem prostokątnym - największa stromość w paśmie przejściowym i najmniejsze
tłumienie pierwszego listka bocznego.

32

background image

Zwiększenie długości okna M powoduje zmniejszenie szerokości listka głównego nie wpływa
jednak na położenie (tłumienie) pierwszego listka bocznego.

33

background image

34

background image

35

background image

Okno Kaisera - okno parametryczne

(

)

=

⎥⎦

⎢⎣

0

0

,

]

[

)

(

]

/

)

[(

1

0

2

/

1

2

0

M

n

n

w

I

n

I

β

α

α

β

,

2

/

M

=

α

,

)

(

0

I

- zmodyfikowana funkcja Bessela zerowego rzędu pierwszego rodzaju.


Okno Kaisera ma dwa parametry:
- długość (liczba niezerowych współczynników),
- parametr kształtu .

β


Wzrost

β

powoduje obniżanie pierwszego listka bocznego (i niestety zwiększanie szerokości listka

głównego - tj. pasma przejściowego). Natomiast wzrost M powoduje zawężanie listka głównego i
nie wpływa na położenie pierwszego listka bocznego.
Na podstawie doświadczeń numerycznych Kaiser określił wymagania odnośnie M i

β

pozwalające

spełnić zadane wymagania charakterystyki amplitudowej filtra FIR (tj.

ω

,

δ

).





36

background image

p

s

ω

ω

ω

=

δ

10

log

20

=

A

<

+

>

=

50

,

0

50

21

),

21

(

07886

.

0

)

21

(

5842

.

0

50

),

7

.

8

(

1102

.

0

4

.

0

A

A

A

A

A

A

β

ω

=

285

.

2

8

A

M

z dokładnością do

2

±






37

background image

38

background image

39

background image

Przykład:
Dobrać parametry okna Kaisera dla FDP: krawędź pasma przepustowego

π

ω

4

.

0

=

p

, krawędź

pasma zaporowego

π

ω

6

.

0

=

s

, maksymalna nieliniowość w paśmie przepustowym

dB

r

p

1

.

0

=

,

minimalne tłumienie w paśmie zaporowym

dB

r

s

60

=

.


1. Obliczenie

δ

dla obu pasm:

pasmo przepustowe

(

)

0.0057

2

/

10

1

20

/

=

=

p

r

p

δ

pasmo

zaporowe

0.001

10

20

/

=

=

s

r

s

δ

Ponieważ dla FIR projektowanego metodą okien

s

p

δ

δ

=

wiec wybiera się wymaganie ostrzejsze:

001

.

0

}

,

min{

=

=

s

p

δ

δ

δ

2. Korzystając ze wzorów projektowych wyznacza się

5.6533

=

β

i

37

=

M

, a następnie okno o

tych parametrach.

3. Odpowiedź impulsową FIR wylicza się dla

2

s

p

ω

ω

ω

+

=

.

4. Weryfikacja otrzymanych charakterystyk filtra i ewentualna ich korekcja (przez zmianę
parametrów okna).


40

background image


Po korekcji parametrów

41

background image


Filtry FGP, FPP, FPS



42

background image

Optymalny filtr FIR - algorytm Parksa-McClellana

Przy projektowaniu FIR metodą okien, okno prostokątne jest najlepszą średniokwadratową
aproksymacją zadanej charakterystyki częstotliwościowej dla danego rzędu M, tzn. minimalizuje
wyrażenie:

=

π

π

ω

ω

ω

π

ε

d

e

H

e

H

j

j

d

2

2

)

(

)

(

2

1


Niestety powyższe kryterium nie uwzględnia
oscylacji w punktach nieciągłości (efekt
Gibbsa) i uniemożliwia osobne traktowanie
pasma przepustowego i zaporowego. Dlatego
stosuje się optymalizację

min-max

(minimalizację błędów maksymalnych) oraz
ważone częstotliwościowo kryteria błędów.
W algorytmie Parksa-McClellana rząd filtra
krawędzie pasma

p

ω

i

s

ω

oraz stosunek

2

1

/

δ

δ

są stałe natomiast

1

δ

(lub

2

δ

) jest

zmienne.

43

background image

44

background image

45


Wyszukiwarka

Podobne podstrony:
Projektowanie filtrów cyfrowych Butterwortha i Czebyszewa
Wykład 3 projektowanie filtrów cyfrowych
Wykład 5 1 projektowanie filtrów cyfrowych
projektowanie filtrów cyfrowych butterwortha i czebyszewa
projektowanie filtrów cyfrowych metoda okien
lab 07 projektowanie filtrow II
Projektowanie filtrów typu IIR
lab 06 Projektowanie filtrow
Projektowanie filtrow FIR id 40 Nieznany
Projektowanie filtrów FIR oraz IIR1
Projektowanie filtrów typu IIR
09 Projektowanie filtrow aktywnych
,Analogowe i cyfrowe układy elektroniczne I L, Projekt filtru cyfrowego NOI (realizacja schemat bl
Stare projekty, P BRAMKI, Pawe˙ Dobro˙ gr. 3P23
Projekt lotu cyfrowe 2014
,Analogowe i cyfrowe układy elektroniczne I L, Projekt filtru cyfrowego NOI Metoda przekształcenia

więcej podobnych podstron