Springen naar inhoud

Methode om ruis te filteren uit een dataset


  • Log in om te kunnen reageren

#1

01mercy

    01mercy


  • >100 berichten
  • 115 berichten
  • Gebruiker

Geplaatst op 03 juli 2008 - 09:32

De situatie:
-Ik doe een rek/kracht meting op een bepaald materiaal
-Hier komt een curve uit
-Curve bestaat uit +/- 13000 datapunten
-1ste afgeleide toont mij het verloop van de RC op de curve
-De grafiek van de RC heeft heel veel ruis, waarschijnlijk afkomstig van de trekfrequentie van het aparaat

Waarom ik denk dat de ruis uit het apparaat komt is omdat wanneer het apparaat trekt, de kracht toeneemt en wanneer het apparaat niet trekt het materiaal kan relaxeren dus de kracht afneemt. Het lijkt mij logisch dat hierdoor de RC steeds omhoog en omlaag gaat.

Wat ik wil is de data van de 1ste afgeleide filteren zodat de ruis eruit is zonder dat de hele grote verschillen in RC eruit gefilterd worden maar wel zodat ik het langzame verloop van de RC op de curve goed kan zien.

Ik heb de grafiek in de bijlage gezet.

Alvast hartelijk bedankt.

Bijgevoegde afbeeldingen

  • fp1.JPG

Veranderd door 01mercy, 03 juli 2008 - 09:36


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

#2

01mercy

    01mercy


  • >100 berichten
  • 115 berichten
  • Gebruiker

Geplaatst op 07 juli 2008 - 12:26

Hallo allen,

Ik heb zelf nog nagedacht over een manier om de ruis weg te halen uit de grafiek van de 1ste afgeleide.

Wat ik heb gedaan is het volgende:
methode 1)
- Standaarddeviatie bepaald
- Alle waarden naar absoluut gezet
- Van alle waarden de standaarddeviatie afgetrokken
- Waarden die oorspronkelijk negatief waren weer negatief gemaakt
methode 2)
- Standaarddeviatie bepaald
- Alle waarden naar absoluut gezet
- Alle waarden die kleiner of gelijk aan de standaarddeviatie zijn op 0 gezet
- Van alle waarden die groter dan de standaarddeviatie zijn de standaarddeviatie afgetrokken
- Alle waarden die groter dan nul zijn en oorspronkelijk negatief waren weer negatief gemaakt.

Kritische reacties zijn zeer welkom!

Groetjes

#3

Andy

    Andy


  • >250 berichten
  • 294 berichten
  • Ervaren gebruiker

Geplaatst op 07 juli 2008 - 13:07

Hallo

effe op internet zitten zoeken naar Low-pass filter in excel. Een low-pass filter omdat je de lage frequenties wil behouden maar de hoge frequenties wil weggooien (ruis heeft immers typisch een hoge frequentie...)

een interessant resultaat: low-pass filter in excel

Another quite effective method is to do it in the frequency domain :
- Ask Excel to calculate the FFT of your data vector (yes, there is an FFT
routine in Excel, see tools/data analysis)
- Cut the FFT spectrum at your desired cutoff frequency (ie put 0s in the
frequencies above your cutting frequency)
- Ask Excel to calculate the inverse FFT of the result...

Just take care that the FFT result is from -F to +F...


persoonlijk spreekt deze methode mij het meest aan...

indien je over MatLab beschikt, kan je veel beter hiermee werken dan met excel voor filtertoepassingen. Er zijn immers ingebouwde tools om een low-pass filter te ontwerpen, heel leuk om met te spelen... gewoon in het commandovenster sptool typen...

finja, hopelijk ben je iets met deze info...

#4

01mercy

    01mercy


  • >100 berichten
  • 115 berichten
  • Gebruiker

Geplaatst op 07 juli 2008 - 13:12

Thanks andy,

Ik zal eens kijken. Ik ken het programma mat-lab wel alleen heb ik hier op mijn werk niet deze luxe en zal ik het toch met excel moeten proberen.

Groetjes

#5

01mercy

    01mercy


  • >100 berichten
  • 115 berichten
  • Gebruiker

Geplaatst op 07 juli 2008 - 13:55

Hey Andy,

Ik kon niet bij die link van je omdat deze gefilterd wordt hier op het werk "job search"

FFT heb ik gezien dat deze mogelijkheid er is in excel alleen weet ik niet hoe ik de data die ik eruit krijg moet bewerken.

Met het filteren van de frequentie heb je mij wel op een idee gebracht. Ik heb namelijk een frequentie tabel (ik weet dat dit een ander soort frequentie is als wat jij bedoelde) gemaakt en op basis van deze tabel gefilterd, dit werkt ook behoorlijk goed. Wat helaas ook wordt weggefilterd is het langzame verloop in de RC op de curve.

Greetz.

#6

Andy

    Andy


  • >250 berichten
  • 294 berichten
  • Ervaren gebruiker

Geplaatst op 07 juli 2008 - 16:17

tjah, ik ben ook niet gewoon om te werken met FFT in excel dus kan ik je daar helaas niet met helpen...

mss een interessante link in verband daarmee

link

't is wel een pdfje...

was te verwachten dat je geen matlab kon gebruiken, anders was de keuze om excel te gebruiken nogal bizar :-).

#7

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 07 juli 2008 - 17:08

Je kunt ook eens een lopend gemiddelde gebruiken. Vrij effectief om ruis te filteren en het is een stuk eenvoudiger dan FFT.
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#8

01mercy

    01mercy


  • >100 berichten
  • 115 berichten
  • Gebruiker

Geplaatst op 09 juli 2008 - 08:09

Hey bart,

Ik heb idd het ook geprobeerd met een lopend gemiddelde maar dan worden de pieken te sterk weggedrukt. Wanneer door het lopend gemiddelde toe te passen de ruis bijna weg is zijn de kleine pieken vrijwel niet meer te zien.

Groeten

#9

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 09 juli 2008 - 10:10

Misschien dat een mediaan-filter aardige resultaten geeft: iedere waarde vervangen door de mediaan van hemzelf en zijn omliggende waarden.

Bij toepassen op plaatjes haalt dat vrij aardig ruis weg zonder dat de karakteristieken (scherpte/detail) verlogen gaan, zoals bij een normale low-pass filter wel gebeurt.

Voorbeeld: ruis, low-pass, mediaan.

Veranderd door Rogier, 09 juli 2008 - 10:11

In theory, there's no difference between theory and practice. In practice, there is.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures