21.01.2015 Views

MIK 200 Anvendt signalbehandling, 2012. Lab. 8, Notch-filter.

MIK 200 Anvendt signalbehandling, 2012. Lab. 8, Notch-filter.

MIK 200 Anvendt signalbehandling, 2012. Lab. 8, Notch-filter.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Dette kan ganske direkte implementeres med heltallsaritmetikk når koeffisientene<br />

er heltall og a 0 = 2 k der k er et heltall.<br />

Hvis en ønsker at en skal ha verken dempning eller forsterkning ved en bestemt<br />

frekvens, ω 0 , må en justere størrelsen på koeffisientene slik at en får |H(e jω 0<br />

)| =<br />

1. Hvis ω 0 = 0 så får en da for <strong>filter</strong>et i ligning 16 at<br />

|H(e jω 0<br />

)| = |H(1)| = b 0 + b 1 + b 2<br />

a 0 + a 1 + a 2<br />

. (17)<br />

<strong>Notch</strong>-<strong>filter</strong> er et smalt båndstopp<strong>filter</strong>. Det har plassert et nullpunkt på enhetssirkelen<br />

ved frekvens som en ønsker å stoppe, og en pol like innenfor.<br />

Effekten er at for frekvenser et stykke fra nullpunkt (og pol) så vil nullpunkt<br />

og pol oppveie hverandre og en får tilnærmet ingen forsterkning eller demping<br />

for disse frekvenser.<br />

Med heltallskoeffisienter har en ikke full frihet, men kan likevel som regel få<br />

plassert nullpunkt og poler ganske nær ønskede posisjoner.<br />

En kan velge koeffisienter på ulike måter. Et eksempel kan være at en setter<br />

a 0 = 2 k , og så velger a 2 = a 0 − 2, b 0 = b 2 = a 0 − 1, og b 1 ≈ −2b 0 cos ω 0 . b 1 er<br />

da et heltall som gjør at nullpunktet kommer nær ønsket vinkel. Videre settes<br />

a 1 = b 1 og polen kommer da nokså nær nullpunktet, men innenfor.<br />

Eksempel med ω 0 = 10 grader og a 0 = 64 gir a 1 = −124, a 2 = 62, b 0 = 63,<br />

b 1 = −124, og b 2 = 63. Dette gir vinkel for nullpunkt 10.2222 grader, radius<br />

for nullpunkt 1, vinkel for pol 10.1821 grader og radius for pol 0.98425.<br />

Jeg har laget ei Matlab-fil, notch<strong>filter</strong>.m, som kan brukes for å finne et<br />

notch-<strong>filter</strong> med heltalls koeffisienter. En kan velge ulike måter å velge nullpunkt<br />

nær en pol. Det er ei ganske stor m-fil med flere muligheter, jeg tror<br />

det går greitt å bruke den ut fra hjelpeteksten (help notch<strong>filter</strong>). Men for<br />

å forstå det som gjøres må dere forstå teorien her, og også se i koden i m-fila.<br />

2.4 Eksempel<br />

Avstanden polen til enhetssirkelen styrer hvor smalt (spisst) notch-<strong>filter</strong>et er.<br />

Vi skal nå vise frekvensresponsen for noen ulike avstander mellom pol og enhetssirkel.<br />

Vi regner nå med flyttall, og setter r til radius for pol, og vinkel er<br />

162 grader. Matlab-kommandoene er:<br />

desibelplot=0;<br />

vinkel = 0.9*180; % gis i grader her<br />

figure(1);clf;<br />

hold on;<br />

colors=’bgrcmyk’;colorindex=1;<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!