Mihai Andoni/freeimages.com
Projektowanie filtrów cyfrowych Butterwortha i Czebyszewa
mgr inż. Grzegorz Kraszewski

Kla­sycz­ne fil­try But­ter­wor­tha i Cze­by­sze­wa są to bądź bier­ne ob­wo­dy LC bądź ukła­dy ak­tyw­ne z ujem­nym sprzę­że­niem zwrot­nym zbu­do­wa­ne na wzmac­nia­czach ope­ra­cyj­nych. Cy­fro­wym od­po­wied­ni­kiem ta­kich fil­trów są fil­try rów­nież z ujem­nym sprzę­że­niem zwrot­nym, zwane fil­tra­mi re­ku­ren­cyj­ny­mi, bądź też fil­tra­mi z nie­skoń­czo­ną od­po­wie­dzią im­pul­so­wą (ang. IIR – In­fi­ni­te Im­pul­se Re­spon­se).

Założenia projektowe

Naj­częst­szym spo­so­bem for­mu­ło­wa­nia pro­ble­mu za­pro­jek­to­wa­nia fil­tru jest po­da­nie jego czę­sto­tli­wo­ści gra­nicz­nej, przy któ­rej wzmoc­nie­nie spada o 3 dB (71% w skali li­nio­wej) oraz rzędu fil­tru. Jest to jed­nak sfor­mu­ło­wa­nie nie­pre­cy­zyj­ne, bo nic nie mówi o tłu­mie­niu w pa­śmie za­po­ro­wym i za­kła­da z góry rząd fil­tru. Znacz­nie bar­dziej pre­cy­zyj­nym i le­piej do­sto­so­wa­nym do po­trzeb prak­tycz­nych jest okre­śle­nie cha­rak­te­ry­sty­ki fil­tru przez po­da­nie dwóch punk­tów: końca pasma prze­pu­sto­we­go (punkt P) i po­cząt­ku pasma za­po­ro­we­go (punkt R). Punk­ty te znaj­du­ją się na cha­rak­te­ry­sty­ce am­pli­tu­do­wej fil­tru (wzmoc­nie­nie w funk­cji czę­sto­tli­wo­ści) i wy­zna­cza­ją pole, w któ­rym mie­ścić się musi cha­rak­te­ry­sty­ka pro­jek­to­wa­ne­go fil­tru. Na ry­sun­ku obok obie cha­rak­te­ry­sty­ki, zie­lo­na i nie­bie­ska speł­nia­ją za­ło­żo­ne wy­ma­ga­nia, po­nie­waż nie prze­bie­ga­ją przez za­kre­sko­wa­ne ob­sza­ry za­bro­nio­ne wy­zna­czo­ne punk­ta­mi PR. Warto za­uwa­żyć, że o ile cha­rak­te­ry­sty­ka za­wsze prze­cho­dzi przez punkt P, o tyle nie musi prze­cho­dzić przez punkt R, może prze­cho­dzić pod nim, wtedy mo­że­my po­wie­dzieć, że filtr z za­pa­sem speł­nia wy­ma­ga­nia pro­jek­to­we. Z po­ło­że­nia punk­tów P i R wy­ni­ka rząd fil­tru. Oczy­wi­ście im bar­dziej stro­mo musi opa­dać cha­rak­te­ry­sty­ka am­pli­tu­do­wa mię­dzy punk­ta­mi PR, tym rząd fil­tru bę­dzie więk­szy.

Tak więc danymi początkowymi do obliczenia fil­tru są:

W celu prak­tycz­ne­go po­ka­za­nia oma­wia­ne­go spo­so­bu pro­jek­to­wa­nia fil­trów, po­da­jąc wzory i teo­rię, będę jed­no­cze­śnie pro­jek­to­wał kon­kret­ny filtr dol­no­prze­pu­sto­wy o na­stę­pu­ją­cych pa­ra­me­trach:

AP = 0,5 dB, fP = 3 kHz, AR = 20 dB, fR = 7 kHz.

Obliczenie rzędu filtru

Pierw­szym kro­kiem jest ob­li­cze­nie dwóch współ­czyn­ni­ków okre­śla­ją­cych nasz filtr. Są to współ­czyn­nik se­lek­tyw­no­ści k, oraz współ­czyn­nik dys­kry­mi­na­cji d. Współ­czyn­nik se­lek­tyw­no­ści okre­śla jak bli­sko sie­bie po­ło­żo­ne są czę­sto­tli­wo­ści punk­tów P i R, gdy punk­ty te zbli­ża­ją się w po­zio­mie do sie­bie, to współ­czyn­nik dąży do 1. Współ­czyn­nik ten okre­ślo­ny jest wzo­rem:

wzór 1   (1)

Współ­czyn­nik dys­kry­mi­na­cji na­to­miast okre­śla wza­jem­ną re­la­cję mię­dzy mak­sy­mal­nym tłu­mie­niem w pa­śmie prze­pu­sto­wym i mi­ni­mal­nym tłu­mie­niem w pa­śmie za­po­ro­wym. Ob­li­cza­my go ze wzoru:

wzór 2   (2)

Dla po­da­nych przy­kła­do­wych war­to­ści licz­bo­wych po pod­sta­wie­niu ich do wzoru otrzy­ma­my: k = 0,42857 i d = 0,035107. Rząd fil­tru But­ter­wor­tha ob­li­cza­my ze współ­czyn­ni­ków k i d z na­stę­pu­ją­ce­go wzo­ru (log() ozna­cza lo­ga­rytm dzie­się­tny):

wzór 3   (3)

Rząd fil­tru Cze­by­sze­wa na­to­miast okre­śla się z po­dob­ne­go, ale jed­nak nieco in­ne­go wzoru:

wzór 4   (4)

Po pod­sta­wie­niu da­nych przy­kła­do­wych otrzy­ma­my dla fil­tru But­ter­wor­tha rząd 3,952968, dla fil­tru Cze­by­sze­wa rząd 2,711062. W rze­czy­wi­sto­ści rząd fil­tru nie może być ułam­ko­wy, musi być licz­bą na­tu­ral­ną. Otrzy­ma­ne licz­by na­le­ży więc za­okrą­glić w górę. Za­okrą­gle­nie w dół spo­wo­do­wa­ło­by, że cha­rak­te­ry­sty­ka fil­tru prze­cho­dzi­ła­by ponad punk­tem R, a więc filtr nie speł­niał­by za­ło­żeń. Dla­te­go dla przy­kła­do­we­go fil­tru But­ter­wor­tha przyj­mu­je­my rząd 4, dla fil­tru Cze­by­sze­wa rząd 3. Rząd fil­tru Cze­by­sze­wa dla tych sa­mych da­nych bę­dzie za­wsze mniej­szy lub równy rzę­do­wi fil­tru But­ter­wor­tha.

Częstotliwość graniczna filtru

Czę­sto­tli­wość gra­nicz­na ina­czej de­fi­nio­wa­na jest dla fil­tru But­ter­wor­tha i fil­tru Cze­by­sze­wa. W dol­no­prze­pu­sto­wym fil­trze Cze­by­sze­wa jest to naj­wyż­sza czę­sto­tli­wość, dla któ­rej tłu­mie­nie fil­tru nie prze­kra­cza za­ło­żo­nych za­fa­lo­wań cha­rak­te­ry­sty­ki. Jest to więc do­kład­nie czę­sto­tli­wość punk­tu P na wy­kre­sie. Dla fil­tru But­ter­wor­tha na­to­miast czę­sto­tli­wość gra­nicz­na, to taka, przy któ­rej na­stę­pu­je spa­dek wzmoc­nie­nia o 3 dB wzglę­dem sy­gna­łu sta­łe­go (o czę­sto­tli­wo­ści 0). Czę­sto­tli­wość ta jest więk­sza od fP je­że­li AP jest mniej­sze niż 3 dB. Je­że­li tłu­mie­nie w punk­cie P wy­no­si 3 dB, to oczy­wi­ście czę­sto­tli­wość gra­nicz­na jest czę­sto­tli­wo­ścią punk­tu P. Czę­sto­tli­wość gra­nicz­ną fil­tru But­ter­wor­tha można okre­ślić ze wzoru:

wzór 5   (5)

Dla fil­tru przy­kła­do­we­go w wer­sji Cze­by­sze­wa czę­sto­tli­wość gra­nicz­na jest równa fP a więc wy­no­si 3000 Hz. Dla fil­tru But­ter­wor­tha otrzy­ma­my po pod­sta­wie­niu do wzoru (5) czę­sto­tli­wość gra­nicz­ną równą 3902,27 Hz.

Filtr prototypowy

Po okre­śle­niu rzędu i czę­sto­tli­wo­ści gra­nicz­nej ob­li­cza­my filtr pro­to­ty­po­wy, to zna­czy taki filtr ana­lo­go­wy któ­re­go czę­sto­tli­wość gra­nicz­na wy­no­si 1 Hz. Trans­mi­tan­cja tego fil­tru to funk­cja ope­ra­to­ra róż­nicz­ko­wa­nia s o po­sta­ci:

wzór 6   (6)

Mia­now­ni­ki trans­mi­tan­cji fil­trów pro­to­ty­po­wych zo­sta­ły sta­bli­co­wa­ne. Po­stać mia­now­ni­ka dla fil­tru But­ter­wor­tha za­le­ży wy­łącz­nie od rzędu fil­tru, dla fil­tru Cze­by­sze­wa do­dat­ko­wym pa­ra­me­trem jest za­ło­żo­ne za­fa­lo­wa­nie cha­rak­te­ry­sty­ki am­pli­tu­do­wej (równe tłu­mie­niu AP). Dla fil­tru przy­kła­do­we­go od­czy­tu­je­my z ta­blic:

filtr Butterwortha

(s2 + 0,765366864s + 1)(s2 + 1,847759065s + 1)

filtr Czebyszewa

(s2 + 0,62646s + 1,14245)(s + 0,62646)

Jak widać mia­now­nik trans­mi­tan­cji fil­tru M(s) jest wie­lo­mia­nem zmien­nej s. Miej­sca ze­ro­we tego mia­now­ni­ka są zwane bie­gu­na­mi fil­tru. Bie­gu­ny fil­tru są licz­ba­mi ze­spo­lo­ny­mi o ujem­nej czę­ści rze­czy­wi­stej (gdyby któ­ryś bie­gun miał do­dat­nią część rze­czy­wi­stą, to filtr byłby nie­sta­bil­ny). Filtr ma tyle bie­gu­nów ile wy­no­si jego rząd. Fil­try o rzę­dzie pa­rzy­stym mają bie­gu­ny ze­spo­lo­ne sprzę­żo­ne pa­ra­mi. W fil­trze o rzę­dzie nie­pa­rzy­stym jeden bie­gun jest ujem­ny rze­czy­wi­sty, resz­ta jest ze­spo­lo­na, sprzę­żo­na pa­ra­mi. Bie­gu­ny można bar­dzo pro­sto ob­li­czyć wy­li­cza­jąc pier­wiast­ki trój­mia­nów w na­wia­sach. Dla przy­kła­do­we­go fil­tru But­ter­wor­tha otrzy­ma­my dwie pary bie­gu­nów ze­spo­lo­nych sprzę­żo­nych:

s12 = −0,382683 ± j0.923880
s34 = −0,923880 ± j0.382683

Dla fil­tru Cze­by­sze­wa otrzy­ma­my jeden bie­gun rze­czy­wi­sty i parę bie­gu­nów ze­spo­lo­nych sprzę­żo­nych:

s1 = −0,62646
s23 = −0,31323 ± j1,021928

Skalowanie częstotliwości i przekształcenie nieliniowe

Jak na­pi­sa­łem wcze­śniej, filtr pro­to­ty­po­wy ob­li­czo­ny jest dla czę­sto­tli­wo­ści gra­nicz­nej 1 Hz. Na­le­ży teraz prze­ska­lo­wać jego bie­gu­ny, tak aby od­po­wia­da­ły za­ło­żo­nej czę­sto­tli­wo­ści gra­nicz­nej. Oprócz tego na­le­ży do­ko­nać prze­kształ­ce­nia nie­li­nio­we­go. Po­le­ga ono na po­trak­to­wa­niu prze­ska­lo­wa­nej czę­sto­tli­wo­ści funk­cją tan­gens roz­cią­gnię­tą w taki spo­sób, że war­tość π na osi x prze­su­wa się do czę­sto­tli­wo­ści prób­ko­wa­nia sy­gna­łu. Prze­kształ­ce­nie nie­li­nio­we jest ele­men­tem trans­for­ma­cji z dzie­dzi­ny ana­lo­go­we­go ope­ra­to­ra s (róż­nicz­ko­wa­nie) do dzie­dzi­ny cy­fro­we­go ope­ra­to­ra z (opóź­nie­nie o 1 takt ze­ga­ra). Przy pro­jek­to­wa­niu fil­trów cy­fro­wych łączy się ope­ra­cję ska­lo­wa­nia i prze­kształ­ce­nia nie­li­nio­we­go w jedną, ob­li­cza­jąc współ­czyn­nik ska­lu­ją­cy W z na­stę­pu­ją­ce­go wzoru:

wzór 7   (7)

W po­wyż­szym wzo­rze wy­stę­pu­ją­ca w mia­now­ni­ku war­tość fs to czę­sto­tli­wość prób­ko­wa­nia fil­tro­wa­ne­go sy­gna­łu cy­fro­we­go. W omawianym przykładzie zakładamy, że filtr będzie zastosowany do przetwarzania sygnału audio o typowej częstotliwości próbkowania 44,1 kHz, a więc fs = 44 100 Hz.

Przy ob­li­cze­niach trze­ba też pa­mię­tać o tym, że ar­gu­ment funk­cji tan­gens jest w ra­dia­nach. Dla fil­tru But­ter­wor­tha i Cze­by­sze­wa współ­czyn­nik W li­czy­my od­dziel­nie, po­nie­waż z re­gu­ły fil­try te mają inne czę­sto­tli­wo­ści gra­nicz­ne (chyba, że AP wy­no­si 3 dB, wtedy obie czę­sto­tli­wo­ści będą równe). Dla na­sze­go przy­kła­do­we­go fil­tru But­ter­wor­tha fg wy­no­si 3902,27 Hz, a współ­czyn­nik W = 0,570758. Dla fil­tru Cze­by­sze­wa fg = 3000 Hz, W = 0,43405608.

Po ob­li­cze­niu współ­czyn­ni­ka W trans­for­mu­je­my bie­gu­ny fil­tru pro­to­ty­po­we­go. Jest to bar­dzo pro­sta ope­ra­cja, dla fil­tru dol­no­prze­pu­sto­we­go po pro­stu mno­ży­my W przez bie­gun. Dla fil­tru gór­no­prze­pu­sto­we­go dzie­li­my W przez bie­gun. Po prze­mno­że­niu (dla fil­tru dol­no­prze­pu­sto­we­go) otrzy­ma­my na­stę­pu­ją­ce bie­gu­ny:

Filtr Butterwortha:

s'12 = −0,218404 ± j0,527273
s'34 = −0,527273 ± j0,218404

Filtr Czebyszewa:

s'12 = −0,135959 ± j0,443573
s'3 = −0,271917

Przejście do transmitancji cyfrowej (operatora z)

Ma­te­ma­tycz­nie ści­słe przej­ście z ope­ra­to­ra ana­lo­go­we­go s do cy­fro­we­go ope­ra­to­ra z dane jest wzo­rem:

wzór 8   (8)

gdzie Td to okres prób­ko­wa­nia sy­gna­łu. Wy­da­je się to pro­stą za­leż­no­ścią, do­pó­ki nie za­uwa­ży­my, że wy­kład­nik po­tę­gi jest licz­bą ze­spo­lo­ną, co znacz­nie kom­pli­ku­je ob­li­cze­nia. Dla­te­go w prak­ty­ce sto­su­je się pewne przy­bli­że­nie wzoru teo­re­tycz­ne­go zwane prze­kształ­ce­niem dwu­li­nio­wym lub bi­li­ne­ar­nym. Przy­bli­że­nie to wy­glą­da na­stę­pu­ją­co:

wzór 9   (9)

Gdzie s' jest to prze­trans­for­mo­wa­ny wcze­śniej bie­gun fil­tru ana­lo­go­we­go, a z bie­gun fil­tru cy­fro­we­go. Takie prze­kształ­ce­nie jest znacz­nie prost­sze ob­li­cze­nio­wo i daje dobre re­zul­ta­ty prak­tycz­ne. Prze­kształ­ce­nie za­cho­wu­je sprzę­że­nie bie­gu­nów, to zna­czy że para bie­gu­nów ze­spo­lo­nych sprzę­żo­nych s po­zo­sta­je parą bie­gu­nów ze­spo­lo­nych sprzę­żo­nych z. Dzię­ki temu dla pary bie­gu­nów sprzę­żo­nych można wy­ko­nać tylko po­ło­wę ob­li­czeń. Po­dob­nie bie­gun rze­czy­wi­sty po­zo­sta­je po prze­kształ­ce­niu bie­gu­nem rze­czy­wi­stym. Dla przy­kła­do­we­go fil­tru bie­gu­ny po prze­kształ­ce­niu dwu­li­nio­wym są na­stę­pu­ją­ce:

Filtr Butterwortha:

z12 = 0,706684 ± j0,405647
z34 = 0,571001 ± j0,135764

Filtr Czebyszewa:

z12 = 0,795271 ± j0,372823
z3 = 0,760628

Wyliczenie transmitancji

Wy­li­cze­nie trans­mi­tan­cji po­le­ga na wsta­wie­niu ob­li­czo­nych bie­gu­nów do mia­now­ni­ka, oraz wsta­wie­niu od­po­wied­nich zer (miejsc ze­ro­wych licz­ni­ka) do licz­ni­ka. Do ob­li­czeń w Mat­la­bie wy­mna­ża­my wszyst­kie bie­gu­ny (po­dob­nie zera) przez sie­bie aż do uzy­ska­nia w licz­ni­ku i mia­now­ni­ku wie­lo­mia­nów stop­nia N rów­ne­go rzę­do­wi fil­tru. Do prak­tycz­nej re­ali­za­cji fil­tru ko­rzyst­niej jest po­zo­sta­wić licz­nik i mia­now­nik jako ilo­czyn wie­lo­mia­nów stop­nia pierw­sze­go i dru­gie­go. Od­po­wia­da to wy­ko­na­niu fil­tru jako ka­ska­do­we­go po­łą­cze­nia fil­trów pierw­sze­go i dru­gie­go rzędu. Takie roz­wią­za­nie jest ko­rzyst­ne po­nie­waż znacz­nie zmniej­sza wraż­li­wość fil­tru na za­okrą­gle­nia współ­czy­ni­ków wzmac­nia­czy. Szcze­gól­nie warto więc je za­sto­so­wać w przy­pad­ku pracy w aryt­me­ty­ce sta­ło­prze­cin­ko­wej. Wtedy każdy bie­gun rze­czy­wi­sty od­po­wia­da blo­ko­wi pierw­sze­go rzędu, a każda para ze­spo­lo­nych bie­gu­nów sprzę­żo­nych – blo­ko­wi dru­gie­go rzędu.

Blok I rzędu

Blok taki po­wsta­je z bie­gu­na rze­czy­wi­ste­go i ma jedno zero w punk­cie −1 (filtr gór­no­prze­pu­sto­wy ma zero w punk­cie 1). Licz­nik trans­mi­tan­cji ma zatem po­stać:

z + 1

Mia­now­nik na­to­miast (za­kła­da­jąc, że bie­gun wy­no­si c):

zc

Od trans­mi­tan­cji można przejść do sche­ma­tu blo­ko­we­go, ko­rzy­sta­jąc z de­fi­ni­cji trans­mi­tan­cji, jest to bo­wiem sto­su­nek trans­for­ma­ty sy­gna­łu wyj­ścio­we­go Y(z) do trans­for­ma­ty sy­gna­łu wej­ścio­we­go X(z). Dla bloku pierw­sze­go stop­nia mamy zatem:

Y / X = (z + 1) / (zc)
Y(zc) = X(z + 1)
zYcY = zX + X
Yz−1cY = X + z−1X
Y = X + z−1X + z−1cY
Y = X + z−1(X + cY)

Z ostat­nie­go wzoru bez­po­śred­nio można na­ry­so­wać sche­mat blo­ko­wy bloku fil­tru I rzędu.

schemat bloku I rzędu

Przy­kła­do­wy filtr But­ter­wor­tha nie po­sia­da bie­gu­nów rze­czy­wi­stych, a więc i blo­ków I rzędu. Filtr Cze­by­sze­wa po­sia­da jeden bie­gun rze­czy­wi­sty, od­po­wia­da­ją­cy mu blok ma trans­mi­tan­cję

wzór 10

Blok II rzędu

Blok ten po­wsta­je z pa­ry bie­gu­nów ze­spo­lo­nych sprzę­żo­nych i ma po­dwój­ne zero w punk­cie −1 (filtr gór­no­prze­pu­sto­wy ma po­dwój­ne zero w punk­cie 1). Zatem licz­nik trans­mi­tan­cji tego bloku ma po­stać:

(z + 1)2 = z2 + 2z + 1

Mia­now­nik na­to­miast przyj­mu­je po­stać (przy parze bie­gu­nów a±jb):

[z − (a − jb)][z − (a + jb)] = z2 − 2az + (a2 + b2)

Po­dob­nie jak przy bloku pierw­sze­go rzę­du ko­rzy­sta­my z de­fi­ni­cji trans­mi­tan­cji, aby uzy­skać wzór de­fi­niu­ją­cy po­stać sche­ma­tu blo­ko­we­go. Dla upro­szcze­nia wzo­rów przyj­mu­ję współ­czyn­nik c = a2 + b2.

Y / X = (z2 + 2z + 1) / (z2 − 2az + c)
z2Y − 2azY + cY = z2X + 2zX + X
Y − 2az−1Y + cz−2Y = X + 2z−1X + z−2X
Y = X + (2X + 2aY)z−1 + (XcY)z−2

Z ostat­nie­go wzoru bez­po­śred­nio można na­ry­so­wać sche­mat blo­ko­wy bloku fil­tru II rzędu.

schemat bloku II rzędu

Przy­kła­do­wy filtr But­ter­wor­tha po­sia­da dwie pary bie­gu­nów ze­spo­lo­nych sprzę­żo­nych, bę­dzie zatem miał dwa bloki dru­gie­go rzędu. Dla bie­gu­na z12 trans­mi­tan­cja wy­nie­sie

wzór 11

Dla bie­gu­na z34 trans­mi­tan­cja wy­nie­sie

wzór 12

Przy­kła­do­wy filtr Cze­by­sze­wa po­sia­da jedną parę bie­gu­nów ze­spo­lo­nych sprzę­żo­nych. Trans­mi­tan­cja od­po­wia­da­ją­ce­go mu bloku jest na­stę­pu­ją­ca

wzór 13

Do we­ry­fi­ka­cji ob­li­czeń w Mat­la­bie nie­zbęd­na jest kom­plet­na trans­mi­tan­cja fil­tru jako ca­ło­ści. Uzy­sku­je­my ją wsta­wia­jąc wszyst­kie bie­gu­ny jako miej­sca ze­ro­we mia­now­ni­ka, oraz N-krot­ne zero w punk­cie −1 jako miej­sce ze­ro­we licz­ni­ka, a na­stęp­nie wy­mna­ża­jąc. Rów­no­waż­nym spo­so­bem jest wy­mno­że­nie przez sie­bie trans­mi­tan­cji wszyst­kich blo­ków fil­tru. Tram­smi­tan­cja przy­kła­do­we­go fil­tru But­ter­wor­tha ma po­stać

licznik: z4 + 4z3 + 6z2 + 4z + 1
mianownik: z4 − 2,555369z3 + 2,622493z2 − 1,245102z + 0,228714

Trans­mi­tan­cja fil­tru Cze­by­sze­wa na­to­miast

licznik: z3 + 3z2 + 3z + 1
mianownik: z3 − 2,351170z2 − 1,981264z + 0,586789

W pro­gra­mie Mat­lab można spraw­dzić cha­rak­te­ry­sty­kę am­pli­tu­do­wą przy­kła­do­we­go fil­tru wy­da­jąc na­stę­pu­ją­ce po­le­ce­nie (war­to­ści licz­bo­we dla przy­kła­do­we­go fil­tru But­ter­wor­tha):

freqz([1 4 6 4 1],[1 -2.555369 2.622493 -1.245102
0.228714], 10:10:20000,44100)

Pierw­szy wek­tor za­wie­ra ko­lej­ne współ­czyn­ni­ki wie­lo­mia­nu licz­ni­ka trans­mi­tan­cji, drugi ko­lej­ne współ­czyn­ni­ki mia­now­ni­ka.

Charakterystyki filtru przykładowego

W celu we­ry­fi­ka­cji me­to­dy pro­jek­to­wa­nia spraw­dzi­łem cha­rak­te­ry­sty­ki otrzy­ma­nych fil­trów ko­rzy­sta­jąc z funk­cji freqz() pro­gra­mu Ma­tLab. Punk­ty P i R z za­ło­żeń pro­jek­to­wych są za­zna­czo­ne ko­lo­rem czer­wo­nym. Pew­nym za­sko­cze­niem może być fakt, że w pa­smie prze­no­sze­nia wzmoc­nie­nie nie wy­no­si 0 dB, to można jed­nak łatwo sko­ry­go­wać umiesz­cza­jąc tłu­mik o od­po­wied­nim tłu­mie­niu (50 dB dla fil­tru But­ter­wor­tha i 45,3 dB dla fil­tru Cze­by­sze­wa). Prak­tycz­nie re­ali­zu­jąc filtr w aryt­me­ty­ce sta­ło­prze­cin­ko­wej warto po­dzie­lić tłu­mik na kilka tłu­mi­ków roz­miesz­czo­nych przed fil­trem, mię­dzy jego blo­ka­mi oraz za fil­trem, tak aby ich su­ma­rycz­ne tłu­mie­nie było równe wy­ma­ga­ne­mu. W ten spo­sób za­po­bie­ga się po­wsta­niu prze­peł­nie­nia aryt­me­tycz­ne­go w blo­kach fil­tru, oraz po­gar­sza­niu sto­sun­ku sy­gna­łu do szumu kwan­ty­za­cji.

Charakterystyka filtru Butterwortha 0 - 3500 Hz
Charakterystyka amplitudowa przykładowego filtru Butterwortha w zakresie od 0 do 3,5 kHz.

Charakterystyka filtru Butterwortha 6950 - 7050 Hz
Charakterystyka amplitudowa przykładowego filtru Butterwortha wokół częstotliwości 7 kHz.

Charakterystyka filtru Czebyszewa 0 - 20 kHz
Charakterystyka amplitudowa przykładowego filtru Czebyszewa w zakresie od 0 do 20 kHz (logarytmiczna skala częstotliwości).

Charakterystyka filtru Czebyszewa 0 - 3500 Hz
Charakterystyka amplitudowa przykładowego filtru Czebyszewa w zakresie od 0 do 3,5 kHz.

Charakterystyka filtru Czebyszewa 6950 -
7050 Hz
Charakterystyka amplitudowa przykładowego filtru Czebyszewa wokół częstotliwości 7 kHz.

styczeń 2003