Springen naar inhoud

Eenvoudige laagdoorlaat filter in matlab.


  • Log in om te kunnen reageren

#1

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 22 februari 2009 - 13:20

In een boek wat ik nu uiteindelijk gevonden heb (wavlets and filterbanks) beschrijft men een eenvoudig laag doorlaat filter met behulp van volgende formule: LaTeX
Graag had ik hiervan het frequentie verloop gekend daarom maak ik een proefsignaal aan (in matlab) x=exp(jw) met w=0:100 ik berekenen nu het effect van dit ingangssignaal op de filter met y = filter(B,A,x); met daarbij B=[1/2,1/2] en A=1
Vervolgens transformeer ik dit signaal met een dft om nadien er dan de absolute waarde van te plotten. Spijtig genoeg bekom ik totaal iets anders dan zou moeten.

Bekom ik met het commando y = filter(B,A,x); volgende? LaTeX Waar zit ik fout? Groeten.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

TD

    TD


  • >5k berichten
  • 24052 berichten
  • VIP

Geplaatst op 22 februari 2009 - 14:18

Dit lijkt me eerder iets voor het technisch forum - verplaatst.
"Malgré moi, l'infini me tourmente." (Alfred de Musset)

#3

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 22 februari 2009 - 17:31

In het kader van 'teach by example':
N = 1000;
A = 1;
B = [0.5, 0.5];
t = 2*pi*[0:1:(N-1)]/N;
x = sin(t) + 0.01*randn(size(t)); % de randn heb ik toegevoegd zodat ik bij de berekening van H niet door nul deel.
y = filter(B,A,x);
X = fft(x);
Y = fft(y);
H = Y./X;
figure;
plot(abs(H));

Resultaat zou overeen moeten komen (en dat doet het ook :D ):
N = 1000;
h = zeros(1,N);
h(1) = 0.5;
h(2) = 0.5;
H = fft(h);
figure;
plot(abs(H));

#4

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 22 februari 2009 - 17:50

Ik begrijp toch een aantal zaken niet.
In het eerste voorbeeld maak je waarschijnlijk op een correcte manier gebruik van de matlab filter en bekomt zo het frequentie gedrag.
Wat doe je in het tweede voorbeeld? Wat heeft dat met het eerste te maken?

In het boek waar men analytisch de frequentie respons uit rekent doet men het als volgt: men neemt een test signaal LaTeX dit vult men in, in de formule: (het filter) LaTeX dan bekomt men (door manipulatie en buiten brengen van een term) LaTeX

Dus dacht ik, ik leg het test signaal aan: LaTeX bereken hiermee de convolutie met het filter dan krijg ik hiervan een tijdsbeeld en dat transformeer ik mbv fourier om zo het frequentie beeld te krijgen. is dat fout? Waarschijnlijk want ik bekom totaal niet wat het zou moeten maar waarom? Groeten.

#5

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 25 februari 2009 - 13:32

hier is het fragment uit het boek:
Geplaatste afbeelding

Kan ermij iemand vertellen waarom dat men hier opeens kan zeggen dat het afgezonderde stuk de transferfunctie is? men heeft toch geen integraal transformatie uitgerekend? Groeten.

#6

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 25 februari 2009 - 15:42

Wat doe je in het tweede voorbeeld?

Ik construeer het digitale filter (bedenk maar eens wat een convolutie van h met x zou opleveren). Daar neem ik dan de discrete fouriertransformatie van.

dan bekomt men (door manipulatie en buiten brengen van een term) Bericht bekijken

Kan ermij iemand vertellen waarom dat men hier opeens kan zeggen dat het afgezonderde stuk de transferfunctie is?

Zie de bovenstaande sommatie. Dit mag kennelijk omdat y een lineaire combinatie is van termen van x. Ik geloof zo dat ze daar een leuk bewijsje voor hebben.

#7

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 25 februari 2009 - 16:45

LaTeX
hoe geraak je van de voorlaatste term naar de laatste? ik zie niet goed hoe die LaTeX blijft? als ik het beschouw als een integraal dan valt dat volgens mij weg of niet? Groeten.

Edit ik zie niet goed hoe je in je tweede voorbeeld je digitale filter maakt? is dit hier toevallig zo of is het een algmeene regel?

Veranderd door Bert F, 25 februari 2009 - 16:47


#8

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 25 februari 2009 - 19:44

LaTeX
LaTeX
LaTeX
LaTeX


De discrete convolutie:
LaTeX
Kijk nu wat er gebeurt als geldt:
LaTeX
LaTeX
en voor alle andere waardes is h nul.

LaTeX
In de twee sommaties zijn alle termen nul, dus blijft over:
LaTeX

Bij dit soort zaken is het niet zo lastig om de overdrachtfunctie h te vinden. Ik vind het echter lastig om uit te leggen (in mijn hoofd zie ik een gespiegelde functie over de andere functie heen gaan). Als je bijvoorbeeld zou hebben:
LaTeX
dan zou gelden:
LaTeX
LaTeX
LaTeX

#9

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 27 februari 2009 - 12:34

Bedankt voor je informatie het wordt me al veel meer duidelijk.

enkel heb ik nu een frequentie gedrag van een halve cirkel op een bepaalde frequentie is de doorlaat volledig nul wat gebeurd er na die frequentie? zoiets heb ik bij analoge filters nog nooit tegenkomen, dat er totaal niets meer doorkomt. Is dat omdat het een digitale filter is en spert die daar volledig? Groeten.

#10

EvilBro

    EvilBro


  • >5k berichten
  • 6703 berichten
  • VIP

Geplaatst op 27 februari 2009 - 13:26

enkel heb ik nu een frequentie gedrag van een halve cirkel op een bepaalde frequentie is de doorlaat volledig nul wat gebeurd er na die frequentie?

Ik snap de bovenstaande 'zin' niet goed.

#11

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 27 februari 2009 - 13:56

Geplaatste afbeelding

dit is het frequentie gedrag. maar wat gebeurd er na pi? spert die dan volledig?





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures